:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color-scheme:dark;--bg:#0a1723;--sidebar:#0d1d2b;--surface:#102332;--raised:#142b3c;--hover:#1a3548;--border:#274052;--text:#e7eff4;--muted:#96acbc;--accent:#6bd6ef;--accent-ink:#092331;--gold:#dbc493;--green:#73c7a4;--red:#ef9295;--shadow:0 16px 45px #0002;--sidebar-width:276px;background:var(--bg);color:var(--text);font-size:14px}
:root[data-theme=light]{color-scheme:light;--bg:#f1f2e9;--sidebar:#e8ece1;--surface:#fafbf6;--raised:#e9eee3;--hover:#dfe7d8;--border:#ccd6c4;--text:#203b34;--muted:#5a7168;--accent:#286f60;--accent-ink:#fff;--gold:#977c39;--green:#367b52;--red:#b0474b;--shadow:0 12px 38px #3b4a2710}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button{color:inherit}button,select,input,textarea{border:1px solid var(--border);border-radius:9px;background:var(--surface)}button{min-height:38px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .15s,border-color .15s}button:hover{background:var(--hover);border-color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:650;box-shadow:0 3px 12px #56bace12}button.primary:hover{filter:brightness(1.08)}.icon{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-button{width:39px;padding:9px;flex-shrink:0}.subtle{background:transparent;border-color:transparent}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted)}.skip-link{position:fixed;top:-100px;z-index:100;padding:14px;background:var(--accent);color:var(--accent-ink)}.skip-link:focus{top:10px}.boot{padding:20vh 15vw;font-size:30px;letter-spacing:3px}.boot progress{display:block;margin-top:30px}.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:25px 18px 16px;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 28px;min-height:70px;text-decoration:none}.brand img{width:43px;height:43px}.brand strong{letter-spacing:2.1px;font-size:16px;display:block}.brand small{font-size:12px;color:var(--muted);display:block;margin-top:4px;letter-spacing:.4px}.sidebar .section-label{padding:15px 15px 10px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{justify-content:flex-start;min-height:45px;width:100%;border:1px solid transparent;color:var(--muted);background:transparent;position:relative;padding:11px 14px}.nav-item:hover{color:var(--text)}.nav-item.selected{background:var(--raised);border-color:var(--border);color:var(--accent)}.nav-item.selected:before{content:'';position:absolute;left:-19px;top:13px;bottom:13px;width:3px;background:var(--accent);border-radius:4px}.nav-item .count{margin-left:auto;font-size:11px;padding:2px 7px;background:var(--bg);border-radius:5px;color:var(--muted)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:16px}.local-card{background:var(--raised);border:1px solid var(--border);border-radius:12px;margin:16px 4px;padding:14px;display:flex;align-items:center;gap:10px}.local-card .icon{color:var(--green)}.brand-slogan{font-size:10px;color:var(--muted);line-height:1.7;margin:12px}.sidebar-collapse{margin-left:auto;display:flex}.resizer{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:30}.resizer:hover,.resizer:focus-visible{background:color-mix(in srgb,var(--accent) 35%,transparent)}.resizer:after{content:'';position:absolute;top:47%;height:36px;width:3px;left:2px;background:var(--border);border-radius:3px}.collapsed{--sidebar-width:82px!important}.collapsed .brand{padding-left:0}.collapsed .brand div,.collapsed .nav-item span,.collapsed .section-label,.collapsed .local-card,.collapsed .brand-slogan,.collapsed .resizer{display:none}.collapsed .sidebar{padding-left:15px;padding-right:15px}.collapsed .nav-item{justify-content:center}.collapsed .sidebar-collapse{margin:20px auto}.main-shell{min-width:0;display:flex;flex-direction:column}.topbar{height:82px;flex:none;display:flex;align-items:center;gap:18px;padding:0 38px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:15}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:13px;white-space:nowrap}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.language{display:flex;align-items:center;gap:7px}.language .icon{color:var(--muted)}select{color:var(--text);padding:9px 29px 9px 11px;min-height:38px}.language select{background:transparent;max-width:128px;font-size:12px}.mobile-menu{display:none}main{padding:34px 38px 26px;max-width:1800px;width:100%;margin:0 auto;flex:1;min-width:0}h1{font-size:30px;letter-spacing:-.9px;line-height:1.2;margin:9px 0 10px;font-weight:600}h2{font-size:16px;letter-spacing:-.2px;margin:0;font-weight:600}h3{font-size:14px;margin:0}p{line-height:1.6}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading p{margin:0;color:var(--muted);font-size:13px}.hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:31px 33px;border:1px solid var(--border);border-radius:16px;background:radial-gradient(ellipse at 95% 10%,#318caa20,transparent 65%),linear-gradient(115deg,var(--surface),var(--raised));position:relative;overflow:hidden;margin-bottom:23px}.hero h1{font-size:32px}.hero p{color:var(--muted);max-width:510px;margin:12px 0 23px}.hero .eyebrow{color:var(--accent)}.hero-date{display:flex;align-items:center;gap:17px;margin-top:20px;color:var(--muted);font-size:12px}.hero-art{width:175px;height:150px;display:flex;align-items:center;justify-content:center;flex:none;position:relative}.hero-art:before,.hero-art:after{content:'';position:absolute;inset:10px 20px;border:1px solid var(--border);border-radius:28px;transform:rotate(-17deg)}.hero-art:after{transform:rotate(13deg);inset:24px 35px}.hero-art img{width:89px;filter:drop-shadow(0 12px 18px #0003);z-index:1}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:26px}.stat{text-align:left;justify-content:initial;align-items:initial;display:flex;flex-direction:column;gap:15px;padding:17px 19px;border-radius:12px;min-height:110px;position:relative}.stat-label{font-size:12px;color:var(--muted)}.stat-top{display:flex;align-items:center;gap:9px}.stat .icon{width:16px;color:var(--accent)}.stat strong{font-size:27px;font-weight:600;letter-spacing:-1px}.stat .red{color:var(--red)}.stat .gold{color:var(--gold)}.stat .green{color:var(--green)}.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px}.panel{border:1px solid var(--border);background:var(--surface);border-radius:13px;overflow:hidden;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 23px;border-bottom:1px solid var(--border);gap:12px;min-height:69px}.panel-head button{font-size:12px;min-height:30px;padding:5px 8px}.panel-body{padding:21px 23px}.panel-stack{display:flex;flex-direction:column;gap:22px}.empty{padding:37px 22px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:195px}.empty .empty-icon{width:51px;height:51px;background:var(--raised);border:1px solid var(--border);border-radius:15px;display:grid;place-items:center;color:var(--accent)}.empty p{margin:0;max-width:330px;font-size:13px}.empty button{margin-top:3px;font-size:12px}.task-row{padding:16px 22px;display:flex;gap:13px;align-items:center;border-bottom:1px solid var(--border)}.task-row:last-child{border-bottom:0}.check-button{width:22px;height:22px;min-height:22px;padding:2px;border-radius:6px;background:transparent;flex:none}.check-button.done{color:var(--accent);background:var(--raised)}.task-detail{flex:1;min-width:0}.task-title{border:0;background:none;text-align:left;justify-content:flex-start;padding:0;min-height:23px;max-width:100%;font-weight:550;border-radius:2px;overflow-wrap:anywhere}.task-title:hover{background:none;color:var(--accent)}.task-meta{font-size:11px;color:var(--muted);display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:6px}.badge{font-size:10px;padding:4px 7px;border-radius:5px;background:var(--raised);color:var(--muted);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.badge.urgent{color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent)}.badge.high{color:var(--gold)}.badge.completed{color:var(--green)}.tag-dot{width:5px;height:5px;background:currentColor;border-radius:50%}.progress-heading{display:flex;justify-content:space-between;align-items:center}.progress-heading strong{font-size:26px;font-weight:500}.progress-track{height:7px;background:var(--border);border-radius:7px;overflow:hidden;margin:18px 0 13px}.progress-track div{height:100%;background:linear-gradient(90deg,var(--green),var(--accent));border-radius:7px}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:18px}.week-day{display:flex;flex-direction:column;gap:10px;padding:10px 3px;min-width:0;background:transparent;border-color:transparent;font-size:12px}.week-day small{font-size:10px;color:var(--muted)}.week-day.today{border-color:var(--accent);background:var(--raised);color:var(--accent)}.day-marker{height:4px;width:4px;border-radius:50%;background:var(--accent)}.day-marker.none{background:transparent}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:19px}.quick-actions button{font-size:12px}.activity-row{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);font-size:12px}.activity-row:last-child{border-bottom:0}.activity-row>.icon{color:var(--muted);width:16px}.activity-row strong{font-weight:500}.activity-row small{display:block;color:var(--muted);margin-top:5px;line-height:1.5}.activity-row time{margin-left:auto;color:var(--muted);white-space:nowrap;font-size:10px}.footer{display:flex;align-items:center;gap:9px;padding:17px 38px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.footer span:last-child{margin-left:auto}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--green)}.status-dot.offline{background:var(--red)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.search{position:relative;flex:1;min-width:180px}.search>.icon{position:absolute;top:12px;left:12px;color:var(--muted);width:17px}.search input{width:100%;padding-left:38px}input,textarea{padding:11px 12px;color:var(--text);width:100%;min-width:0}textarea{resize:vertical;min-height:90px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}.filter-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.filter-chips button{font-size:11px;min-height:32px;padding:6px 10px;background:transparent}.filter-chips button.active{background:var(--raised);border-color:var(--accent);color:var(--accent)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:18px}.record-card{padding:22px;display:flex;flex-direction:column;gap:17px}.record-card>p{font-size:13px;color:var(--muted);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.record-card .record-icon{width:38px;height:38px;background:var(--raised);border-radius:10px;display:grid;place-items:center;color:var(--accent)}.record-card .card-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}.record-card .card-actions button{font-size:12px}.calendar-tools{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.calendar-tools h2{text-transform:capitalize;min-width:190px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-label{padding:13px;text-align:center;color:var(--muted);font-size:11px;border-bottom:1px solid var(--border)}.calendar-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:112px;padding:10px;overflow:hidden}.calendar-day:nth-child(7n){border-right:none}.calendar-day.outside{opacity:.42}.calendar-day.today{background:var(--raised)}.calendar-day>button{font-size:12px;min-height:26px;padding:3px 8px;background:transparent;border-color:transparent}.calendar-day.today>button{color:var(--accent);border-color:var(--accent)}.calendar-event{display:block!important;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left!important;font-size:10px!important;background:var(--raised)!important;border-radius:5px!important;margin-top:4px}.calendar-agenda{display:none}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.setting{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:21px 23px;border-bottom:1px solid var(--border)}.setting:last-child{border:0}.setting p{font-size:12px;margin:7px 0 0;color:var(--muted)}.theme-options{display:flex;gap:7px}.theme-options button.active{border-color:var(--accent);color:var(--accent)}.notice{border:1px solid var(--border);border-left:3px solid var(--gold);padding:15px 18px;border-radius:8px;color:var(--muted);font-size:12px;line-height:1.7;background:var(--surface);margin-top:20px}.connection-error{color:var(--red);border:1px solid var(--red);padding:12px;margin-bottom:20px;border-radius:8px;display:flex;align-items:center;gap:15px}.connection-error button{margin-left:auto}dialog{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:0;max-width:min(620px,calc(100vw - 28px));width:620px;max-height:90dvh;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#030b14a8;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:18px 24px;position:sticky;top:0;background:var(--surface);z-index:1}.dialog-body{padding:24px;display:flex;flex-direction:column;gap:19px}.field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px;font-weight:550}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field select{width:100%}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 24px;border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--surface)}.dialog-footer .archive{margin-right:auto;color:var(--red)}.checklist-editor{display:flex;flex-direction:column;gap:9px}.checklist-entry{display:flex;align-items:center;gap:9px}.checklist-entry input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none}.form-error{color:var(--red);font-size:12px;margin:0;line-height:1.5}.form-hint{font-size:11px;color:var(--muted);line-height:1.6;margin:0}.backdrop{display:none}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--text);color:var(--bg);border-radius:10px;padding:13px 22px;font-size:13px;box-shadow:var(--shadow);transition:transform .2s;z-index:100;max-width:90vw}#toast.visible{transform:translateX(-50%) translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1700px){main{padding-top:44px}.hero{padding:38px 40px}.hero h1{font-size:36px}.hero-art{width:240px}.hero-art img{width:100px}.stats{gap:17px}.stat{min-height:120px}.content-grid{gap:25px}}
@media(max-width:1200px){.topbar{padding:0 24px}.breadcrumb .muted{display:none}main{padding:26px 24px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid{grid-template-columns:1.3fr 1fr}.hero-art{width:130px}.hero h1{font-size:28px}.settings-grid{grid-template-columns:1fr}.stat{min-height:90px;gap:9px}.footer{padding:16px 24px}}
@media(max-width:950px){.content-grid{grid-template-columns:1fr}.hero-art{width:110px}.hero{padding:25px}.top-actions .primary span{display:none}.top-actions .primary{width:39px;padding:9px}.calendar-day{min-height:90px}.calendar-event{padding:3px!important}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;left:0;width:min(300px,86vw);transform:translateX(-105%);transition:transform .2s;height:100dvh;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.sidebar.open .brand div,.sidebar.open .nav-item span,.sidebar.open .section-label,.sidebar.open .local-card,.sidebar.open .brand-slogan{display:initial}.sidebar.open .nav-item{justify-content:flex-start}.sidebar.open .brand{padding-left:10px}.sidebar-collapse,.resizer{display:none!important}.backdrop.visible{display:block;position:fixed;inset:0;background:#030b1499;z-index:19;backdrop-filter:blur(2px)}.mobile-menu{display:inline-flex}.topbar{height:67px;padding:0 16px;gap:10px}.breadcrumb{font-size:12px}.breadcrumb>svg,.breadcrumb>.separator{display:none}.top-actions{gap:6px}.language>.icon{display:none}.language select{max-width:101px;padding-left:8px;font-size:11px}.top-actions .theme-control{display:none}.top-actions .primary{width:35px;min-height:35px}.topbar .icon-button{width:35px;min-height:35px}.hero{padding:22px;margin-bottom:18px}.hero-art{display:none}.hero h1{font-size:27px}.hero p{font-size:12px;margin-bottom:19px}.hero-date{font-size:11px;margin-top:17px}main{padding:22px 16px}.stats{gap:8px;margin-bottom:19px}.stat{padding:13px 11px;gap:10px;min-height:91px}.stat-top{gap:6px;align-items:flex-start}.stat-label{font-size:10px}.stat-top .icon{width:13px;height:13px}.stat strong{font-size:23px}.page-heading{align-items:flex-start}.page-heading h1{font-size:26px}.page-heading>button{font-size:12px}.panel-head{padding:18px}.task-row{padding:15px 18px}.task-row>.badge{display:none}.footer{padding:16px;font-size:9px}.footer span:last-child{max-width:50%;text-align:right}.calendar-grid{display:none}.calendar-agenda{display:block}.calendar-tools{gap:8px}.calendar-tools h2{min-width:0;flex:1;font-size:15px}.calendar-tools .icon-button{width:32px;min-height:32px}.setting{flex-wrap:wrap;padding:20px}.field-row{grid-template-columns:1fr}.dialog-body{padding:20px}.dialog-footer{padding:16px}.dialog-head{padding:16px 20px}.toolbar select{max-width:100%;flex:1}.cards-grid{grid-template-columns:1fr}.activity-row time{white-space:normal;text-align:right;max-width:90px}.hero .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

select option{background:var(--surface);color:var(--text)}
@media(max-width:760px){.sidebar{overflow-y:auto}.sidebar.open .local-card{display:flex}.sidebar.open .brand-slogan{display:block}.sidebar nav,.sidebar .brand,.sidebar-bottom{flex-shrink:0}}
/* Shared fixed workspace and Help Desk alert-header pattern. */
/* Keep both workspace bars in their own rows; only page content scrolls. */
html:has(#app>.shell),body:has(#app>.shell){height:100%;overflow:hidden}
#app:has(>.shell){height:100dvh;overflow:hidden}
.shell{height:100dvh;min-height:0;overflow:hidden}
.main-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;height:100dvh;overflow:hidden}
.sidebar{min-height:0;overflow-y:auto}
.main-shell>main{min-width:0;min-height:0;overflow:auto;overscroll-behavior-y:contain;scroll-padding-block:16px}
.main-shell>.topbar,.main-shell>.footer{position:relative;min-width:0;background:var(--bg)}
.main-shell>.footer{z-index:15;padding-bottom:max(17px,env(safe-area-inset-bottom));overflow-wrap:anywhere}
.topbar{height:auto;min-height:100px;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:12px 24px;flex-shrink:0}.footer{flex-shrink:0}.header-alert-row,.header-controls,.header-navigation,.topbar-actions,.workspace-title{display:flex;align-items:center;gap:10px}.header-controls{justify-content:space-between}.header-alert-row{min-width:0}.header-navigation{flex-shrink:0}.workspace-title{font-size:14px}.alert-strip{display:flex;align-items:center;gap:12px;min-width:0;flex:1;min-height:40px;padding:6px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);font-size:12px}.alert-strip>svg{width:18px;flex-shrink:0}.alert-strip.warning>svg,.alert-strip.warning .alert-dot{color:#e5a147}.alert-strip.danger>svg,.alert-strip.danger .alert-dot{color:#fa7183}.severity{font-size:10px;font-weight:800;text-transform:uppercase;white-space:nowrap;padding:3px 6px;border:1px solid var(--border);border-radius:4px}.ticker-window{overflow:hidden;min-width:0;flex:1;border-left:1px solid var(--border);padding-left:12px}.ticker-track{display:flex;width:max-content;gap:28px;animation:alert-ticker 28s linear infinite}.ticker-track:hover,.ticker-track:focus-within{animation-play-state:paused}.ticker-track button{padding:0;border:0;background:none;white-space:nowrap;font-size:12px}.alert-view{border:0;background:transparent;white-space:nowrap;padding:4px;font-size:11px}.alert-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.alert-strip.clear .ticker-track{animation:none}.alert-strip.clear .alert-dot{color:#58b995}@keyframes alert-ticker{0%,15%{transform:translateX(0)}85%,100%{transform:translateX(-35%)}}.company-picker{margin:12px 14px;display:grid;gap:6px;font-size:11px}.company-picker select{width:100%;min-width:0}.sidebar-bottom{margin-top:auto;padding:12px 0}.sidebar-bottom .nav{width:100%}.collapsed .company-picker,.collapsed .sidebar-bottom .nav span{display:none}.auth-controls{position:fixed;right:24px;top:20px;display:flex;gap:12px;z-index:2}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:80px 20px 30px;background:radial-gradient(ellipse at top,#163b5940,transparent 65%)}.auth-card{max-width:460px;width:100%;padding:32px}.auth-card>img{width:64px;height:64px}.auth-card h1{font-size:24px}.auth-card h2{font-size:20px;margin:28px 0 20px}.auth-card form{display:grid;gap:16px}.boot{padding:40px}.chat-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:440px;height:calc(100dvh - 270px);overflow:hidden}.chat-contacts{border-right:1px solid var(--border);padding:12px;overflow:auto}.contact{display:flex;width:100%;gap:10px;align-items:center;margin-bottom:6px;text-align:left;padding:12px}.contact.active{background:var(--accent-soft);border-color:var(--accent)}.contact-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#3496c526;flex-shrink:0}.conversation{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-thread>header{padding:14px 20px;border-bottom:1px solid var(--border)}.message-thread{flex:1;min-height:0;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.message{max-width:85%;align-self:flex-start;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.message.mine{align-self:flex-end;background:#2299c922}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.message small,.message time{display:block;font-size:10px;opacity:.75;margin-top:6px}.message details{font-size:12px;margin-top:8px}.translation-notice{padding:8px 16px;font-size:12px;color:#d99939}.message-composer{padding:16px;border-top:1px solid var(--border)}.message-composer textarea{width:100%;min-height:76px;resize:vertical}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.composer-actions .form-error{margin:0}.user-list{margin-top:20px;padding:8px}.user-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:16px;background:transparent;text-align:left}.user-row small{display:block;opacity:.7;margin-top:4px}.check-option{display:flex;align-items:center;gap:10px;margin:10px 0}fieldset{border:1px solid var(--border);border-radius:10px;margin-top:14px}.user-dialog{max-width:620px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.connection-error{padding:12px;display:flex;justify-content:space-between;border:1px solid #d99939;margin-bottom:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}
@media(max-width:760px){.topbar{height:auto;min-height:112px;padding:10px 12px;gap:8px}.header-alert-row{gap:6px}.header-navigation{gap:4px}.alert-strip{gap:6px;padding:6px;min-height:38px}.severity{font-size:9px}.alert-view{font-size:10px}.alert-strip>svg{display:none}.header-navigation .icon-button{width:32px;height:34px}.topbar-actions{gap:6px}.topbar-actions select{max-width:125px}.sidebar.open .company-picker{display:grid}.sidebar.open .sidebar-bottom .nav span{display:initial}.chat-layout{grid-template-columns:1fr;height:calc(100dvh - 260px);min-height:400px}.chat-contacts{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border);padding:8px;max-height:80px}.chat-contacts .contact{width:auto;flex-shrink:0;margin:0 6px 0 0;padding:8px}.conversation{min-height:320px}.message-thread{padding:12px}.message-composer{padding:10px}.message-composer .field-row{grid-template-columns:1fr 1fr}.footer{padding:10px 16px}.user-row{font-size:12px}.page-heading h1{font-size:24px}}

/* One continuous toolbar: navigation, alerts, language and appearance. */
.topbar{height:72px;min-height:72px;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:12px;padding:12px 24px}
.header-alert-row{display:flex;align-items:center;flex:1 1 0;min-width:0;gap:10px}
.topbar-actions{display:flex;align-items:center;flex:0 0 auto;gap:10px}
.topbar .icon-button{width:40px;height:40px;min-width:40px;flex-shrink:0;padding:9px;display:inline-flex;align-items:center;justify-content:center}
.topbar .language{display:flex;align-items:center;gap:8px;height:40px}
.topbar .language select{height:40px;width:136px;margin:0}
.topbar .alert-strip{height:40px;min-height:40px;box-sizing:border-box}
.topbar .mobile-menu{display:none}
@media(max-width:760px){
 .topbar{height:64px;min-height:64px;padding:10px 12px;gap:7px}
 .topbar .mobile-menu{display:inline-flex}
 .header-alert-row,.topbar-actions,.header-navigation{gap:5px}
 .topbar .icon-button{width:34px;min-width:34px;height:40px;padding:7px}
 .topbar .language{gap:0}.topbar .language>svg{display:none}
 .topbar .language select{width:92px;max-width:92px;padding:6px}
 .alert-strip .severity,.alert-strip .alert-view{display:none}
 .alert-strip{gap:5px;padding:5px}.alert-strip>svg{display:block;width:16px;flex-shrink:0}
 .alert-strip .ticker-window{min-width:0}.alert-dot{width:5px;height:5px;flex-shrink:0}
}

/* Helpdesk navigation structure, retaining Schedule routes and drawer. */
.sidebar{overflow-y:auto}.sidebar .nav-item{border:1px solid var(--border);border-radius:8px;margin-bottom:8px}.neo-sidebar-group{margin-top:18px}.neo-sidebar-emblem{color:var(--accent);font-weight:800;min-width:22px}.neo-sidebar-group>.nav-item{width:100%}.neo-sidebar-children{border-left:1px solid var(--border);margin:4px 0 16px 12px;padding-left:10px;display:grid;gap:4px}.neo-sidebar-link{background:transparent;text-align:left;border:1px solid transparent;padding:10px 12px;color:var(--muted);font-size:12px}.neo-sidebar-link:hover,.neo-sidebar-link:focus-visible{background:var(--raised);color:var(--accent);border-color:var(--border)}.collapsed .neo-sidebar-children{display:none}.collapsed .neo-sidebar-group>.nav-item>span:not(.neo-sidebar-emblem){display:none}.sidebar.open .neo-sidebar-children{display:grid}.neo-sidebar-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Shared NEO and team conversation frame. */
.neo-room-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.neo-room-heading h1{margin:7px 0}.neo-state{border:1px solid var(--border);border-radius:24px;padding:8px 14px;color:var(--gold);font-size:12px}.neo-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.neo-tabs button[aria-pressed=true],.neo-models button[aria-pressed=true]{border-color:var(--accent);background:var(--hover);color:var(--accent)}.neo-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px}.neo-conversation{overflow:hidden;display:flex;flex-direction:column;min-height:580px}.neo-welcome{padding:44px 30px;text-align:center;flex:1}.neo-emblem{margin:0 auto 22px;display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--accent);border-radius:18px;color:var(--accent);font-size:26px;background:var(--raised)}.neo-welcome h2{font-size:25px}.neo-prompts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px auto 0;max-width:570px}.neo-prompts button{display:flex;justify-content:space-between;text-align:left;padding:17px;gap:15px}.neo-prompts span{color:var(--accent)}.neo-composer{padding:18px;border-top:1px solid var(--border);background:var(--raised)}.neo-composer textarea{width:100%;min-height:95px;resize:vertical}.neo-composer-row{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:12px 0}.neo-composer-row label{display:grid;gap:5px;font-size:12px;flex:1;min-width:130px}.neo-composer select{width:100%;max-width:100%}.neo-composer small{color:var(--muted)}.neo-context,.neo-settings{padding:24px}.neo-context h2,.neo-settings h2{margin-top:0}.neo-context p,.neo-context li{line-height:1.7;color:var(--muted)}.neo-context-stat{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border)}.neo-context h3{margin-top:30px}.neo-models{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.neo-models button{display:grid;text-align:left;gap:15px;padding:22px}.neo-models span,.neo-models small{color:var(--muted)}.neo-settings dl{display:grid;grid-template-columns:1fr 1fr;gap:14px}.neo-settings dd{margin:0;color:var(--muted)}.neo-settings fieldset{border:1px solid var(--border);border-radius:12px;margin:20px 0;padding:18px}.neo-person{display:flex;gap:12px;padding:12px}.neo-proposal{margin:0 20px 20px;padding:20px;border:1px solid var(--accent);border-radius:12px;overflow-wrap:anywhere}.neo-proposal p{white-space:pre-wrap}.neo-room button:focus-visible,.neo-room input:focus-visible,.neo-room textarea:focus-visible,.neo-room select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1000px){.neo-body{grid-template-columns:1fr}.neo-context{display:none}}@media(max-width:600px){.neo-room-heading{align-items:start;flex-direction:column}.neo-welcome{padding:25px 16px}.neo-prompts,.neo-models{grid-template-columns:1fr}.neo-tabs button{flex:1}.neo-settings{padding:18px}.neo-settings dl{grid-template-columns:1fr}.neo-composer-row{align-items:stretch;flex-direction:column}.neo-conversation{min-height:0}}
.neo-sidebar-link[aria-current="page"]{background:var(--raised);color:var(--accent);border-color:var(--border)}
/* Single, quiet conversation frame shared with team messaging. */
.neo-clean{max-width:1100px;margin:auto}.neo-clean-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.neo-clean-header h1{font-size:20px;margin:0}.neo-clean-header select{max-width:200px}.neo-clean-chat{display:flex;flex-direction:column;min-height:460px;height:calc(100dvh - 290px)}.neo-clean-thread{flex:1;display:grid;place-items:center;min-height:150px}.neo-clean-welcome{text-align:center}.neo-clean-welcome h2{font-size:23px;font-weight:500}.neo-clean-composer{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:12px}.neo-clean-composer textarea{width:100%;resize:vertical;border:0;background:transparent;min-height:64px;max-height:200px}.neo-clean-tools,.neo-clean-tools>div{display:flex;align-items:center;gap:6px}.neo-clean-tools{justify-content:space-between}.neo-clean-tools button{min-width:44px;min-height:44px}.neo-clean-tools>div button{background:transparent;border:0;font-size:21px}.neo-send-status,.neo-inline-panel{font-size:13px;color:var(--muted);padding:8px;margin:0}.neo-files{display:flex;flex-wrap:wrap;gap:6px}.neo-files button{font-size:12px}.neo-clean button:focus-visible,.neo-clean select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:760px){.shell{grid-template-columns:minmax(0,1fr)!important}.sidebar:not(.open){visibility:hidden;pointer-events:none}.neo-clean-chat{height:calc(100dvh - 260px);min-height:360px}.neo-clean-header select{max-width:165px}.neo-clean-tools{gap:4px}.neo-clean-tools>div{gap:0}}
.unified-messenger{display:grid;grid-template-columns:230px minmax(0,1fr);height:calc(100dvh - 190px);min-height:480px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}
.room-contacts{padding:12px;border-right:1px solid var(--border);overflow:auto;min-width:0}
.room-list-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 8px}
.room-list-heading button{min-width:40px;min-height:40px}
.room-contact{display:flex;align-items:center;gap:10px;width:100%;padding:12px 10px;margin:4px 0;border:1px solid transparent;background:transparent;text-align:left;border-radius:10px;overflow-wrap:anywhere}
.room-contact.active{background:var(--panel);border-color:var(--accent)}
.contact-avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--bg);color:var(--accent)}
.room-conversation{display:flex;flex-direction:column;min-width:0;min-height:0;padding:16px}
.room-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.room-heading h1{font-size:19px;margin:0}
.room-thread{flex:1;min-height:80px;overflow:auto;padding:16px 0;overflow-wrap:anywhere}
.room-thread>.neo-clean-welcome{display:grid;place-content:center;height:100%;min-height:110px}
.room-group-form{padding:12px;border-bottom:1px solid var(--border);overflow:auto;max-height:55%}
.room-group-form fieldset{border:0;padding:8px 0;display:flex;flex-wrap:wrap;gap:12px}
.room-group-form .check-option{display:flex;align-items:center;gap:8px}
.room-group-form .check-option input{width:auto}
.room-company{display:flex;align-items:center;gap:8px;font-size:12px}
.room-company select{width:auto;max-width:250px}
.neo-clean-composer{flex:none}
@media(max-width:760px){.unified-messenger{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 180px);min-height:460px}.room-contacts{display:flex;gap:6px;align-items:center;border-right:0;border-bottom:1px solid var(--border);padding:8px;overflow-x:auto}.room-list-heading{margin:0;padding:0;flex:none;gap:8px}.room-list-heading strong{display:none}.room-contact{width:auto;flex:none;margin:0;white-space:nowrap;padding:8px}.room-conversation{padding:10px}.room-heading{padding-bottom:8px}.room-group-form{max-height:65%}}

.room-modes{display:flex;gap:8px;margin-bottom:12px}.room-modes button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#071526}.room-composer-fields{border:0;padding:0;margin:0;min-width:0}.room-composer-fields:disabled{opacity:.45}.room-group-form fieldset{max-height:220px;overflow:auto}

.neo-clean{max-width:none;width:100%}.room-send{display:grid;place-items:center;width:44px;height:44px;padding:0;flex:none}.neo-clean-tools button[aria-pressed="true"]{color:var(--accent);background:var(--raised);outline:1px solid var(--accent)}

/* Refine the existing chat frame; preserve its navigation and composer placement. */
.main-shell>main:has(>.neo-clean){display:flex;flex-direction:column;padding:24px;overflow:auto}
.neo-clean{display:flex;flex-direction:column;flex:1;min-height:0}
.neo-clean .unified-messenger{flex:1;height:auto;min-height:400px;border-radius:10px}
.room-modes{gap:4px;align-self:flex-start;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--surface);flex:none}
.room-modes button{min-height:36px;padding:7px 16px;border-radius:6px;border-color:transparent;background:transparent}
.room-modes button[aria-pressed=true]{color:var(--accent-ink);font-weight:650}
.room-modes button:focus-visible{outline-offset:1px}
.room-contacts{background:var(--bg);padding:10px}
.room-list-heading{min-height:40px;margin-bottom:6px;padding:0 8px;font-size:12px;color:var(--muted)}
.room-list-heading button{background:transparent;min-width:36px;min-height:36px;padding:6px;color:var(--text)}
.room-contact{justify-content:flex-start;min-height:48px;padding:8px 10px;border-radius:7px;line-height:1.4}
.room-contact.active{background:var(--raised);border-color:var(--accent);color:var(--text)}
.room-contact>span:last-child{min-width:0;overflow-wrap:anywhere}
.room-contact .contact-avatar{width:30px;height:30px;border-radius:7px;background:var(--surface);font-size:12px;font-weight:650}
.room-heading{min-height:44px;flex-wrap:wrap}
.room-heading h1{font-size:17px;letter-spacing:-.2px;overflow-wrap:anywhere}
.room-thread>.neo-clean-welcome{gap:12px;justify-items:center;padding:16px;text-align:center}
.room-thread .neo-clean-welcome h2{font-size:20px;line-height:1.4;max-width:30ch;margin:0;font-weight:500}
.room-group-form{padding:14px 0;flex-shrink:0}
.room-group-form>label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.room-group-form input[name=groupName]{max-width:440px;font-size:14px;color:var(--text)}
.room-group-form fieldset{gap:8px;align-items:center;margin:12px 0 6px;padding:8px 2px}
.room-group-form legend{font-size:12px;color:var(--muted)}
.room-group-form .check-option{min-height:40px;margin:0;padding:8px 12px;border:1px solid var(--border);border-radius:7px;cursor:pointer;font-size:13px}
.room-group-form .check-option:has(:checked){background:var(--raised);border-color:var(--accent)}
.room-group-form .check-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.room-group-form input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent)}
.room-group-form>button+button{margin-left:8px}
.neo-clean-composer{border-radius:9px;padding:8px;background:var(--bg)}
.neo-clean-composer:focus-within{border-color:var(--accent)}
.neo-clean-composer textarea{padding:10px;max-height:160px}
.neo-clean-composer textarea::placeholder{opacity:1}
.neo-clean-tools>div button{border-radius:7px;color:var(--muted)}
.neo-clean-tools>div button:hover{color:var(--text);background:var(--raised)}
.room-send{border-radius:7px;box-shadow:none!important}
.room-thread:focus-visible{outline-offset:-3px}
.room-conversation{position:relative}
.room-heading h1{flex:1;min-width:0}
.room-recipient-button{font-size:13px;white-space:nowrap;min-height:40px}
.room-heading .room-company{width:auto;max-width:180px;font-size:12px;min-height:40px}
.room-conversation>.room-group-form{position:absolute;z-index:5;top:64px;right:16px;width:min(340px,calc(100% - 32px));max-height:calc(100% - 250px);overflow:auto;margin:0;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 24px #0003}
.room-picker-heading{display:flex;align-items:center;justify-content:space-between;font-size:14px}
.room-picker-heading button{min-width:36px;min-height:36px;padding:4px;background:transparent;border:0;font-size:22px}
.room-group-form fieldset{display:flex;flex-direction:column;align-items:stretch;max-height:none;margin:4px 0;padding:0;border:0}
.room-group-form [data-room-all]{align-self:flex-start;padding:6px 0;background:transparent;border:0;color:var(--accent);font-size:13px;min-height:36px}
.room-group-form .check-option{border:0;padding:8px;min-height:40px}
.room-group-form details{font-size:12px;color:var(--muted);margin:8px 0}
.room-group-form summary{cursor:pointer}
.room-group-form details input{margin-top:8px}
.room-picker-done{width:100%;margin:6px 0 0}
.neo-clean-composer{flex:none;margin-top:8px;background:var(--surface);border-color:var(--muted)}
.neo-clean-composer textarea{min-height:112px;max-height:30dvh;font-size:16px;line-height:1.5;color:var(--text);resize:vertical}
.room-composer-fields{opacity:1}
.room-thread{min-height:0}
.room-thread>.neo-clean-welcome{min-height:0}
@media(max-width:760px){
 .main-shell>main:has(>.neo-clean){padding:12px}
 .neo-clean .unified-messenger{min-height:390px}
 .room-contacts{padding:6px}
 .room-contact{min-height:44px;max-width:220px;white-space:normal}
 .room-group-form{max-height:55%;padding:10px 0}
 .room-group-form fieldset{max-height:150px}
 .room-thread .neo-clean-welcome h2{font-size:17px}
 .room-company{flex-wrap:wrap}.room-company select{max-width:100%}
 .room-conversation>.room-group-form{top:58px;right:10px;width:calc(100% - 20px);max-height:calc(100% - 240px)}
 .neo-clean-composer textarea{min-height:104px}
 .room-heading .room-company{max-width:140px}
}

/* One chat toolbar: mode and recipients share a row, without repeated title strips. */
.neo-clean .unified-messenger{display:flex;min-height:360px}
.unified-messenger>.room-conversation{flex:1;width:100%;padding:12px}
.room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;min-width:0;padding-bottom:10px;border-bottom:1px solid var(--border)}
.room-toolbar .room-modes{margin:0;align-self:auto;gap:2px;padding:2px}
.room-toolbar .room-modes button{padding:7px 12px;min-height:36px}
.room-toolbar .room-recipient-button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;max-width:55%;padding:8px 10px}
.room-recipient-button>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.neo-clean-tools>.room-company{flex:1;min-width:0;width:auto;max-width:180px;height:40px;font-size:12px;margin-left:auto}
.neo-clean-tools>.room-send{margin-left:auto}
.room-conversation>.room-group-form{top:64px}
@media(max-width:760px){
 .main-shell>main:has(>.neo-clean){padding:8px}
 .unified-messenger>.room-conversation{padding:8px}
 .room-toolbar{gap:4px;padding-bottom:8px}
 .room-toolbar .room-modes button{padding:7px 9px;font-size:13px}
 .room-toolbar .room-recipient-button{padding:7px 8px;font-size:12px;max-width:48%}
 .room-conversation>.room-group-form{top:60px}
 .neo-clean-tools>.room-company{max-width:150px}
}
.platform-panel{padding:24px}.platform-panel p{color:var(--muted);line-height:1.6}.platform-panel h3{margin-top:24px}.platform-actions{display:flex;flex-wrap:wrap;gap:10px}.platform-actions .btn{text-decoration:none;min-height:42px;display:inline-flex;align-items:center;padding:8px 14px}.platform-actions [hidden]{display:none}

/* One inbox for direct and group chats; mobile opens one conversation at a time. */
.room-inbox-layout{position:relative}
.room-inbox-layout [hidden]{display:none!important}
.room-inbox-layout>.room-toolbar{padding:8px 12px;min-height:54px;background:var(--surface);border:1px solid var(--border);border-radius:10px 10px 0 0}
.room-inbox-layout .unified-messenger{border-radius:0 0 10px 10px;overflow:hidden;min-height:360px}
.room-new-chat{display:flex;align-items:center;gap:8px;min-height:40px;font-size:13px}
.room-inbox{display:flex;flex-direction:column;flex:0 0 31%;min-width:240px;max-width:360px;border-right:1px solid var(--border);background:var(--surface);min-height:0}
.room-inbox>input{margin:12px;width:calc(100% - 24px);min-height:42px}
.room-chat-list{flex:1;min-height:0;overflow:auto}
.room-chat-row{display:flex;width:100%;align-items:center;gap:12px;min-height:78px;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:12px;text-align:left;background:transparent}
.room-chat-row:hover,.room-chat-row[aria-current=true]{background:var(--raised)}
.room-chat-row[aria-current=true]{box-shadow:inset 3px 0 var(--accent)}
.room-avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--raised);color:var(--accent);font-size:17px;font-weight:600;border:1px solid var(--border)}
.room-chat-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.room-chat-copy strong,.room-chat-copy>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-chat-copy strong{font-size:14px}.room-chat-copy>span{font-size:12px;color:var(--muted)}
.room-chat-meta{display:flex;align-items:flex-end;flex-direction:column;gap:7px;flex:none;font-size:10px;color:var(--muted)}
.room-unread{min-width:20px;height:20px;display:grid;place-items:center;border-radius:12px;background:var(--accent);color:var(--bg);font-weight:700;padding:0 5px}
.room-list-empty{font-size:13px;color:var(--muted);text-align:center;padding:20px 12px}
.room-inbox-layout .room-conversation{position:static}
.room-chat-header{display:flex;align-items:center;gap:8px;min-height:40px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.room-chat-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
.room-chat-header button{display:grid;place-items:center;min-width:40px;min-height:40px;padding:4px}
.room-inbox-layout .room-conversation>.room-group-form{top:60px;right:12px;width:min(360px,calc(100% - 24px));max-height:calc(100% - 76px);z-index:8}
.room-group-form>input[type=search]{width:100%;margin:8px 0;min-height:42px}
.room-inbox-layout .room-thread{padding:16px 4px;display:flex;flex-direction:column;gap:10px}
.room-inbox-layout .message-bubble{align-self:flex-start;max-width:88%;padding:10px 13px;border:1px solid var(--border);border-radius:3px 14px 14px;background:var(--raised)}
.room-inbox-layout .message-bubble.sent{align-self:flex-end;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:14px 3px 14px 14px}
.room-inbox-layout .message-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0;line-height:1.5}
.room-inbox-layout .message-bubble time{display:block;text-align:right;font-size:10px;margin-top:6px}
.room-inbox-layout .message-file{display:block;overflow-wrap:anywhere;margin:6px 0;color:var(--accent)}
.room-inbox-layout .neo-clean-composer textarea{height:72px;min-height:70px;max-height:24dvh;resize:vertical}
@media(max-width:1050px){
 .room-inbox-layout .unified-messenger{min-height:0}
 .room-inbox{flex:1;min-width:0;max-width:none;border-right:0}
 .room-messages.room-chat-open .room-inbox{display:none}
 .room-messages:not(.room-chat-open) .room-conversation{display:contents}
 .room-messages:not(.room-chat-open) .room-thread{display:none}
 .room-inbox-layout>.room-toolbar{padding:6px 8px}
 .room-new-chat{padding:6px 8px;font-size:12px;gap:5px}
 .room-inbox-layout .neo-clean-composer textarea{min-height:64px}
 .room-inbox-layout .room-thread .neo-clean-welcome h2{font-size:17px}
}
/* Message controls appear inside the existing thread, never above the composer. */
.message-bubble { position: relative; padding-inline-end: 2.8rem; }
.message-select { position: absolute; inset-inline-end: .25rem; top: .15rem; border: 0; background: transparent; color: var(--muted, #91a4b9); font-size: 1.25rem; min-width: 36px; min-height: 36px; padding: .2rem; border-radius: .5rem; }
.message-select:hover,.message-select:focus-visible,.message-select.is-selected { background: #159fba26; color: var(--text, inherit); }
.message-selection { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; padding: .45rem; border: 1px solid #8196ad40; border-radius: .6rem; background: var(--surface); box-shadow: 0 4px 20px #0002; }
.message-selection button { min-height: 36px; padding: .3rem .55rem; font-size: .8rem; }

.neo-history-panel{max-height:35vh;overflow:auto;border-bottom:1px solid var(--border);padding:.5rem}.neo-history-row{display:grid;grid-template-columns:24px minmax(0,1fr) 40px;align-items:center;gap:.5rem}.neo-history-row>input[type=checkbox]{width:18px;height:18px;margin:0;justify-self:center}.neo-history-row>button[data-neo-history-open]{min-width:0;justify-content:flex-start;text-align:start}.neo-history-row>button[data-neo-history-rename]{width:40px;padding:8px}.neo-history-row form{display:flex;grid-column:2/-1;gap:.3rem}.neo-history-row input[name=title]{min-width:0;width:100%}.room-modes{flex-wrap:wrap}

/* History belongs to NEO; its menu overlays rather than shrinks the conversation. */
.room-heading{display:flex;align-items:center;gap:8px;min-width:0}.room-heading>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.room-heading>button{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:4px}.room-toolbar>.room-new-chat{flex:none}.room-chat-open>.room-toolbar>.room-new-chat{width:40px;height:40px;padding:8px;justify-content:center}.room-chat-open>.room-toolbar>.room-new-chat>span{display:none}
.neo-menu-anchor{position:relative}.neo-menu-anchor>.neo-history-panel{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:min(390px,calc(100vw - 40px));max-height:55dvh;background:var(--raised);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #0005;padding:10px}.neo-menu-anchor .neo-history-row{min-width:0}.neo-menu-anchor .neo-history-row>button[data-neo-history-open]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-toolbar{overflow:visible}.room-modes{flex-wrap:nowrap}
/* Two permanent controls; conversation lists and contacts open over the thread. */
.room-menu-layout>.room-toolbar{position:relative}
.room-menu-layout .room-modes{gap:6px;padding:0;border:0;background:transparent}
.room-menu-layout .room-modes>div>button{min-height:40px;padding:8px 12px;border:1px solid var(--border);white-space:nowrap}
.room-menu-layout .room-modes>div>button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.room-menu-layout .neo-menu-anchor,.room-messages-anchor{position:static}
.room-menu-layout .neo-history-panel,.room-messages-menu{position:absolute;z-index:40;left:8px;top:calc(100% + 6px);width:min(390px,calc(100vw - 40px));max-height:min(55dvh,480px);overflow:auto;background:var(--raised);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #0005;padding:10px}
.room-menu-layout .room-messages-menu .room-inbox{display:flex;flex-direction:column;min-width:0;max-width:none;width:100%;border:0;padding:0}
.room-messages-menu .room-chat-list{overflow:visible}
.room-messages-menu .room-group-form{position:static;max-height:none;margin:0;padding:0;border:0;box-shadow:none}
.room-menu-layout .room-modes .room-menu-new{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;text-align:start;margin-bottom:8px;background:var(--surface);border:1px solid var(--border)}
.room-messages-menu .room-menu-new svg{width:18px;height:18px;flex:none}
.room-menu-layout .room-modes .room-picker-done{position:sticky;bottom:0;z-index:1;display:block;width:100%;min-height:44px;margin-top:12px;padding:10px 14px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);font-weight:700;opacity:1}
.room-menu-layout .room-modes .room-picker-done:hover{filter:brightness(1.08)}
.room-menu-layout .room-modes .room-picker-done:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.room-recipient{margin-inline-start:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.room-menu-layout.room-messages:not(.room-chat-open) .room-conversation{display:flex}
.room-menu-layout.room-messages:not(.room-chat-open) .room-thread{display:flex}

/* Brief in-app notices use the same palette and never form a full-width bar. */
#toast{width:max-content;max-width:min(340px,calc(100vw - 32px));background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px 14px;line-height:1.4;overflow-wrap:anywhere;pointer-events:none;visibility:hidden;opacity:0;transition:transform .2s,opacity .2s,visibility .2s}
#toast.visible{visibility:visible;opacity:1}
@media(prefers-reduced-motion:reduce){#toast{transition:none}}

/* One task strip: active work stays discoverable without another toolbar. */
.alert-strip.ready{color:var(--success,#63c4a1);border-color:color-mix(in srgb,var(--success,#63c4a1) 35%,transparent)}
.ticker-window{container-type:inline-size}
.ticker-track{animation-duration:var(--ticker-duration,28s)}
@keyframes alert-ticker{0%,3%{transform:translateX(0)}97%,100%{transform:translateX(min(0px,calc(100cqw - 100%)))}}
.ticker-track .task-alert-ready,.ticker-track .task-alert-undated{color:var(--success,#63c4a1)}
.ticker-track .task-alert-upcoming{color:var(--warning,#e9bd67)}
.ticker-track .task-alert-today,.ticker-track .task-alert-overdue{color:var(--danger,#f38c8c)}
.ticker-window:focus-within{overflow:auto}.ticker-window:focus-within .ticker-track{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){.ticker-window{overflow:auto}.ticker-track{animation:none!important}}
/* Keep the task title readable on phones; Home and Install remain in navigation/settings. */
@media(max-width:480px){.topbar .header-navigation [data-page=dashboard],.topbar-actions [data-install]{display:none}.alert-strip>svg,.alert-strip .alert-dot{display:none}.topbar .language select{width:84px;max-width:84px}}

/* One task: enter right, arrive left, grow and pulse, shrink, then exit left. */
.task-carousel{color:var(--text);overflow:hidden}
.task-slide-window{width:100%;min-width:0;overflow:hidden}
.task-slide-motion{width:84%;transform-origin:left center;animation:task-slide-cycle 12s ease-in-out infinite}
.task-slide{display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:0;border:0;background:transparent;text-align:left;font-size:12px}
.task-slide-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;min-width:0}
.task-slide-date{flex:0 0 auto;font-size:10px;white-space:nowrap;color:var(--muted)}
.task-slide.priority-normal{color:var(--success,#63c4a1)}
.task-slide.priority-high{color:var(--warning,#e9bd67)}
.task-slide.priority-urgent{color:var(--danger,#f38c8c)}
.deadline-signal{display:flex;flex-shrink:0;color:var(--muted)}
.deadline-signal svg{width:16px;height:16px}
.deadline-today,.deadline-overdue{color:var(--danger,#f38c8c)}
.deadline-upcoming{color:var(--warning,#e9bd67)}
.task-carousel:hover .task-slide-motion,.task-carousel:focus-within .task-slide-motion,.task-carousel-hidden .task-slide-motion{animation-play-state:paused}
@keyframes task-slide-cycle{
  0%{transform:translateX(100%) scale(1);filter:brightness(1)}
  28%,34%{transform:translateX(0) scale(1);filter:brightness(1)}
  42%,50%,58%,66%{transform:translateX(0) scale(1.18);filter:brightness(1)}
  46%,54%,62%{transform:translateX(0) scale(1.18);filter:brightness(1.65)}
  74%,80%{transform:translateX(0) scale(1);filter:brightness(1)}
  100%{transform:translateX(-100%) scale(1);filter:brightness(1)}
}
@media(prefers-reduced-motion:reduce){.task-slide-motion{animation-name:task-slide-still}@keyframes task-slide-still{from{opacity:1}to{opacity:1}}}
@media(max-width:480px){.task-slide{gap:4px}.task-slide-date{font-size:10px}}

/* Projects reuse the application's panels and fields. */
.project-meta,.project-toolbar,.project-document,.project-document-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.project-meta{margin-bottom:16px}.project-meta small{display:block;color:var(--muted)}
.project-toolbar{justify-content:space-between}.project-files{margin-top:20px;padding:20px}.project-drop{border:1px dashed var(--border);border-radius:12px;padding:18px;text-align:center}
.project-picker{display:inline-flex;align-items:center;gap:6px;position:relative;padding:10px;margin:4px;border:1px solid var(--border);border-radius:8px;cursor:pointer}
.project-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.project-picker:focus-within{outline:2px solid var(--accent)}
.project-document{justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border)}.project-document>div{min-width:0}.project-document strong{overflow-wrap:anywhere}.project-document p{margin:6px 0}.project-document progress{max-width:100%;height:6px;accent-color:var(--accent)}
.project-document-actions a{color:var(--accent)}.project-intake{margin-top:16px;padding:18px}.project-intake summary{cursor:pointer}.project-card{text-align:left;display:block;width:100%}.project-card p{overflow-wrap:anywhere}
@media(max-width:600px){.project-files{padding:12px}.project-document{align-items:flex-start}.project-document-actions{gap:10px}.project-meta{gap:12px}}
/* Keep device AI configuration inside Settings, away from the chat composer. */
.neo-settings{grid-column:1 / -1;min-width:0}
.neo-settings summary{display:flex;align-items:center;gap:.7rem;cursor:pointer;padding:1rem;list-style:none}
.neo-settings summary::before{content:'›';font-size:1.5rem}
.neo-settings details[open] summary::before{transform:rotate(90deg)}
.neo-settings summary h2{margin:0;font-size:1.1rem}
.neo-settings-body{padding:0 1rem 1rem}
.neo-settings-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}
.neo-settings-fields label{display:grid;gap:.4rem;min-width:0}
.neo-settings-fields select{width:100%;min-width:0;max-width:100%}
.neo-fallback{display:flex;align-items:center;gap:.6rem;margin-top:1rem}
.neo-fallback input{width:auto;flex:none}
.neo-settings [role=status]{overflow-wrap:anywhere}
.neo-settings .platform-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.neo-settings summary:focus-visible{outline:2px solid var(--accent,#67d9f1);outline-offset:2px}
/* Projects: a single compact control strip and optional telemetry. */
.project-control-panel{margin-block:16px;padding:18px}
.project-control-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.project-control-actions{display:flex;gap:6px}
.project-control-switch{display:inline-flex;align-items:center;gap:7px;font-size:.9rem}
.project-control-switch input{width:18px;height:18px;margin:0;accent-color:var(--accent)}
[data-watchdog-status]{font-size:.85rem;display:inline-flex;align-items:center;gap:7px}
[data-watchdog-status]::before{content:'';width:8px;height:8px;border-radius:50%;background:#98aab4}
[data-watchdog-status][data-state=standby]::before,[data-watchdog-status][data-state=working]::before,[data-watchdog-status][data-state=scanning]::before{background:#50bd98}
[data-watchdog-status][data-state=error]::before{background:#e7a44b}
.project-telemetry{margin-top:12px;font-size:.9rem}
.project-telemetry summary{cursor:pointer;width:fit-content}
.project-telemetry progress{width:min(100%,360px)}
[data-control-error]:empty{display:none}
.project-folder-field{display:flex;gap:6px;align-items:center}
.project-folder-field input{min-width:0;flex:1}
.project-folder-field button{flex-shrink:0;min-height:44px;min-width:44px}
.project-folder-dialog{width:min(540px,calc(100vw - 32px));max-height:80dvh;padding:24px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px}
.project-folder-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.project-folder-list{display:grid;gap:6px;max-height:45dvh;overflow:auto;margin-block:16px}
.project-folder-list button{text-align:left;overflow-wrap:anywhere}
@media(max-width:600px){.project-control-row{gap:10px}.project-control-row>strong{flex-basis:100%}.project-control-actions button{min-height:44px}.project-folder-dialog{padding:16px}}
/* Connected folders keep the work area compact on desktop and phone. */
[data-device-folders]{margin-top:16px;border-top:1px solid var(--border);padding-top:14px}
.project-device-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;font-weight:600}
[data-device-state]{font-size:.85rem;font-weight:400;color:var(--muted)}
.project-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:8px}
.project-device-slot{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.project-device-slot>span{flex-basis:100%;font-size:.85rem;color:var(--muted)}
.project-device-slot [data-device-connect]{flex:1;min-width:0;text-align:left;min-height:44px}
[data-device-name]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-device-error]:empty{display:none}
[data-device-error]{font-size:.85rem;overflow-wrap:anywhere;white-space:pre-line}
.project-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 10px}
.project-metrics>div{display:flex;flex-direction:column;gap:5px;border-left:2px solid var(--border);padding-left:12px}
.project-metrics strong{font-size:1.5rem;font-variant-numeric:tabular-nums}
.project-metrics span{font-size:.8rem;color:var(--muted)}
.project-metrics progress{width:100%;height:5px;accent-color:var(--accent)}
.project-activity{max-height:240px;overflow:auto;overflow-wrap:anywhere}
.project-telemetry summary{padding:8px 0;min-height:36px}
.project-telemetry summary span{margin-left:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.project-control-panel [hidden]{display:none!important}
@media(max-width:600px){.project-device-grid{grid-template-columns:1fr}.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-device-heading{align-items:start}.project-control-panel{padding:14px}}
/* Project library: one compact toolbar, accessible document workspace. */
.file-library{margin-top:16px;min-width:0}.file-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.file-filters>label:first-child{flex:1;min-width:160px}.file-filters input,.file-filters select{width:100%;min-height:40px;margin:0}.file-table-wrap{overflow:auto;margin-top:12px}.file-table{width:100%;border-collapse:collapse}.file-table th,.file-table td{text-align:left;padding:10px;border-bottom:1px solid var(--border)}.file-table th{font-weight:500;color:var(--muted);font-size:12px}.file-table td:first-child{width:55%;overflow-wrap:anywhere}.file-table td small{display:block;margin-top:3px}.file-name{text-align:left;justify-content:flex-start;padding:4px 0;min-height:32px}.file-state[data-state=ready]{color:var(--green)}.file-state[data-state=dead_letter]{color:var(--red)}.file-viewer{width:min(1080px,94vw);max-height:92dvh;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text)}.file-viewer[open]{display:flex;flex-direction:column}.file-viewer::backdrop{background:#0009}.file-viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}.file-viewer-heading h2{font-size:18px;overflow-wrap:anywhere;margin:0 0 4px}.file-tabs{display:flex;gap:4px;overflow:auto;padding:0 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.file-tabs button{white-space:nowrap;background:transparent}.file-tabs [aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.file-viewer-content{padding:20px;overflow:auto;min-height:240px;max-height:65dvh}.file-viewer footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--border)}.file-preview{width:100%;height:55dvh;object-fit:contain;border:0;background:var(--bg)}.file-passages pre,.file-passage pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.65;padding:12px;background:var(--bg);border-radius:8px}.file-passages details{padding:8px 0}.file-passages pre:target{outline:2px solid var(--accent)}.file-metrics{display:grid;grid-template-columns:auto 1fr;gap:8px 20px}.file-metrics dd{margin:0;overflow-wrap:anywhere}.file-related{display:flex;align-items:center;gap:8px;padding:5px}.file-related input{width:auto}.file-passage{border-bottom:1px solid var(--border);padding:12px 0}.neo-project-context{max-width:40%;display:flex;gap:4px;align-items:center;color:var(--muted);font-size:12px}.neo-project-context span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.neo-sources{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;margin-top:8px}.neo-sources a{color:var(--accent)}
@media(max-width:600px){.file-filters>label{flex:1;min-width:120px}.file-filters>label:first-child{flex-basis:100%}.file-table th:nth-child(3),.file-table td:nth-child(3){display:none}.file-table th,.file-table td{padding:8px 4px}.file-viewer{width:96vw;max-height:94dvh}.file-viewer-heading,.file-viewer-content{padding:12px}.file-tabs{padding:0 8px 8px}.file-tabs button{padding:8px}.file-metrics{grid-template-columns:1fr}.file-metrics dt{color:var(--muted)}.file-metrics dd{margin-bottom:8px}.neo-project-context{max-width:30%}}

.file-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;padding:.5rem 0}.file-collection-search{margin-top:.65rem}.file-collection-search form{display:flex;align-items:end;gap:.5rem;margin:.6rem 0}.file-collection-search .field{flex:1}.file-name{overflow-wrap:anywhere}
.file-knowledge{margin:.5rem 0 1rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:10px}
.file-knowledge summary{cursor:pointer;font-weight:600}
.file-knowledge-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:.75rem;margin:1rem 0}
.file-knowledge-metrics dd{font-size:1.3rem;margin:.25rem 0;font-weight:600}
.file-knowledge-metrics dt{font-size:.85rem}
.file-passages .file-cited-passage{border-inline-start:4px solid var(--accent,#64d2e8);background:color-mix(in srgb,var(--accent,#64d2e8) 14%,transparent);outline:1px solid var(--accent,#64d2e8)}

/* Project file navigation stays within the existing project surface. */
.file-browser{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr);gap:12px}.file-folder-tree{display:flex;flex-direction:column;gap:3px;max-height:520px;overflow:auto;align-self:start}.file-folder-tree button{text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-color:transparent;background:transparent;min-height:40px}.file-folder-tree button[aria-current="location"]{background:var(--panel);border-color:var(--accent);color:var(--text)}.file-filters .file-folder-mobile{display:none}.file-date{font-size:.75rem}.file-browser .file-table-wrap{min-width:0}@media(max-width:700px){.file-browser{display:block}.file-folder-tree{display:none}.file-filters .file-folder-mobile{display:block}}

/* Task Section updates: private badge & visual confirmation */
.badge.private-badge{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:600}
.check-button.pop{animation:checkmark-pop .35s cubic-bezier(0.175,0.885,0.32,1.275)}
@keyframes checkmark-pop{0%{transform:scale(0.8)}50%{transform:scale(1.35);filter:brightness(1.2)}100%{transform:scale(1)}}
.task-row.just-completed{animation:task-complete-flash .6s ease-out;position:relative}
@keyframes task-complete-flash{0%{background:color-mix(in srgb,var(--green) 24%,var(--surface))}100%{background:transparent}}
.task-row.completed-preview .task-title{text-decoration:line-through;opacity:.6;transition:opacity .2s,text-decoration .2s}

/* Project Knowledge: fullscreen document viewer and submitted documents list */
.file-cell-actions{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}
.file-fullscreen-icon{padding:4px;min-height:28px;width:28px;border-radius:6px;color:var(--muted);background:transparent}
.file-fullscreen-icon:hover{color:var(--accent);background:var(--raised)}
.file-viewer-actions{display:inline-flex;align-items:center;gap:6px}
.file-viewer.fullscreen{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;inset:0!important;margin:0!important;border-radius:0!important;border:none!important;z-index:1000!important}
.file-viewer.fullscreen .file-viewer-content{flex:1;max-height:none;height:calc(100dvh - 142px);padding:20px 32px}
.file-viewer.fullscreen .file-preview{height:calc(100dvh - 160px);width:100%}
.file-fullscreen-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;border-radius:8px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);font-weight:550;cursor:pointer;transition:background .15s,border-color .15s}
.file-fullscreen-btn:hover{background:color-mix(in srgb,var(--accent) 26%,transparent);border-color:var(--accent)}
.knowledge-submitted-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.knowledge-submitted-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.knowledge-submitted-head h3{margin:0;font-size:14px;font-weight:600}
.knowledge-docs-list{display:flex;flex-direction:column;gap:8px}
.knowledge-doc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:9px;transition:border-color .15s}
.knowledge-doc-row:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
.knowledge-doc-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.knowledge-doc-info strong{font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.knowledge-doc-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* Services Login & Access Hub */
.services-toolbar{margin-bottom:14px}
.services-search{max-width:440px}
.services-sub-toggles{margin-bottom:20px;display:flex;flex-wrap:wrap;gap:8px}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.service-card{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 2px 8px rgba(0,0,0,0.12);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.service-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 6px 20px rgba(0,0,0,0.22)}
.service-card-top{display:flex;align-items:flex-start;gap:14px}
.service-icon-wrap{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);flex-shrink:0}
.service-icon-wrap svg{width:22px;height:22px}
.service-header-text{flex:1;min-width:0}
.service-header-text h2{font-size:16px;font-weight:650;margin:0 0 3px 0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-header-text .small{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.service-badges{display:flex;flex-wrap:wrap;gap:6px}
.service-credentials{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:9px;background:color-mix(in srgb,var(--panel) 60%,var(--surface));border:1px solid var(--border)}
.service-cred-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cred-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);width:70px;flex-shrink:0}
.cred-field{display:flex;align-items:center;gap:6px;flex:1;min-width:0;justify-content:flex-end}
.cred-val{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;background:var(--surface);padding:4px 8px;border-radius:6px;border:1px solid var(--border);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}
.cred-copy-btn,.cred-eye-btn{width:28px;height:28px;min-height:28px;padding:4px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}
.cred-copy-btn:hover,.cred-eye-btn:hover{color:var(--accent);background:var(--raised);border-color:var(--border)}
.cred-copy-btn.copied{color:var(--green);border-color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}
.service-portal-notice{padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--panel) 40%,transparent);border:1px dashed var(--border);text-align:center}
.service-card-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}
.service-launch-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;background:var(--accent);color:#fff;border:none;cursor:pointer;transition:filter .15s,transform .15s}
.service-launch-btn:hover{filter:brightness(1.12);transform:scale(1.01)}
.service-launch-btn svg{width:16px;height:16px}
@media(max-width:600px){
  .services-grid{grid-template-columns:1fr}
  .service-card{padding:16px}
  .cred-val{max-width:130px}
}
/* Finance stays within the existing Services shell. */
.finance-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}
.finance-tabs button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}
.finance-section-title{font-size:1rem;margin:0;padding:18px 20px 0}
.finance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.finance-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}
.finance-actions .field{margin:0;min-width:180px;flex:1}
.finance-tools{position:relative;padding:10px}
.finance-tools summary{cursor:pointer}
.finance-tools>div{display:flex;gap:8px;padding-top:10px;flex-wrap:wrap}
.finance-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.finance-table th,.finance-table td{padding:10px 6px;border-bottom:1px solid var(--border);text-align:right;overflow-wrap:anywhere}
.finance-table th:first-child,.finance-table td:first-child{text-align:left}
.finance-document{overflow-wrap:anywhere}
.finance-notes{white-space:pre-wrap}
@media(max-width:600px){.finance-fields{grid-template-columns:1fr}.finance-tabs{gap:4px}.finance-tabs button{padding:9px 11px}.finance-table{font-size:.8rem}.finance-table th,.finance-table td{padding:8px 3px}.finance-record{padding:14px 10px;gap:8px}.finance-toolbar .field{min-width:0;width:100%}}
@media print{body:has(.finance-dialog[open])>*:not(#modal-root){display:none!important}.finance-dialog[open]{position:static;width:100%;max-width:none;max-height:none;border:0;box-shadow:none;background:white;color:black}.finance-dialog::backdrop{display:none}.finance-dialog .dialog-head,.finance-dialog .dialog-footer,.finance-dialog .finance-actions{display:none!important}.finance-dialog .dialog-body{overflow:visible;max-height:none}.finance-dialog .muted{color:#444}.finance-dialog .finance-table td,.finance-dialog .finance-table th{border-color:#bbb}}
.finance-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.finance-toolbar .field{min-width:240px;flex:1;margin:0}
.finance-record{display:flex;align-items:center;gap:16px;width:100%;padding:20px;text-align:left;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
.finance-record>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}
.finance-record small{display:block;margin-top:5px;color:var(--muted)}
.finance-dialog{width:min(880px,calc(100vw - 24px))}
.finance-line{display:grid;grid-template-columns:minmax(150px,1fr) 80px 110px 80px 44px;gap:10px;align-items:end;margin-bottom:16px}
.finance-line .field{margin:0}
.finance-line input{width:100%;min-width:0}
.finance-total{display:block;text-align:right;font-size:1.4rem;font-weight:600;margin:18px 0}
@media(max-width:600px){.finance-line{grid-template-columns:1fr 1fr}.finance-line>.field:first-child{grid-column:1/-1}.finance-line>button{justify-self:end}.finance-toolbar .field{min-width:100%}.finance-record{padding:14px;gap:10px}.finance-record>.icon{display:none}}

.finance-file-list {padding-inline-start:1.25rem}
.finance-installment{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:12px;align-items:end;margin-bottom:16px}
.finance-installment .field{margin:0;min-width:0}
.finance-installment input{min-width:0;width:100%}
.finance-plan-balance{display:block;margin-top:16px;font-weight:600}
.finance-plan-balance.is-invalid{color:var(--danger,#ef8c8c)}
.finance-file-list li {margin-block:.75rem}
.finance-file-list small {display:block;color:var(--muted)}
.finance-file-list a,.finance-checksum {overflow-wrap:anywhere}
.finance-neo-answer {white-space:pre-wrap;margin-block:1rem;line-height:1.6}

/* Full-width permanent app chrome; the workspace between the bars scrolls. */
#app>.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:0;overflow:hidden}
.shell>.topbar{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);position:relative;inset:auto;width:100%;height:72px;min-height:72px;padding:0;gap:0;background:var(--sidebar);z-index:25}
.shell>.topbar>.brand{height:100%;min-height:0;padding:10px 28px;overflow:hidden;margin:0}
.workspace-topbar-controls{display:flex;align-items:center;gap:12px;min-width:0;height:100%;padding:12px 24px}
.shell>.sidebar{grid-column:1;grid-row:2;position:relative;top:auto;height:100%;min-height:0;overflow-y:auto;padding-top:16px}
.shell>.main-shell{grid-column:2;grid-row:2;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}
.shell>.main-shell>main{flex:1;min-height:0;overflow:auto}
.shell>.footer{grid-column:1/-1;grid-row:3;position:relative;inset:auto;width:100%;min-width:0;z-index:25;background:var(--sidebar);padding:12px 24px;padding-bottom:max(12px,env(safe-area-inset-bottom));overflow-wrap:anywhere}
#app .shell,#app .shell *{scrollbar-width:none}
#app .shell::-webkit-scrollbar,#app .shell *::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-width:760px){
 #app>.shell{grid-template-columns:minmax(0,1fr)}
 .shell>.topbar{grid-template-columns:44px minmax(0,1fr);height:64px;min-height:64px}
 .shell>.topbar>.brand{padding:8px;gap:0}
 .shell>.topbar>.brand img{width:28px;height:34px}
 .shell>.topbar>.brand div{display:none}
 .workspace-topbar-controls{gap:5px;padding:10px 8px 10px 0}
 .shell>.main-shell{grid-column:1}
 .shell>.sidebar{position:fixed;top:64px;bottom:48px;left:0;height:auto;z-index:20}
 .shell>.footer{padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));min-height:48px}
 .shell>.topbar .header-navigation{display:none}
}

@media(min-width:761px){.shell.collapsed>.topbar>.brand{padding-inline:19px}}

/* Keep navigation collapse beside the company selector, within immediate reach. */
.sidebar-company-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;margin-bottom:8px}
.sidebar-company-row .company-picker{flex:1;min-width:0;margin:0}
.sidebar-company-row .sidebar-collapse{flex:0 0 38px;width:38px;height:38px;padding:8px;margin:0}
.collapsed .sidebar-company-row{justify-content:center}
@media(max-width:760px){.sidebar-company-row .sidebar-collapse{display:inline-flex!important}}

/* Canonical brand symbols; preserve their geometry in every theme. */
.neo-sidebar-emblem{width:24px;height:24px;object-fit:contain;flex:none}.neo-welcome-logo{width:112px;height:112px;object-fit:contain}.boot>img{display:block;margin:0 auto 16px}

/* Collapsed navigation groups; child controls use 80% of the 45px / 14px parent scale. */
.navigation-group>summary{display:flex;gap:10px;cursor:pointer;list-style:none}.navigation-group>summary::-webkit-details-marker{display:none}.navigation-chevron{margin-left:auto;font-size:20px}.navigation-group[open]>summary .navigation-chevron{transform:rotate(90deg)}.navigation-children{margin:0 0 12px 12px;padding-left:10px;border-left:1px solid var(--border)}.navigation-children .nav-item{min-height:36px;padding:8px 11px;font-size:11.2px}.navigation-children .icon,.navigation-children .neo-sidebar-emblem{width:19.2px;height:19.2px}.navigation-group>summary:focus-visible,.email-settings summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.collapsed .navigation-children{margin-left:0;padding-left:0;border:0}.email-settings summary{cursor:pointer;display:flex;align-items:center;gap:12px;padding:20px 24px;list-style:none}.email-settings summary:before{content:'\203a';color:var(--accent);font-size:22px}.email-settings details[open]>summary:before{transform:rotate(90deg)}.email-settings h2{margin:0;font-size:16px}.email-settings-body{padding:0 24px 24px}.email-settings fieldset{border:0;padding:16px 0;margin:0;border-top:1px solid var(--border);min-width:0}.email-settings legend{font-weight:600;padding:0 8px 0 0}.email-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.email-fields input,.email-fields select{width:100%;min-width:0}.email-settings [role=status]{overflow-wrap:anywhere}@media(max-width:560px){.email-fields{grid-template-columns:1fr}.email-settings-body{padding:0 16px 16px}}
