:root{
  --ui-bg:#f4f6f8;--ui-surface:#fff;--ui-ink:#172033;--ui-muted:#64748b;--ui-line:#e2e8f0;
  --ui-nav:#101f38;--ui-nav-soft:#172a49;--ui-blue:#2563eb;--ui-blue-soft:#eff6ff;
  --ui-violet:#7c3aed;--ui-violet-soft:#f5f3ff;--ui-cyan:#0891b2;--ui-cyan-soft:#ecfeff;
  --ui-orange:#ea580c;--ui-orange-soft:#fff7ed;--ui-pink:#db2777;--ui-pink-soft:#fdf2f8;
  --ui-green:#16a34a;--ui-green-soft:#f0fdf4;--ui-amber:#d97706;--ui-amber-soft:#fffbeb;
  --ui-red:#dc2626;--ui-red-soft:#fef2f2;--ui-sidebar:248px;
  background:var(--ui-bg);color:var(--ui-ink)
}
html,body{background:var(--ui-bg);color:var(--ui-ink)}body.app-authenticated{padding-left:var(--ui-sidebar)}
.app-authenticated .app-header{position:fixed;inset:0 auto 0 0;z-index:100;width:var(--ui-sidebar);height:100vh;padding:22px 14px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;border:0;background:var(--ui-nav);color:#fff;box-shadow:10px 0 32px rgba(15,31,56,.08);backdrop-filter:none;-webkit-backdrop-filter:none}
.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;margin:0!important;border-radius:11px;background:linear-gradient(145deg,#3b82f6,#4f46e5);color:#fff!important;font-weight:800;box-shadow:0 8px 18px rgba(37,99,235,.28)}.brand-copy{display:grid!important;min-width:0;gap:2px!important;margin:0!important}.brand-copy b{color:#fff;font-size:16px;font-weight:750;white-space:nowrap}.brand-copy small{color:#94a3b8;font-size:11px;white-space:nowrap}.portal-return{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;margin-left:auto;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.08);color:#cbd5e1;font-size:20px;font-weight:900;text-decoration:none;transition:background .18s,color .18s,transform .18s}.portal-return:hover{background:#2563eb;color:#fff;transform:translateX(-2px)}
.app-nav{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin-top:22px;color:#cbd5e1;font-size:14px}.nav-link,.nav-section>summary{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border:0;border-radius:10px;background:transparent!important;color:#cbd5e1!important;font-size:14px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;list-style:none;transition:background .18s,color .18s,transform .18s}.nav-link:hover,.nav-link.active,.nav-section>summary:hover,.nav-section>summary.active{background:var(--ui-nav-soft)!important;color:#fff!important;transform:translateX(2px)}.nav-link.active,.nav-section>summary.active{box-shadow:inset 3px 0 var(--ui-blue)}.nav-section>summary::-webkit-details-marker{display:none}.nav-section>summary:after{content:'⌄';margin-left:auto;color:#64748b;font-size:14px}.nav-section:not([open])>summary:after{transform:rotate(-90deg)}
.nav-icon{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:8px;background:rgba(234,88,12,.17);color:#fb923c;font-size:12px;font-weight:900}.nav-safety .nav-icon{background:rgba(219,39,119,.2);color:#f472b6}.report-icon{background:rgba(37,99,235,.2);color:#60a5fa}.nav-settings .nav-icon{background:rgba(8,145,178,.2);color:#22d3ee}.nav-newcomer .nav-icon{background:rgba(124,58,237,.2);color:#a78bfa}
.app-header .admin-menu-panel{position:static;display:grid;min-width:0;margin:3px 0 5px 47px;padding:2px 0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.app-header .admin-menu-panel a{padding:7px 10px;border-radius:7px;color:#94a3b8!important;font-size:13px;font-weight:550;text-decoration:none}.app-header .admin-menu-panel a:hover,.app-header .admin-menu-panel a.active{background:rgba(255,255,255,.08);color:#fff!important}.admin-submenu{display:grid;grid-column:1/-1}.admin-submenu>summary{display:flex;min-height:38px;padding:7px 10px;align-items:center;border-radius:7px;color:#94a3b8;font-size:13px;font-weight:650;cursor:pointer;list-style:none}.admin-submenu>summary::-webkit-details-marker{display:none}.admin-submenu>summary::before{content:'▸';width:17px;color:#64748b}.admin-submenu[open]>summary::before{content:'▾'}.admin-submenu>summary:hover{background:rgba(255,255,255,.08);color:#fff}.admin-submenu-panel{display:grid;grid-template-columns:1fr;margin-left:14px;padding-left:6px;border-left:1px solid rgba(255,255,255,.1)}.nav-safety-badge{top:5px;right:8px;min-width:21px;height:21px;border-color:var(--ui-nav);background:var(--ui-red);box-shadow:none}
.account-panel{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto;padding:16px 8px 0;border-top:1px solid rgba(255,255,255,.1)}.account-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eef2ff;color:#3730a3;font-weight:800}.app-header .identity{display:grid;gap:2px;min-width:0;color:#fff;font-size:13px}.app-header .identity b{overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:13px}.app-header .identity small{overflow:hidden;text-overflow:ellipsis;color:#94a3b8;font-size:10px;white-space:nowrap}.app-header .nav-logout{margin:0;color:#94a3b8;font-size:12px;text-decoration:none}.app-header .nav-logout:hover{color:#fff}.mobile-menu-toggle{display:none}
.app-authenticated .app-main{max-width:1480px;margin:0 auto;padding:32px clamp(24px,3.2vw,48px)}
.card{border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface);box-shadow:0 4px 18px rgba(15,31,56,.055);transition:border-color .18s,box-shadow .18s}.card:hover{border-color:#cbd5e1;box-shadow:0 8px 26px rgba(15,31,56,.075)}h1,h2,h3{color:var(--ui-ink)}p,.hint,.empty{color:var(--ui-muted)}
input,select,textarea,button,.button{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:var(--ui-ink)}input:focus,select:focus,textarea:focus{border-color:var(--ui-blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}button,.button{font-weight:650}.primary,.primary:hover{border-color:var(--ui-blue);background:var(--ui-blue);color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.18)}.secondary{border-color:var(--ui-blue);background:#fff;color:var(--ui-blue)}
table{border-color:var(--ui-line);color:var(--ui-ink)}th,td{border-bottom-color:var(--ui-line)}th{background:#f8fafc;color:#475569}tbody tr:hover{background:#f8fafc}
.flash.success,.success{border-color:#bbf7d0;background:var(--ui-green-soft);color:#166534}.flash.error,.error{border-color:#fecaca;background:var(--ui-red-soft);color:#991b1b}.unsaved{background:var(--ui-amber-soft);color:#92400e}
.display-hero,.settings-hero,.offender-hero,.fine-hero,.safety-hero,.regularized-heading,.hidden-heading,.newcomer-heading{border:0;border-radius:18px;box-shadow:0 10px 28px rgba(15,31,56,.12)}.display-hero{background:linear-gradient(135deg,#1d4ed8,#2563eb)}.settings-hero{background:linear-gradient(135deg,#0e7490,#0891b2)}.offender-hero{background:linear-gradient(135deg,#9a3412,#ea580c)}.fine-hero{background:linear-gradient(135deg,#5b21b6,#7c3aed)}.safety-hero{background:linear-gradient(135deg,#9d174d,#db2777)}.regularized-heading{background:linear-gradient(135deg,#166534,#16a34a)}.hidden-heading{background:linear-gradient(135deg,#0e7490,#0891b2)}.newcomer-heading{background:linear-gradient(135deg,#5b21b6,#7c3aed)}
.display-hero h1,.settings-hero h1,.offender-hero h1,.fine-hero h1,.safety-hero h1,.regularized-heading h1,.hidden-heading h1{color:#fff}.display-hero p,.settings-hero p,.offender-hero p,.fine-hero p,.safety-hero p,.regularized-heading p,.regularized-heading span,.hidden-heading p{color:rgba(255,255,255,.78)}.eyebrow,.safety-hero small{color:rgba(255,255,255,.72)}
.safety-hero .secondary,.history-button{border-color:#fff;background:#fff;color:var(--ui-pink)}.safety-hero .secondary:hover,.history-button:hover{border-color:#fff;background:#fff;color:#9d174d}
.safety-toolbar{border-top:3px solid var(--ui-blue);background:linear-gradient(90deg,var(--ui-blue-soft),#fff 34%)}.safety-kpis article{border:1px solid #bfdbfe;border-top:3px solid var(--ui-blue);border-radius:12px;background:var(--ui-blue-soft)}.safety-kpis article strong{color:var(--ui-blue)}.safety-kpis .ok{border-color:#bbf7d0;border-top-color:var(--ui-green);background:var(--ui-green-soft)}.safety-kpis .ok strong{color:var(--ui-green)}.safety-kpis .danger{border-color:#fecaca;border-top-color:var(--ui-red);background:var(--ui-red-soft)}.safety-kpis .danger strong{color:var(--ui-red)}.safety-kpis .stopped{border-color:#fde68a;border-top-color:var(--ui-amber);background:var(--ui-amber-soft)}.safety-kpis .stopped strong{color:var(--ui-amber)}
.safety-hall{border-top:3px solid var(--ui-blue)}.safety-hall:nth-child(4n+2){border-top-color:var(--ui-cyan)}.safety-hall:nth-child(4n+3){border-top-color:var(--ui-violet)}.safety-hall:nth-child(4n+4){border-top-color:var(--ui-orange)}.safety-hall>header,.safety-records>header{background:#fff;border-bottom-color:var(--ui-line)}.safety-hall:nth-child(4n+1)>header{background:linear-gradient(90deg,var(--ui-blue-soft),#fff)}.safety-hall:nth-child(4n+2)>header{background:linear-gradient(90deg,var(--ui-cyan-soft),#fff)}.safety-hall:nth-child(4n+3)>header{background:linear-gradient(90deg,var(--ui-violet-soft),#fff)}.safety-hall:nth-child(4n+4)>header{background:linear-gradient(90deg,var(--ui-orange-soft),#fff)}.safety-anchor{border-color:var(--ui-line);background:#f8fafc}.safety-anchor.confirmed{border-color:#bbf7d0;background:var(--ui-green-soft)}.safety-anchor.missing{border-color:#fecaca;background:var(--ui-red-soft)}.safety-records{border-top:3px solid var(--ui-violet)}.safety-records>header{background:linear-gradient(90deg,var(--ui-violet-soft),#fff)}.safety-records th{background:var(--ui-violet-soft);color:#5b21b6}
.fine-settings>div,.fine-kpis span,.summary-chips span,.rate-pills span,.audit-grid>div{border-color:var(--ui-line);border-radius:9px;background:#f8fafc}.fine-module{border-top:3px solid var(--ui-violet)}.fine-module thead th,.fine-module tfoot th{background:var(--ui-violet-soft);color:#5b21b6}.offender-module{border-top:3px solid var(--ui-orange)}.settings-section{border-top:3px solid var(--ui-cyan)}.settings-section>header,.settings-section>summary{background:var(--ui-cyan-soft)}.settings-section>header .step,.settings-section>summary .step{background:var(--ui-cyan)}.newcomer-group{border-top:3px solid var(--ui-violet)}.newcomer-group-title{background:var(--ui-violet-soft)}.newcomer-group-title h2,.newcomer-group-title span{color:#5b21b6}.manual-change-summary{border-top:3px solid var(--ui-pink)}.status-admin{border-top:3px solid var(--ui-orange)}.time-settings{border-top-color:var(--ui-cyan)}.charm-bonus{border-top-color:var(--ui-violet)}.reports{border-top:3px solid var(--ui-violet)}
.daily-account-merge{box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:10px 14px;width:100%;margin-top:14px;padding:11px 13px;border:1px solid #c7d7ef;border-radius:10px;background:linear-gradient(90deg,var(--ui-blue-soft),#fff)}.merge-copy{align-self:center;white-space:nowrap}.merge-copy b{color:#1d4ed8;font-size:14px}.merge-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px;min-width:0}.merge-fields label{display:grid;min-width:0;gap:4px;color:#475569;font-size:11px;font-weight:700}.merge-fields input{box-sizing:border-box;width:100%;min-width:0;height:40px;padding:8px 10px}.merge-plus{padding-bottom:9px;color:var(--ui-blue);font-size:18px;font-weight:900}.saved-merges{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:9px;border-top:1px solid #d9e4f2}.saved-merges>span{color:#64748b;font-size:12px;font-weight:700}.saved-merges label{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;background:#fff;color:#334155;font-size:12px}.saved-merges input{width:16px;height:16px;margin:0}
.app-public .app-header{height:64px;padding:0 max(20px,5vw);display:flex;align-items:center;border-bottom:1px solid var(--ui-line);background:#fff;color:var(--ui-ink);backdrop-filter:none}.app-public .brand{padding:0;border:0}.app-public .brand-copy b{color:var(--ui-ink)}.app-public .app-main{max-width:520px}

/* Safety page layout: give controls and lists enough room at every viewport. */
.safety-hero{min-height:164px;padding:30px 34px;gap:24px}.safety-hero>div:first-child{max-width:760px}.safety-hero h1{margin:8px 0 6px;line-height:1.12}.safety-hero p{max-width:700px;line-height:1.65}.safety-hero-actions{flex:0 0 auto}
.safety-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 24px;padding:22px 24px}.safety-filter{display:grid;grid-template-columns:minmax(170px,.72fr) minmax(240px,1fr) auto;gap:14px;align-items:end;min-width:0}.safety-toolbar label{min-width:0}.safety-toolbar input{width:100%;min-width:0}.safety-toolbar button,.safety-hero .secondary{min-height:44px;padding-inline:18px;white-space:nowrap}.safety-toolbar>form:not(.safety-filter){display:flex;align-items:end}.sync-state{grid-column:1/-1;margin:0;padding-top:14px;border-top:1px solid var(--ui-line);line-height:1.55}
.safety-kpis{gap:18px;margin:22px 0}.safety-kpis article{min-height:112px;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.safety-kpis span{font-size:14px}.safety-kpis strong{line-height:1;font-size:34px}
.safety-halls{grid-template-columns:repeat(2,minmax(480px,1fr));gap:22px}.safety-hall>header,.safety-records>header{gap:20px;padding:20px 22px}.safety-hall h2{font-size:22px}.safety-anchor-grid{padding:16px;gap:10px}.safety-anchor{min-width:0;min-height:64px;padding:11px 13px}.safety-records{margin-top:22px}.table-scroll{overscroll-behavior-inline:contain}
@media(max-width:1320px){
  .safety-halls{grid-template-columns:1fr}.safety-anchor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1120px){
  .safety-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.safety-toolbar{grid-template-columns:1fr}.safety-toolbar>form:not(.safety-filter){grid-row:2}.sync-state{grid-row:3}
}
@media(max-width:1024px){
  body.app-authenticated{padding-left:0;padding-top:66px}.app-authenticated .app-header{inset:0 0 auto;width:100%;height:66px;padding:10px 14px;flex-direction:row;align-items:center}.brand{padding:0;border:0}.brand-copy small{display:none}.mobile-menu-toggle{display:grid;place-items:center;width:42px;height:42px;margin-left:auto;padding:0;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:24px;line-height:1}.app-nav{position:fixed;z-index:110;inset:66px 0 auto;display:none;height:calc(100dvh - 66px);overflow:auto;margin:0;padding:14px 14px 32px;background:var(--ui-nav);box-shadow:0 18px 40px rgba(15,31,56,.28)}.mobile-nav-open{overflow:hidden}.mobile-nav-open:after{content:'';position:fixed;z-index:90;inset:66px 0 0;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}.mobile-nav-open .app-nav{display:flex}.account-panel{margin:0 0 0 8px;padding:0;border:0}.account-panel .identity,.account-panel .nav-logout{display:none}.app-authenticated .app-main{margin:0;padding:24px clamp(14px,3vw,28px)}.card{border-radius:12px}.display-hero,.settings-hero,.offender-hero,.fine-hero,.safety-hero,.regularized-heading,.hidden-heading{border-radius:16px}
}
@media(max-width:700px){
  .app-authenticated .app-main{padding:14px 10px 28px}.brand-mark{width:36px;height:36px}.brand-copy b{font-size:15px}.account-avatar{width:36px;height:36px}.safety-hero{min-height:0;padding:22px 20px;align-items:stretch;flex-direction:column;gap:18px}.safety-hero h1{font-size:28px}.safety-hero p{margin-bottom:0;font-size:14px}.safety-hero-actions,.safety-hero-actions .secondary{width:100%}.safety-hero-actions .secondary{display:flex;align-items:center;justify-content:center}.safety-toolbar{margin-top:14px;padding:18px 16px;gap:16px}.safety-filter{grid-template-columns:1fr}.safety-toolbar>form:not(.safety-filter),.safety-toolbar>form:not(.safety-filter) button,.safety-filter button{width:100%}.sync-state{font-size:12px;overflow-wrap:anywhere}.safety-kpis{gap:10px;margin:14px 0}.safety-kpis article{min-height:94px;padding:15px}.safety-kpis span{font-size:12px}.safety-kpis strong{font-size:30px}.safety-halls{gap:14px}.safety-hall>header,.safety-records>header{align-items:flex-start;flex-direction:column;gap:10px;padding:17px 16px}.hall-numbers{white-space:normal}.safety-anchor-grid{grid-template-columns:1fr;padding:12px;gap:8px}.safety-anchor{min-height:60px}.safety-records{margin-top:14px}.safety-records th,.safety-records td{padding:11px 12px}.table-scroll{-webkit-overflow-scrolling:touch}
}
@media(max-width:390px){
  .safety-kpis{grid-template-columns:1fr 1fr}.safety-kpis article{min-height:86px;padding:13px}.safety-kpis strong{font-size:28px}.safety-hero h1{font-size:25px}.safety-hall h2{font-size:20px}.safety-anchor{gap:6px;padding:10px}.safety-anchor span{font-size:12px}
}
@media(max-width:640px){
  .daily-account-merge{grid-template-columns:1fr;gap:12px;margin-top:12px;padding:13px}
  .merge-fields{grid-template-columns:1fr;gap:9px}
  .merge-plus{display:none}
  .merge-fields input{min-height:46px;font-size:16px}
  .saved-merges{align-items:stretch;flex-direction:column}
  .saved-merges label{min-height:42px}
}

/* Mobile workspace reset: keep the shared header compact and make primary actions thumb-friendly. */
@media(max-width:700px){
  html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
  body.app-authenticated{min-width:0;padding-top:58px;overflow-x:hidden;background:#f1f5f9}
  .app-authenticated .app-header{box-sizing:border-box;display:flex;width:100%;height:58px;min-height:58px;padding:8px 10px;gap:8px;align-items:center;flex-direction:row;overflow:visible}
  .app-authenticated .app-header span{margin-left:0}
  .app-authenticated .app-header>.brand{display:flex;flex:0 1 auto;width:auto;min-width:0;height:42px;padding:0;gap:8px;align-items:center}
  .app-authenticated .brand-mark{flex:0 0 32px;width:32px;height:32px;border-radius:9px;font-size:13px}
  .app-authenticated .brand-copy{flex:0 1 auto;width:auto!important;min-width:0}
  .app-authenticated .brand-copy b{overflow:hidden;max-width:112px;text-overflow:ellipsis;font-size:15px;line-height:1.2}
  .app-authenticated .brand-copy small{display:none}
  .app-authenticated .portal-return{flex:0 0 34px;width:34px;height:34px;margin-left:0;border-radius:9px;font-size:18px}
  .app-authenticated .mobile-menu-toggle{flex:0 0 40px;width:40px;height:40px;min-height:40px;margin-left:auto;padding:0;border-radius:10px;font-size:22px}
  .app-authenticated .account-panel{display:flex;flex:0 0 34px;width:34px;margin:0 0 0 2px;padding:0;gap:0;border:0}
  .app-authenticated .account-avatar{flex:0 0 34px;width:34px;height:34px;font-size:13px}
  .app-authenticated .app-nav{box-sizing:border-box;inset:58px 0 0;width:100%;height:calc(100dvh - 58px);padding:14px 14px calc(28px + env(safe-area-inset-bottom));gap:7px;align-items:stretch;overflow-y:auto;overscroll-behavior:contain}
  .mobile-nav-open:after{inset:58px 0 0}
  .app-authenticated .nav-link,.app-authenticated .nav-section>summary{min-height:48px;padding:10px 12px;font-size:15px}
  .app-authenticated .app-header .admin-menu-panel{grid-template-columns:1fr 1fr;margin:4px 0 8px 38px;padding:3px 0;gap:3px}
  .app-authenticated .app-header .admin-menu-panel a{display:flex;min-height:42px;padding:9px 10px;align-items:center;font-size:13px;white-space:normal}

  .app-authenticated .app-main{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:12px 10px calc(28px + env(safe-area-inset-bottom));overflow:visible}
  .app-authenticated .card{max-width:100%;padding:14px;border-radius:14px;box-shadow:0 3px 14px rgba(15,31,56,.06)}
  .app-authenticated h1{font-size:28px;line-height:1.12}
  .app-authenticated h2{font-size:18px;line-height:1.3}
  .app-authenticated p,.app-authenticated .hint{line-height:1.55}
  .app-authenticated input,.app-authenticated select,.app-authenticated textarea{max-width:100%;min-height:46px;font-size:16px}
  .app-authenticated button,.app-authenticated .button{min-height:44px;touch-action:manipulation}

  .app-authenticated .display-hero,.app-authenticated .settings-hero,.app-authenticated .offender-hero,.app-authenticated .fine-hero,.app-authenticated .safety-hero,.app-authenticated .regularized-heading,.app-authenticated .hidden-heading,.app-authenticated .newcomer-heading{min-height:0;margin-bottom:10px;padding:17px 16px;gap:12px;border-radius:15px}
  .app-authenticated .display-hero h1,.app-authenticated .settings-hero h1,.app-authenticated .offender-hero h1,.app-authenticated .fine-hero h1,.app-authenticated .safety-hero h1{margin:3px 0 5px;font-size:28px}
  .app-authenticated .display-hero .eyebrow{margin:0 0 4px;font-size:10px;letter-spacing:.12em}
  .app-authenticated .display-hero p,.app-authenticated .settings-hero p,.app-authenticated .offender-hero p,.app-authenticated .fine-hero p,.app-authenticated .safety-hero p{margin:0;font-size:13px;line-height:1.45}
  .app-authenticated .display-hero>.button,.app-authenticated .settings-hero>.button{display:grid;width:100%;min-height:44px;margin:0;place-items:center;padding:9px 12px}

  .app-authenticated .display-toolbar{padding:14px;gap:12px}
  .app-authenticated #dashboard-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:10px}
  .app-authenticated #dashboard-filter label{min-width:0;gap:5px;font-size:13px}
  .app-authenticated #dashboard-filter .anchor-search{grid-column:1/-1;margin:0}
  .app-authenticated #dashboard-filter input,.app-authenticated #dashboard-filter select{box-sizing:border-box;width:100%;min-width:0}
  .app-authenticated .anchor-search-results{right:0;width:auto;max-height:52vh}
  .app-authenticated .generation-form{display:grid!important;width:100%;gap:8px!important}
  .app-authenticated .generation-form .last-generation{overflow-wrap:anywhere;font-size:12px;line-height:1.5;text-align:left;white-space:normal}
  .app-authenticated .generation-form .primary{width:100%;min-height:48px;font-size:16px}

  .app-authenticated .mobile-quick-actions{top:66px;margin-bottom:10px;padding:5px;gap:5px;border-radius:12px}
  .app-authenticated .mobile-quick-actions a{min-height:40px;padding:6px;font-size:13px}
  .app-authenticated .display-summary{padding:13px;margin-bottom:10px}
  .app-authenticated .display-summary h2{margin-bottom:10px;font-size:16px}
  .app-authenticated .summary-chips{gap:6px}
  .app-authenticated .summary-chips span{min-width:0;padding:8px 10px;align-items:flex-start;font-size:12px;line-height:1.35}
  .app-authenticated .summary-chips b{min-width:0;overflow-wrap:anywhere}

  .app-authenticated .daily-status-work>.card{padding:12px}
  .app-authenticated .daily-status-work>.card>h2{margin-bottom:6px}
  .app-authenticated .daily-status-work>.card>.hint{margin-top:0;font-size:12px}
  .app-authenticated .daily-status-table tr{gap:8px;padding:11px;margin-bottom:8px;border-radius:12px}
  .app-authenticated .daily-status-table td:nth-child(n+4){min-height:48px;align-content:start}
  .app-authenticated .daily-status-table td:nth-child(n+4)::before{min-height:22px}
  .app-authenticated .daily-status-table input[type=checkbox]{width:26px;height:26px}
  .app-authenticated .daily-account-merge{padding:11px;gap:9px}
  .app-authenticated .merge-copy b{font-size:13px}
  .app-authenticated .settings-savebar{bottom:0;margin:10px -4px -4px;padding:8px 4px calc(4px + env(safe-area-inset-bottom));gap:6px;box-shadow:0 -7px 18px rgba(15,31,56,.06)}
  .app-authenticated .settings-savebar span{font-size:12px;text-align:center}
  .app-authenticated .settings-savebar button{min-height:48px;font-size:16px}

  .app-authenticated .table-scroll,.app-authenticated .change-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .app-authenticated .reports{padding:13px}
  .app-authenticated .report-grid{gap:12px}
  .app-authenticated .report{padding:6px 0 12px}
  .app-authenticated .report>div{gap:7px}
  .app-authenticated .report .button{display:grid;min-height:44px;place-items:center}
}

@media(max-width:360px){
  .app-authenticated .brand-copy b{max-width:96px;font-size:14px}
  .app-authenticated .app-header{padding-inline:8px;gap:6px}
  .app-authenticated .portal-return{flex-basis:32px;width:32px;height:32px}
  .app-authenticated #dashboard-filter{grid-template-columns:1fr}
  .app-authenticated #dashboard-filter .anchor-search{grid-column:auto}
  .app-authenticated .app-header .admin-menu-panel{grid-template-columns:1fr}
}

.nav-task-badge{position:absolute;top:5px;right:8px;display:flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;border:2px solid var(--ui-nav);border-radius:999px;background:var(--ui-red);color:#fff;font-size:12px;font-weight:850;line-height:1;box-shadow:0 2px 7px rgba(185,28,28,.28)}
