@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap');
@import url('tokens.css');
/* Foundations */
*{box-sizing:border-box}html{color-scheme:light}html:has(body.dark){color-scheme:dark}body{margin:0;color:var(--ink);background:var(--bg);font:var(--weight-regular) var(--text-body)/var(--line-body) var(--font-body)}[dir=rtl] body,[dir=rtl] h1,[dir=rtl] .metric strong{font-family:var(--font-arabic);letter-spacing:normal}h1,h2,h3,p{margin:0}h1{font:var(--weight-display) var(--text-page)/var(--line-heading) var(--font-heading);letter-spacing:-.025em}h2{font-size:var(--text-title);line-height:var(--line-heading);font-weight:var(--weight-bold)}h3{font-size:var(--text-body);font-weight:var(--weight-semibold)}p{line-height:var(--line-body)}small,.muted{color:var(--muted)}small{font-size:var(--text-meta);line-height:var(--line-body)}strong{font-weight:var(--weight-bold)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}hr{border:0;border-block-start:var(--border-width) solid var(--line);margin-block:var(--space-6)}.icon{width:var(--icon-size);height:var(--icon-size);display:inline-block;vertical-align:middle;flex-shrink:0;stroke-width:1.75}.sr-only{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%)}
/* One action-button primitive, five variants. Navigation choices are not action buttons. */
button,a.primary,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--control-gap);inline-size:var(--button-width);block-size:var(--control-height);flex-shrink:0;padding:var(--control-padding-block) var(--control-padding-inline);border:var(--border-width) solid var(--line);border-radius:var(--control-radius);background:var(--card);color:var(--ink);font-size:var(--text-label);line-height:1.25;font-weight:var(--weight-semibold);text-align:center;vertical-align:middle;white-space:normal;transition:background var(--transition-fast),border-color var(--transition-fast)}button:hover,a.primary:hover,.btn:hover{background:var(--soft);border-color:var(--focus);text-decoration:none}.primary,.btn-primary{background:var(--green);border-color:var(--green);color:var(--on-green)}.primary:hover,.btn-primary:hover{background:var(--green-hover);border-color:var(--green-hover);color:var(--on-green)}.danger,.btn-danger{color:var(--danger-ink);background:var(--danger-bg);border-color:var(--danger-ink)}.danger:hover,.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger-ink)}.ghost,.iconbtn,button.link,.btn-ghost{background:transparent;border-color:transparent}.iconbtn{inline-size:var(--control-height);padding:var(--space-2)}.iconbtn.live,.sidebar-bottom .iconbtn{inline-size:var(--button-width)}button:disabled,button:disabled:hover,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:auto;background:var(--neutral-bg);border-color:var(--line);color:var(--neutral-ink);box-shadow:none}a.link{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:var(--control-height);color:var(--success-ink);font-size:var(--text-label);font-weight:var(--weight-semibold)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}
/* Uniform form control geometry; choice controls align to their label. */
input,select,textarea{color:var(--ink);background:var(--card);border:var(--border-width) solid var(--line);border-radius:var(--control-radius);padding:var(--space-3) var(--control-padding-inline);font-size:var(--text-label);line-height:var(--line-body);min-inline-size:0;max-inline-size:100%;block-size:var(--control-height)}select{padding-block:var(--space-2)}textarea{block-size:auto;min-block-size:8rem;resize:vertical}input:disabled,select:disabled,textarea:disabled{background:var(--neutral-bg);color:var(--neutral-ink);opacity:.6;cursor:not-allowed}input[type=checkbox],input[type=radio]{appearance:auto;inline-size:var(--icon-size);block-size:var(--icon-size);margin:0;accent-color:var(--focus);flex:0 0 var(--icon-size)}input[type=file]{padding:var(--space-2);block-size:auto;min-block-size:var(--control-height)}input::file-selector-button{height:var(--space-8);margin-inline-end:var(--space-2);padding:0 var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius-control);background:var(--neutral-bg);color:var(--ink);font:inherit}input[type=email],input[type=password]{direction:ltr;text-align:start}label{display:grid;gap:var(--space-2);font-size:var(--text-label);font-weight:var(--weight-medium);min-inline-size:0}label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:flex;gap:var(--space-3);align-items:center;min-block-size:var(--control-height)}label>input:not([type=checkbox]):not([type=radio]),label>select,label>textarea{inline-size:100%}.stack-form,dialog form,.auth-box form{display:grid;gap:var(--space-4)}.stack-form>button{justify-self:start}.checkboxes{display:grid;gap:var(--space-2);margin-block:var(--space-6)}fieldset{border:var(--border-width) solid var(--line);border-radius:var(--radius-card);padding:var(--card-padding);margin-block:var(--space-4);min-inline-size:0;display:grid;gap:var(--space-4)}legend{font-weight:var(--weight-bold);padding-inline:var(--space-2)}.day-options{display:flex;flex-wrap:wrap;gap:var(--space-3)}[aria-invalid=true],input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:var(--danger-ink)}.error{color:var(--danger-ink);font-size:var(--text-label);margin-block-start:var(--space-2)}.error:empty{display:none}.error:not(:empty){background:var(--danger-bg);border:var(--border-width) solid var(--danger-ink);border-radius:var(--radius-control);padding:var(--space-3)}
/* Shared application shell, every role. */
.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-block-size:100vh}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;inline-size:var(--sidebar-width);background:var(--sidebar);border-inline-end:var(--border-width) solid var(--line);padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;z-index:20;overflow:auto}.brand{font:var(--weight-display) var(--text-section)/var(--line-heading) var(--font-heading);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2) var(--space-6)}.brand img{width:var(--space-8);height:var(--space-8)}.brand small{font-size:var(--text-meta);letter-spacing:.15em;display:block;margin-block-start:var(--space-1)}.workspace{border:var(--border-width) solid var(--line);padding:var(--space-3);border-radius:var(--radius-control);display:flex;align-items:center;gap:var(--space-3);margin-block-end:var(--space-6)}.workspace strong{font-size:var(--text-label)}.avatar{inline-size:var(--avatar-size);block-size:var(--avatar-size);border-radius:var(--radius-control);background:var(--soft);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-label);font-weight:var(--weight-bold);flex-shrink:0;color:var(--success-ink)}button.avatar{padding:var(--space-2)}.section-label{font-size:var(--text-meta);font-weight:var(--weight-bold);letter-spacing:.08em;color:var(--muted);margin:var(--space-4) var(--space-3) var(--space-2)}.nav a{display:flex;align-items:center;gap:var(--space-3);min-block-size:var(--control-height);padding:var(--space-3);border-radius:var(--radius-control);margin-block:var(--space-1);font-size:var(--text-label);color:var(--muted);font-weight:var(--weight-medium)}.nav a.active{background:var(--green);color:var(--on-green);font-weight:var(--weight-bold)}.nav a:hover{background:var(--soft);color:var(--ink);text-decoration:none}.nav a.active:hover{background:var(--green-hover);color:var(--on-green)}.sidebar-bottom{margin-block-start:auto;padding-block-start:var(--space-6)}.support{background:var(--bg);padding:var(--space-4);border-radius:var(--radius-card);margin-block-end:var(--space-4)}.main{grid-column:2;min-inline-size:0}.topbar{min-block-size:var(--header-height);border-block-end:var(--border-width) solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--page-gutter);gap:var(--space-4);flex-wrap:wrap}.searchbox{display:flex;align-items:center;gap:var(--space-2);color:var(--muted);flex:1;min-inline-size:10rem;max-inline-size:24rem;border:var(--border-width) solid var(--line);border-radius:var(--control-radius);padding-inline:var(--space-3);height:var(--control-height)}.searchbox input{border:0;padding:0;background:transparent;inline-size:100%;height:calc(var(--control-height) - 2px)}.searchbox:focus-within{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}.searchbox input:focus-visible{outline:0}.key{font-size:var(--text-meta);white-space:nowrap;padding:var(--space-1);border:var(--border-width) solid var(--line);border-radius:var(--radius-control)}.top-actions{display:flex;align-items:center;gap:var(--space-2);min-inline-size:0;flex-wrap:wrap}.role-select{inline-size:12rem}.live{font-size:var(--text-label);color:var(--success-ink);display:flex;gap:var(--space-2);align-items:center}.live:before{content:'';width:var(--space-2);height:var(--space-2);background:currentColor;border-radius:var(--radius-pill);flex-shrink:0}.live.is-reconnecting{color:var(--warning-ink);background:var(--warning-bg)}.content{padding:var(--space-8) var(--page-gutter) var(--space-16);max-inline-size:var(--content-max);margin-inline:auto}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-label);color:var(--muted);margin-block-end:var(--space-6)}.branch-context{margin-inline-start:auto;inline-size:12rem}.pagehead{display:flex;align-items:center;justify-content:space-between;margin-block-end:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.pagehead p{color:var(--muted);margin-block-start:var(--space-2)}.pagehead>div:first-child{flex:1;min-inline-size:15rem}.actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.mobile-menu{display:none}.state-control{position:fixed;inset-block-end:var(--space-3);inset-inline-end:var(--space-4);z-index:25;max-inline-size:12rem;font-size:var(--text-label);box-shadow:var(--shadow-overlay)}
/* Shared surfaces and spacing */
.metrics,.grid,.split,.cards,.queue,.branch-grid,.contact-grid,.workspace-options{display:grid;gap:var(--layout-gap);margin-block-end:var(--space-6);min-inline-size:0}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.grid,.split{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.cards,.queue,.branch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-grid,.workspace-options{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.metric,.branch,.contact-card{background:var(--card);border:var(--border-width) solid var(--line);border-radius:var(--radius-card);padding:var(--card-padding);box-shadow:var(--shadow-card);min-inline-size:0}.card+.card{margin-block-start:var(--space-6)}:is(.grid,.split,.cards,.queue,.contact-grid,.workspace-options)>.card+.card{margin-block-start:0}.branch{cursor:pointer}.branch:hover{border-color:var(--focus)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-block-end:var(--space-6);flex-wrap:wrap}.card-head p{font-size:var(--text-label);color:var(--muted);margin-block-start:var(--space-2)}.metric-top{display:flex;justify-content:space-between;gap:var(--space-2);color:var(--muted);font-size:var(--text-label)}.metric strong{font:var(--weight-display) var(--text-page)/var(--line-heading) var(--font-heading);display:block;margin:var(--space-4) 0 var(--space-2);overflow-wrap:anywhere}.metric small{font-size:var(--text-meta)}.trend{display:inline-block;font-size:var(--text-meta);color:var(--success-ink);background:var(--success-bg);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);margin-inline-end:var(--space-2)}.branch h3{margin-block:var(--space-3) var(--space-1)}.branch .mini{display:flex;justify-content:space-between;gap:var(--space-2);margin-block-start:var(--space-4);font-size:var(--text-label);flex-wrap:wrap}.progress{height:var(--space-2);background:var(--neutral-bg);border-radius:var(--radius-pill);margin-block-start:var(--space-3);overflow:hidden}.progress div{height:var(--h);background:var(--chart-occupied)}.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);margin-block:var(--space-6)}.details span{display:block;color:var(--muted);font-size:var(--text-label);margin-block-end:var(--space-2)}.details strong{font-size:var(--text-body);overflow-wrap:anywhere}.details small{display:block;overflow-wrap:anywhere}.timeline{border-inline-start:2px solid var(--line);margin:var(--space-6) var(--space-2);padding-inline-start:var(--space-5)}.timeline p{margin-block-end:var(--space-4);font-size:var(--text-label)}.timeline small{display:block}.office-number{font-size:var(--text-section);font-weight:var(--weight-display);margin-block:var(--space-4)}
/* Semantic states: text always accompanies color. */
.badge{display:inline-flex;align-items:center;gap:var(--space-1);min-block-size:var(--space-8);border-radius:var(--radius-control);padding:var(--space-1) var(--space-2);font-size:var(--text-label);font-weight:var(--weight-semibold);background:var(--success-bg);color:var(--success-ink);white-space:nowrap;border:var(--border-width) solid transparent}.badge.warn{background:var(--warning-bg);color:var(--warning-ink)}.badge.red{background:var(--danger-bg);color:var(--danger-ink)}.badge.neutral{background:var(--neutral-bg);color:var(--neutral-ink)}.notice,.impersonation{background:var(--neutral-bg);color:var(--ink);padding:var(--space-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-control);font-size:var(--text-label);margin-block-end:var(--space-6);overflow-wrap:anywhere}.notice.attention,.impersonation{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-ink)}.notice.success{background:var(--success-bg);color:var(--success-ink);border-color:var(--success-ink)}.notice.danger{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger-ink)}.impersonation{margin:0;border-radius:0;display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.alert-row{display:flex;gap:var(--space-3);align-items:flex-start;padding-block:var(--space-4);border-block-end:var(--border-width) solid var(--line)}.alert-row:last-child{border-block-end:0}.alert-row p{font-size:var(--text-label)}.alert-icon{background:var(--warning-bg);color:var(--warning-ink);border-radius:var(--radius-control);padding:var(--space-2);display:flex;flex-shrink:0}.alert-icon.positive{background:var(--success-bg);color:var(--success-ink)}.locked{border:var(--border-width) dashed var(--line);padding:var(--card-padding);text-align:center;border-radius:var(--radius-card);color:var(--muted)}.locked .icon{color:var(--warning-ink)}.empty{text-align:center;padding:var(--space-16) var(--space-6);color:var(--muted)}.empty h2{color:var(--ink);margin-block:var(--space-4)}.empty>button{margin-block-start:var(--space-6)}.empty.compact{padding:var(--space-8)}.skeleton{height:7rem;border-radius:var(--radius-card);background:linear-gradient(90deg,var(--line),var(--card),var(--line));background-size:200%;animation:pulse 1.2s infinite;margin-block-end:var(--space-4)}@keyframes pulse{to{background-position:200%}}#toast{position:fixed;inset-block-end:var(--space-6);inset-inline-start:50%;transform:translateX(-50%);max-inline-size:min(36rem,calc(100vw - 2rem));padding:var(--space-4) var(--space-6);background:var(--neutral-bg);color:var(--ink);border:var(--border-width) solid var(--line);border-radius:var(--radius-control);z-index:100;display:none;box-shadow:var(--shadow-toast);font-size:var(--text-label)}[dir=rtl] #toast{transform:translateX(50%)}
/* One table density and action position; scroll contained within the table. */
.table-wrap{overflow:auto;max-inline-size:100%;border:var(--border-width) solid var(--line);border-radius:var(--radius-control)}table{border-collapse:collapse;width:100%;text-align:start;white-space:nowrap}th{background:var(--neutral-bg);color:var(--muted);font-weight:var(--weight-semibold);height:var(--table-header-height);text-align:start}td{height:var(--table-row-height);border-block-end:var(--border-width) solid var(--line)}th,td{font-size:var(--text-label);padding:var(--table-cell-block) var(--table-cell-inline);vertical-align:middle}tbody tr:last-child td{border-block-end:0}tbody tr[onclick]{cursor:pointer}tbody tr:hover{background:var(--soft)}td strong{font-weight:var(--weight-semibold)}td small{display:block;margin-block-start:var(--space-1);font-size:var(--text-meta)}td.actions-cell,th.actions-cell{text-align:end}td.actions-cell>button+button{margin-inline-start:var(--space-2)}.toolbar{display:flex;align-items:center;gap:var(--space-3);justify-content:space-between;margin-block-end:var(--space-6);flex-wrap:wrap}.toolbar>input{flex:1;min-inline-size:12rem}.toolbar>select{min-inline-size:12rem}.tabs{display:flex;gap:var(--space-2);margin-block-end:var(--space-6);flex-wrap:wrap}.tabs button{inline-size:10rem;border-color:transparent;background:transparent;color:var(--muted)}.tabs button.active{background:var(--soft);color:var(--ink);border-color:var(--focus)}
/* Dialog and list-choice primitives. Native selects/tooltips remain platform rendered. */
dialog{background:var(--card);color:var(--ink);border:var(--border-width) solid var(--line);border-radius:var(--radius-dialog);width:min(var(--dialog-width),calc(100vw - 2rem));padding:var(--card-padding);max-height:calc(100dvh - 2rem);overflow:auto;box-shadow:var(--shadow-overlay)}dialog::backdrop{background:var(--overlay)}dialog h2{font-size:var(--text-section);margin-block-end:var(--space-4)}dialog .actions{justify-content:flex-end;margin-block-start:var(--space-4)}dialog input,dialog select,dialog textarea{max-inline-size:100%}.journey-list{display:grid;gap:var(--space-3);margin-block:var(--space-6)}.journey-list button{inline-size:100%;block-size:auto;min-block-size:var(--control-height);flex-direction:column;align-items:flex-start;text-align:start;padding:var(--space-4)}.journey-list span{color:var(--muted);line-height:var(--line-body)}.role-note{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--card);flex-wrap:wrap}.role-note>span{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;min-inline-size:12rem}.footer-note{font-size:var(--text-meta);color:var(--muted);text-align:center;margin-block:var(--space-6)}
/* Charts: fixed visual primitives, all colors tokenized. */
.chart{height:14rem;display:flex;align-items:flex-end;gap:4%;padding:var(--space-3) var(--space-4) var(--space-8) var(--space-10);position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent 43px,var(--line) 44px,transparent 45px)}.chart .bar{flex:1;height:var(--h);background:var(--chart-available);border-radius:var(--radius-control) var(--radius-control) 0 0;position:relative}.chart .bar:last-child{background:var(--chart-occupied)}.bar span{position:absolute;inset-block-end:calc(-1 * var(--space-6));inset-inline-start:50%;transform:translateX(-50%);font-size:var(--text-meta);color:var(--muted)}[dir=rtl] .bar span{transform:translateX(50%)}.chart .axis{position:absolute;inset-inline-start:0;inset-block-start:var(--space-1);inset-block-end:var(--space-6);display:flex;flex-direction:column;justify-content:space-between;font-size:var(--text-meta);color:var(--muted)}.legend{display:flex;gap:var(--space-5);color:var(--muted);font-size:var(--text-meta);flex-wrap:wrap}.legend i{display:inline-block;width:var(--space-2);height:var(--space-2);border-radius:var(--space-1);margin-inline-end:var(--space-1);background:var(--chart-available)}.donut-wrap{display:flex;align-items:center;gap:var(--space-6);justify-content:center;padding-block:var(--space-2);flex-wrap:wrap}.donut{width:10rem;height:10rem;border-radius:var(--radius-pill);position:relative;display:grid;place-items:center;flex-shrink:0}.donut:before{content:'';position:absolute;inset:var(--space-5);border-radius:var(--radius-pill);background:var(--card)}.donut div{position:relative;text-align:center}.donut strong{font-size:var(--text-page);font-family:var(--font-heading)}.donut small{display:block}.statline{display:flex;justify-content:space-between;gap:var(--space-6);margin-block:var(--space-3);font-size:var(--text-label)}.statline span:before{content:'';display:inline-block;width:var(--space-2);height:var(--space-2);background:var(--dot);border-radius:var(--space-1);margin-inline-end:var(--space-2)}
/* Existing workflows compose the shared primitives. */
.order{margin-block-end:var(--space-4)}.order p{margin-block:var(--space-3);font-size:var(--text-label)}.timer{font-family:var(--font-mono);font-size:var(--text-title);font-variant-numeric:tabular-nums}.badge .timer{font-size:var(--text-label)}.menu-emoji{font-size:var(--text-page);margin-block:var(--space-3) var(--space-6)}.cards .card>button{margin-block-start:var(--space-4)}.service-contacts{margin-block:var(--space-6)}.contact-grid{margin-block-end:0}.contact-card{display:flex;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.contact-card>div{flex:1;min-inline-size:10rem}.contact-card small,.contact-card a{display:block;margin-block-start:var(--space-2);overflow-wrap:anywhere}.contact-photo{width:var(--contact-photo-size);height:var(--contact-photo-size);flex:0 0 var(--contact-photo-size);border-radius:var(--radius-pill);object-fit:cover}.contact-placeholder{display:grid;place-items:center;background:var(--soft);color:var(--success-ink)}.contact-card p{margin-block:var(--space-1)}.contact-card button{margin-block-start:var(--space-3)}.service-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.service-mode-banner p{margin-block:var(--space-2)}#service-clock{max-inline-size:18rem}#service-menu{scroll-margin-block-start:var(--space-6)}.chat-layout{display:grid;grid-template-columns:minmax(12rem,17rem) minmax(0,1fr);min-height:30rem}.chat-list{border-inline-end:var(--border-width) solid var(--line);padding-inline-end:var(--space-5);min-inline-size:0}.chat-item{inline-size:100%;block-size:auto;min-block-size:var(--control-height);padding:var(--space-4) var(--space-3);text-align:start;border-color:transparent;justify-content:flex-start;gap:var(--space-3);background:transparent}.chat-item small{display:block;margin-block-start:var(--space-1)}.chat-item.selected{background:var(--soft)}.chat-body{padding-inline-start:var(--space-6);display:flex;flex-direction:column;min-inline-size:0}.messages{flex:1;min-height:18rem;max-height:28rem;overflow:auto;padding:var(--space-2) var(--space-1)}.bubble{background:var(--neutral-bg);padding:var(--space-4);border-radius:var(--radius-card);margin-block:var(--space-3);max-inline-size:85%;font-size:var(--text-body);width:fit-content;overflow-wrap:anywhere}.bubble.me{background:var(--soft);margin-inline-start:auto}.bubble small{display:block;margin-block-start:var(--space-2);font-size:var(--text-meta)}.chat-form{display:flex;align-items:center;gap:var(--space-2);padding-block-start:var(--space-4);border-block-start:var(--border-width) solid var(--line);flex-wrap:wrap}.chat-form>input{flex:1;inline-size:100%;min-inline-size:10rem}.chat-form>label{width:var(--control-height);height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-control)}.receipt{max-inline-size:var(--receipt-width);margin-inline:auto}.receipt h1{margin-block:var(--space-6)}.receipt-total{display:flex;align-items:center;justify-content:space-between;margin-block:var(--space-8);gap:var(--space-4);flex-wrap:wrap}.proof-archive{border-block-start:var(--border-width) solid var(--line);margin-block-start:var(--space-6);padding-block-start:var(--space-6)}.proof-archive .alert-row{justify-content:space-between;flex-wrap:wrap}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-side{background:var(--on-green);color:#fff;padding:var(--space-16);display:flex;flex-direction:column;justify-content:space-between}.auth-side h1{font-size:var(--text-display);line-height:var(--line-heading);max-inline-size:28rem}.auth-side em{font-style:normal;color:var(--green)}.auth-side small,.auth-side p{color:#D3DDCA}.auth-main{display:grid;place-items:center;padding:var(--space-8);min-inline-size:0}.auth-box{width:min(var(--form-width),100%)}.auth-box form{margin-block-start:var(--space-6)}.auth-box p{margin-block:var(--space-3)}.auth-box small{overflow-wrap:anywhere}.workspace-entry{max-inline-size:60rem;margin:var(--space-16) auto;padding:var(--page-gutter)}.workspace-options h2{margin-block:var(--space-5) var(--space-3)}.workspace-options button{margin-block-start:var(--space-6)}
/* Shared composition utilities replace per-screen inline styles. */
.u-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.u-grow{flex:1;min-inline-size:0}.u-auto-start{margin-inline-start:auto}.u-block{display:block}.u-hidden{display:none}.u-clickable{cursor:pointer}.u-mt-4{margin-block-start:var(--space-4)}.u-mt-6{margin-block-start:var(--space-6)}.u-mb-6{margin-block-end:var(--space-6)}.u-my-4{margin-block:var(--space-4)}.u-my-6{margin-block:var(--space-6)}.u-m-3{margin:var(--space-3)}.u-center{text-align:center}.u-meta{font-size:var(--text-meta)}.u-warning{color:var(--warning-ink)}.u-borderless{border:0}.u-divider{inline-size:var(--border-width);block-size:var(--space-6);background:var(--line)}.u-auth-actions{justify-content:flex-end;margin-block-end:var(--space-10)}.u-kicker{letter-spacing:.08em;font-size:var(--text-meta);margin-block-end:var(--space-6)}.u-prose{max-inline-size:24rem;margin-block-start:var(--space-6)}.u-full-height{min-height:100vh}.attachment-preview{max-inline-size:100%;max-block-size:10rem;display:block}.proof-preview{inline-size:100%;max-block-size:60vh;object-fit:contain}
/* Only two responsive boundaries: mobile <640; tablet <1024. */
@media(max-width:1023px){:root{--page-gutter:1.5rem}.shell{display:block}.main{width:100%}.sidebar{display:none;inline-size:min(var(--drawer-width),calc(100vw - 3rem));box-shadow:var(--shadow-overlay)}.sidebar.open{display:flex;box-shadow:0 0 0 100vmax var(--overlay)}.mobile-menu{display:inline-flex}.topbar{gap:var(--space-3)}.top-actions{margin-inline-start:auto}.top-actions .live{inline-size:10rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid,.split{grid-template-columns:1fr}.cards,.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.queue{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.auth{grid-template-columns:1fr}.auth-side{display:none}.chat-layout{grid-template-columns:1fr}.chat-list{border:0;padding:0 0 var(--space-4);display:flex;overflow:auto;gap:var(--space-3)}.chat-item{min-inline-size:14rem;inline-size:14rem}.chat-body{padding:0}.workspace-entry{margin-block:var(--space-6)}}
@media(max-width:639px){:root{--page-gutter:1rem;--card-padding:1rem;--text-page:1.5rem}.content{padding-block-start:var(--space-6)}.topbar{padding-inline:var(--space-4)}.top-actions{gap:var(--space-1);justify-content:flex-end;flex:1}.top-actions .live{inline-size:10rem}.top-actions .u-divider{display:none}.role-select{inline-size:10rem}.searchbox{order:3;flex-basis:100%;max-inline-size:none}.metrics,.cards,.branch-grid,.workspace-options,.details{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}.pagehead>div:first-child{min-inline-size:0}.branch-context{margin-inline-start:0;inline-size:100%}.actions{justify-content:flex-start}.tabs{flex-wrap:nowrap;overflow:auto;padding-block-end:var(--space-2)}.toolbar{align-items:stretch;flex-direction:column}.toolbar>input,.toolbar>select{min-inline-size:0;inline-size:100%}.contact-card{gap:var(--space-3)}.receipt-total{align-items:flex-start;flex-direction:column}.auth-main{padding:var(--space-6) var(--space-4)}.alert-row{flex-wrap:wrap}.auth-box .u-between{align-items:flex-start;flex-direction:column}.state-control{max-inline-size:10rem}.service-mode-banner{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.pagehead,.state-control,.actions,.breadcrumbs,.footer-note,.role-note,.impersonation{display:none!important}.shell{display:block}.main{grid-column:1}.content{padding:0}.receipt{border:0}.receipt .footer-note{display:block!important}body,body.dark{--card:#fff;--bg:#fff;--ink:#202720;--muted:#586354;--line:#CDD5C8;background:#fff;color:#202720}.table-wrap{overflow:visible}}
.sidebar-close{display:none;margin-inline-start:auto;margin-block-end:var(--space-3)}
@media(max-width:1023px){.sidebar-close{display:inline-flex}}
.platform-table .actions-cell{white-space:normal;min-inline-size:12rem}.platform-table .actions-cell button{margin-block:var(--space-1)}
@media(max-width:1023px){.role-badge{max-inline-size:10rem}.platform-table .actions-cell{min-inline-size:10rem}}
@media(max-width:639px){.top-actions .live{inline-size:auto;min-inline-size:7rem}.role-badge{min-inline-size:0;max-inline-size:8rem}.platform-table .actions-cell{min-inline-size:9rem}.platform-table .actions-cell button{inline-size:auto;min-inline-size:8rem}}
/* Table actions stay visible beside the persistent sidebar instead of forcing wide, clipped columns. */
.table-wrap td.actions-cell{white-space:nowrap}
.table-wrap td.actions-cell>.btn{inline-size:auto;min-inline-size:0;padding-inline:var(--space-3)}
.table-wrap td.actions-cell>.btn+.btn{margin-inline-start:var(--space-2)}
@media(max-width:1280px){.platform-table .actions-cell{min-inline-size:0}.platform-table .actions-cell button{inline-size:auto;min-inline-size:0}}
/* Keep the tenant control actions visible in the platform overview at laptop widths. */
.tenant-table table{table-layout:fixed}
.tenant-table th:nth-child(1),.tenant-table td:nth-child(1){width:27%}
.tenant-table th:nth-child(2),.tenant-table td:nth-child(2){width:16%}
.tenant-table th:nth-child(3),.tenant-table td:nth-child(3){width:15%}
.tenant-table th:nth-child(4),.tenant-table td:nth-child(4){width:17%}
.tenant-table th:nth-child(5),.tenant-table td:nth-child(5){width:10%}
.tenant-table th:nth-child(6),.tenant-table td:nth-child(6){width:15%}
.tenant-table td{white-space:normal;overflow-wrap:anywhere}
.tenant-table td.actions-cell>.btn{padding-inline:var(--space-2);font-size:var(--text-meta)}
.modal-content{display:grid;gap:var(--space-4)}.modal-content>.actions{justify-content:flex-end;margin-block-start:var(--space-2)}.billing-row{align-items:center;gap:var(--space-4)}.billing-row>.u-grow{min-inline-size:0}.billing-row .billing-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-2);color:var(--muted);font-size:var(--text-meta)}.billing-row .billing-meta>span{display:inline-flex;align-items:center;gap:var(--space-1)}.billing-row .billing-meta .badge{font-size:var(--text-meta)}
/* Platform roles use a static scope label because the platform pages are not branch-filtered. */
.context-static{display:inline-flex;align-items:center;justify-content:center;min-block-size:var(--control-height);padding-inline:var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--control-radius);background:var(--card);color:var(--muted);white-space:nowrap}
.avatar img,.profile-avatar img{inline-size:100%;block-size:100%;border-radius:inherit;object-fit:cover}.profile-avatar{inline-size:5.5rem;block-size:5.5rem;border-radius:var(--radius-card);overflow:hidden;background:var(--soft);display:grid;place-items:center;font-size:1.5rem;font-weight:var(--weight-bold);color:var(--success-ink);margin-block-end:var(--space-4)}
.profile-crop-dialog{border:0;border-radius:var(--radius-card);padding:var(--space-6);max-inline-size:22rem}.profile-crop-dialog::backdrop{background:rgb(0 0 0 / .45)}.profile-crop-dialog canvas{display:block;inline-size:20rem;block-size:20rem;max-inline-size:100%;margin-block:var(--space-4);background:#111;border-radius:var(--radius-card)}.profile-crop-dialog label{display:grid;gap:var(--space-2);margin-block:var(--space-3)}
.chat-fab{position:fixed;inset-inline-end:var(--space-6);inset-block-end:var(--space-6);z-index:70;width:var(--space-12);height:var(--space-12);border-radius:var(--radius-pill);background:var(--green);color:var(--on-green);box-shadow:var(--shadow-overlay);display:grid;place-items:center;padding:0}.chat-fab .icon{width:var(--space-6);height:var(--space-6)}.chat-fab span{position:absolute;inset-block-start:calc(-1 * var(--space-1));inset-inline-end:calc(-1 * var(--space-1));min-width:var(--space-5);height:var(--space-5);padding-inline:var(--space-1);border-radius:var(--radius-pill);background:var(--ink);color:var(--card);font-size:var(--text-meta);display:grid;place-items:center}.chat-float-panel{position:fixed;z-index:70;inset-inline-end:var(--space-6);inset-block-end:var(--space-6);width:min(23rem,calc(100vw - 2rem));background:var(--card);color:var(--ink);border:var(--border-width) solid var(--line);border-radius:var(--radius-dialog);padding:var(--card-padding);box-shadow:var(--shadow-overlay)}.chat-float-panel .card-head{margin-block-end:var(--space-3)}.chat-float-panel .card-head small{display:block;color:var(--muted);font-size:var(--text-meta);margin-block-start:var(--space-1)}.chat-float-list{display:grid;gap:var(--space-1);max-height:18rem;overflow:auto;margin-block-end:var(--space-4)}.chat-float-list button{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-height);text-align:start;background:transparent;border-color:transparent;padding:var(--space-2)}.chat-float-list button:hover{background:var(--soft)}.chat-float-list small{display:block;color:var(--muted);font-size:var(--text-meta);margin-block-start:var(--space-1)}.chat-float-panel>.btn{width:100%}
.chat-float-list button.selected{background:var(--soft)}.chat-float-thread{border-block-start:var(--border-width) solid var(--line);padding-block:var(--space-3)}.chat-float-messages{display:grid;gap:var(--space-2);max-height:14rem;overflow:auto;padding-block:var(--space-2)}.chat-float-messages .bubble{margin:0;max-inline-size:92%;padding:var(--space-3);font-size:var(--text-label)}.chat-float-thread .chat-form{padding-block:var(--space-3) 0}.chat-float-thread .chat-form input{min-inline-size:0}
