/* Apex app system — portal, admin and auth surfaces.
   Replaces the legacy stack (dashboard-black, client-dashboard, website-buttons, operations, mobile-layout,
   generated light-theme, calendar-integrations, apex-ui). One file, no generated inversions.
   Geometry: canvas + inset rounded main surface, quiet sidebar, nested grey surfaces, circular controls.
   Springs: the linear() curves below are sampled from the same solver as src/motion.js. */
:root{
 --ink:#0d0d0d;--ink-2:#5c5c5c;--ink-3:#8a8a8a;--ink-4:#b9b9b9;
 --line:#ececec;--line-2:#e0e0e0;--canvas:#efefef;--nest:#f5f5f5;--nest-2:#ededed;--white:#fff;
 --danger:#b42318;--danger-soft:#fdeceb;
 --r-field:12px;--r-row:16px;--r-card:24px;--r-main:28px;
 --shadow-float:0 1px 2px rgb(0 0 0 / .04),0 8px 24px rgb(0 0 0 / .06);
 --shadow-sheet:0 30px 80px rgb(0 0 0 / .16),0 2px 8px rgb(0 0 0 / .05);
 --spring-snappy:linear(0, 0.059, 0.187, 0.341, 0.493, 0.629, 0.743, 0.832, 0.898, 0.946, 0.978, 0.998, 1.009, 1.014, 1.016, 1.015, 1.013, 1.011, 1.008, 1.006, 1.004, 1.003, 1.002, 1.001, 1);
 --spring-bouncy:linear(0, 0.051, 0.172, 0.333, 0.505, 0.671, 0.817, 0.936, 1.025, 1.085, 1.12, 1.133, 1.13, 1.116, 1.096, 1.073, 1.051, 1.03, 1.013, 1, 0.991, 0.985, 0.983, 0.982, 0.984, 0.986, 0.989, 0.992, 0.995, 0.998, 1, 1.001, 1.002, 1.002, 1.002, 1.002, 1.002, 1.002, 1.001, 1.001, 1);
 --spring-gentle:linear(0, 0.028, 0.095, 0.182, 0.278, 0.375, 0.468, 0.553, 0.63, 0.697, 0.754, 0.803, 0.844, 0.878, 0.905, 0.927, 0.945, 0.959, 0.97, 0.978, 0.985, 0.99, 0.993, 0.996, 0.998, 0.999, 1);
 --press:.96;
 color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body.apex-app,body[data-page=login],body[data-page=accept],body[data-page=owner-login]{margin:0;background:var(--canvas);color:var(--ink);font:400 15px/1.5 "DM Sans",ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p,dl,dd,ul,ol,figure{margin:0}
ul,ol{padding:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
img,svg{display:block}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.apex-app{-webkit-tap-highlight-color:transparent}
html[data-input-mode=pointer] .apex-app :focus{outline:none}
html[data-input-mode=keyboard] .apex-app :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-60px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:500}
.skip-link:focus{top:16px}

/* Icons: one sprite family, one stroke. */
.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.icon-fill{fill:currentColor;stroke:none}

/* Controls. Press compresses quickly; release springs back with a small overshoot. */
.btn,.icon-button,.segmented>button,.app-nav button,.request-choices button,.insight-followup,.day-chips span,.play-button,.speed-button,.ops-timestamp{transition:transform 640ms var(--spring-bouncy),background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s}
:is(.btn,.icon-button,.segmented>button,.app-nav button,.request-choices button,.insight-followup,.play-button,.speed-button,.ops-timestamp):active:not(:disabled):not([aria-disabled=true]),.day-chips label:active span{transform:scale(var(--press));transition-duration:150ms,.2s,.2s,.2s,.2s,.2s;transition-timing-function:cubic-bezier(.3,.7,.4,1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 18px;border:1px solid transparent;border-radius:999px;font:500 14px/1 "DM Sans",sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer}
.btn .icon{width:18px;height:18px}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover:not(:disabled){background:#2b2b2b}
.btn-secondary{background:#fff;border-color:var(--line-2);color:var(--ink)}
.btn-secondary:hover:not(:disabled){background:var(--nest)}
.btn-quiet{background:transparent;color:var(--ink-2);padding:0 10px;min-height:36px}
.btn-quiet:hover:not(:disabled){background:var(--nest);color:var(--ink)}
.btn-quiet .icon{width:16px;height:16px}
.btn:disabled,.icon-button:disabled{opacity:.42;cursor:not-allowed}
.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:#fff;color:var(--ink);flex:none}
.icon-button:hover:not(:disabled){background:var(--nest)}
.icon-button .icon{width:18px;height:18px}

/* Fields */
:where(.apex-app) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea),
:where([data-page=login],[data-page=accept],[data-page=owner-login]) :where(input:not([type=checkbox]),select,textarea){width:100%;min-height:42px;padding:10px 14px;border:1px solid var(--line-2);border-radius:var(--r-field);background:#fff;color:var(--ink);font:400 14.5px/1.4 "DM Sans",sans-serif;transition:border-color .2s,box-shadow .2s,background-color .2s;outline:none}
:where(.apex-app) :where(input,select,textarea):hover:not(:disabled):not([type=checkbox]):not(.search-pill input):not(.app-search input),:where([data-page=login],[data-page=accept],[data-page=owner-login]) input:hover{border-color:#cdcdcd}
:where(.apex-app) :where(input:not([type=checkbox]),select,textarea):focus-visible,:where([data-page=login],[data-page=accept],[data-page=owner-login]) input:focus-visible{border-color:var(--ink);box-shadow:0 0 0 4px rgb(0 0 0 / .07);outline:none}
:where(.apex-app) select{appearance:none;padding-right:40px;background:#fff url(/assets/icons/ui/chevron-down.svg) no-repeat right 14px center/16px;cursor:pointer}
:where(.apex-app) textarea{min-height:120px;resize:vertical;line-height:1.55}
.apex-app :is(input,select,textarea):disabled{background-color:#fafafa;color:var(--ink-3);cursor:not-allowed}
.apex-app [aria-invalid=true]{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgb(180 35 24 / .08)!important}
.apex-app input[type=date],.apex-app input[type=datetime-local]{font-variant-numeric:tabular-nums}
.apex-app input[type=date]::-webkit-calendar-picker-indicator,.apex-app input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}
.apex-app input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.apex-app input[type=checkbox]{appearance:none;display:inline-grid;place-items:center;width:20px;height:20px;margin:0;border:1.5px solid #c6c6c6;border-radius:6px;background:#fff;cursor:pointer;flex:none;transition:background-color .2s,border-color .2s,transform 520ms var(--spring-bouncy)}
.apex-app input[type=checkbox]:checked{background:var(--ink) url(/assets/icons/ui/check.svg) no-repeat center/14px;border-color:var(--ink)}
.apex-app input[type=checkbox]:active{transform:scale(.88);transition-duration:.15s}
.apex-app input[role=switch]{width:46px;height:28px;border:0;border-radius:999px;background:#d7d7d7;position:relative}
.apex-app input[role=switch]::before{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgb(0 0 0 / .2);transition:transform 560ms var(--spring-bouncy)}
.apex-app input[role=switch]:checked{background:var(--ink)}
.apex-app input[role=switch]:checked::before{transform:translateX(18px)}
.apex-app input[role=switch]:disabled{opacity:.45}
.search-pill{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;background:var(--nest);color:var(--ink-3);min-width:min(280px,100%);transition:background-color .2s,box-shadow .2s}
.search-pill:focus-within{background:#fff;box-shadow:0 0 0 1px var(--line-2),0 0 0 4px rgb(0 0 0 / .05)}
.search-pill .icon{width:17px;height:17px}
.search-pill input,.app-search input{min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none!important;font-size:14px;flex:1;min-width:0}

/* Shell */
.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100dvh}
.app-side{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:22px 14px 14px 18px;z-index:20}
.app-brand{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 6px;margin-bottom:22px}
.app-logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:17px;letter-spacing:-.02em}
.app-logo img{width:22px;height:19px}
.app-menu-toggle{display:none}
.app-menu-toggle .icon-close{display:none}
.app-menu-toggle[aria-expanded=true] .icon-menu{display:none}
.app-menu-toggle[aria-expanded=true] .icon-close{display:block}
.app-drawer{display:flex;flex-direction:column;flex:1;min-height:0}
.app-search{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;margin-bottom:18px;border-radius:999px;background:rgb(255 255 255 / .62);color:var(--ink-3);transition:background-color .2s,box-shadow .2s}
.app-search:focus-within{background:#fff;box-shadow:var(--shadow-float)}
.app-search .icon{width:17px;height:17px}
.navigation-search-hint{margin:-10px 6px 12px;font-size:12.5px;color:var(--ink-3)}
.app-nav{position:relative;display:grid;gap:2px}
.app-nav button{position:relative;z-index:1;display:flex;align-items:center;gap:12px;width:100%;height:44px;padding:0 14px;border:0;border-radius:14px;background:transparent;color:var(--ink-2);font:500 14.5px/1 "DM Sans",sans-serif;text-align:left}
.app-nav button:hover{color:var(--ink)}
.app-nav button[aria-current=page]{color:var(--ink)}
.app-nav:not(.has-indicator) button[aria-current=page]{background:#fff;box-shadow:var(--shadow-float)}
.app-nav button[aria-disabled=true]{opacity:.38;cursor:not-allowed}
.nav-indicator{position:absolute;left:0;top:0;z-index:0;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgb(0 0 0 / .04),0 6px 18px rgb(0 0 0 / .05);pointer-events:none;will-change:transform}
.app-drawer>.app-nav{margin-bottom:auto}
.app-preview{padding:14px 6px 10px;display:grid;gap:8px}
.app-preview:not(:has(.preview-label,.sample-label:not([hidden]))){display:none}
.apex-app .preview-label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;font:500 12px/1.3 "DM Sans",sans-serif;color:var(--ink-3)}
.apex-app .preview-label span::before,.sample-label::before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--ink-4);vertical-align:1px}
.apex-app .preview-label button{min-height:28px;padding:0 11px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink-2);font:500 12px/1 "DM Sans",sans-serif}
.app-preview:has(.preview-label) .sample-label{display:none}
.sample-label{font-size:12px;color:var(--ink-3);font-weight:500}
.app-account{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;border-radius:20px;background:rgb(255 255 255 / .62)}
.app-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;font:600 12px/1 "DM Sans",sans-serif;letter-spacing:.02em;flex:none}
.app-avatar .icon{width:18px;height:18px}
.app-identity{display:grid;min-width:0;flex:1}
.app-identity strong{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-identity small{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-sign-out{width:36px;height:36px;border-color:transparent;background:transparent;color:var(--ink-2)}
.app-sign-out span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.app-scrim{display:none}
.app-main,#dashboard-main{min-width:0;margin:12px 12px 12px 0;padding:34px 40px 64px;border-radius:var(--r-main);background:#fff;box-shadow:0 1px 2px rgb(0 0 0 / .03);min-height:calc(100dvh - 24px)}
#dashboard-main > .preview-label{margin-bottom:16px}
.view-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}
.view-title{min-width:0}
.view-header h1,.view-header h2{font:600 31px/1.08 "DM Sans",sans-serif;letter-spacing:-.035em;outline:none}
.view-sub{margin-top:6px;font-size:14px;color:var(--ink-3)}
.view-sub:empty{display:none}
.view-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.view-actions:empty{display:none}
.nest{background:var(--nest);border-radius:var(--r-card);padding:24px}
.status-pill{display:inline-flex;align-items:center;gap:7px;margin-top:4px;font-size:12.5px;font-weight:500;color:var(--ink-2)}
.status-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-4);flex:none}
.status-pill[data-state=live]::before,.status-pill[data-state=pending]::before,.status-pill[data-state=sent]::before{background:var(--ink)}
.status-pill[data-state=attention]::before,.status-pill[data-state=email_failed]::before,.status-pill[data-state=expired]::before{background:var(--danger)}
.count-badge{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:#fff;font:600 12px/1 "DM Sans",sans-serif;font-variant-numeric:tabular-nums}

/* Overview: KPI strip, central chart and queue, purposeful right rail. */
.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"kpi rail" "chart rail" "queue rail";gap:30px 34px;align-items:start}
.overview-grid>.kpi-strip{grid-area:kpi}
.overview-grid>.chart-panel{grid-area:chart}
.overview-grid>.overview-calls{grid-area:queue}
.overview-rail{grid-area:rail;display:grid;gap:14px;position:sticky;top:24px}
.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:18px 0;border-block:1px solid var(--line)}
.kpi{display:flex;align-items:center;gap:14px;min-width:0;padding:4px 18px;border-left:1px solid var(--line)}
.kpi:first-child{padding-left:0;border-left:0}
.kpi-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--nest);color:var(--ink);flex:none}
.kpi p{font-size:13px;color:var(--ink-2);white-space:nowrap}
.kpi strong{display:block;font:600 27px/1.1 "DM Sans",sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.workspace-summary{margin-bottom:30px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.panel-head h2{font:600 18px/1.25 "DM Sans",sans-serif;letter-spacing:-.02em}
.panel-sub{margin-top:3px;font-size:13px;color:var(--ink-3)}
.panel-sub strong{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.segmented{position:relative;display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:var(--nest);isolation:isolate}
.segmented>button{position:relative;z-index:1;min-height:32px;padding:0 15px;border:0;border-radius:999px;background:transparent;color:var(--ink-2);font:500 13px/1 "DM Sans",sans-serif;white-space:nowrap}
.segmented>button:hover{color:var(--ink)}
.segmented>button:is([aria-pressed=true],[aria-selected=true]){color:var(--ink)}
.segmented:not(.has-indicator)>button:is([aria-pressed=true],[aria-selected=true]){background:#fff;box-shadow:0 1px 3px rgb(0 0 0 / .08)}
.seg-indicator{position:absolute;left:0;top:4px;z-index:0;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgb(0 0 0 / .08),0 4px 10px rgb(0 0 0 / .04);pointer-events:none;will-change:transform}
.insight-plot{position:relative;height:270px}
.insight-plot svg{width:100%;height:100%;overflow:visible;outline:none;border-radius:12px}
.insight-plot svg:focus-visible{box-shadow:0 0 0 2px var(--ink)}
.chart-grid{stroke:var(--line);stroke-dasharray:2 6}
.chart-grid.is-base{stroke:var(--line-2);stroke-dasharray:none}
.chart-axis{fill:var(--ink-3);font:400 11px "DM Sans",sans-serif;font-variant-numeric:tabular-nums}
.chart-line{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.chart-dot{fill:#fff;stroke:var(--ink);stroke-width:1.8;transition:r .3s var(--spring-bouncy)}
.chart-dot.is-dense{fill:var(--ink);stroke:none;opacity:0}
.chart-dot.is-active{opacity:1;r:5}
.insight-marker{stroke:var(--ink);stroke-opacity:.2;stroke-dasharray:3 3;opacity:0}
.insight-point{fill:var(--ink);stroke:#fff;stroke-width:2.5;opacity:0}
.insight-marker.is-visible,.insight-point.is-visible{opacity:1}
.insight-tooltip{position:absolute;left:0;top:0;padding:8px 12px;border-radius:12px;background:#111;color:#fff;font-size:12px;line-height:1.35;white-space:nowrap;pointer-events:none;box-shadow:0 10px 24px rgb(0 0 0 / .18);transition:transform 420ms var(--spring-snappy)}
.insight-tooltip span{display:block;color:#b9b9b9}
.insight-tooltip strong{font-size:14px;font-weight:600}
.insight-empty{margin-top:8px;font-size:13px;color:var(--ink-3)}
.queue-table{width:100%;border-collapse:separate;border-spacing:0}
.queue-table th{padding:0 12px 10px;border-bottom:1px solid var(--line);font:500 12px/1 "DM Sans",sans-serif;color:var(--ink-3);text-align:left;white-space:nowrap}
.queue-table td{padding:13px 12px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2);vertical-align:middle}
.queue-table th:first-child,.queue-table td:first-child{padding-left:4px}
.queue-row{cursor:pointer}
.queue-row td{transition:background-color .2s}
.queue-row:hover td{background:#fafafa}
.cell-call strong,.cell-call>span{display:block;color:var(--ink);font-weight:500;font-size:14.5px}
.cell-call small{display:block;margin-top:2px;font-size:12.5px;color:var(--ink-3)}
.cell-num{font-variant-numeric:tabular-nums}
.call-action-cell{width:56px;text-align:right}
.call-action-cell .icon-button{width:34px;height:34px;margin-left:auto;border-color:transparent;background:var(--nest)}
.queue-row:hover .call-action-cell .icon-button{background:var(--ink);color:#fff}
.urgency{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink);white-space:nowrap}
.urgency::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-4)}
.urgency-priority::before,.urgency-high::before{background:var(--ink)}
.urgency-emergency::before,.urgency-urgent::before{background:var(--danger)}
.master-badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--nest);font-size:12.5px;color:var(--ink-2);text-transform:capitalize}
.empty-table{padding:36px 0 12px}
.surface-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:24px 12px}
.surface-empty h3{font-size:15px;font-weight:600}
.surface-empty p{font-size:13.5px;color:var(--ink-3);max-width:38ch}
.empty-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:6px;border-radius:50%;background:var(--nest)}
.rail-card{padding:20px;border-radius:var(--r-card);background:var(--nest)}
.rail-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.rail-head.plain{justify-content:space-between}
.rail-head h2,.rail-head h3{font:600 16px/1.25 "DM Sans",sans-serif;letter-spacing:-.015em}
.rail-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;flex:none}
.rail-facts{padding:12px 14px;border-radius:var(--r-row);background:#fff}
.rail-facts dt{font-size:12px;color:var(--ink-3)}
.rail-facts dd{margin-top:2px;font-size:14px}
.ops-health{margin-top:12px;font-size:13px;line-height:1.5;color:var(--ink-2)}
.ops-health small{display:block;margin-top:4px;font-size:12px;color:var(--ink-3)}
.rail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.rail-actions .btn-quiet .icon{width:16px;height:16px}
.rail-list{display:grid;gap:6px}
.insight-followup{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:var(--r-row);background:#fff;text-align:left}
.insight-followup:hover:not(:disabled){box-shadow:var(--shadow-float)}
.insight-followup>span:not(.row-icon){display:grid;min-width:0;flex:1}
.insight-followup strong{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.insight-followup small{font-size:12px;color:var(--ink-3)}
.row-chevron{width:16px;height:16px;color:var(--ink-3)}
.row-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--nest);color:var(--ink-2);flex:none}
.row-icon .icon{width:16px;height:16px}
.insight-followup .row-icon{background:var(--nest)}
.rail-list>.ops-text-button{justify-self:start;margin-top:4px}
.insight-no-data{font-size:13px;color:var(--ink-3);padding:6px 2px}

/* Calls */
.call-library .table-wrap{margin-top:-6px}

/* Follow-ups */
.ops-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.ops-status{font-size:13px;color:var(--ink-2)}
.ops-status:empty{display:none}
.ops-workspace>.ops-status{margin-bottom:12px}
.ops-filters{display:flex;gap:10px;margin-bottom:6px}
.ops-filters .search-pill{flex:1}
.ops-filters select{width:auto;min-width:200px;border-radius:999px}
.ops-list{display:grid}
.ops-task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--line)}
.ops-task-row .row-icon{width:40px;height:40px}
.ops-task-row .row-icon .icon{width:18px;height:18px}
.row-icon[data-state=overdue]{background:var(--danger-soft);color:var(--danger)}
.row-icon[data-state=resolved]{color:var(--ink-3)}
.row-icon[data-state=in_progress]{background:var(--ink);color:#fff}
.ops-task-text{display:grid;gap:2px;min-width:0}
.ops-task-text strong{font-size:15px;font-weight:500}
.ops-task-text small{font-size:13px;color:var(--ink-3)}
.ops-task-text p{font-size:13.5px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ops-row-actions{display:flex;align-items:center;gap:10px}
.ops-badge{display:inline-flex;padding:5px 11px;border-radius:999px;background:var(--nest);font-size:12px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.ops-badge[data-state=overdue]{background:var(--danger-soft);color:var(--danger)}
.ops-badge[data-state=in_progress]{background:var(--ink);color:#fff}
.ops-empty{padding:40px 0;text-align:center;font-size:14px;color:var(--ink-3)}
.ops-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:16px}
.ops-pager>span{margin-right:auto;font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.ops-pager .ops-button,.pager .btn{min-height:36px;padding:0 16px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:13px;font-weight:500}
.pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:16px}
.pager>span{margin-right:auto;font-size:13px;color:var(--ink-3)}
.disclosure{border-radius:var(--r-card);background:var(--nest)}
.disclosure>summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 18px;list-style:none;cursor:pointer;font-size:14.5px;font-weight:500;border-radius:var(--r-card)}
.disclosure>summary::-webkit-details-marker{display:none}
.disclosure>summary:focus-visible{outline-offset:-2px}
.disclosure-chevron{margin-left:auto;width:18px;height:18px;color:var(--ink-2);transition:transform 560ms var(--spring-bouncy)}
.disclosure[open]>summary .disclosure-chevron{transform:rotate(180deg)}
.disclosure-body{will-change:height}
.disclosure>.disclosure-body>*:first-child{margin-top:0}
.ops-notifications{margin-top:22px}
.ops-notifications .ops-form{padding:4px 18px 20px}
.ops-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:start}
.ops-field{display:grid;gap:6px;font-size:13px;color:var(--ink-2)}
.ops-wide,.ops-form>.ops-muted,.ops-form>.ops-checkbox,.ops-form>.ops-status{grid-column:1/-1}
.ops-form>.ops-button{justify-self:start}
.ops-muted{font-size:13px;color:var(--ink-3)}
.ops-checkbox{display:flex;align-items:center;gap:12px;font-size:14px}
.ops-alert-row{align-items:start}

/* Requests */
.request-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:30px;align-items:start}
.request-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px;padding:0;border:0}
.request-choices legend{padding:0;margin-bottom:12px;font-size:14px;font-weight:500}
.request-choices button{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:88px;padding:14px;border:1px solid transparent;border-radius:var(--r-row);background:#fff;font:500 13.5px/1.25 "DM Sans",sans-serif;text-align:left;color:var(--ink-2)}
.request-choices button:hover{color:var(--ink)}
.request-choices button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.message-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:13px;color:var(--ink-2)}
.message-heading label{font-weight:500;color:var(--ink);font-size:14px}
.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.composer-footer>span{font-size:13px;color:var(--ink-3)}
.form-status{margin-top:12px;font-size:13.5px;color:var(--ink-2)}
.form-status:empty{display:none}
.form-status[data-type=error],.login-status[data-type=error],.invite-status[data-type=error]{color:var(--danger)}
.request-history{padding:4px 2px}
.request-history ul{list-style:none;display:grid}
.request-history li{display:grid;gap:6px;padding:14px 0;border-bottom:1px solid var(--line)}
.request-history li>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.request-history li strong{font-size:14.5px;font-weight:500}
.request-history li>div span{font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.request-history li p{font-size:13.5px;color:var(--ink-2);overflow-wrap:anywhere}
.request-state{justify-self:start;padding:3px 10px;border-radius:999px;background:var(--nest);font-size:12px;font-weight:500;color:var(--ink-2)}
.request-empty p{padding:24px 0;font-size:13.5px;color:var(--ink-3)}

/* Billing */
.onboarding-steps{display:flex;list-style:none;margin:0 0 22px;max-width:640px}
.onboarding-steps li{position:relative;flex:1;padding-top:24px;font-size:13px;color:var(--ink-3)}
.onboarding-steps li::before{content:"";position:absolute;left:0;top:2px;width:14px;height:14px;border:2px solid var(--line-2);border-radius:50%;background:#fff;z-index:1}
.onboarding-steps li::after{content:"";position:absolute;left:14px;right:0;top:8px;height:2px;background:var(--line)}
.onboarding-steps li:last-child::after{display:none}
.onboarding-steps li.is-complete{color:var(--ink)}
.onboarding-steps li.is-complete::before{background:var(--ink);border-color:var(--ink)}
.onboarding-steps li.is-complete::after{background:var(--ink)}
.billing-state{margin-bottom:22px;font-size:14px;color:var(--ink-2);max-width:70ch}
.billing-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}
.surface-label{font-size:13px;color:var(--ink-2)}
.surface-label:empty{display:none}
.package-price{display:block;margin:6px 0 4px;font:600 46px/1.05 "DM Sans",sans-serif;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.package-renewal{font-size:14px;color:var(--ink-2)}
.billing-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 16px}
.package-note{font-size:13.5px;color:var(--ink-2)}
.package-note:empty{display:none}
.payment-security{display:flex;gap:8px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2);font-size:12.5px;color:var(--ink-3)}
.payment-security .icon{width:16px;height:16px}
.service-card{display:grid;gap:12px;padding:24px;border:1px solid var(--line);border-radius:var(--r-card)}
.service-card h3,.invoice-section h3{font-size:16px;font-weight:600}
.service-card p{font-size:14px;line-height:1.65;color:var(--ink-2)}
.service-card .btn{justify-self:start}
.invoice-section{margin-top:30px}
.invoice-list{list-style:none;margin-top:8px}
.invoice-list li{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.invoice-list li.invoice-empty{color:var(--ink-3)}
.invoice-list a{font-weight:500}

/* Calendar (client + admin) */
.calendar-card{display:grid;gap:18px;max-width:980px}
.cal-head{display:flex;align-items:center;gap:16px}
.cal-title{flex:1;min-width:0}
.calendar-card .cal-title h3,.connection-card .cal-title h3{margin:0;color:var(--ink);font:600 18px/1.25 "DM Sans",sans-serif;letter-spacing:-.015em}
.cal-title p,.calendar-intro{margin-top:3px;font-size:13.5px;color:var(--ink-2);max-width:62ch}
.cal-head .status-pill{margin:0 0 0 auto;padding:6px 12px;border-radius:999px;background:var(--nest);white-space:nowrap}
.calendar-actions{display:flex;flex-wrap:wrap;gap:8px}
.calendar-hint{font-size:13px;color:var(--ink-3)}
.calendar-message{padding:10px 14px;border-radius:14px;background:var(--nest);font-size:13.5px;color:var(--ink-2)}
.calendar-message:empty{display:none}
.calendar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.calendar-group{padding:6px;border-radius:var(--r-card);background:var(--nest)}
.calendar-group h4{padding:10px 12px 8px;font-size:13px;font-weight:500;color:var(--ink-2)}
.settings-list{border-radius:18px;background:#fff}
.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;min-height:56px;padding:10px 14px;margin:0;border:0;border-top:1px solid var(--line);font-size:14px}
.settings-list>.setting-row:first-child{border-top:0}
.setting-label{color:var(--ink)}
.setting-control{display:block;min-width:0}
.setting-control input[type=number]{width:96px;text-align:right;font-variant-numeric:tabular-nums}
.setting-row.is-wide{grid-template-columns:1fr;gap:8px}
.setting-row.is-wide .setting-label{font-size:13px;color:var(--ink-2)}
fieldset.setting-row{display:block;min-width:0}
fieldset.setting-row legend{float:left;width:100%;padding:0;margin-bottom:10px}
fieldset.setting-row .setting-control{clear:both}
.day-chips{display:flex;flex-wrap:wrap;gap:6px}
.day-chips label{position:relative;display:inline-flex}
.apex-app .day-chips input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;border:0}
.day-chips span{display:inline-grid;place-items:center;min-width:46px;height:34px;padding:0 12px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:13px;font-weight:500;color:var(--ink-2);pointer-events:none}
.day-chips input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.day-chips input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.calendar-selected-name{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-3);white-space:normal;overflow-wrap:anywhere}
.calendar-save{margin-top:4px}
.calendar-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 18px;padding:18px 20px;border-radius:var(--r-card);background:var(--nest)}
.preview-copy h4{font-size:15px;font-weight:600}
.calendar-preview-row{display:flex;gap:8px;align-items:center}
.calendar-preview-row input{width:178px}
.slot-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;list-style:none}
.slot-list:empty{display:none}
.slot-list li{padding:6px 12px;border-radius:999px;background:#fff;font-size:13px;font-variant-numeric:tabular-nums}
.calendar-history h4{font-size:15px;font-weight:600;margin-bottom:6px}
.calendar-history ul{list-style:none}
.calendar-history li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.calendar-history p{font-size:13.5px;color:var(--ink-3)}

/* Dialogs and sheets */
dialog{border:0;padding:0;color:var(--ink);background:#fff;max-width:none;max-height:none}
dialog::backdrop{background:rgb(18 18 18 / calc(.3 * var(--backdrop,1)))}
.sheet{position:fixed;inset:12px 12px 12px auto;margin:0;width:min(560px,calc(100vw - 24px));height:auto;border-radius:var(--r-main);box-shadow:var(--shadow-sheet);overflow:hidden;flex-direction:column;will-change:transform}
.sheet[open]{display:flex}
.workspace-sheet{width:min(800px,calc(100vw - 24px))}
.call-head,.workspace-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 14px}
.call-heading h2,.workspace-dialog-head h2{font:600 23px/1.2 "DM Sans",sans-serif;letter-spacing:-.025em;outline:none}
.call-heading p:not(.sample-chip){margin-top:4px;font-size:13.5px;color:var(--ink-3)}
.sample-chip{display:inline-flex;align-items:center;margin-bottom:8px;padding:3px 10px;border-radius:999px;background:var(--nest);font-size:11.5px;font-weight:500;color:var(--ink-2)}
.sheet-body,.workspace-dialog-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:2px 24px 28px}
.call-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px 18px;margin-bottom:14px;border-radius:20px;background:var(--nest)}
.call-facts dt{font-size:12px;color:var(--ink-3)}
.call-facts dd{margin-top:4px;font-size:15px;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}
.call-recording{display:grid;gap:12px;padding:14px 16px;margin-bottom:18px;border:1px solid var(--line);border-radius:20px}
.recording-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.recording-heading h3{font-size:14px;font-weight:500}
.recording-heading [role=status]{font-size:12.5px;color:var(--ink-3);text-align:right}
:is(#call-detail,#master-call):is([data-audio-state=missing],[data-audio-state=processing],[data-audio-state=error]) .recording-controls{display:none}
:is(#call-detail,#master-call):is([data-audio-state=missing],[data-audio-state=processing]) .call-recording{gap:0}
.recording-controls{display:flex;align-items:center;gap:12px}
.play-button{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:var(--ink);color:#fff;flex:none}
.play-button .icon{width:18px;height:18px}
.play-button:disabled{opacity:.3;cursor:not-allowed}
.play-button .pause-symbol,.play-button[data-playing=true] .play-symbol{display:none}
.play-button[data-playing=true] .pause-symbol{display:block}
.play-button[data-waiting=true]{animation:none;opacity:.7}
.recording-track{flex:1;min-width:0}
.recording-track input[type=range]{width:100%;height:18px;margin:0;appearance:none;background:transparent;cursor:pointer}
.recording-track input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(var(--ink),var(--ink)) 0/var(--progress,0%) 100% no-repeat,#e4e4e4}
.recording-track input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px #fff}
.recording-track input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:#e4e4e4}
.recording-track input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--ink)}
.recording-track input[type=range]:disabled{opacity:.4;cursor:not-allowed}
.recording-time{display:flex;justify-content:space-between;margin-top:2px;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.speed-button{min-width:46px;height:32px;padding:0 10px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:12.5px;font-weight:500;font-variant-numeric:tabular-nums}
.speed-button:disabled{opacity:.4}
.call-detail>.sheet-body>.ops-status,.sheet-body>.ops-status{margin-bottom:10px}
.ops-call-tabs{margin-bottom:16px}
.ops-call-tabs+.ops-button,.sheet-body>.ops-button{margin-bottom:12px}
.call-summary>h3{font-size:13px;font-weight:500;color:var(--ink-3);margin-bottom:6px}
.call-summary>p{font-size:15px;line-height:1.6}
.ops-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}
.ops-context>div{padding:11px 13px;border-radius:14px;background:var(--nest)}
.ops-context dt{font-size:12px;color:var(--ink-3)}
.ops-context dd{margin-top:2px;font-size:14px;overflow-wrap:anywhere}
.ops-call-panel .ops-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.ops-call-panel>.search-pill{margin-bottom:10px}
.ops-call-panel>.ops-muted{margin-bottom:6px}
.ops-transcript{display:grid}
.ops-transcript-row{display:grid;grid-template-columns:60px minmax(0,1fr);grid-template-areas:"time speaker" "time text";gap:2px 14px;padding:12px 2px;border-bottom:1px solid var(--line);background:#fff}
.ops-transcript-row>div{display:contents}
.ops-transcript-row strong{grid-area:speaker;font-size:12.5px;font-weight:500;color:var(--ink-3);text-transform:capitalize}
.ops-transcript-row p{grid-area:text;font-size:14.5px;line-height:1.55}
.ops-transcript-row[data-speaker=caller] strong,.ops-transcript-row[data-speaker=user] strong{color:var(--ink)}
.ops-timestamp{grid-area:time;align-self:start;justify-self:start;min-height:26px;padding:0 9px;border:0;border-radius:999px;background:var(--nest);font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.ops-timestamp:disabled{cursor:default}
.ops-transcript mark{background:#e6e6e6;color:var(--ink);border-radius:4px;padding:0 2px}
.workspace-dialog-head{align-items:center}
.workspace-tabs{margin:0 24px 8px;align-self:flex-start}
.workspace-dialog-body [role=tabpanel]{outline:none}
.workspace-dialog-body h3{margin:20px 0 8px;font-size:13px;font-weight:500;color:var(--ink-3)}
.workspace-dialog-body [role=tabpanel]>h3:first-of-type{margin-top:8px}
#workspace-load-status:empty{display:none}
#workspace-load-status{font-size:13px;color:var(--ink-3)}
#detail-terms{padding:14px 16px;border-radius:18px;background:var(--nest);font-size:14.5px;line-height:1.6}
#detail-agents{display:grid;gap:8px;font-size:14px;color:var(--ink-2)}
.agent-card{display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;background:var(--nest)}
.agent-card .kpi-icon{background:#fff}
.agent-card strong{font-size:15px;font-weight:500;color:var(--ink)}
.agent-card p{font-size:13px}
.agent-card small{font-size:12px;color:var(--ink-3)}
#detail-count{margin-bottom:6px;font-size:13px;color:var(--ink-3)}
.workspace-dialog-body .calendar-form-grid{grid-template-columns:1fr}
.confirm-dialog{width:min(440px,calc(100vw - 32px));padding:22px 22px 20px;border-radius:var(--r-card);box-shadow:var(--shadow-sheet)}
.confirm-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.confirm-dialog h2{font:600 19px/1.3 "DM Sans",sans-serif;letter-spacing:-.015em}
.confirm-dialog p{margin-top:8px;font-size:14.5px;color:var(--ink-2)}
.confirm-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}
.confirm-close{width:34px;height:34px;border-color:transparent;background:var(--nest)}

/* Admin */
.access-status{font-size:14px;color:var(--ink-2);margin-bottom:16px}
.access-status:empty,#master-message:empty{display:none}
#master-message{margin:-12px 0 16px;font-size:13.5px;color:var(--ink-2)}
.access-status[data-type=error]{color:var(--danger)}
.panel-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.panel-toolbar .search-pill{flex:1;max-width:440px}
.panel-toolbar [data-open-create]{margin-left:auto}
.create-workspace{margin-bottom:18px}
.create-workspace>summary .kpi-icon{width:40px;height:40px;background:#fff}
.summary-title{display:grid;gap:1px}
.summary-title small{font-size:12.5px;font-weight:400;color:var(--ink-3)}
.create-inner{padding:2px 14px 16px}
.workspace-form-group{margin:0 0 12px;padding:16px 18px 18px;border:0;border-radius:20px;background:#fff;min-width:0}
.workspace-form-group legend{float:left;width:100%;padding:0;margin-bottom:12px;font-size:14px;font-weight:600}
.form-grid{clear:both;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 14px}
.form-grid label,.package-terms,.edit-workspace-form label{display:grid;gap:6px;font-size:13px;color:var(--ink-2)}
.package-terms{margin-top:14px}
.workspace-form-group .notice{margin-top:12px;font-size:12.5px;line-height:1.55;color:var(--ink-3)}
.create-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 0}
.confirm{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2)}
.client-list{display:grid}
.client-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"emblem title chip open" "emblem meta chip open" "tools tools tools tools";column-gap:14px;align-items:center;padding:16px 2px;border-bottom:1px solid var(--line)}
.workspace-emblem{grid-area:emblem;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--nest);font:600 13px/1 "DM Sans",sans-serif;letter-spacing:.02em}
.client-row>h3{grid-area:title;align-self:end;font-size:15.5px;font-weight:500}
.client-meta{grid-area:meta;align-self:start;font-size:13px;color:var(--ink-3);text-transform:capitalize}
.client-row>.status-pill{grid-area:chip;margin:0;padding:5px 11px;border-radius:999px;background:var(--nest);text-transform:none}
.client-row>.open-client{grid-area:open}
.workspace-tools{grid-area:tools;margin-top:12px;background:var(--nest)}
.workspace-tools>summary{min-height:46px;padding:8px 16px;font-size:13.5px}
.workspace-tools>summary .icon:first-child{width:17px;height:17px;color:var(--ink-2)}
.workspace-tools .disclosure-body>*{margin-inline:12px}
.workspace-tools .disclosure-body>*:last-child{margin-bottom:12px}
.workspace-editor{padding:14px 16px;border-radius:18px;background:#fff}
.workspace-editor>summary{list-style:none;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;margin-bottom:10px}
.workspace-editor>summary::-webkit-details-marker{display:none}
.edit-workspace-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.edit-workspace-form>button{justify-self:start}
.edit-status{grid-column:1/-1;font-size:12.5px;color:var(--ink-3)}
.invitation-record{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:12px 16px;border-radius:18px;background:#fff}
.invite-state{flex:1;min-width:200px;font-size:13.5px;color:var(--ink-2)}
.workspace-empty{padding:40px 0;text-align:center}
.workspace-empty h3{font-size:16px;font-weight:600}
.workspace-empty p{margin-top:4px;font-size:14px;color:var(--ink-3)}
[data-master-panel=calls]>.chart-panel{margin-bottom:34px}
.admin-view-call{width:34px;height:34px;border-color:transparent;background:var(--nest)}
.queue-row:hover .admin-view-call{background:var(--ink);color:#fff}
.connection-card{display:grid;gap:16px;max-width:900px}
.connection-card>.btn{justify-self:start}
.connection-count{margin-left:auto;text-align:right}
.connection-count strong{display:block;font:600 30px/1 "DM Sans",sans-serif;letter-spacing:-.03em}
.connection-count span{font-size:12px;color:var(--ink-3)}
.surface-note{font-size:13.5px;color:var(--ink-2)}
.retell-list{display:grid;gap:8px;font-size:13.5px;color:var(--ink-2)}
.retell-assignment{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto;gap:8px 12px;align-items:center;padding:12px 14px;border-radius:18px;background:#fff}
.retell-assignment strong{font-size:14.5px;font-weight:500;color:var(--ink)}
.retell-assignment [role=status]{grid-column:1/-1;font-size:12.5px;color:var(--ink-3)}

/* Admin-only refinements; canonical portal rules above remain unchanged. */
[data-page=admin] .workspace-editor{padding:18px}
[data-page=admin] #client-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
[data-page=admin] .edit-workspace-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
[data-page=admin] .edit-workspace-form>label:first-child{grid-column:1/-1}
[data-page=admin] .edit-status{margin:0;line-height:1.5}
[data-page=admin] .edit-actions{grid-column:1/-1}
[data-page=admin] .invite-state{overflow-wrap:anywhere;min-width:0;flex-basis:100%}
[data-page=admin] .retell-assignment{padding:18px;gap:14px}
[data-page=admin] .retell-assignment select{min-width:0}
[data-page=admin] .admin-call-filters{margin-bottom:20px}
@media(max-width:700px){
 [data-page=admin] .workspace-summary .kpi:last-child{grid-column:1/-1;flex-direction:row;align-items:center}
 [data-page=admin] .client-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"emblem title title" "emblem meta meta" "chip chip open" "tools tools tools";gap:8px 10px}
 [data-page=admin] .client-row>.open-client{margin:4px 0;min-height:36px;padding:0 12px;font-size:12px}
 [data-page=admin] .client-row>.status-pill{margin:4px 0;font-size:11.5px;padding:5px 8px}
 [data-page=admin] .client-meta{font-size:12px;overflow-wrap:anywhere}
 [data-page=admin] .workspace-tools{margin-top:4px}
 [data-page=admin] .edit-workspace-form{grid-template-columns:1fr}
 [data-page=admin] .workspace-tools .disclosure-body>*{margin-inline:8px}
 [data-page=admin] .workspace-editor,[data-page=admin] .invitation-record{padding:14px}
 [data-page=admin] .invitation-record .btn{flex:1;padding-inline:12px;font-size:12px}
 [data-page=admin] .admin-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
 [data-page=admin] .admin-table td:first-child{grid-column:1;grid-row:1}
 [data-page=admin] .admin-table td:nth-child(2){grid-column:1/-1;grid-row:2}
 [data-page=admin] .admin-table .call-action-cell{grid-column:2;grid-row:1}
 [data-page=admin] .admin-table td:nth-child(3){grid-column:1;grid-row:3}
 [data-page=admin] .admin-table .cell-num{grid-column:2;grid-row:3;justify-self:end}
 [data-page=admin] .create-footer .btn{white-space:normal;line-height:1.35;padding-block:12px;width:100%}
 [data-page=admin] #client-form .form-grid{grid-template-columns:minmax(0,1fr)}
 [data-page=admin] .workspace-form-group{padding:14px}
 [data-page=admin] .confirm{align-items:flex-start}
}

/* States */
.app-state{max-width:520px;margin:12vh auto;padding:34px;border-radius:var(--r-main);background:#fff;display:grid;gap:12px}
.app-state h1,.app-state h2{font:600 25px/1.2 "DM Sans",sans-serif;letter-spacing:-.03em}
.app-state p{color:var(--ink-2)}
.app-state .app-logo{margin-bottom:8px}
.app-state-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.app-state>.btn,.app-state>a.btn{justify-self:start}
.portal-loading{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--ink-3);font-size:13px}
.portal-loading>span{width:32px;height:32px;border-radius:50%;background:var(--nest-2)}

/* Large tablet: rail moves under the chart, side-by-side. */
@media (max-width:1240px){
 .overview-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"kpi" "chart" "rail" "queue"}
 .overview-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .calendar-form-grid{grid-template-columns:1fr}
}
/* Tablet: quiet icon rail. Labels stay as accessible names. */
@media (min-width:701px) and (max-width:1024px){
 .app{grid-template-columns:84px minmax(0,1fr)}
 .app-side{padding:20px 12px 14px;align-items:center}
 .app-brand{padding:0;margin-bottom:26px}
 .app-logo span,.app-search,.navigation-search-hint{display:none}
 .app-drawer{align-items:center;width:100%}
 .app-nav{width:100%}
 .app-nav button{justify-content:center;width:52px;height:48px;padding:0;margin-inline:auto}
 .app-nav button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .app-account{flex-direction:column;gap:8px;padding:8px;background:transparent}
 .app-identity{display:none}
 .app-preview{position:fixed;right:20px;bottom:20px;z-index:40;margin:0;padding:8px 8px 8px 14px;border-radius:999px;background:#fff;box-shadow:var(--shadow-float)}
 .apex-app .preview-label{flex-wrap:nowrap}
 .app-main,#dashboard-main{padding:30px 28px 104px}
 .request-layout,.billing-layout{grid-template-columns:1fr}
 .request-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
 .kpi{padding:4px 14px}
 .kpi strong{font-size:24px}
}
/* Phone: app bar + menu sheet; content priority first. */
@media (max-width:700px){
 .app{grid-template-columns:minmax(0,1fr)}
 .app-side{position:sticky;top:0;height:auto;padding:8px 12px 8px 16px;background:var(--canvas)}
 .app-brand{margin:0;padding:0}
 .app-menu-toggle{display:inline-grid;width:44px;height:44px;border-color:transparent;background:#fff}
 .app-drawer{position:fixed;top:64px;left:8px;right:8px;z-index:2;max-height:calc(100dvh - 76px);overflow:auto;padding:14px;border-radius:var(--r-card);background:#fff;box-shadow:var(--shadow-sheet);transform-origin:top center}
 .app-drawer[data-state=closed]{display:none}
 .app-search{background:var(--nest)}
 .app-nav button{height:48px}
 .nav-indicator{background:var(--nest);box-shadow:none}
 .app-nav:not(.has-indicator) button[aria-current=page]{background:var(--nest);box-shadow:none}
 .app-preview{padding:14px 4px 8px}
 .app-account{background:var(--nest)}
 .app-sign-out{width:auto;padding:0 12px;border-radius:999px;gap:6px;display:inline-flex;align-items:center;min-height:40px;background:#fff}
 .app-sign-out span{position:static;width:auto;height:auto;clip:auto;font-size:13.5px;font-weight:500}
 .app-scrim{display:block;position:fixed;inset:0;z-index:1;background:rgb(18 18 18 / .2)}
 .app-main,#dashboard-main{margin:0 8px 8px;padding:22px 16px 48px;border-radius:24px;min-height:calc(100dvh - 72px)}
 .view-header{align-items:center;margin-bottom:20px}
 .view-header h1,.view-header h2{font-size:26px}
 .view-header:has(.search-pill){flex-wrap:wrap}
 .view-header .search-pill{flex:1;min-width:100%}
 .overview-grid{grid-template-areas:"kpi" "queue" "rail" "chart";gap:24px}
 .overview-rail{grid-template-columns:1fr}
 .kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;border:0}
 .kpi{flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border:0;border-radius:20px;background:var(--nest)}
 .kpi:first-child{padding-left:14px}
 .kpi .kpi-icon{width:36px;height:36px;background:#fff}
 .kpi .kpi-icon .icon{width:18px;height:18px}
 .kpi strong{font-size:24px}
 .panel-head{flex-wrap:wrap}
 .insight-plot{height:210px}
 .queue-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .queue-table,.queue-table tbody{display:block}
 .queue-table tr{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;row-gap:4px;padding:13px 2px;border-bottom:1px solid var(--line)}
 .queue-table td{display:block;padding:0;border:0;background:none!important}
 .queue-table td:first-child{padding-left:0}
 .queue-table .cell-call{flex:1 0 calc(100% - 56px);order:0}
 .queue-table .call-action-cell{order:1;width:auto}
 .queue-table td:not(.cell-call):not(.call-action-cell){order:2;font-size:12.5px;color:var(--ink-3)}
 .queue-table .urgency{font-size:12.5px}
 .queue-table .cell-outcome::before,.queue-table .cell-num::before{content:"·";margin-right:8px;color:var(--ink-4)}
 .admin-table td:nth-child(2){flex-basis:100%}
 .ops-top{flex-wrap:nowrap}
 .ops-filters{flex-direction:column}
 .ops-filters select{width:100%}
 .ops-task-row{grid-template-columns:auto minmax(0,1fr);row-gap:10px}
 .ops-task-row .ops-row-actions{grid-column:2;justify-content:flex-start}
 .ops-form,.ops-call-panel .ops-form{grid-template-columns:1fr}
 .request-layout,.billing-layout{grid-template-columns:1fr;gap:22px}
 .request-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
 .request-choices button{min-height:74px}
 .composer-footer{flex-direction:column;align-items:stretch}
 .composer-footer .btn{width:100%}
 .nest{padding:18px}
 .package-price{font-size:38px}
 .onboarding-steps li{font-size:12px;padding-right:6px}
 .cal-head{flex-wrap:wrap}
 .cal-title{flex:1 1 calc(100% - 64px)}
 .cal-head .status-pill{margin-left:0}
 .calendar-preview{grid-template-columns:1fr}
 .calendar-preview-row{flex-wrap:wrap}
 .calendar-preview-row label{flex:1;min-width:150px}
 .calendar-preview-row input{width:100%}
 .setting-control input[type=number]{width:84px}
 .sheet{inset:auto 0 0 0;width:100%;max-height:min(92dvh,calc(100dvh - 24px));border-radius:26px 26px 0 0}
 .sheet::before{content:"";position:absolute;top:8px;left:50%;width:38px;height:5px;margin-left:-19px;border-radius:999px;background:#dcdcdc}
 .workspace-sheet{width:100%}
 .call-head,.workspace-dialog-head{padding:22px 18px 12px}
 .sheet-body,.workspace-dialog-body{padding:2px 18px 28px}
 .workspace-tabs{margin:0 18px 8px}
 .call-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ops-call-tabs{display:flex;position:sticky;top:-2px;z-index:2}
 .ops-call-tabs>button{flex:1}
 .ops-context{grid-template-columns:1fr}
 .panel-toolbar{flex-wrap:wrap}
 .panel-toolbar .search-pill{max-width:none;min-width:100%}
 .panel-toolbar [data-open-create]{margin-left:0}
 .client-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"emblem title" "emblem meta" "chip chip" "open open" "tools tools";row-gap:4px}
 .client-row>.status-pill{justify-self:start;margin-top:8px}
 .client-row>.open-client{justify-self:start;margin-top:10px}
 .edit-workspace-form{grid-template-columns:1fr}
 .retell-assignment{grid-template-columns:1fr}
 .connection-count{margin-left:0;text-align:left}
 .confirm-dialog footer{flex-direction:column-reverse}
 .confirm-dialog footer .btn{width:100%}
 .app-state{margin:8vh 12px;padding:26px}
}
@media (max-width:360px){
 .app-main,#dashboard-main{padding:20px 12px 44px}
 .kpi strong{font-size:21px}
 .kpi{padding:12px}
 .segmented>button{padding:0 11px}
 .request-choices{grid-template-columns:1fr 1fr}
 .call-facts{padding:14px}
 .day-chips span{min-width:40px;padding:0 10px}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important;scroll-behavior:auto!important}
}

/* Auth: login, invitation and owner sign-in share one layout — form column + inset rounded photo. */
.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:100dvh;padding:12px;gap:12px}
.auth-panel{display:flex;flex-direction:column;padding:28px clamp(24px,5vw,72px) 24px;border-radius:var(--r-main);background:#fff}
.auth-top{display:flex;align-items:center;justify-content:space-between}
.auth-logo span{font-size:17px}
.auth-wordmark{width:140px;height:auto}
.auth-content{width:min(400px,100%);margin:auto;padding:48px 0;display:grid;gap:0}
.auth-content h1{font:600 34px/1.1 "DM Sans",sans-serif;letter-spacing:-.04em}
.auth-intro{margin:10px 0 26px;font-size:15px;color:var(--ink-2)}
.auth-form{display:grid;gap:8px}
.auth-form label,.auth-field label{font-size:13.5px;font-weight:500;color:var(--ink)}
.auth-form label span,.auth-field label span{font-weight:400;color:var(--ink-3)}
.auth-form>label:has(input){display:grid;gap:6px}
.auth-field{display:grid;gap:8px;margin-top:6px}
.auth-form .btn,.auth-wide{width:100%;min-height:48px;margin-top:10px;font-size:15px}
.auth-form .btn[hidden]{display:none!important}
.auth-switch{margin:10px auto 0;display:flex}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 10px;font-size:12.5px;color:var(--ink-3)}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--line)}
#google-sign-in{margin-top:0}
#google-sign-in img{width:20px;height:20px}
.auth-success{display:grid;justify-items:start;gap:8px;margin-top:8px;padding:20px;border-radius:var(--r-card);background:var(--nest)}
.auth-success .kpi-icon{background:#fff}
.auth-success h2{font-size:18px;font-weight:600}
.auth-success p{font-size:14px;color:var(--ink-2)}
.login-status{margin-top:14px;font-size:14px;color:var(--ink-2)}
.login-status:empty{display:none}
.auth-hint{margin-top:10px;font-size:13px;color:var(--ink-3)}
.auth-help{margin-top:18px;font-size:13.5px;color:var(--ink-2);text-align:center}
.auth-panel>.auth-help{margin-top:0}
.auth-legal{display:flex;justify-content:center;gap:18px;font-size:12.5px}
.auth-legal a,.auth-help a{color:var(--ink-2)}
.auth-steps{margin:0 0 26px}
.auth-disclosure{margin-top:20px}
.auth-disclosure>summary{min-height:50px;font-size:14px}
.auth-disclosure-body{padding:0 18px 16px;font-size:13.5px;color:var(--ink-2);display:grid;gap:8px}
.auth-visual{position:relative;overflow:hidden;border-radius:var(--r-main);background:#ddd}
.auth-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.login-pending{min-height:0}
[data-auth-state=checking] .login-pending{min-height:220px}
@media (max-width:900px){
 .auth{grid-template-columns:1fr;padding:8px}
 .auth-visual{display:none}
 .auth-panel{min-height:calc(100dvh - 16px);padding:22px 20px}
 .auth-content{padding:40px 0 28px}
 .auth-content h1{font-size:29px}
}
