
:root{font-family:'Vazirmatn Variable',Vazirmatn,IRANSans,system-ui,-apple-system,'Segoe UI',sans-serif;color:#252c2a;background:#f7f8f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:10px 15px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a6d35b;outline-offset:2px}.primary{background:#273f2d;color:white}.primary:hover{background:#18291c}.secondary{background:#f2f4ee;border:1px solid #dfe4d9;color:#344339}.muted{color:#818b83}.small-text{font-size:13px}.tiny{font-size:11px}.ltr{direction:ltr;text-align:left}.tag{background:#eff4e9;color:#43723e;border:1px solid #dfebd8;padding:6px 10px;border-radius:20px;font-size:11px;white-space:nowrap}.shell{min-height:100vh;display:flex}.sidebar{width:237px;flex:none;background:#fff;border-left:1px solid #e8ece7;padding:27px 17px;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:750;direction:ltr;justify-content:flex-end;padding:0 14px 40px}.brand-mark{width:48px;height:48px;background:#d3fb6d;color:#243d22;border-radius:15px;display:grid;place-items:center;font-size:27px;font-weight:800;transform:rotate(-5deg)}.brand-mark.small{width:30px;height:30px;font-size:18px;border-radius:9px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{border-radius:10px;padding:13px 15px;display:flex;gap:13px;color:#707e73;font-size:13px}.sidebar nav a.active{background:#edf7df;color:#314e2c;font-weight:750}.side-footer{margin-top:auto;font-size:12px;padding:20px 10px}.status{color:#637669}.dot{width:7px;height:7px;border-radius:50%;background:#7cba55;display:inline-block;margin-left:6px}.link-button{background:none;color:#7c897f;font-size:12px;margin-top:15px;padding:0}.content{max-width:1500px;width:100%;margin:0 auto;padding:45px 50px 70px;min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-head h1{font-size:30px;letter-spacing:-.8px;margin:6px 0}.page-head p{margin:0;font-size:13px}.eyebrow{font-size:11px;color:#7c986b;font-weight:750}.head-tools{display:flex;align-items:center;gap:10px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:19px}.metric,.panel{background:white;border:1px solid #e8ece6;border-radius:15px}.metric{padding:21px;display:flex;flex-direction:column;gap:7px;min-width:0}.metric span{font-size:12px;color:#6d786e}.metric strong{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;direction:ltr;text-align:right}.metric small{color:#9ba59d;font-size:10px}.panel{padding:24px;margin-bottom:17px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.panel-head h2{margin:0;font-size:17px}.panel-head p{margin:4px 0}.filters,.token-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:20px}label{font-size:12px;color:#6c776f;display:flex;flex-direction:column;gap:7px}input,select{border:1px solid #dfe5de;background:#fff;border-radius:9px;padding:10px 12px;min-height:41px;color:#303d34}input[type=date]{direction:ltr}table{width:100%;border-collapse:collapse;text-align:right;font-size:12px;white-space:nowrap}th{color:#94a097;font-weight:600;padding:13px;border-bottom:1px solid #ecf0eb}td{padding:14px 13px;border-bottom:1px solid #f0f2ef}tr:last-child td{border-bottom:0}tr:hover td{background:#fbfcf8}.table-scroller{overflow-x:auto}.pager{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:18px;font-size:12px}.pager button:disabled{opacity:.35;cursor:not-allowed}.status-badge{background:#f1f4ed;padding:6px 11px;border-radius:15px;font-size:11px}.status-badge[data-status=SoldOut]{background:#eaf7e6;color:#408449}.status-badge[data-status=Canceled]{background:#fff1eb;color:#bf7555}.status-badge[data-status=Unchecked]{background:#f1f1f1;color:#8b8b8b}.view-btn{background:transparent;color:#365e39;border:1px solid #d7e7d5;padding:6px 11px}.error{color:#b64d47}.veil[hidden],[hidden]{display:none!important}.veil{position:fixed;inset:0;z-index:10}.veil-backdrop{position:absolute;inset:0;background:#0d2016a1}.drawer{position:absolute;top:0;bottom:0;left:0;background:white;width:min(600px,100%);padding:28px;overflow:auto;box-shadow:0 0 40px #0002}.drawer header{display:flex;justify-content:space-between;align-items:center}.drawer h2{margin:4px 0}.icon-btn{background:#f2f4f1;font-size:22px;width:38px;height:38px;padding:0}.detail-grid{margin-top:20px}.detail-item{border-bottom:1px solid #edf0ec;padding:13px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9}.detail-item strong{display:block;font-size:11px;color:#849287}.login-page{display:grid;place-items:center;min-height:100vh;padding:20px}.login-card{width:min(420px,100%);background:white;border:1px solid #e6ece6;border-radius:20px;padding:38px;box-shadow:0 22px 75px #2447240a}.login-card h1{font-size:25px;margin:20px 0 4px}.login-card>.muted{margin-bottom:29px;font-size:13px}.login-card .stack{display:grid;gap:16px}.login-card button{margin-top:9px}.login-card .tiny{margin-top:26px}.token-form label{min-width:155px;flex:1}.token-reveal{background:#f3faed;border-color:#d6eccc}.token-line{display:flex;gap:10px;align-items:center;direction:ltr}.token-line code{background:#e2f0d5;overflow:auto;flex:1;padding:15px;border-radius:9px;font-size:12px;direction:ltr}.danger-outline{border:1px solid #f0d4d0;background:#fff8f7;color:#b44840;padding:6px 10px}@media(max-width:1050px){.content{padding:30px 23px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.shell{display:block}.sidebar{width:100%;padding:12px;display:flex;flex-direction:row;align-items:center;border-left:0;border-bottom:1px solid #e8ece7}.logo{padding:0;justify-content:flex-end;font-size:14px}.sidebar nav{margin-right:auto;display:flex;gap:1px}.sidebar nav a{padding:9px;font-size:17px}.sidebar nav a span,.side-footer{display:none}.content{padding:26px 15px}.page-head h1{font-size:25px}.metrics{gap:8px}.metric{padding:15px}.metric strong{font-size:24px}.panel{padding:17px}.filters label{flex:1;min-width:100px}.head-tools{gap:4px}.head-tools .secondary{font-size:11px}}

/* Panadan v0.4 visual refresh. All spacing works in RTL and LTR. */
:root {font-family:'Vazirmatn Variable','Vazirmatn',Tahoma,system-ui,sans-serif;color:#1c2c28;background:#f4f7f6;--accent:#177963;--border:#e0e9e5;}
body{font-family:'Vazirmatn Variable','Vazirmatn',Tahoma,system-ui,sans-serif;line-height:1.7}
button,input,select,textarea{font-family:inherit}
.sidebar{background:#102e2a;color:#d7e9e2;border:0;box-shadow:3px 0 24px #0f302412}
.sidebar nav a{color:#bad0c7;transition:background .15s}
.sidebar nav a:hover{background:#1b4037;color:white}
.sidebar nav a.active{background:#25584c;color:#fff}
.nav-caption{font-size:11px;color:#83b1a1;padding:0 15px 14px}
.logo{direction:rtl;justify-content:flex-start;font-size:21px;letter-spacing:-.4px;padding-bottom:35px}
.logo b{color:#7faea0;font-size:11px;display:block;line-height:1.1;letter-spacing:1px}
.brand-mark{background:linear-gradient(145deg,#bef7db,#77d1ae);color:#174032;transform:none;box-shadow:0 5px 18px #8cdaba33}
.side-footer,.side-footer .status,.side-footer .muted,.side-footer .link-button{color:#b3d2c7}
.content{padding-top:46px}.page-head h1{font-size:32px;letter-spacing:-1px}
.page-head .eyebrow{color:#178367;font-size:12px}
.metric,.panel{border:1px solid var(--border);border-radius:18px;box-shadow:0 5px 28px #174f3510}
.metric{padding:24px;gap:6px}.metric strong{font-size:32px;color:#114939}
.metric:first-child{background:linear-gradient(145deg,#e4f7ed,#fbfffc);border-color:#cae9d8}
.panel{padding:25px}.primary{background:#167760;color:white;box-shadow:0 2px 6px #15644a24}
.primary:hover{background:#0e5d4a}.secondary{background:#f5f8f7;border-color:var(--border)}
input,select,textarea{border-color:#d4e0da;background:#fff;outline-color:#238a6e;min-width:0}
label{color:#496059;font-weight:650}.filters{row-gap:14px}.filters>label{min-width:190px}
.advanced-filters{width:100%;padding:8px 0;color:#23725b}.advanced-filters summary{cursor:pointer;font-size:13px;font-weight:650}.advanced-filters>.filters{margin:14px 0 4px}
.doran-datepicker{min-width:190px;display:block}.doran-datepicker__input{border-radius:10px!important}
.table-scroller{border:1px solid #eaf0eb;border-radius:12px}th{background:#f8faf9;color:#567269}td{padding:16px 13px}
.status-badge[data-status=SoldOut]{background:#e1f5e9;color:#16745a}.view-btn{border-color:#c9e7db;color:#0e7357;background:#f5fcf9}
.drawer{width:min(660px,100%);box-shadow:0 0 100px #0a272259}.login-card{box-shadow:0 24px 80px #053f3214}
.management-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}
.permissions{display:flex;flex-wrap:wrap;gap:9px}.permissions label{display:flex;flex-direction:row;align-items:center;padding:9px;background:#f5f8f7;border:1px solid var(--border);border-radius:10px;font-size:12px;gap:7px}
.permissions input{min-height:auto}.description{font-size:12px;color:#738a80}.mono{direction:ltr;unicode-bidi:plaintext;font-family:ui-monospace,monospace}
@media(max-width:1000px){.management-form{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sidebar{background:#102e2a;border:0}.sidebar nav a span{display:none}.content{padding:26px 13px}.management-form{grid-template-columns:1fr}.page-head{align-items:flex-start}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.filters>label{min-width:140px;flex:1}.doran-datepicker{min-width:100%}}
.row-grants{min-width:130px}.row-grants summary{cursor:pointer;color:#127a62}.row-grants .permissions{max-width:370px;display:grid;grid-template-columns:1fr 1fr;white-space:normal;margin-top:8px}.row-grants label{padding:5px}

/* Transcript reading mode: content is never rewritten or sent outside the browser. */
.transcript-panel{border:1px solid #d5e9df;border-radius:16px;padding:20px;margin:16px 0 24px;background:#f9fcfb}
.transcript-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}
.transcript-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.transcript-title strong{color:#154e40;font-size:18px}
.transcript-label{border:1px solid #bde8d3;background:#e8f8ef;color:#0d6b52;border-radius:999px;padding:3px 10px;font-size:11px}
.transcript-actions{display:flex;gap:6px;flex-wrap:wrap}
.transcript-tab{border:1px solid #d5e6db;background:white;color:#4a6760;font-size:12px;padding:8px 11px}
.transcript-tab.active{background:#185f4d;color:white;border-color:#185f4d;font-weight:700}
.copy-transcript{padding:8px 11px;font-size:12px}
.transcript-note{font-size:12px;color:#71817a;line-height:1.9;margin:12px 0}
.transcript-info{font-size:12px;color:#627a70;margin:14px 0 6px}
.transcript-warning{font-size:12px;color:#8d6325;background:#fff4d9;border-radius:8px;padding:8px 12px}
.transcript-turns{display:flex;flex-direction:column;gap:12px;padding:10px 0}
.speech-turn{padding:12px 15px;max-width:93%;min-width:100px;border:1px solid #e2eae4;border-radius:14px;line-height:1.9;overflow-wrap:anywhere}
.speech-operator{background:#e6f4ed;border-color:#c8e5d7;align-self:flex-start;border-top-right-radius:3px}
.speech-customer{background:white;border-color:#e0e7e7;align-self:flex-end;border-top-left-radius:3px}
.speech-unknown{background:#fff7e9;border-color:#eee0c6;align-self:center;width:100%}
.speaker-tag{display:inline-block;color:#236b57;font-size:11px;font-weight:750;margin-bottom:3px}
.speech-customer .speaker-tag{color:#4e5f8c}
.speech-body{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px}
.transcript-raw{direction:rtl;text-align:right;white-space:pre-wrap;overflow-wrap:anywhere;background:white;border:1px solid #e3ebe6;padding:15px;border-radius:10px;font:13px/2 'Vazirmatn Variable','Vazirmatn',Tahoma,sans-serif;max-height:70vh;overflow:auto}
.load-transcript{width:100%;margin-top:12px}
@media(max-width:700px){.transcript-panel{padding:12px}.transcript-actions{width:100%}.speech-turn{max-width:98%}.drawer{padding:16px}}

/* Panadan v0.5: scan-friendly reporting and progressive disclosure */
:root{--paper:#fff;--subtle:#f3f7f5;--ink:#18332c;--accent:#177760;--muted:#70847a}
.content{max-width:1540px;padding-top:36px}
.page-head h1{font-size:clamp(25px,3vw,34px);line-height:1.35}
.page-head .muted{max-width:66ch}
.metrics{gap:12px}
.metric{min-height:139px;position:relative;overflow:hidden}
.metric strong{line-height:1.45}
.metric:first-child::after{content:"";position:absolute;inline-size:95px;block-size:95px;inset-inline-start:-32px;inset-block-end:-48px;border-radius:50%;background:#9bdabb3a;pointer-events:none}
.filter-panel{padding-bottom:8px}
.filter-panel .filters{margin:0 0 16px}
.filters label{flex:1;min-width:160px}
.filters select{width:100%}
.calls-panel{padding-bottom:14px}
.calls-panel .table-scroller{overflow:auto;max-height:min(68vh,780px);border-radius:14px}
.calls-panel thead th{position:sticky;top:0;z-index:1;background:#f2f7f4;border-bottom:1px solid #dde8e1}
.calls-panel tbody tr:nth-child(even) td{background:#fcfdfc}
.calls-panel tbody tr:hover td{background:#f1faf5}
.calls-panel td{font-size:13px;vertical-align:middle}
.calls-panel td:nth-child(2){font-weight:650;color:#274239}
.calls-panel td:nth-child(5){font-weight:750;font-variant-numeric:tabular-nums}
.type-badge{display:inline-flex;align-items:center;border-radius:9px;padding:5px 10px;background:#eef1fa;color:#495d88;border:1px solid #e3e7f3;font-size:12px;font-weight:700;max-width:180px}
.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;max-width:190px;line-height:1.5;text-align:center;font-weight:650}
.status-badge[data-status=Inprocess]{background:#eaf1ff;color:#325eaf}
.status-badge[data-status=SystemInvalid],.status-badge[data-status=UserInvalid]{background:#fff1ea;color:#a96035}
.status-badge[data-status=Unchecked]{background:#f2f3f5;color:#64717d}
.source-note{font-size:11px;line-height:1.9;color:#72857c;margin:12px 0 4px}
.view-btn{padding:8px 14px;white-space:nowrap;font-weight:650}
.view-btn:hover{background:#e3f5ea}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.drawer{width:min(860px,100%);padding:28px clamp(18px,3.5vw,38px);background:#fbfcfb}
.drawer>header{position:sticky;top:-28px;padding:14px 0;z-index:2;background:#fbfcfb;border-bottom:1px solid #e6ede8}
.drawer h2{font-size:24px;font-variant-numeric:tabular-nums}
.detail-intro{line-height:2;margin:16px 0 4px}
.detail-grid{display:flex;flex-direction:column;gap:18px;margin:18px 0 36px}
.detail-overview,.detail-section{background:white;border:1px solid #e2ebe5;border-radius:18px;padding:22px;box-shadow:0 2px 14px #143c2410;min-width:0}
.detail-overview{background:linear-gradient(135deg,#eaf8f0,#ffffff 75%);border-color:#d1eadc}
.detail-section-heading{font-size:16px;color:#214638;margin:0 0 17px;font-weight:800}
.detail-section-title{font-size:14px;color:#3b6b59;margin:0 0 16px}
.detail-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.detail-chip{padding:11px 13px;border-radius:12px;background:#fff;border:1px solid #dceae3;display:flex;flex-direction:column;gap:2px;min-width:0}
.detail-chip-label{font-size:11px;color:#7a9285}
.detail-chip strong{font-size:14px;color:#193d30;overflow-wrap:anywhere;line-height:1.7}
.detail-score{font-weight:700;color:#17654d;margin:16px 0 0}
.detail-analysis{padding:17px 0;border-top:1px solid #ebf0ed}
.detail-analysis:first-of-type{border-top:0;padding-top:0}
.detail-analysis .detail-section-title{margin-bottom:7px}
.detail-analysis-text{font-size:14px;line-height:2.1;white-space:pre-wrap;overflow-wrap:anywhere;color:#334b42;margin:0}
.inline-expand{margin-top:9px}
.inline-expand summary{cursor:pointer;width:max-content;color:#147c62;font-size:12px;font-weight:700}
.inline-expand[open] summary{margin-bottom:12px}
.detail-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}
.detail-meta-grid .detail-item{border:0;padding:11px 0;margin:0;border-bottom:1px solid #edf1ee;line-height:1.7}
.detail-item strong{color:#71877b;font-size:11px;margin-bottom:7px}
.detail-value{color:#28453a;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}
.transcript-last{background:#fbfcfa}
.conversation-section{border:1px solid #dbe8e0;background:#fff;border-radius:14px;overflow:hidden}
.conversation-opener{cursor:pointer;display:flex;align-items:center;gap:12px;min-height:74px;padding:16px 19px;list-style:none}
.conversation-opener::-webkit-details-marker{display:none}
.conversation-opener-title{font-size:15px;font-weight:780;color:#1c5543}
.conversation-opener-info{color:#6e8477;font-size:12px;margin-inline-start:auto}
.conversation-chevron{font-size:24px;color:#2b7c64;transition:transform .15s}
.conversation-section[open] .conversation-chevron{transform:rotate(180deg)}
.conversation-section[open] .conversation-opener{border-bottom:1px solid #e4eee7;background:#f5faf7}
.conversation-section .transcript-panel{margin:0;border:0;border-radius:0;box-shadow:none;background:white}
.transcript-content{overflow-wrap:anywhere}
.api-guide .docs-link{font-size:13px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.api-intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.api-step{background:white;border:1px solid var(--border);padding:19px;border-radius:16px;min-width:0}
.api-step-number{display:grid;place-items:center;background:#e4f5ec;color:#206d56;border-radius:10px;width:32px;height:32px;font-weight:850}
.api-step h2{font-size:15px;margin:14px 0 6px}
.api-step p{font-size:12px;line-height:2;color:#687f72;margin:0}
.api-step a{color:#11775f;text-decoration:underline;text-underline-offset:3px}
.endpoint-line,.example-code{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #d9e7df;border-radius:12px;background:#f6faf8}
.endpoint-line code{flex:1;overflow-wrap:anywhere;font-size:13px}
.example-code{align-items:flex-start;flex-wrap:wrap}
.example-code pre{flex:1;min-width:220px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;direction:ltr;text-align:left;font-size:12px;line-height:1.9}
.api-routes{display:grid}
.api-route{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;padding:17px 0;border-bottom:1px solid #e7eee9}
.api-route:last-child{border-bottom:0}
.api-route code{color:#204d3d;font-size:13px;overflow-wrap:anywhere}
.api-route p{color:#697f73;font-size:12px;margin:5px 0}
.api-method{background:#e0f4e9;color:#147353;padding:5px 8px;border-radius:7px;font:700 11px/1.4 ui-monospace,monospace;direction:ltr}
.api-scope{font-family:ui-monospace,monospace;font-size:11px;color:#718479;direction:ltr;overflow-wrap:anywhere}
.api-params{margin-top:18px}
.api-params h3{font-size:14px}
.parameter{display:flex;gap:20px;border-bottom:1px solid #edf2ee;padding:10px 0;font-size:12px}
.parameter code{direction:ltr;text-align:left;min-width:160px;color:#286b57}
.api-help-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.help-link{display:flex;flex-direction:column;gap:7px;border:1px solid #d9e8df;padding:16px;border-radius:12px;background:#fbfdfb}
.help-link:hover{border-color:#a8d4bd;background:#f3faf6}
.help-link strong{font-size:13px;color:#20694e}
.help-link span{font-size:11px;line-height:1.8;color:#6c8176}
@media(max-width:1040px){.api-intro-grid{grid-template-columns:1fr}.api-help-links{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.content{padding:24px 13px}.metric{min-height:120px}.metric strong{font-size:25px}.page-head{flex-wrap:wrap}.detail-chips{grid-template-columns:1fr 1fr}.detail-meta-grid{grid-template-columns:1fr}.detail-overview,.detail-section{padding:16px}.drawer>header{top:-16px}.conversation-opener{flex-wrap:wrap}.conversation-opener-info{margin-inline-start:0}.api-routes .api-route{grid-template-columns:auto minmax(0,1fr)}.api-scope{grid-column:2}.api-help-links{grid-template-columns:1fr}.parameter{flex-direction:column;gap:2px}.parameter code{min-width:0}.sidebar .nav-caption{display:none}}


/* Admin activity reporting — clean, responsive, Persian RTL */
.activity-content{max-width:1480px}
.activity-filter-panel{padding:18px 22px}
.activity-filter-panel .filters{margin:0;gap:12px}
.activity-filter-panel label{min-width:156px}
.activity-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.activity-kpi{border:1px solid #e0eae4;border-radius:16px;background:#fff;padding:21px;display:flex;flex-direction:column;gap:9px;box-shadow:0 4px 17px #203e2d0a}
.activity-kpi span{font-size:12px;color:#6e8478;font-weight:650}
.activity-kpi strong{font-size:clamp(23px,2.8vw,33px);font-weight:850;color:#1c5140;line-height:1.25;font-variant-numeric:tabular-nums}
.activity-kpi small{color:#91a299;font-size:11px}
.activity-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:14px;margin-bottom:18px}
.activity-panel{min-height:265px}
.activity-panel .panel-head{margin-bottom:13px}
.activity-trend{width:100%;min-height:200px;display:grid;place-items:center;overflow:hidden}
.activity-svg{width:100%;height:auto;max-height:260px;overflow:visible}
.activity-gridline{stroke:#e6ede8;stroke-width:1;stroke-dasharray:3 4}
.activity-y-label,.activity-x-label{fill:#819289;font-size:11px;direction:rtl;font-family:Vazirmatn,sans-serif}
.activity-area{fill:#2d9770;opacity:.12}
.activity-line{stroke:#268367;fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.activity-data-point{fill:#268367;stroke:#fff;stroke-width:1.5}
.activity-error-point{fill:#d77764;stroke:#fff;stroke-width:1}
.activity-bars{display:grid;gap:16px;align-content:center;min-height:180px;padding:8px 0}
.activity-bar-item{display:grid;gap:7px}
.activity-bar-title{display:flex;gap:14px;justify-content:space-between;align-items:center;font-size:12px;color:#425a4d;min-width:0}
.activity-bar-name{overflow-wrap:anywhere}
.activity-bar-value{color:#1c5640;font-weight:800;font-variant-numeric:tabular-nums}
.activity-bar-track{height:9px;background:#eaf1ec;border-radius:99px;overflow:hidden}
.activity-bar-fill{display:block;height:100%;background:linear-gradient(270deg,#3b9e78,#95c8a7);border-radius:99px}
.activity-table td{line-height:1.9}
.activity-table td:nth-child(4){direction:ltr;text-align:right;font-family:ui-monospace,monospace;font-size:11px;overflow-wrap:anywhere}
.activity-table td:nth-child(1),.activity-table td:nth-child(6){font-variant-numeric:tabular-nums;white-space:nowrap}
.activity-status{display:inline-block;padding:3px 11px;border-radius:8px;font-weight:800;font-family:ui-monospace,monospace;direction:ltr}
.activity-status.successful{color:#147c58;background:#e8f6ed}
.activity-status.failed{color:#a44d3a;background:#fff0e9}
@media(max-width:1050px){.activity-grid{grid-template-columns:1fr}.activity-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.activity-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.activity-kpi{padding:15px}.activity-filter-panel{padding:14px}.activity-table td{font-size:11px}}


.activity-only-errors{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:9px;min-width:182px!important;font-size:12px;color:#476253;font-weight:650;border:1px solid #dbe9e0;padding:9px 12px;border-radius:11px;background:#f6faf7}
.activity-only-errors input{accent-color:#248463;width:17px;height:17px;margin:0}
.activity-legend{display:flex;gap:18px;align-items:center;color:#728479;font-size:11px;margin-top:5px}
.activity-legend span{display:inline-flex;align-items:center;gap:6px}
.activity-legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.activity-legend-dot.requests{background:#288767}
.activity-legend-dot.errors{background:#d77764}
.activity-event-tools{display:flex;align-items:center;gap:10px;min-width:220px}
.activity-search input{width:min(270px,45vw);padding:8px 12px;border-radius:11px;border:1px solid #d9e7df;background:#fbfdfb;min-height:38px;font-family:inherit;font-size:12px}
.activity-search input:focus-visible{outline:2px solid #43a77e;outline-offset:2px}
@media(max-width:680px){.activity-event-tools{flex-wrap:wrap}.activity-only-errors{min-width:0!important}.activity-search input{width:min(100%,235px)}}

/* Human-friendly access management */
.user-capabilities{display:flex;flex-wrap:wrap;gap:6px;max-width:360px}
.user-capability{display:inline-flex;padding:5px 9px;border-radius:8px;background:#eff5f1;color:#456657;font-size:10px;font-weight:650;line-height:1.6;border:1px solid #e0ece4}
.role-pill{display:inline-flex;align-items:center;background:#f1f4fa;color:#485b80;border-radius:9px;padding:6px 10px;font-size:11px;font-weight:750;white-space:nowrap}
.role-pill[data-role=admin]{background:#e7f4ed;color:#1b7853}
.role-pill[data-role=analyst]{background:#f0eafe;color:#7755a4}
.role-pill[data-role=metrics]{background:#f5f4ec;color:#8e763e}
.management-form .permissions label{line-height:1.7}
.management-form input[type=password]{font-family:inherit}


/* v0.7.2 — shared dropdowns and resilient mobile navigation.
   Native select stays available without JavaScript. */
:root{
  --control-border:#cddfd4;
  --control-focus:#168465;
  --control-bg:#ffffff;
  --control-hover:#f5faf7;
  --control-ink:#213e34;
  --control-muted:#698176;
}
select:not(.ui-select-native){
  appearance:none;
  -webkit-appearance:none;
  background-color:#fff;
  color:var(--control-ink);
  border:1px solid var(--control-border);
  border-radius:12px;
  min-height:46px;
  padding:10px 14px;
  padding-inline-end:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23507461' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:17px 17px;
  background-position:left 13px center;
  transition:border-color .14s,box-shadow .14s,background-color .14s;
}
select:not(.ui-select-native):hover{border-color:#8ab5a0;background-color:var(--control-hover)}
select:not(.ui-select-native):focus-visible{outline:0;border-color:var(--control-focus);box-shadow:0 0 0 3px #16846525}
.ui-select-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  overflow:hidden!important;
  clip-path:inset(50%)!important;
  pointer-events:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.ui-select{
  position:relative;
  display:flex;
  width:100%;
  min-width:0;
  align-items:stretch;
  line-height:1.6;
  direction:rtl;
}
.ui-select-trigger{
  display:flex;
  width:100%;
  min-height:46px;
  min-width:0;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  text-align:right;
  font-size:13px;
  font-weight:600;
  color:var(--control-ink);
  background:var(--control-bg);
  border:1px solid var(--control-border);
  border-radius:12px;
  padding:10px 13px;
  transition:background .15s,border-color .15s,box-shadow .15s;
}
.ui-select-trigger:hover{background:var(--control-hover);border-color:#8ab5a0}
.ui-select-trigger:focus-visible{outline:0;box-shadow:0 0 0 3px #16846528;border-color:var(--control-focus)}
.ui-select-open .ui-select-trigger{background:#f8fcfa;border-color:var(--control-focus);box-shadow:0 0 0 3px #16846524}
.ui-select-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.ui-select-caret{
  width:9px;height:9px;flex:none;
  border-bottom:1.8px solid #56796b;
  border-left:1.8px solid #56796b;
  transform:translateY(-2px) rotate(-45deg);
  transition:transform .15s;
  margin-inline-end:3px;
}
.ui-select-open .ui-select-caret{transform:translateY(2px) rotate(135deg)}
.ui-select-has-value .ui-select-trigger{border-color:#b7d6c5}
.ui-select-has-value .ui-select-value{color:#205e49}
.ui-select-clear{
  position:absolute;
  inset-inline-end:35px;
  top:50%;
  transform:translateY(-50%);
  background:transparent;
  color:#91a69a;
  width:28px;
  height:28px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:8px;
  line-height:1;
  font-family:system-ui;
  font-size:19px;
}
.ui-select-clear:hover{background:#e9f3ec;color:#215943}
.ui-select-clear[hidden]{display:none!important}
.ui-select:has(.ui-select-clear:not([hidden])) .ui-select-trigger{padding-inline-end:40px}
.ui-select-menu{
  position:fixed;
  z-index:3000;
  min-width:200px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:16px;
  border:1px solid #cfdfd5;
  background:#fff;
  box-shadow:0 18px 48px #092e1f29,0 4px 12px #092e1f13;
  direction:rtl;
  padding:6px;
  animation:ui-select-enter .13s ease-out;
}
.ui-select-menu[hidden]{display:none!important}
.ui-select-search-wrap{padding:6px 7px 10px;flex:none;border-bottom:1px solid #e9f0ec}
.ui-select-search{
  min-height:41px;
  width:100%;
  font-size:12px;
  border-radius:10px;
  background:#f7faf8;
  border:1px solid #dce9e1;
  padding:8px 12px;
  font-weight:450;
  outline:0;
}
.ui-select-search:focus{border-color:#5cac88;box-shadow:0 0 0 3px #1684651c;background:#fff}
.ui-select-options{overflow-y:auto;overscroll-behavior:contain;padding:3px;min-height:20px;max-height:100%}
.ui-select-option{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 12px;
  gap:12px;
  border-radius:9px;
  min-height:40px;
  color:#334e42;
  font-size:12px;
  cursor:pointer;
  scroll-margin:6px;
  line-height:1.7;
  user-select:none;
}
.ui-select-option:hover,.ui-select-option.ui-select-focused{background:#edf8f1;color:#0c7355}
.ui-select-option[aria-selected=true]{background:#e4f4e9;color:#0b7152;font-weight:750}
.ui-select-option[aria-selected=true].ui-select-focused{background:#d9f2e3}
.ui-select-option.ui-select-disabled{opacity:.45;cursor:not-allowed}
.ui-select-option-label{min-width:0;white-space:normal;overflow-wrap:anywhere}
.ui-select-check{color:#158463;font-size:17px;line-height:1;font-weight:800}
.ui-select-empty{padding:19px 12px;color:#788c82;font-size:12px;text-align:center;margin:0}
@keyframes ui-select-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* Consistent form hierarchy and compact, meaningful spacing. */
.filters>label,.token-form>label,.management-form>label,.activity-filter-panel .filters>label{gap:8px}
.filters label,.token-form label,.activity-filter-panel label{min-width:0}
.filters .ui-select,.token-form .ui-select,.management-form .ui-select{width:100%}
.panel-head{gap:14px}
.panel-head h2{line-height:1.5}
.sidebar nav a{transition:background .16s,color .16s,transform .16s;align-items:center}
.sidebar nav a:hover{transform:translateX(-2px)}
.sidebar nav a:focus-visible{outline:2px solid #8ce0b5;outline-offset:2px}
.form-hint{font-size:11px;color:#758c7e;font-weight:450;line-height:1.8}

/* Tables with inline user-role selects must never clip the dropdown layer. */
.row-grants summary{border-radius:8px;padding:7px 10px}
.row-grants summary:hover{background:#eff8f2}
.row-grants summary:focus-visible{outline:2px solid #218568;outline-offset:2px}

/* Mobile navigation: all destinations remain reachable and their labels stay visible. */
@media(max-width:800px){
  .sidebar{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:13px 14px 10px;
    border-radius:0;
    background:#102e2a;
  }
  .sidebar .logo{padding:0;justify-content:flex-start;font-size:17px;gap:9px}
  .sidebar .logo .brand-mark{width:32px;height:32px}
  .sidebar .nav-caption{display:none}
  .sidebar nav{
    display:flex;
    min-width:0;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    gap:6px;
    padding:2px 0 7px;
    margin:0;
    scrollbar-width:thin;
    scrollbar-color:#618d7c transparent;
    -webkit-overflow-scrolling:touch;
  }
  .sidebar nav a{
    white-space:nowrap;
    flex:none;
    padding:9px 12px;
    font-size:12px;
    border:1px solid #275448;
    border-radius:11px;
  }
  .sidebar nav a span{display:inline}
  .sidebar nav a:hover{transform:none}
  .sidebar .side-footer{
    display:flex;
    margin:0;
    padding:0;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    font-size:10px;
  }
  .sidebar .side-footer .status{font-size:10px}
  .sidebar .side-footer .link-button{margin:0;padding:5px 10px;border:1px solid #3d6b59;border-radius:9px}
  .content{padding:24px 14px 45px}
  .page-head{flex-wrap:wrap;gap:12px}
  .page-head h1{font-size:26px}
  .panel{padding:18px}
  .panel-head{align-items:flex-start;flex-wrap:wrap}
  .filters>label,.activity-filter-panel .filters>label{flex:1 1 170px;min-width:0}
  .ui-select-trigger{min-height:46px;font-size:13px}
}
@media(max-width:480px){
  .filters>label,.activity-filter-panel .filters>label{flex-basis:calc(50% - 8px)}
  .activity-filter-panel .filters>label:has(#activity-user){flex-basis:100%}
  .activity-filter-panel .filters .primary{width:100%}
  .panel-head .muted{font-size:11px}
  .metrics{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .ui-select-menu{animation:none}
  .ui-select-trigger,.ui-select-caret,.sidebar nav a{transition:none}
}


/* Operator profiles, directory and warm, accessible conversation disclosure */
.operator-name-link{color:#146a55;font-weight:750;text-decoration:none;border-bottom:1px dashed #84b5a2;padding-bottom:2px}
.operator-name-link:hover{color:#08533e;border-color:#0e6f53}
.operator-name-link:focus-visible,.operator-back:focus-visible{outline:2px solid #178667;outline-offset:3px;border-radius:4px}
.operator-back{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:#21775c;font-size:12px;font-weight:750}
.operator-profile-tags{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:11px}
.operator-profile-tags span{border:1px solid #d9e8df;background:#f4faf6;color:#466657;border-radius:9px;padding:5px 11px;font-size:11px}
.operator-profile-tags strong{color:#206549}
.operator-directory-search{display:grid;gap:7px;max-width:560px;margin-bottom:14px;font-size:13px;color:#4a6156}
.operator-directory-search input{min-height:46px;border:1px solid #d7e6dc;border-radius:12px;background:#fff;padding:10px 14px;font:inherit}
.operator-directory-search input:focus-visible{outline:2px solid #178667;outline-offset:2px}
.operator-directory-tag{display:inline-flex;padding:5px 10px;border-radius:9px;background:#eef7f1;border:1px solid #dcece1;color:#496953;font-size:11px;white-space:nowrap}
.operator-assignment-form{display:flex;gap:8px;align-items:end;min-width:300px;flex-wrap:wrap}
.operator-assignment-form label{display:grid;gap:4px;color:#718277;font-size:10px;flex:1;min-width:110px}
.operator-assignment-form input{min-height:39px;border:1px solid #d8e5dc;border-radius:9px;background:white;padding:7px 9px;max-width:170px;font:inherit;font-size:12px}
.operator-assignment-form button{min-height:39px;padding:7px 12px;white-space:nowrap}
.operator-directory-table td{vertical-align:middle}
.operator-directory-table tr[hidden]{display:none}
.doran-datepicker__input,input[type=date],input[type=datetime-local],doran-datepicker {
  font-family:'Vazirmatn Variable',Vazirmatn,Tahoma,sans-serif!important;
  font-synthesis:none!important;
}
doran-datepicker{
  display:block;
  width:100%;
  min-height:46px;
  font-size:13px;
  line-height:1.75;
  direction:rtl;
  --font-family:'Vazirmatn Variable',Vazirmatn,Tahoma,sans-serif;
  --doran-font-family:'Vazirmatn Variable',Vazirmatn,Tahoma,sans-serif;
  --font-sans:'Vazirmatn Variable',Vazirmatn,Tahoma,sans-serif;
}
doran-datepicker::part(input),
doran-datepicker::part(trigger),
doran-datepicker::part(calendar),
doran-datepicker::part(popover),
doran-datepicker::part(dialog){
  font-family:'Vazirmatn Variable',Vazirmatn,Tahoma,sans-serif!important;
  font-synthesis:none!important;
}
[class*="doran"][role="dialog"],[class*="doran"] input,[class*="doran"] button,[class*="doran"] select {
  font-family:'Vazirmatn Variable',Vazirmatn,Tahoma,sans-serif!important;
  font-synthesis:none!important;
}
.conversation-section{
  border:1px solid #cfe4d9;
  border-radius:17px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 3px 12px #284d3710;
  transition:border-color .15s,box-shadow .15s
}
.conversation-section:hover{border-color:#9dcdb7}
.conversation-section:focus-within{box-shadow:0 0 0 3px #16846522}
.conversation-opener{
  display:flex;
  align-items:center;
  min-height:100px;
  gap:14px;
  padding:19px;
  cursor:pointer;
  list-style:none;
  background:linear-gradient(115deg,#f9fcfa,#fff);
}
.conversation-opener:focus-visible{outline:3px solid #268a68;outline-offset:-4px;border-radius:16px}
.conversation-opener::-webkit-details-marker{display:none}
.conversation-icon{
  width:47px;height:47px;display:grid;place-items:center;flex:none;
  border-radius:15px;background:#e5f5ec;color:#1c775b;font-size:24px;font-weight:700
}
.conversation-title-block{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}
.conversation-opener-title{font-size:15px;font-weight:800;color:#174c3b;line-height:1.5}
.conversation-preview{font-size:11px;color:#718b7d;font-weight:400;line-height:1.8}
.conversation-opener-info{
  font-size:11px;font-variant-numeric:tabular-nums;
  padding:6px 10px;background:#f0f5f1;color:#5d7868;border-radius:9px;
  margin:0;white-space:nowrap;flex:none;
}
.conversation-toggle{
  display:inline-flex;gap:9px;align-items:center;justify-content:center;
  padding:9px 13px;border:1px solid #b8d9c6;background:#e9f6ed;
  border-radius:11px;color:#176849;font-size:12px;font-weight:750;white-space:nowrap;
}
.conversation-chevron{font-size:19px;line-height:1;display:inline-block;transition:transform .18s}
.conversation-section[open]{border-color:#a1cdb7;box-shadow:0 9px 28px #22543b14}
.conversation-section[open] .conversation-opener{border-bottom:1px solid #d9eae1;background:#f4faf6}
.conversation-section[open] .conversation-toggle{background:#fff}
.conversation-section[open] .conversation-chevron{transform:rotate(180deg)}
.conversation-section .transcript-panel{background:#fff;padding:20px}
.detail-analysis-text{white-space:pre-wrap}
.detail-analysis-text[hidden]{display:none!important}
.analysis-read-more{
  border:1px solid #bfdacb;background:#f3faf6;border-radius:10px;
  padding:8px 13px;display:inline-flex;gap:9px;align-items:center;
  font-family:inherit;font-weight:750;font-size:12px;color:#176b50;
  margin-top:9px;cursor:pointer;
}
.analysis-read-more:hover{background:#e4f4e9;border-color:#84bea3}
.analysis-read-more:focus-visible{outline:2px solid #157e5e;outline-offset:2px}
.analysis-toggle-icon{display:inline-block;transition:transform .16s;font-size:17px}
.analysis-read-more[aria-expanded=true] .analysis-toggle-icon{transform:rotate(180deg)}
@media(max-width:760px){
  .conversation-opener{flex-wrap:wrap;min-height:90px;padding:14px;gap:10px}
  .conversation-title-block{flex-basis:calc(100% - 68px)}
  .conversation-opener-info{margin-inline-start:58px}
  .conversation-toggle{margin-inline-start:auto}
  .operator-assignment-form{min-width:260px}
}
@media(max-width:430px){
  .conversation-icon{width:42px;height:42px}
  .conversation-opener-info{margin-inline-start:0}
  .conversation-toggle{padding:8px 11px}
}
@media(prefers-reduced-motion:reduce){.conversation-section,.conversation-chevron,.analysis-toggle-icon{transition:none}}

/* v0.8 admin polish: consistent input geometry, readable bilingual data and
   compact user editing. Scope carefully to avoid changing other forms. */
.login-card .stack label > input{width:100%;min-height:46px}
.login-card input[name="username"],
.login-card input[name="password"],
.management-form input[name="username"],
.management-form input[name="password"]{
  direction:ltr;
  text-align:left;
  unicode-bidi:plaintext;
  font-variant-numeric:tabular-nums;
}

.report-filters{gap:12px;align-items:flex-end}
.report-filters > label{
  flex:1 1 195px;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-self:stretch;
  justify-content:flex-end;
  gap:8px;
  line-height:1.6;
}
.report-filters > label > select,
.report-filters > label > input:not([hidden]),
.report-filters > label > .ui-select,
.report-filters > label > doran-datepicker{
  width:100%;
  min-width:0;
  min-height:46px;
}
.report-filters doran-datepicker::part(input),
.report-filters doran-datepicker::part(trigger){
  box-sizing:border-box;
  min-height:46px;
  width:100%;
}
.report-filters .advanced-filters{flex-basis:100%;min-width:0}
.report-filters .advanced-filters .filters > label{
  flex:1 1 200px;min-width:0;
}

/* Each person is a single accessible, collapsed card. Editing no longer
   stretches the entire user table into a large empty row. */
.users-list{display:grid;gap:10px}
.user-card{border:1px solid #dfeae4;border-radius:14px;background:#fff;overflow:hidden}
.user-card[open]{border-color:#b7d9c7;box-shadow:0 5px 18px #0b4a2b0c}
.user-card-summary{
  display:grid;
  grid-template-areas:"name role caps edit";
  grid-template-columns:minmax(125px,1.1fr) auto minmax(210px,2fr) auto;
  align-items:center;
  gap:14px;
  padding:15px 17px;
  cursor:pointer;
  list-style:none;
}
.user-card-summary::-webkit-details-marker{display:none}
.user-card-summary::marker{content:""}
.user-card-summary:hover{background:#f7fbf8}
.user-card-summary:focus-visible{outline:3px solid #168465;outline-offset:-3px}
.user-card[open] .user-card-summary{border-bottom:1px solid #e3ede6;background:#f8fcfa}
.user-card-name{grid-area:name;display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.user-card-name bdi{color:#28463b;font-size:13px;font-weight:750;overflow-wrap:anywhere}
.user-card-role{grid-area:role}
.user-card-summary .user-capabilities{grid-area:caps;max-width:none;min-width:0}
.user-card-edit{
  grid-area:edit;display:inline-flex;gap:8px;align-items:center;
  color:#176d55;font-size:12px;font-weight:750;white-space:nowrap;
  padding:7px 11px;background:#eff8f2;border:1px solid #d3e8da;border-radius:9px;
}
.user-card-edit span{display:inline-block;transition:transform .14s}
.user-card[open] .user-card-edit span{transform:rotate(180deg)}
.user-edit-form{
  display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);
  gap:16px 22px;align-items:end;padding:18px;
}
.user-edit-role{max-width:350px}
.user-edit-role > select,.user-edit-role > .ui-select{width:100%}
.user-edit-active{
  display:flex;flex-direction:row;align-items:center;justify-content:flex-start;
  gap:9px;min-height:46px;
}
.user-edit-active input,.user-edit-grants input{
  min-height:0;width:17px;height:17px;flex:none;margin:0;accent-color:#168465;
}
.user-edit-grants{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0}
.user-edit-grants legend{font-size:12px;font-weight:750;color:#416354;padding-bottom:9px}
.user-edit-grants .permissions{display:flex;gap:8px;flex-wrap:wrap}
.user-edit-grants .permissions label{padding:7px 11px;font-size:11px;line-height:1.7}
.user-edit-footer{
  grid-column:1/-1;display:flex;align-items:center;
  justify-content:space-between;gap:15px;flex-wrap:wrap;
  border-top:1px solid #e7efe9;padding-top:13px;
}
.user-edit-footer p{margin:0;flex:1;min-width:210px}
.user-edit-footer button{min-height:42px}
.users-panel .panel-head{align-items:center}
.users-panel .panel-head p{margin:2px 0 0}

/* RTL: first column is the right-hand Tehran timestamp; elapsed duration
   stays at the far left. Keep dates and hours in isolated numeric runs. */
.activity-table{table-layout:fixed;min-width:790px}
.activity-table th:first-child{width:195px;text-align:right}
.activity-table th:nth-child(2){width:110px}
.activity-table th:nth-child(3){width:115px}
.activity-table th:nth-child(5){width:85px}
.activity-table th:last-child{width:85px;text-align:left}
.activity-table td:first-child{text-align:right}
.activity-table td:last-child{text-align:left}
.activity-table td:nth-child(4){
  direction:rtl;text-align:right;font:inherit;
  font-size:12px;white-space:normal;overflow-wrap:anywhere;unicode-bidi:plaintext;
}
.activity-event-username{unicode-bidi:plaintext}
.activity-time{display:inline-flex;direction:rtl;gap:10px;align-items:baseline;white-space:nowrap}
.activity-date,.activity-clock{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.activity-clock{font-weight:750;color:#356650}
.activity-event-duration{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}

@media(max-width:1000px){
  .user-card-summary{
    grid-template-areas:"name role edit" "caps caps caps";
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:10px 14px;
  }
}
@media(max-width:700px){
  .report-filters > label{flex:1 1 calc(50% - 8px);min-width:0}
  .user-card-summary{
    grid-template-areas:"name edit" "role role" "caps caps";
    grid-template-columns:minmax(0,1fr) auto;
    padding:13px;gap:9px;
  }
  .user-edit-form{grid-template-columns:1fr;padding:14px;gap:13px}
  .user-edit-grants,.user-edit-footer{grid-column:1}
  .user-edit-role{max-width:none}
  .user-edit-footer button{width:100%}
}
@media(max-width:390px){
  .report-filters > label{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){
  .user-card-edit span{transition:none}
}

/* Phone actions: shown only for customer numbers already authorized in call
   details. Preserve the original digits and their LTR reading order. */
.customer-phone-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;direction:rtl}
.customer-phone-number{direction:ltr;unicode-bidi:isolate;text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap;color:#183b2c}
.call-link{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:7px 14px;border:1px solid #c1ddce;
  border-radius:10px;background:#e9f7ef;color:#17654c;
  font-size:12px;font-weight:750;white-space:nowrap;transition:background .15s;
}
.call-link:hover{background:#daf1e4;border-color:#9dcbb6}
.call-link:focus-visible{outline:3px solid #168465;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.call-link{transition:none}}

 
/* Call detail: source-clock metadata is informative, never a confirmed event. */
.drawer-open{overflow:hidden}
.detail-clock-hint{display:block;color:#63796e;font-size:11px;line-height:1.8}
.drawer .icon-btn:focus-visible{outline:3px solid #88bd53;outline-offset:3px}
@media(max-width:600px){
 .drawer{width:100%;height:100dvh;max-height:100dvh;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain}
 .drawer>header{top:-18px;padding-top:calc(14px + env(safe-area-inset-top,0px))}
 .detail-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .detail-chip{padding:11px;min-width:0}
 .detail-meta-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:365px){
 .detail-chips{grid-template-columns:minmax(0,1fr)}
}


/* Shared RTL datetime contract: visual RIGHT = clock, visual LEFT = date.
   Each numeric run is LTR-isolated to prevent the browser bidi algorithm
   from reversing the date or the clock within a Persian page. */
.datetime-inline{display:inline-flex;direction:rtl;flex-direction:row;align-items:baseline;gap:10px;max-width:100%;white-space:nowrap;vertical-align:baseline}
.datetime-clock,.datetime-date{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;display:inline-block}
.datetime-clock{font-weight:750;color:#275f49}
.datetime-date{color:#5e7167}
.datetime-zone{color:#818d85;font-size:10px;direction:ltr;unicode-bidi:isolate}
.detail-chip-datetime{grid-column:1 / -1;background:linear-gradient(115deg,#f3faf4,#fff);border-color:#cfe5d5;gap:7px}
.call-datetime{gap:clamp(10px,3vw,22px)}
.call-datetime .datetime-clock{font-size:clamp(19px,3vw,25px);font-weight:800;letter-spacing:.5px}
.call-datetime .datetime-date{font-size:clamp(15px,2.5vw,19px);font-weight:650}
.recorded-datetime{gap:12px}
.token-time-cell{text-align:right}
.token-datetime{font-size:12px}
@media(max-width:370px){
 .call-datetime{flex-wrap:wrap;row-gap:2px;white-space:normal}
}


/* 2026-10: accessible RTL filtering, mobile call cards, persistent navigation.
   Scope below the shell/report panels to avoid shifting login and dialog UI. */
.shell > .sidebar{
  position:sticky;top:0;align-self:flex-start;height:100dvh;
  min-height:0;z-index:8;overflow:hidden;
}
.shell > .sidebar nav{overflow-y:auto;min-height:0;overscroll-behavior:contain}
.shell > .sidebar .side-footer{flex:none;margin-top:auto;min-width:0}
.shell > .sidebar .link-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;min-width:75px;margin:8px 0 0;
  background:#f2f6f0;border:1px solid #d4e5d9;border-radius:10px;
  color:#234b35;font-weight:750;font-size:13px;
}
.shell > .sidebar .link-button:hover{background:#e0eddf}
.veil{z-index:35}
.report-filters{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:end;gap:16px 12px;
}
.report-filters > label{flex:none;width:100%;min-width:0;align-self:stretch}
.filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.filter-actions button{min-height:45px;padding:10px 22px}
.report-filters .advanced-filters{display:none}
#metric-length{
  direction:rtl!important;text-align:right!important;
  display:flex;align-items:baseline;justify-content:flex-start;
  gap:5px;flex-wrap:wrap;font-size:clamp(16px,1.9vw,22px);
  line-height:1.9;white-space:normal;
}
#metric-length .duration-part,#metric-length .duration-join{
  direction:rtl;unicode-bidi:isolate;display:inline-block;white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
#metric-length .duration-join{font-weight:500;color:#7a8d80}
.activity-filter-panel .filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.activity-filter-panel .filters > label:not(.activity-only-errors){width:100%;min-width:0;flex:none}
.activity-filter-panel .activity-only-errors{
  display:inline-flex!important;flex-direction:row!important;
  align-items:center;justify-content:flex-start;gap:10px;
  min-width:0;min-height:46px;margin:0;padding:10px 13px;
  border:1px solid #dce8de;border-radius:12px;background:#f7faf7;
  font-weight:600;font-size:12px;line-height:1.6;cursor:pointer;
}
.activity-filter-panel .activity-only-errors input{
  accent-color:#16805e;width:17px;height:17px;flex:none;margin:0;
}
.activity-filter-panel .filters > button{min-height:46px;width:100%}
.activity-filter-panel .activity-only-errors span{min-width:0}
@media(max-width:1050px){
 .report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .activity-filter-panel .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .shell > .sidebar{
   position:sticky;top:0;z-index:8;align-self:auto;
   display:grid;grid-template-columns:minmax(0,1fr) auto;
   grid-template-areas:"brand logout" "links links";
   column-gap:10px;row-gap:7px;width:100%;height:auto;max-height:none;
   padding:9px 12px 7px;background:#102e2a;
   box-shadow:0 4px 18px #091f1830;
 }
 .shell > .sidebar .logo{grid-area:brand;min-width:0;font-size:15px;justify-content:flex-start;gap:8px;white-space:nowrap}
 .shell > .sidebar .nav-caption{display:none}
 .shell > .sidebar nav{
   grid-area:links;display:flex;flex-direction:row;min-width:0;width:100%;
   overflow-x:auto;overflow-y:hidden;max-width:100%;gap:7px;
   -webkit-overflow-scrolling:touch;scrollbar-width:thin;
   overscroll-behavior-x:contain;margin:0;padding:0 0 6px;
 }
 .shell > .sidebar nav a{
   display:inline-flex;flex:none;align-items:center;min-height:40px;
   font-size:12px;white-space:nowrap;padding:9px 12px;
 }
 .shell > .sidebar nav a span{display:inline}
 .shell > .sidebar .side-footer{
   grid-area:logout;margin:0;padding:0;display:flex;align-items:center;
   justify-content:flex-end;min-height:40px;
 }
 .shell > .sidebar .side-footer .status,.shell > .sidebar .side-footer > .muted{display:none}
 .shell > .sidebar .side-footer form{margin:0}
 .shell > .sidebar .link-button{
   margin:0;min-height:40px;min-width:65px;padding:8px 12px;
   background:#183e35;color:#fff;border-color:#457564;
 }
 .content{padding:18px 13px 45px}
 .filter-panel,.activity-filter-panel{padding:16px}
 .report-filters > label,.activity-filter-panel .filters>label{flex:none;min-width:0}
 .metrics .metric{min-width:0}
}
@media(max-width:600px){
 .report-filters,.activity-filter-panel .filters{grid-template-columns:minmax(0,1fr)}
 .report-filters > label,.activity-filter-panel .filters>label{min-width:0!important;width:100%;flex:none}
 .report-filters > label > doran-datepicker{min-width:0;width:100%;max-width:100%}
 .report-filters .filter-logic{gap:8px;padding:12px}
 .filter-logic .filter-logic-option{flex:1 1 100px;min-width:0;padding:8px}
 .filter-actions button{flex:1;min-width:125px}
 .activity-filter-panel .filters > button{width:100%}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .metric{min-width:0;padding:13px;min-height:114px}
 .metric strong{font-size:clamp(20px,5vw,26px);overflow-wrap:anywhere}
 #metric-length{font-size:17px;gap:3px}
 /* Replace horizontal table scrolling with two-column compact call cards. */
 .calls-panel .table-scroller{overflow:visible}
 .calls-panel table,.calls-panel tbody{display:block;width:100%;min-width:0;white-space:normal}
 .calls-panel thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .calls-panel tbody tr{
   display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
   gap:6px 12px;margin:0 0 12px;padding:13px;
   border:1px solid #e0ebe3;border-radius:14px;background:#fff;
   box-shadow:0 2px 10px #103c2710;
 }
 .calls-panel tbody td{
   display:flex;flex-direction:column;justify-content:flex-start;gap:4px;
   min-width:0;padding:5px 0;border:0;white-space:normal;
   overflow-wrap:anywhere;font-size:12px;
 }
 .calls-panel tbody td::before{
   content:attr(data-label);font-size:10px;font-weight:650;color:#718579;
 }
 .calls-panel tbody td:last-child{grid-column:1 / -1;display:block;padding-top:7px}
 .calls-panel tbody td:last-child::before{display:none}
 .calls-panel .view-btn{width:100%;min-height:43px}
 .calls-panel tbody td[colspan]{grid-column:1 / -1;display:block;text-align:center}
 .calls-panel tbody td[colspan]::before{display:none}
 .pager{gap:9px;flex-wrap:wrap}
 .pager button{min-height:42px}
}
@media(max-width:360px){
 .calls-panel tbody tr{grid-template-columns:minmax(0,1fr)}
 .calls-panel tbody td:last-child{grid-column:1}
 .filter-actions{flex-direction:column;align-items:stretch}
 .filter-actions button{width:100%}
}


/* Multi-choice report filters. No AND/OR switch: each selection is an OR term. */
.report-filters > label > .ui-multi{width:100%;min-width:0}
.ui-multi{position:relative;display:block;min-width:0}
.ui-multi-trigger{
  width:100%;min-height:47px;display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:10px 13px;background:#fff;border:1px solid #cfe0d5;
  border-radius:12px;color:#234839;font-size:12px;font-weight:650;text-align:right;
  box-shadow:0 1px 4px #163b2510;
}
.ui-multi-trigger:hover,.ui-multi-trigger[aria-expanded=true]{
  border-color:#188366;background:#f5fcf8;
}
.ui-multi-value{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-multi.has-value .ui-multi-value{color:#106b50}
.ui-multi-native{position:absolute!important;width:1px!important;height:1px!important;
  min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;
  pointer-events:none!important;overflow:hidden!important}
.ui-multi-popup{
  position:fixed;z-index:90;background:#fff;border:1px solid #d2e4d9;border-radius:14px;
  padding:10px;display:flex;flex-direction:column;gap:9px;
  box-shadow:0 15px 48px #0b352b37;direction:rtl;
}
.ui-multi-search{min-height:43px;width:100%;flex:none;font-size:13px}
.ui-multi-options{overflow:auto;min-height:0;flex:1;overscroll-behavior:contain}
.ui-multi-option{
  display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 9px;
  border-radius:9px;cursor:pointer;min-height:43px;font-size:12px;
  font-weight:500;line-height:1.5;
}
.ui-multi-empty,.ui-multi-limit{color:#718b7e;font-size:12px;margin:12px 7px}
@media(max-width:800px){
 .shell{display:block}
 .shell > .sidebar.mobile-nav-ready{row-gap:8px;overflow:visible!important}
 .shell > .sidebar.mobile-nav-ready > nav{display:none!important}
 .shell > .sidebar .mobile-nav{
   grid-area:links;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
   width:100%;min-width:0;gap:5px;margin:0;
 }
 .mobile-nav-tab{
   display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
   min-width:0;min-height:54px;padding:5px 2px;background:#173f35;
   color:#d4ede1;border:1px solid #36685a;border-radius:11px;
   font-weight:700;font-size:11px;line-height:1.5;cursor:pointer;
 }
 .mobile-nav-tab.is-active,.mobile-nav-tab[aria-expanded=true]{
   background:#dbf5e5;border-color:#9de1bb;color:#104f3b;
 }
 .mobile-nav-glyph{font-size:17px;line-height:1.2}
 .mobile-nav-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
 .mobile-nav-menu{
   position:absolute;top:100%;right:10px;left:10px;z-index:25;
   display:grid;gap:5px;padding:9px;background:#fff;
   border:1px solid #dbe9de;border-radius:0 0 15px 15px;
   box-shadow:0 12px 34px #0b2c2340;
 }
 .mobile-nav-menu a{
   display:block;padding:12px 14px;border-radius:10px;
   background:#f5faf7;color:#2d5543;font-size:13px;font-weight:650;
 }
 .mobile-nav-menu a.is-current{background:#e0f5e9;color:#106748}
}
@media(min-width:801px){
 .mobile-nav,.mobile-nav-menu{display:none!important}
}
@media(max-width:375px){
 .mobile-nav-tab{font-size:10px}
 .mobile-nav-glyph{font-size:16px}
 .ui-multi-popup{padding:8px}
}


/* Compact reporting layout: controls occupy two rows on desktop.
   Two-column phone layout avoids one oversized empty row per filter. */
.filter-panel{padding:17px 19px 14px}
.filter-panel .panel-head{margin:0 0 12px;gap:12px;align-items:flex-start}
.filter-panel .panel-head h2{font-size:16px;line-height:1.5}
.filter-panel .panel-head p{font-size:11px;line-height:1.65;margin:3px 0 0;max-width:57ch}
.filter-panel .panel-head .tag{font-size:10px;padding:4px 9px}
.filter-panel .filters{margin:0}
.report-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px 12px;align-items:end}
.report-filters > label{min-width:0!important;min-height:0;gap:5px;
  font-size:11px;line-height:1.5;font-weight:700}
.report-filters .doran-datepicker,.report-filters doran-datepicker{
  display:block;min-width:0!important;width:100%!important;max-width:100%;
}
.report-filters .ui-multi-trigger{min-height:42px;padding:8px 10px;font-size:12px}
.filter-actions{display:flex;grid-column:1 / -1;align-items:center;
  justify-content:flex-start;gap:8px;margin-top:2px;flex-wrap:wrap}
.filter-actions button{min-height:40px;padding:8px 17px;font-size:12px;
  flex:0 0 auto}
.filter-actions .primary{min-width:132px}
.filter-actions .secondary{min-width:85px}
.report-filters .ui-multi-value{font-size:12px}
.ui-multi-trigger:focus-visible,.mobile-nav-tab:focus-visible{
  outline:3px solid #9fddb6;outline-offset:2px
}
@media(max-width:1200px){
 .report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:950px){
 .report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .shell > .sidebar.mobile-nav-ready{
   padding:6px 10px 7px;row-gap:5px;box-shadow:0 3px 14px #0b2f2730;
   grid-template-columns:minmax(0,1fr) auto;
 }
 .shell > .sidebar.mobile-nav-ready .logo{
   font-size:14px;max-height:34px;min-width:0;overflow:hidden
 }
 .shell > .sidebar.mobile-nav-ready .brand-mark.small{width:27px;height:27px}
 .shell > .sidebar.mobile-nav-ready .logo b{display:none}
 .shell > .sidebar.mobile-nav-ready .side-footer{min-height:32px}
 .shell > .sidebar.mobile-nav-ready .side-footer .link-button{
   min-height:32px;min-width:54px;padding:4px 9px;font-size:11px
 }
 .shell > .sidebar .mobile-nav{gap:5px}
 .shell > .sidebar .mobile-nav-tab{
   min-height:38px;flex-direction:row;gap:0;font-size:11px;
   border-radius:9px;padding:6px 3px;line-height:1.3;letter-spacing:-.1px
 }
 .shell > .sidebar .mobile-nav-glyph{display:none}
 .shell > .sidebar .mobile-nav-text{font-size:inherit}
 .content{padding-top:14px}
 .page-head{margin-bottom:15px;gap:10px}
 .page-head h1{font-size:clamp(21px,5vw,25px);margin:2px 0}
 .metrics{margin-bottom:12px}
 .metric{min-height:104px}
 .panel{margin-bottom:12px}
 .filter-panel{padding:14px}
 .filter-panel .panel-head{margin-bottom:11px}
 .report-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 9px}
 .report-filters > label{min-width:0!important}
 .filter-actions{gap:8px}
 .filter-actions button{flex:1 1 0;min-width:0}
 .filter-panel .panel-head .tag{display:none}
}
@media(max-width:600px){
 .report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-filters > label{width:100%;min-width:0!important;flex:none}
 .filter-actions{flex-direction:row}
 .filter-actions button{width:auto;min-height:41px}
 .ui-multi-popup{
   left:0!important;right:0!important;top:auto!important;
   bottom:0!important;width:100%!important;max-height:min(70dvh,560px)!important;
   border-radius:18px 18px 0 0;padding:15px 15px calc(12px + env(safe-area-inset-bottom,0px));
   box-shadow:0 -12px 60px #0b352b45
 }
 .ui-multi-option{min-height:46px;font-size:13px}
 .ui-multi-search{min-height:45px}
}
@media(max-width:350px){
 .filter-panel{padding:12px}
 .report-filters{gap:10px 7px}
 .report-filters > label{font-size:10px}
 .report-filters .ui-multi-trigger{font-size:11px;padding-inline:8px}
 .shell > .sidebar .mobile-nav-tab{font-size:10px}
}


/* Clean direct-select rows: one row, one action, checkmark at its far left.
   The list itself scrolls; no checkboxes or confirmation footer. */
.ui-multi-option{
  width:100%;padding:11px 12px;min-height:43px;
  border:0;border-radius:9px;background:transparent;
  color:#30493b;display:flex;flex-direction:row;
  align-items:center;justify-content:space-between;
  gap:12px;text-align:right;cursor:pointer;
}
.ui-multi-option:hover,.ui-multi-option:focus-visible{background:#f1f8f3}
.ui-multi-option[aria-selected="true"]{
  background:#e0f3e7;color:#136349;font-weight:750;
}
.ui-multi-option-name{min-width:0;overflow-wrap:anywhere;flex:1;text-align:right}
.ui-multi-check{
  flex:none;font-size:18px;font-weight:750;color:#137b56;
  line-height:1;opacity:0;visibility:hidden;
}
.ui-multi-option[aria-selected="true"] .ui-multi-check{opacity:1;visibility:visible}
.ui-multi-option:disabled{opacity:.4;cursor:not-allowed}

/* Do not force the desktop sidebar to scroll sideways for long labels.
   It may scroll vertically when necessary, while logout stays anchored. */
@media(min-width:801px){
 .shell > .sidebar{min-width:0}
 .shell > .sidebar > nav:not(.mobile-nav){
   display:grid;grid-template-columns:minmax(0,1fr);
   width:100%;max-width:100%;min-width:0;
   overflow-x:hidden!important;overflow-y:auto;
   scrollbar-gutter:stable;
 }
 .shell > .sidebar > nav:not(.mobile-nav) a{
   max-width:100%;min-width:0;width:100%;
   white-space:normal;overflow-wrap:anywhere;
 }
 .shell > .sidebar > nav:not(.mobile-nav) a span{min-width:0}
}

/* Four fixed ULTOR-style mobile tabs. Brand and logout remain in a small
   sticky top row; the button bar stays at bottom and never scrolls sideways. */
@media(max-width:800px){
 .shell > .sidebar.mobile-nav-ready{
   grid-template-areas:"brand logout";
   grid-template-columns:minmax(0,1fr) auto;
   align-items:center;row-gap:0;padding:7px 12px;
   overflow:visible!important;
 }
 .shell > .sidebar .mobile-nav{
   display:grid;position:fixed;inset:auto 0 0 0;
   z-index:20;grid-template-columns:repeat(4,minmax(0,1fr));
   gap:7px;min-width:0;width:100%;max-width:none;
   margin:0;padding:8px 10px calc(9px + env(safe-area-inset-bottom,0px));
   background:#102e2a;border-top:1px solid #37695b;
   box-shadow:0 -6px 20px #122d2630;
   overflow:visible!important;
 }
 .shell > .sidebar .mobile-nav-tab{
   display:flex;flex-direction:column;align-items:center;justify-content:center;
   min-height:49px;min-width:0;gap:3px;padding:5px 2px;
   font-size:11px;line-height:1.3;border-radius:11px;
 }
 .shell > .sidebar .mobile-nav-glyph{display:block;font-size:16px}
 .shell > .sidebar .mobile-nav-text{display:block;font-size:11px}
 .shell > .sidebar .mobile-nav-menu{
   position:fixed;top:auto;right:9px;left:9px;
   bottom:calc(77px + env(safe-area-inset-bottom,0px));
   z-index:21;max-height:min(50dvh,340px);overflow-y:auto;
   border-radius:15px;padding:9px;
   display:grid;gap:6px;
 }
 .shell > .content{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:370px){
 .shell > .sidebar .mobile-nav{gap:5px;padding-inline:7px}
 .shell > .sidebar .mobile-nav-text{font-size:10px}
}


/* 2026-10-31 detail polish: separate background layers, consistent 2x2 cards. */
.detail-grid{gap:20px}
.detail-overview{
  padding:24px;background:#f7faf8;border:1px solid #deebe3;
  box-shadow:0 5px 22px #183b2909;
}
.detail-overview .detail-section-title{margin-bottom:17px;color:#285846}
.detail-overview .detail-chips{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-overview .detail-chip{
  padding:15px 17px;min-height:82px;
  background:#fff;border:1px solid #dae7df;
  border-radius:13px;gap:6px;
  box-shadow:0 1px 4px #15392907;
}
.detail-overview .detail-chip-label{font-size:11px;color:#718c7d;line-height:1.7}
.detail-overview .detail-chip strong{font-size:15px;line-height:1.65}
.detail-overview .detail-chip-score .detail-score-value{color:#177659;font-variant-numeric:tabular-nums}
/* In an RTL grid the second column is on the physical LEFT.
   Keep the exact date/time copy, clock to the right of the date. */
.detail-overview .detail-chip-datetime{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title timestamp" "note note";
  align-items:center;gap:9px 18px;grid-column:1/-1;min-height:112px;
  background:#fff;border-color:#d9e7dd;
}
.detail-chip-datetime > .detail-chip-label{grid-area:title;align-self:center;font-size:12px}
.detail-chip-datetime .call-datetime{
  grid-area:timestamp;justify-self:end;align-self:center;
  display:inline-flex;gap:20px;max-width:100%;min-width:0;
}
.detail-chip-datetime .datetime-clock{color:#18694f}
.detail-chip-datetime .datetime-date{color:#556e60}
.detail-chip-datetime .detail-clock-hint{
  grid-area:note;margin:0;color:#809489;font-size:11px;
  border-top:1px solid #eef2ef;padding-top:7px;line-height:1.7;
}
@media(max-width:600px){
 .detail-overview{padding:17px}
 .detail-overview .detail-chips{gap:10px}
 .detail-overview .detail-chip{min-height:75px;padding:12px}
 .detail-overview .detail-chip-datetime{gap:8px 10px}
 .detail-chip-datetime .call-datetime{gap:13px}
 .detail-chip-datetime .datetime-clock{font-size:20px}
 .detail-chip-datetime .datetime-date{font-size:15px}
}
@media(max-width:390px){
 .detail-overview .detail-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
 .detail-overview .detail-chip-datetime{
   grid-template-columns:1fr;grid-template-areas:"title" "timestamp" "note";
 }
 .detail-chip-datetime .call-datetime{justify-self:end;flex-wrap:wrap}
 .detail-overview .detail-chip{padding:10px;min-width:0}
 .detail-overview .detail-chip strong{font-size:13px}
}

/* Dropdown polish: avoid dual focus outlines and unwanted background bleed. */
.ui-multi-popup[hidden]{display:none!important}
.ui-multi-popup{padding:12px;gap:10px;border-color:#d7e6dd}
.ui-multi-search{
  border:1px solid #d7e7dd;border-radius:10px;background:#f8fbf9;
  padding:9px 12px;outline:0;box-shadow:none;min-height:44px;
}
.ui-multi-search:focus,.ui-multi-search:focus-visible{
  outline:0;border-color:#238868;box-shadow:0 0 0 2px #23886825;background:#fff;
}
.ui-multi-options{display:grid;align-content:start;gap:4px;padding:2px;min-height:0}
.ui-multi-option{min-height:44px;border-radius:10px;padding:10px 12px}
.ui-multi-option[aria-selected="true"]{
  background:#e5f5ec;color:#146b4e;
}
.ui-multi-check{width:18px;text-align:center}
.ui-multi-trigger{gap:10px;min-height:45px}
.ui-multi-trigger > span:last-child{
  font-size:0;display:inline-flex;align-items:center;
  width:20px;height:20px;flex:none;justify-content:center;
}
.ui-multi-trigger > span:last-child::before{
  content:"";width:8px;height:8px;border-inline-end:2px solid #557f6a;
  border-bottom:2px solid #557f6a;transform:rotate(45deg) translateY(-2px);
  transition:transform .15s ease;
}
.ui-multi-trigger[aria-expanded="true"] > span:last-child::before{
  transform:rotate(225deg) translateY(-2px);
}
@media(max-width:600px){
 .ui-multi-popup{border-radius:18px 18px 0 0;padding:15px 14px calc(14px + env(safe-area-inset-bottom,0px))}
}


/* Recoverable data-source failures, without misleading empty KPIs. */
.report-error{
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  border:1px solid #efd9b5;background:#fff8ee;color:#845a2b;
  padding:12px 15px;border-radius:13px;margin:0 0 14px;
  font-size:12px;line-height:1.9;
}
.report-error[hidden]{display:none!important}
.report-error button{min-height:39px;flex:none;font-size:12px}
.source-health{
  font-size:11px;font-weight:650;white-space:nowrap;color:#65796e;
  border:1px solid #dae4db;border-radius:99px;padding:6px 10px;
  background:#f7faf7;
}
.source-health[data-state="available"]{color:#126d4f;border-color:#cde8d6;background:#edf8f0}
.source-health[data-state="intermittent"]{color:#925c21;border-color:#efd7af;background:#fff5e8}
@media(max-width:600px){
  .report-error{flex-wrap:wrap;gap:10px;padding:11px 13px}
  .report-error button{width:100%}
  .source-health{font-size:10px}
}

.detail-fetch-error{
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  border:1px solid #efdfc5;border-radius:13px;padding:17px;background:#fffaf2;
}
.detail-fetch-error p{margin:0;font-size:12px}
.detail-fetch-error button{min-height:40px}

/* Result-scoped filter summary, intentionally separate from unsubmitted form edits.
   At most one compact tag per facet, even with many selected raw values. */
.applied-filters{
  display:grid;gap:9px;margin:0 0 14px;padding:12px 14px;
  background:#f6faf7;border:1px solid #dcebe1;border-radius:12px;
}
.applied-filters[hidden]{display:none!important}
.applied-filters-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.applied-filters-heading strong{font-size:12px;color:#315f49}
.applied-filter-chips{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:0}
.applied-filter-chip{
  display:inline-flex;gap:7px;align-items:center;min-width:0;max-width:100%;
  border-radius:9px;background:#fff;border:1px solid #d6e6dc;
  padding:6px 10px;font-size:11px;line-height:1.7;color:#385c49;
}
.applied-filter-name{flex:none;color:#667e6e;font-weight:700}
.applied-filter-name::after{content:" :"}
.applied-filter-value{min-width:0;max-width:36ch;overflow-wrap:anywhere;unicode-bidi:isolate}
@media(max-width:600px){
 .applied-filters{padding:10px 11px;margin-bottom:12px}
 .applied-filter-chips{gap:6px}
 .applied-filter-chip{font-size:11px;padding:6px 8px}
 .applied-filter-value{max-width:24ch}
}

/* Empty states explain what to do without implying reporting data was deleted. */
.calls-panel .report-empty-state{padding:23px 15px;text-align:center;line-height:1.9}
.calls-panel .report-empty-state button{
  display:block;margin:11px auto 0;min-height:40px;padding:8px 14px;
}
