/* Sitecare — one palette, shared surfaces and purposeful motion. */
:root{
 --app-bg:#f3f6f8;--app-surface:#ffffff;--app-soft:#f0f4f7;--app-ink:#243642;--app-muted:#60727e;--app-line:#dce5eb;
 --app-primary:#176b9b;--app-primary-hover:#12567e;--app-primary-soft:#e9f3f9;--app-primary-text:#145f8a;--app-focus:#237da9;--app-button-ink:#fff;
 --app-accent:#ce852f;--app-accent-soft:#fff3e1;--app-accent-text:#935d17;
 --app-urgent:#ba3552;--app-urgent-soft:#fcecf0;--app-warning:#956016;--app-warning-soft:#fff4df;
 --app-success:#24715a;--app-success-soft:#e8f5ee;--app-info:#3d67b0;--app-info-soft:#edf2fc;
 --app-sidebar:#ffffff;--app-sidebar-muted:#60727e;--app-shadow:0 5px 22px #24223e05;
 --energy-peak:#d47a40;--energy-semi:#6982b3;--energy-sat:#9f8c4b;--energy-off:#39846c;--energy-unclassified:#9697a6;
 --app-navy:var(--app-ink);--app-blue:var(--app-primary);--app-cyan:var(--app-accent);--app-amber:var(--app-warning);
 --ink:var(--app-ink);--muted:var(--app-muted);--line:var(--app-line);--brand:var(--app-primary);
 --ease-app:cubic-bezier(.2,.8,.2,1);--motion-fast:160ms;--motion-panel:260ms;
 font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;color:var(--app-ink);background:var(--app-bg);line-height:1.6;
}
html[data-theme=dark]{
 --app-bg:#141e25;--app-surface:#1c2a34;--app-soft:#253642;--app-ink:#edf3f6;--app-muted:#aabecb;--app-line:#354955;
 --app-primary:#83c6ef;--app-primary-hover:#a5d8f6;--app-primary-soft:#263f51;--app-primary-text:#a3d6f3;--app-focus:#83c6ef;--app-button-ink:#122631;
 --app-accent:#efaa73;--app-accent-soft:#423022;--app-accent-text:#ffc491;
 --app-urgent:#ff9daf;--app-urgent-soft:#442735;--app-warning:#f1c57c;--app-warning-soft:#3b3125;
 --app-success:#8fdec0;--app-success-soft:#243c34;--app-info:#a6bffd;--app-info-soft:#28344c;
 --app-sidebar:#18232c;--app-sidebar-muted:#60727e;--app-shadow:0 5px 22px #0000000a;
 --energy-peak:#f4ad77;--energy-semi:#a3bbdf;--energy-sat:#d3c28a;--energy-off:#8dd0b3;--energy-unclassified:#9699ac;
 --ink:var(--app-ink);--muted:var(--app-muted);--line:var(--app-line);--brand:var(--app-primary);
 color:var(--app-ink);background:var(--app-bg);
}
body,html[data-theme=dark] body{background:var(--app-bg);color:var(--app-ink)}
body{font-size:1.0rem}h1,h2,h3,html[data-theme=dark] :is(h1,h2,h3){color:var(--app-ink);line-height:1.45}
h1{font-size:1.75rem;font-weight:750;letter-spacing:-.6px}h2{font-size:1.25rem;letter-spacing:-.35px}h3{font-size:1.0rem;letter-spacing:-.15px}
.muted,.help,.empty,.eyebrow,.home-date,footer,.work-welcome p,.work-link small,.finance-metrics small,
html[data-theme=dark] :is(.muted,.help,.empty,.eyebrow,.home-date,footer,.work-welcome p,.work-link small,.finance-metrics small){color:var(--app-muted)}
.help{font-size:0.875rem}.eyebrow{font-size:0.8125rem;letter-spacing:1.2px;color:var(--app-primary-text)}
a,html[data-theme=dark] a{color:var(--app-primary-text);text-underline-offset:3px}
aside,html[data-theme=dark] aside{width:248px;background:var(--app-sidebar);color:var(--app-ink);border-right:1px solid var(--app-line);padding:24px 18px 18px;overflow:hidden}
.workspace{margin-left:248px}.brand{padding:0 9px;margin-bottom:30px;gap:12px}.brand .brand-name,html[data-theme=dark] .brand .brand-name{color:var(--app-ink);font-size:1.5rem;letter-spacing:1.5px}
.brand-name small{color:#60727e;font-size:0.5625rem;letter-spacing:3.5px}.sitecare-logo{width:38px;height:38px;flex-basis:38px;background:#fff;border-radius:10px;padding:4px}
#workspaceNav{padding:0 3px 12px;scrollbar-width:thin;scrollbar-color:#555565 transparent}
.nav-panel{display:flex;flex:1;min-height:0;flex-direction:column}
@media(min-width:761px) and (max-width:1150px){html[data-theme=dark] aside{width:224px}}
.nav-section{margin:0 0 8px;border-bottom:0;padding:0 0 6px}
.nav-section-title{list-style:none;display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:10px;color:var(--app-sidebar-muted);font-size:0.875rem;font-weight:650;transition:background var(--motion-fast),color var(--motion-fast);cursor:pointer}
.nav-section-title::-webkit-details-marker{display:none}.nav-section-title:hover{background:var(--app-soft);color:var(--app-ink)}.nav-section[open]>.nav-section-title{color:var(--app-ink)}
.ui-icon{width:19px;height:19px;flex:0 0 19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav-chevron{margin-left:auto;width:15px;height:15px;flex-basis:15px;rotate:-90deg;transition:rotate var(--motion-panel) var(--ease-app)}.nav-section[open] .nav-chevron{rotate:0deg}
.nav-section-links{padding:2px 0 4px 14px}.navlink,html[data-theme=dark] .navlink{font-size:0.875rem;color:var(--app-sidebar-muted);padding:10px 14px;border-radius:9px;border:0;margin:3px 0;position:relative;font-weight:500;box-shadow:none;transition:background var(--motion-fast),color var(--motion-fast)}
.navlink:hover,html[data-theme=dark] .navlink:hover{background:var(--app-soft);color:var(--app-ink);transform:none}.navlink.active,html[data-theme=dark] .navlink.active{background:var(--app-primary-soft);color:var(--app-primary-text);border:0;padding-left:14px;box-shadow:none;font-weight:650}
.navlink.active{box-shadow:inset 3px 0 var(--app-primary)!important}
.asidefoot,html[data-theme=dark] .asidefoot{color:var(--app-muted);border-top:1px solid var(--app-line);font-size:0.875rem;line-height:1.8;padding:15px 9px 0;flex-shrink:0}
.asidefoot #releaseHistoryButton{display:flex;flex-wrap:wrap;justify-content:flex-start;font-size:0.875rem;color:var(--app-muted);background:var(--app-soft);border:1px solid var(--app-line);box-shadow:none;padding:8px 10px;min-height:44px;border-radius:9px;width:100%;margin-top:10px}
.asidefoot #releaseHistoryButton:hover{background:var(--app-primary-soft);transform:none}
.workspace header,html[data-theme=dark] .workspace header{min-height:72px;padding:16px 32px;background:var(--app-surface);border-bottom:1px solid var(--app-line);gap:12px;font-size:0.875rem}
#pageCrumb{font-weight:650}#account{margin-left:auto;gap:9px;font-size:0.875rem}#account>.badge{font-size:0.875rem}#themeToggle{background:var(--app-soft);min-height:44px;border:0;padding:7px 10px;font-size:0.875rem}#themeToggle>span:first-child{font-size:1.0625rem}
main{padding:28px 34px;max-width:1500px;margin-inline:auto}.topline{align-items:center;padding:0;margin-bottom:24px}.topline h1{margin-bottom:5px}.topline>.toolbar{gap:10px}.topline .muted{font-size:0.875rem}.topline label{font-size:0.875rem;color:var(--app-muted)}.topline select{min-width:220px;margin-top:4px}
input,select,textarea,html[data-theme=dark] :is(input,select,textarea){font-size:0.875rem;border:1px solid var(--app-line);border-radius:10px;background:var(--app-surface);color:var(--app-ink);padding:10px 12px;transition:border-color var(--motion-fast),box-shadow var(--motion-fast);min-height:44px}
input:focus,select:focus,textarea:focus{border-color:var(--app-focus);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--app-focus) 14%,transparent)}
::placeholder,html[data-theme=dark] ::placeholder{color:var(--app-muted);opacity:.85}input[type=checkbox]{accent-color:var(--app-primary);min-height:18px;width:18px}
button,.button{background:var(--app-primary);color:var(--app-button-ink);border-radius:10px;padding:10px 16px;min-height:44px;font-size:0.875rem;font-weight:650;box-shadow:none;transition:background var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast) var(--ease-app)}
button:hover,.button:hover{background:var(--app-primary-hover);filter:none;transform:none;box-shadow:0 3px 8px #153d5512}button:active,.button:active{transform:scale(.98);box-shadow:none}button:disabled{opacity:.45;transform:none;cursor:not-allowed}
button,.button{color:var(--app-button-ink)}
button.secondary,.button.secondary,html[data-theme=dark] :is(button.secondary,.button.secondary){background:var(--app-surface);color:var(--app-ink);border:1px solid var(--app-line);box-shadow:none}
button.secondary:hover,.button.secondary:hover,html[data-theme=dark] :is(button.secondary:hover,.button.secondary:hover){background:var(--app-soft);border-color:color-mix(in srgb,var(--app-primary) 28%,var(--app-line));box-shadow:none}
button.small{min-height:44px;padding:6px 10px;font-size:0.875rem}button.danger,html[data-theme=dark] button.danger{background:var(--app-urgent-soft);color:var(--app-urgent);border:1px solid color-mix(in srgb,var(--app-urgent) 20%,transparent);box-shadow:none}
button.danger:hover{background:color-mix(in srgb,var(--app-urgent) 16%,var(--app-surface))}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--app-focus);outline-offset:3px}
.card,html[data-theme=dark] .card{border:1px solid var(--app-line);background:var(--app-surface);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:var(--app-shadow);animation:none}
.card+.card{margin-top:0}.sectionhead{margin-bottom:20px;gap:14px}.sectionhead h2,.sectionhead h3{margin:0}.sectionhead .help{margin:6px 0 0}.entry,html[data-theme=dark] .entry{border:1px solid var(--app-line);border-radius:12px;padding:18px;background:var(--app-surface)}
.toolbar{gap:12px}.actions{gap:9px}.stats{gap:14px}.stats .stat,.stat,html[data-theme=dark] .stat{border:1px solid var(--app-line);border-radius:14px;background:var(--app-surface);color:var(--app-ink);padding:20px;font-size:0.875rem}.stat strong{font-size:1.875rem;letter-spacing:-.7px;font-variant-numeric:tabular-nums;font-weight:700}
.stat.good,html[data-theme=dark] .stat.good{background:var(--app-success-soft);border-color:color-mix(in srgb,var(--app-success) 18%,var(--app-line));color:var(--app-success)}
.stat.warn,html[data-theme=dark] .stat.warn{background:var(--app-warning-soft);border-color:color-mix(in srgb,var(--app-warning) 20%,var(--app-line));color:var(--app-warning)}
.badge,.task-pill,html[data-theme=dark] .badge{border-radius:6px;font-size:0.875rem;padding:4px 8px;font-weight:600;background:var(--app-soft);color:var(--app-muted);line-height:1.5;display:inline-flex;align-items:center;white-space:nowrap}
.badge.priority-urgent,.task-pill.critical,html[data-theme=dark] :is(.badge.priority-urgent,.task-pill.critical){background:var(--app-urgent-soft);color:var(--app-urgent)}
.badge.priority-normal,.task-pill.accent,html[data-theme=dark] :is(.badge.priority-normal,.task-pill.accent){background:var(--app-primary-soft);color:var(--app-primary-text)}
.badge.orange,.status-review,.task-pill.attention,html[data-theme=dark] :is(.badge.orange,.status-review,.task-pill.attention){background:var(--app-warning-soft);color:var(--app-warning)}
.status-new,.status-assigned,.status-inProgress,html[data-theme=dark] :is(.status-new,.status-assigned,.status-inProgress){background:var(--app-info-soft);color:var(--app-info)}
.status-closed,.status-completed,.task-pill.success,html[data-theme=dark] :is(.status-closed,.status-completed,.task-pill.success){background:var(--app-success-soft);color:var(--app-success)}
.task-pill.neutral,html[data-theme=dark] .task-pill.neutral{background:var(--app-soft);color:var(--app-muted)}
.status-pending,.status-requested{background:var(--app-warning-soft);color:var(--app-warning)}.status-approved,.status-paid{background:var(--app-success-soft);color:var(--app-success)}.status-rejected{background:var(--app-urgent-soft);color:var(--app-urgent)}
.note,.sop-flow li,html[data-theme=dark] :is(.note,.sop-flow li){background:var(--app-primary-soft);color:var(--app-primary-text);border-color:color-mix(in srgb,var(--app-primary) 40%,transparent);border-radius:10px;font-size:0.875rem}
.sop-flow :is(b,strong,li>span),html[data-theme=dark] :is(.sop-flow b,.sop-flow strong,.sop-flow li>span){color:var(--app-primary-text)}
.issue,html[data-theme=dark] .issue{background:var(--app-warning-soft);border-left-color:var(--app-warning);border-radius:0 9px 9px 0;color:var(--app-warning)}
.inline-error,html[data-theme=dark] .inline-error{background:var(--app-urgent-soft);color:var(--app-urgent);border-radius:10px}.risk,.finance-balance .negative,html[data-theme=dark] :is(.risk,.finance-balance .negative){color:var(--app-urgent)}
.chip,html[data-theme=dark] .chip{background:var(--app-soft);color:var(--app-muted);border-radius:8px}.chip button,html[data-theme=dark] .chip button{background:transparent;color:var(--app-primary-text)}
.tablewrap,html[data-theme=dark] .tablewrap{border:1px solid var(--app-line);border-radius:12px}.tablewrap table{font-size:0.875rem}.tablewrap th,html[data-theme=dark] th{background:var(--app-soft);color:var(--app-muted);font-size:0.875rem;font-weight:650;border-color:var(--app-line);padding:12px 14px}.tablewrap td,html[data-theme=dark] td{border-color:var(--app-line);padding:16px 14px}.tablewrap tr:last-child td{border-bottom:0}tbody tr{transition:background var(--motion-fast)}tbody tr:hover,html[data-theme=dark] tbody tr:hover{background:color-mix(in srgb,var(--app-primary) 3%,var(--app-surface))}
.order-filters{gap:7px}.order-filters button{min-height:44px;font-size:0.875rem;box-shadow:none}.order-filters button[aria-pressed=true]{background:var(--app-primary);color:var(--app-button-ink)}.order-filters button:not([aria-pressed=true]){background:var(--app-soft);border-color:transparent}.order-filters button:hover{transform:none}
.tabs{border-bottom:1px solid var(--app-line);gap:2px}.tabs button,html[data-theme=dark] .tabs button{background:transparent;color:var(--app-muted);box-shadow:none;border-bottom:2px solid transparent;min-height:44px}.tabs button.active,html[data-theme=dark] .tabs button.active{background:transparent;color:var(--app-primary-text);border-bottom-color:var(--app-primary);font-weight:700}.tabs button:hover{background:var(--app-primary-soft);transform:none}
.page-tabs{display:none}.work-welcome{padding:0 0 22px}.work-welcome h2{font-size:1.5rem}.work-welcome .eyebrow{margin:0}.work-grid{gap:12px}.work-link.secondary{padding:20px;border-radius:14px;min-height:90px;background:var(--app-surface);border:1px solid var(--app-line);box-shadow:var(--app-shadow)}.work-link b{font-size:1.0rem}.work-link small{font-size:0.875rem;margin-top:7px}.work-link>span:last-child{font-size:1.25rem;color:var(--app-primary-text);transition:translate var(--motion-fast)}.work-link:hover>span:last-child{translate:3px 0}
.overview-intro{margin:-8px 0 22px;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px}.overview-intro .eyebrow{margin:0;color:var(--app-primary-text)}.overview-intro p{margin:5px 0 0;font-size:0.875rem;color:var(--app-muted)}
.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:12px;background:var(--app-surface);border:1px solid var(--app-line);border-radius:16px;overflow:hidden}.overview-metric.secondary{display:flex;align-items:flex-start;flex-direction:column;text-align:left;padding:20px 22px;border-radius:0;border:0;border-right:1px solid var(--app-line);background:var(--app-surface);position:relative;min-height:128px;gap:8px;overflow:hidden}.overview-metric span{font-size:0.875rem;color:var(--app-muted);font-weight:500}.overview-metric strong{font-size:1.5625rem;color:var(--app-ink);font-weight:700;letter-spacing:-.7px;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.overview-metric small{font-size:0.875rem;color:var(--app-muted);font-weight:400}.overview-metric:last-child{border-right:0}.overview-metric:last-child strong{color:var(--app-primary-text)}
.signal-site{margin:18px 0 0;border:0;border-radius:0;overflow:hidden;padding:0}.signal-site h3{margin:0}.signal-site>.sectionhead,.signal-site>div:first-child:not(.signal-list){background:transparent;padding:4px 0 14px;margin:0}.signal-site>p{padding:0 18px;font-size:0.875rem;color:var(--app-muted)}.signal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.signal-row.secondary{width:100%;border:0;border-radius:8px;padding:16px 14px;min-height:80px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:none;background:var(--app-surface);border-bottom:1px solid var(--app-line)}.signal-row:nth-child(odd){border-right:0}.signal-row strong,.signal-row b{display:block;font-size:0.875rem;font-weight:600}.signal-row small,.signal-row .help{display:block;margin-top:3px;font-size:0.875rem;font-weight:400;color:var(--app-muted)}.signal-value{font-size:1.0rem!important;color:var(--app-primary-text);white-space:nowrap;margin-left:auto}.signal-row .ui-icon{width:15px;flex-basis:15px;color:var(--app-muted)}.signal-row:hover{transform:none;background:var(--app-soft)}
.personal-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--app-surface);color:var(--app-ink);border-radius:16px;padding:24px;margin-bottom:18px;border:1px solid var(--app-line)}
.personal-hero:after{content:none}.personal-hero .eyebrow{font-size:0.8125rem;margin:0;color:var(--app-primary-text);letter-spacing:1.5px}.personal-hero h2,html[data-theme=dark] .personal-hero h2{font-size:1.5rem;color:var(--app-ink);margin:8px 0}.personal-hero p{font-size:0.875rem;color:var(--app-muted);margin-bottom:16px}.hero-tags{display:flex;gap:7px;flex-wrap:wrap}.personal-hero .task-pill.neutral{background:var(--app-soft);color:var(--app-muted)}.personal-hero .task-pill.success{background:var(--app-success-soft);color:var(--app-success)}.hero-actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0;z-index:1}.hero-actions label{font-size:0.875rem;color:var(--app-muted)}.hero-actions input,html[data-theme=dark] .hero-actions input{display:block;margin-top:6px;width:180px;background:var(--app-surface);border-color:var(--app-line);color:var(--app-ink)}.hero-actions .button,html[data-theme=dark] .hero-actions .button{background:var(--app-primary);color:var(--app-button-ink);box-shadow:none;border:0}.hero-actions .button:hover{background:var(--app-primary-hover)}
.personal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.personal-stat{border:1px solid var(--app-line);border-radius:14px;background:var(--app-surface);padding:18px 20px;text-decoration:none;color:var(--app-ink);display:flex;flex-direction:column;gap:6px;transition:translate var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}.personal-stat:hover{border-color:color-mix(in srgb,var(--app-primary) 35%,var(--app-line));box-shadow:var(--app-shadow)}.personal-stat span,.personal-stat small{font-size:0.875rem;color:var(--app-muted)}.personal-stat strong{font-size:1.875rem;color:var(--app-ink);font-variant-numeric:tabular-nums;line-height:1.2;font-weight:700;letter-spacing:-1px}.personal-stat em{font-size:0.9375rem;font-weight:400;font-style:normal;color:var(--app-muted)}.personal-stat.critical strong{color:var(--app-urgent)}.personal-stat.attention strong{color:var(--app-warning)}.personal-stat.accent strong{color:var(--app-primary-text)}
.personal-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start}.personal-columns>div{min-width:0}.personal-roster{margin-bottom:22px}.text-link{font-size:0.875rem;font-weight:650;text-decoration:none;color:var(--app-primary-text)}.shift-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.shift-day{display:flex;flex-direction:column;gap:6px;padding:14px 5px;border:1px solid var(--app-line);background:var(--app-soft);color:var(--app-muted);box-shadow:none;font-weight:500}.shift-day b{font-size:0.875rem;color:var(--app-ink)}.shift-day small{font-size:0.875rem;font-weight:400}.shift-day:hover{background:var(--app-primary-soft);transform:none;box-shadow:none}.shift-day.selected{background:var(--app-primary-soft);border-color:color-mix(in srgb,var(--app-primary) 55%,var(--app-line));box-shadow:inset 0 -3px var(--app-primary);color:var(--app-primary-text)}
html[data-theme=dark] .task-section{padding:0}html[data-theme=dark] .personal-hero .task-pill.neutral{background:var(--app-soft);color:var(--app-muted)}html[data-theme=dark] .personal-hero .task-pill.success{background:var(--app-success-soft);color:var(--app-success)}
.task-section{padding:0;margin-top:0;overflow:hidden}.task-section summary{list-style:none;padding:19px 20px;display:flex;align-items:center;gap:10px;font-size:0.9375rem;font-weight:650}.task-section summary::-webkit-details-marker{display:none}.task-section summary:after{content:'⌄';margin-left:auto;font-size:1.1875rem;rotate:-90deg;transition:rotate var(--motion-panel) var(--ease-app);color:var(--app-muted)}.task-section[open] summary{border-bottom:1px solid var(--app-line)}.task-section[open] summary:after{rotate:0deg}.section-count{background:var(--app-soft);color:var(--app-muted);border-radius:6px;padding:2px 7px;min-width:24px;text-align:center;font-size:0.875rem;font-weight:500}.task-section-body{padding:4px 10px 10px}.personal-task{display:flex;align-items:center;gap:12px;width:100%;padding:15px 10px;min-height:74px;background:transparent;color:var(--app-ink);border:0;border-bottom:1px solid var(--app-line);border-radius:8px;text-align:left;box-shadow:none}.personal-task:last-child{border-bottom:0}.personal-task:hover{background:var(--app-soft);transform:none;box-shadow:none}.task-copy{flex:1;min-width:0}.task-copy b{font-size:0.875rem;display:block;font-weight:650}.task-copy small{display:block;font-size:0.875rem;font-weight:400;color:var(--app-muted);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-line{height:30px;width:3px;flex:0 0 3px;border-radius:3px;background:var(--app-primary)}.critical .task-line{background:var(--app-urgent)}.attention .task-line{background:var(--app-warning)}.success .task-line{background:var(--app-success)}.task-arrow{color:var(--app-muted);font-size:1.0rem;transition:translate var(--motion-fast)}.personal-task:hover .task-arrow{translate:2px 0}
.next-shift,.personal-applications,.personal-shortcuts,.priority-guide{margin-top:0}.next-shift .eyebrow{margin:0;color:var(--app-primary-text)}.next-shift h3{margin-top:8px}.priority-guide p{display:flex;flex-wrap:wrap;gap:6px}.priority-guide .help{display:block}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shortcut-grid a{border:1px solid var(--app-line);border-radius:9px;padding:11px 12px;text-decoration:none;font-size:0.875rem;color:var(--app-ink);transition:background var(--motion-fast),border-color var(--motion-fast)}.shortcut-grid a:hover{background:var(--app-primary-soft);border-color:color-mix(in srgb,var(--app-primary) 30%,var(--app-line))}.loading-panel{display:flex;align-items:center;gap:12px;min-height:130px;color:var(--app-muted)}.loading-orbit{width:23px;height:23px;border:3px solid var(--app-soft);border-top-color:var(--app-primary);border-radius:50%;animation:orbit .8s linear infinite}
.month-grid,html[data-theme=dark] .month-grid{border-color:var(--app-line)}.weekday,html[data-theme=dark] .weekday{background:var(--app-soft);color:var(--app-muted)}.calendar-day,html[data-theme=dark] .calendar-day{border-color:var(--app-line)}.calendar-day.outside,html[data-theme=dark] .calendar-day.outside{background:var(--app-soft);color:var(--app-muted)}.calendar-day.is-today,html[data-theme=dark] .calendar-day.is-today{background:var(--app-primary-soft)}.day-number,.more-events,html[data-theme=dark] :is(.day-number,.more-events){color:var(--app-muted)}.is-today .day-number,html[data-theme=dark] .is-today .day-number{background:var(--app-primary);color:var(--app-button-ink)}
.calendar-event.roster,.shift,html[data-theme=dark] :is(.calendar-event.roster,.shift){background:var(--app-primary-soft);color:var(--app-primary-text)}.calendar-event.order,html[data-theme=dark] .calendar-event.order{background:var(--app-accent-soft);color:var(--app-accent-text)}.calendar-event.inspection,html[data-theme=dark] .calendar-event.inspection{background:var(--app-info-soft);color:var(--app-info)}.calendar-event.cleaning,html[data-theme=dark] .calendar-event.cleaning{background:var(--app-success-soft);color:var(--app-success)}
.layer-dot.roster{background:var(--app-primary)}.layer-dot.order{background:var(--app-accent)}.layer-dot.inspection{background:var(--app-info)}.layer-dot.cleaning{background:var(--app-success)}.roster .weekend,html[data-theme=dark] .roster .weekend{background:color-mix(in srgb,var(--app-primary) 3%,var(--app-surface))}.shift.O,.shift.R,html[data-theme=dark] :is(.shift.O,.shift.R){background:var(--app-soft);color:var(--app-muted)}.shift.L,.shift.P,html[data-theme=dark] :is(.shift.L,.shift.P){background:var(--app-warning-soft);color:var(--app-warning)}.shift.H,html[data-theme=dark] .shift.H{background:var(--app-info-soft);color:var(--app-info)}.shift.P{border-color:var(--app-warning)}
.calendar-event[data-priority=urgent]:not([data-status=closed]){background:var(--app-urgent-soft);color:var(--app-urgent);border-left:3px solid var(--app-urgent)}.calendar-event[data-status=closed],.calendar-event[data-status=completed]{background:var(--app-success-soft);color:var(--app-success)}
#meterCanvas{background:var(--app-soft)}
.work-stepper{border-color:var(--app-line);padding:16px 0;gap:8px}.work-stepper li,html[data-theme=dark] .work-stepper li{color:var(--app-muted);font-size:0.875rem}.work-stepper span,html[data-theme=dark] .work-stepper span{background:var(--app-soft);color:var(--app-muted)}.work-stepper .current,html[data-theme=dark] .work-stepper .current{color:var(--app-primary-text)}.work-stepper .current span,html[data-theme=dark] .work-stepper .current span{background:var(--app-primary);color:var(--app-button-ink);box-shadow:0 0 0 4px var(--app-primary-soft)}.work-stepper .done span,html[data-theme=dark] .work-stepper .done span{background:var(--app-success-soft);color:var(--app-success)}
.drop-upload{border:1.5px dashed color-mix(in srgb,var(--app-primary) 45%,var(--app-line));border-radius:12px;background:var(--app-soft);padding:24px;margin:15px 0;transition:border-color var(--motion-fast),background var(--motion-fast)}.drop-upload strong{font-size:0.875rem;color:var(--app-primary-text)}.drop-upload .help{font-size:0.875rem;margin-top:5px}.drop-upload:hover,.drop-upload.dragover,html[data-theme=dark] .drop-upload.dragover{border-color:var(--app-primary);background:var(--app-primary-soft)}
.photo-comparison{gap:16px}.photo-comparison>section>h3{padding-bottom:10px;border-bottom:1px solid var(--app-line);font-size:0.875rem}.photo-grid figure,html[data-theme=dark] .photo-grid figure{border:1px solid var(--app-line);background:var(--app-soft);border-radius:12px;overflow:hidden}.photo-grid img,html[data-theme=dark] .photo-grid img{background:var(--app-soft);transition:scale var(--motion-panel) var(--ease-app)}.photo-open,.photo-open:hover,html[data-theme=dark] .photo-open{background:transparent;border:0;box-shadow:none;padding:0;min-height:0;transform:none}.photo-open:hover img{scale:1.025}.photo-grid figcaption{font-size:0.875rem}.receipt-pdf{border-color:var(--app-line);border-radius:10px}.code-sample,html[data-theme=dark] .code-sample{background:var(--app-soft);color:var(--app-ink);border-radius:12px}
dialog,html[data-theme=dark] dialog{background:var(--app-surface);color:var(--app-ink);border:1px solid var(--app-line);border-radius:18px;box-shadow:0 30px 100px #17132345;padding:26px;max-height:88dvh;overflow:auto;overscroll-behavior:contain;opacity:0;transform:translateY(10px) scale(.975);transition:opacity 220ms var(--ease-app),transform 220ms var(--ease-app),display 220ms allow-discrete,overlay 220ms allow-discrete}
dialog[open],html[data-theme=dark] dialog[open]{opacity:1;transform:none}dialog::backdrop,html[data-theme=dark] dialog::backdrop{background:#1a172650;backdrop-filter:blur(6px);opacity:0;transition:opacity 220ms,display 220ms allow-discrete,overlay 220ms allow-discrete}dialog[open]::backdrop,html[data-theme=dark] dialog[open]::backdrop{opacity:1}
@starting-style{dialog[open],html[data-theme=dark] dialog[open]{opacity:0;transform:translateY(10px) scale(.975)}dialog[open]::backdrop,html[data-theme=dark] dialog[open]::backdrop{opacity:0}}
.ops-dialog{width:min(94vw,860px)}.ops-dialog>h2{font-size:1.375rem}.ops-dialog>.actions{position:sticky;bottom:-26px;background:var(--app-surface);border-top:1px solid var(--app-line);margin:20px -4px -10px;padding:15px 4px;z-index:2}.ops-dialog .actions button{font-size:0.875rem}
.photo-viewer{width:min(94vw,1180px);padding:22px}.photo-viewer h2{font-size:1.0625rem}.photo-zoom-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 16px}.photo-zoom-tools button{min-height:44px;font-size:0.875rem}.photo-zoom-tools output{font-size:0.875rem;color:var(--app-muted);min-width:45px;text-align:center}.photo-zoom-stage{max-height:65dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--app-line);border-radius:12px;background:var(--app-soft);text-align:center}.photo-zoom-stage img{display:block;height:auto;max-height:none;object-fit:contain;margin:auto;cursor:zoom-in}.photo-zoom-stage.is-zoomed img{cursor:zoom-out}.photo-viewer>p.help{font-size:0.875rem;margin:12px 0 0}
.release-current,html[data-theme=dark] .release-current{background:var(--app-primary-soft);color:var(--app-primary-text)}.release-entry{border-color:var(--app-line)}.release-meta strong{color:var(--app-primary-text)}.release-meta time{color:var(--app-muted)}
.period-bars>div>div,html[data-theme=dark] .period-bars>div>div{background:var(--app-soft)}.year-chart text,html[data-theme=dark] svg text{fill:var(--app-muted)}.chart-axis{stroke:var(--app-line)}.chart-current{fill:var(--app-primary)}.chart-compare{fill:var(--app-accent)}.chart-track{fill:var(--app-soft)}
.preview-banner,html[data-theme=dark] .preview-banner{padding:11px 32px;background:var(--app-accent-soft);color:var(--app-accent-text);border-bottom:1px solid color-mix(in srgb,var(--app-accent) 20%,var(--app-line));font-size:0.875rem}.preview-banner a,html[data-theme=dark] .preview-banner a{color:var(--app-accent-text)}.preview-controls summary,html[data-theme=dark] .preview-controls summary{border-color:var(--app-line);font-size:0.875rem;padding:6px 9px;border-radius:8px;min-height:44px}.preview-controls label.service-preview:not([hidden]){font-size:0.875rem}.preview-controls select{font-size:0.875rem;width:175px}
.sticky,html[data-theme=dark] .sticky{background:color-mix(in srgb,var(--app-surface) 95%,transparent);border-color:var(--app-line);border-radius:12px;backdrop-filter:blur(10px)}
#notice,html[data-theme=dark] #notice{color:#fff;background:#373144;border-radius:12px;font-size:0.875rem;padding:13px 19px;box-shadow:0 8px 30px #24223e25;animation:notice-in 220ms var(--ease-app)}
.mobile-work,html[data-theme=dark] .mobile-work{background:color-mix(in srgb,var(--app-surface) 94%,transparent);border-color:var(--app-line);backdrop-filter:blur(12px);padding:8px 6px max(8px,env(safe-area-inset-bottom));box-shadow:0 -5px 22px #24223e07}.mobile-work a,html[data-theme=dark] .mobile-work a{font-size:0.875rem;color:var(--app-muted);padding:10px 13px;border-radius:10px}.mobile-work a[aria-current],html[data-theme=dark] .mobile-work a[aria-current]{background:var(--app-primary-soft);color:var(--app-primary-text)}
footer{font-size:0.8125rem;padding:8px 34px 26px}.empty{font-size:0.875rem;padding:36px 20px}.home-task,html[data-theme=dark] .home-task{border-color:var(--app-line)}
@keyframes orbit{to{rotate:360deg}}@keyframes notice-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@supports(interpolate-size:allow-keywords){.nav-section,.task-section{interpolate-size:allow-keywords}.nav-section::details-content,.task-section::details-content{block-size:0;overflow:hidden;transition:block-size var(--motion-panel) var(--ease-app),content-visibility var(--motion-panel) allow-discrete}.nav-section[open]::details-content,.task-section[open]::details-content{block-size:auto}}
@media(max-width:1150px){aside{width:224px;padding:22px 15px 16px}.workspace{margin-left:224px}main{padding:26px}.workspace header{padding:14px 26px}.overview-metric.secondary{padding:18px}.overview-metric strong{font-size:1.375rem}}
@media(max-width:980px){.overview-metrics,.personal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-columns{grid-template-columns:1fr}.personal-hero h2{font-size:1.375rem}.personal-hero{padding:25px}.home-columns{grid-template-columns:1fr}.signal-list{grid-template-columns:1fr}.signal-row:nth-child(odd){border-right:0}}
@media(max-width:760px){aside,html[data-theme=dark] aside{position:sticky;top:0;inset:0;width:auto;padding:13px 16px;z-index:40;overflow:visible;display:block;border:0}.workspace{margin-left:0}.brand{margin:0;padding:0;gap:10px;flex-basis:auto}.brand .brand-name{font-size:1.25rem}.brand-name small{font-size:0.5rem;margin-top:3px}.sitecare-logo{width:32px;height:32px;flex-basis:32px;border-radius:8px}.nav-toggle{display:flex;position:absolute;right:16px;top:16px;color:var(--app-ink);background:#ffffff0b;border:1px solid #ffffff15;min-height:44px;padding:7px 10px;font-size:0.875rem}.nav-toggle:hover{background:var(--app-primary-soft)}#workspaceNav{display:none}.menu-open #workspaceNav{display:block;position:absolute;top:100%;left:0;right:0;width:100%;background:var(--app-sidebar);padding:12px 18px 18px;max-height:65dvh;overflow:auto;border-top:1px solid var(--app-line);box-shadow:0 20px 40px #17132330}.nav-section{margin:0 0 7px}.nav-section-links{padding-left:20px}.navlink,html[data-theme=dark] .navlink{padding:10px 12px;font-size:0.875rem;display:flex}.navlink.active,html[data-theme=dark] .navlink.active{display:flex!important;padding-left:12px}.asidefoot{display:none}.menu-open .asidefoot{display:block;background:var(--app-sidebar);border-top:0;padding:12px 20px 18px}.workspace header,html[data-theme=dark] .workspace header{padding:13px 18px;align-items:center;flex-direction:row;gap:10px;min-height:62px}.workspace header>span{flex:1}#account{flex-basis:100%;margin:0;font-size:0.875rem}#themeToggle{min-height:44px;padding:6px 9px;font-size:0.875rem}.preview-controls{width:auto}.preview-controls select{width:165px}.preview-banner,html[data-theme=dark] .preview-banner{padding:10px 18px}.preview-banner span{min-width:160px}main{padding:22px 18px}.topline{gap:14px;align-items:flex-start;margin-bottom:20px}.topline>.toolbar{width:100%;justify-content:space-between}.topline select{min-width:0}.topline label{flex:1}.topline h1{font-size:1.625rem}.card{padding:20px;border-radius:14px}.task-section{padding:0}.personal-columns{gap:0}.personal-hero{flex-direction:column;align-items:stretch;padding:23px 21px;gap:15px;border-radius:16px}.personal-hero h2{font-size:1.3125rem}.hero-actions{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:12px}.hero-actions input{width:146px}.hero-actions .button{font-size:0.875rem;padding:10px 12px}.personal-stats{gap:10px;margin-bottom:18px}.personal-stat{padding:16px}.personal-stat strong{font-size:1.75rem}.personal-stat small{font-size:0.875rem}.personal-roster{padding:18px}.shift-strip{display:flex;overflow:auto;scroll-snap-type:x proximity;padding-bottom:5px}.shift-day{min-width:78px;scroll-snap-align:start}.task-section summary{padding:18px}.task-copy small{max-width:45vw}.task-arrow{display:none}.task-pill{font-size:0.875rem}.personal-task{gap:8px;padding:14px 8px}.text-link{white-space:nowrap;font-size:0.875rem}.work-grid{grid-template-columns:1fr}.overview-metric.secondary{min-height:125px;padding:17px}.overview-metric strong{font-size:1.3125rem}.signal-row.secondary{padding:15px 16px}.signal-value{font-size:0.875rem!important}.overview-intro{margin-bottom:20px}.ops-dialog{padding:20px}.ops-dialog>.actions{bottom:-20px;margin-bottom:-5px;padding:12px 2px}.photo-viewer{padding:18px}.photo-zoom-stage{max-height:58dvh}.work-stepper li{flex-direction:column;gap:5px}.work-stepper{gap:4px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar>*{max-width:100%}.toolbar button{flex-grow:0}.needs{overflow:auto}.shortcut-grid{gap:8px}.shortcut-grid a{font-size:0.875rem}.stats .stat{padding:16px}.stats strong{font-size:1.5625rem}footer{padding:6px 18px 24px}}
@media(max-width:600px){body[data-work-role=employee]{padding-bottom:82px}body[data-work-role=employee] #notice{bottom:90px}body[data-work-role=employee] .sticky{bottom:72px}#notice{width:max-content;max-width:90vw}dialog{padding:22px}.period-bars>div{grid-template-columns:1fr}.preview-controls details[open]{width:100%}.photo-comparison{grid-template-columns:1fr}}
@media(max-width:760px){.nav-panel{display:none}.menu-open .nav-panel{display:block;position:absolute;top:100%;left:0;right:0;background:var(--app-sidebar);max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--app-line);box-shadow:0 20px 40px #17132330}.menu-open #workspaceNav{position:static;display:block;max-height:none;overflow:visible;border:0;box-shadow:none;margin:0;padding:12px 18px 2px}.menu-open .asidefoot{position:static;padding:14px 28px 18px;margin:0}.menu-open .asidefoot #releaseHistoryButton{max-width:none}html[data-theme=dark] .card{padding:20px}html[data-theme=dark] .task-section{padding:0}html[data-theme=dark] .personal-roster{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{html,body{background:white!important;color:#222!important}aside,.mobile-work,.preview-banner,.overview-intro,#themeToggle,.nav-toggle{display:none!important}.workspace{margin:0}.card,.personal-stat,.stat,.personal-hero{background:white!important;color:#222!important;box-shadow:none;border-color:#ccc;break-inside:avoid}.personal-hero h2,.personal-hero p{color:#222!important}.hero-actions{display:none}.personal-columns{display:block}.personal-stats{grid-template-columns:repeat(4,1fr)}.task-section-body{display:block!important}.task-section::details-content{block-size:auto!important;content-visibility:visible!important}.tablewrap{overflow:visible}.card{padding:16px}.photo-open{display:block!important}.photo-grid img{scale:1!important}dialog{transition:none}.ops-dialog>.actions{position:static}}

/* Work comes first. The same surfaces and spacing apply in both themes. */
.nav-section-title,.navlink{min-height:44px}.nav-section-links{padding-left:8px}.brand{margin-bottom:24px}
.sitecare-logo{background:transparent;padding:0;border-radius:0}.brand-name small{font-size:0.625rem;letter-spacing:3px}
#app .topline h1:focus{outline:none}#app .topline h1{scroll-margin-top:100px}
.card{box-shadow:none}.signal-list{gap:0 24px}.signal-row .ui-icon{display:none}.signal-value{color:var(--app-ink)}
.overview-metric:first-child strong{color:var(--app-primary-text)}.overview-metric.secondary:hover{background:var(--app-soft);transform:none}
.task-copy small{white-space:normal;line-height:1.6}.personal-task .task-pill{flex-shrink:0}.task-copy b{font-size:0.9375rem}
.personal-content{display:flex;flex-direction:column}.personal-roster{margin-top:0}
.personal-stats{gap:0;border:1px solid var(--app-line);border-radius:14px;background:var(--app-surface);overflow:hidden}
.personal-stat{border:0;border-right:1px solid var(--app-line);border-radius:0;padding:16px 20px}.personal-stat:last-child{border:0}.personal-stat:hover{background:var(--app-soft);box-shadow:none}
.personal-stat small{font-size:0.8125rem}.personal-stat span{font-size:0.875rem}.personal-stat strong{font-size:1.75rem}.personal-hero p{margin-bottom:12px}
.today-control{background:transparent;color:var(--app-primary-text);border:0;box-shadow:none;padding:0 4px;font-size:0.875rem;min-height:44px}
.signal-row:last-child,.signal-row:nth-last-child(2):nth-child(even){border-bottom:0}
.shortcut-grid a{min-height:44px;display:flex;align-items:center}.text-link{display:inline-flex;align-items:center;min-height:44px}
.loading-panel{min-height:130px}.badge,.task-pill{font-size:0.8125rem}.section-count{font-size:0.8125rem}
@media(max-width:980px){.overview-metric:nth-child(2),.personal-stat:nth-child(2){border-right:0}.overview-metric:nth-child(-n+2),.personal-stat:nth-child(-n+2){border-bottom:1px solid var(--app-line)}}
@media(max-width:760px){.nav-toggle{top:12px}.personal-hero h2{font-size:1.25rem}.personal-hero{padding:20px}.personal-stats{margin-bottom:18px}.personal-stat{padding:12px 14px}.personal-stat small{display:none}.personal-stat strong{font-size:1.625rem}.hero-actions{align-items:center}.personal-columns{gap:0}.personal-roster{margin-top:0}.personal-task{padding:14px 8px;gap:8px}.task-copy small{max-width:none;font-size:0.8125rem}.task-pill{font-size:0.75rem}.signal-list{gap:0}.signal-row.secondary{padding:14px 0}.signal-row small{font-size:0.8125rem}.signal-row:nth-child(odd){border-right:0}.signal-row:not(:last-child){border-bottom:1px solid var(--app-line)}.overview-metric.secondary{padding:16px;min-height:120px}.overview-metric strong{font-size:1.375rem}.overview-intro p{margin:0}.preview-controls summary{min-height:44px}#themeToggle{min-height:44px}.personal-hero .eyebrow{font-size:0.8125rem}.hero-actions .button{font-size:0.875rem}.navlink,html[data-theme=dark] .navlink{font-size:0.875rem}.task-section summary{min-height:60px}}

@media(max-width:760px){input,select,textarea,html[data-theme=dark] :is(input,select,textarea){font-size:1rem}.preview-controls select{min-height:44px;font-size:.875rem}.personal-hero .eyebrow{display:none}.personal-hero h2{margin-top:0}.hero-actions{flex-wrap:wrap}.hero-actions label{flex:1}.hero-actions input{width:100%;min-width:130px}.personal-stat{gap:3px}.preview-controls{max-width:100%}}
.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;background:var(--app-primary);color:var(--app-button-ink);padding:12px 18px;border-radius:10px;text-decoration:none}.skip-link:focus{top:12px}main:focus{outline:none}button,a,input,select,textarea,summary{touch-action:manipulation}html{scroll-padding-block:100px 100px}

/* Functional accents: category aids navigation; tone describes actual work. */
:root{--module-teal:#167363;--module-teal-soft:#e7f5f0;--module-violet:#7351a6;--module-violet-soft:#f1ecfa;--module-amber:#935d17;--module-amber-soft:#fff3e1}
html[data-theme=dark]{--module-teal:#89d9bf;--module-teal-soft:#243e36;--module-violet:#c9b1f4;--module-violet-soft:#383047;--module-amber:#ffc491;--module-amber-soft:#423022}
[data-work-category=cleaning],[data-nav-group="清潔服務"],[data-section-kind=cleaning]{--category:var(--module-teal);--category-soft:var(--module-teal-soft)}
[data-work-category=people],[data-nav-group="人員管理"]{--category:var(--module-violet);--category-soft:var(--module-violet-soft)}
[data-work-category=shared],[data-nav-group="共用作業"],[data-section-kind=shared]{--category:var(--module-amber);--category-soft:var(--module-amber-soft)}
[data-work-category=finance],[data-nav-group="財務管理"]{--category:var(--module-violet);--category-soft:var(--module-violet-soft)}
[data-work-category=mechanical],[data-nav-group="機電服務"],[data-nav-group="工作台"],[data-section-kind=mechanical],[data-section-kind=dispatch]{--category:var(--app-primary-text);--category-soft:var(--app-primary-soft)}
.nav-section-title>.ui-icon:first-child{width:30px;height:30px;flex-basis:30px;padding:6px;border-radius:9px;color:var(--category,var(--app-muted));background:var(--category-soft,var(--app-soft))}
.nav-section-links .navlink.active,html[data-theme=dark] .nav-section-links .navlink.active{background:var(--category-soft,var(--app-primary-soft));color:var(--category,var(--app-primary-text));border-left-color:var(--category,var(--app-primary))}
.work-link.secondary{border-left:3px solid var(--category,var(--app-line));background:var(--app-surface)}
.work-link.secondary:hover{background:color-mix(in srgb,var(--category-soft,var(--app-primary-soft)) 55%,var(--app-surface));border-color:var(--category,var(--app-primary));transform:none}
.work-link>span:last-child{color:var(--category,var(--app-primary-text))}
.signal-row[data-tone=critical],.personal-stat.critical,.personal-task.critical{--tone:var(--app-urgent);--tone-soft:var(--app-urgent-soft)}
.signal-row[data-tone=attention],.personal-stat.attention,.personal-task.attention{--tone:var(--app-warning);--tone-soft:var(--app-warning-soft)}
.signal-row[data-tone=info],.personal-stat.accent,.personal-task.accent{--tone:var(--app-primary-text);--tone-soft:var(--app-primary-soft)}
.signal-row[data-tone=success],.personal-stat.success,.personal-task.success{--tone:var(--app-success);--tone-soft:var(--app-success-soft)}
.signal-list{gap:10px 16px;margin-top:2px}
.signal-row.secondary{border:1px solid var(--app-line);border-left:3px solid var(--tone,var(--app-line));border-radius:12px;padding:15px 16px;background:var(--tone-soft,var(--app-surface));transition:background var(--motion-fast),border-color var(--motion-fast)}
.signal-row.secondary:hover{background:color-mix(in srgb,var(--tone-soft,var(--app-soft)) 80%,var(--app-line));border-color:var(--tone,var(--app-line))}
html[data-theme=dark] .signal-row.secondary{background:var(--tone-soft,var(--app-surface));border-left:3px solid var(--tone,var(--app-line))}
html[data-theme=dark] .signal-row.secondary:hover{background:color-mix(in srgb,var(--tone-soft,var(--app-soft)) 80%,var(--app-line));border-color:var(--tone,var(--app-line))}
html[data-theme=dark] .work-link.secondary{border-left:3px solid var(--category,var(--app-line))}
html[data-theme=dark] .work-link.secondary:hover{background:color-mix(in srgb,var(--category-soft,var(--app-primary-soft)) 55%,var(--app-surface));border-color:var(--category,var(--app-primary))}
.signal-row .signal-value{color:var(--tone,var(--app-muted));font-size:1.125rem!important;min-width:48px;text-align:right}
.signal-row .help{color:var(--app-ink);opacity:.85}.signal-row[data-tone=neutral] .help{color:var(--app-muted);opacity:1}
.personal-stat{box-shadow:inset 0 3px var(--tone,var(--app-line));background:color-mix(in srgb,var(--tone-soft,var(--app-surface)) 60%,var(--app-surface))}
.personal-stat strong{color:var(--tone,var(--app-ink))}.personal-stat:hover{background:var(--tone-soft,var(--app-soft))}
.personal-hero{border-top:3px solid var(--app-primary)}
.task-section summary{background:color-mix(in srgb,var(--category-soft,var(--app-soft)) 60%,var(--app-surface))}
.task-section summary:before{content:'';width:8px;height:8px;border-radius:3px;flex:0 0 8px;background:var(--category,var(--app-muted))}
.task-section .section-count{background:var(--category-soft,var(--app-soft));color:var(--category,var(--app-muted))}
.personal-task{margin-block:5px;background:color-mix(in srgb,var(--tone-soft,var(--app-surface)) 50%,var(--app-surface));border:1px solid transparent;transition:background var(--motion-fast),border-color var(--motion-fast)}
.personal-task:hover{background:var(--tone-soft,var(--app-soft));border-color:color-mix(in srgb,var(--tone,var(--app-line)) 30%,var(--app-line))}
.personal-task .task-line{height:36px;width:4px;flex-basis:4px}
.badge.status-pending,.badge.status-requested,.badge.status-draft,.badge.status-review,html[data-theme=dark] :is(.badge.status-pending,.badge.status-requested,.badge.status-draft,.badge.status-review){background:var(--app-warning-soft);color:var(--app-warning)}
.badge.status-approved,.badge.status-confirmed,.badge.status-accepted,.badge.status-paid,html[data-theme=dark] :is(.badge.status-approved,.badge.status-confirmed,.badge.status-accepted,.badge.status-paid){background:var(--app-success-soft);color:var(--app-success)}
.badge.status-rejected,html[data-theme=dark] .badge.status-rejected{background:var(--app-urgent-soft);color:var(--app-urgent)}
.badge.priority-urgent:before{content:'!';font-size:.75rem;margin-right:5px;font-weight:800}.task-pill.critical:before{content:'!';margin-right:5px}.task-pill.success:before{content:'✓';margin-right:5px}
.calendar-event.cleaning,html[data-theme=dark] .calendar-event.cleaning{background:var(--module-teal-soft);color:var(--module-teal)}.layer-dot.cleaning{background:var(--module-teal)}
.shortcut-grid a[href="#requests"],.shortcut-grid a[href="#overtime"]{border-left:3px solid var(--module-violet)}.shortcut-grid a[href="#cleaning"]{border-left:3px solid var(--module-teal)}.shortcut-grid a[href="#handover"]{border-left:3px solid var(--module-amber)}
@media(max-width:760px){.signal-list{gap:8px}.signal-row.secondary{padding:13px 12px}.signal-row .signal-value{font-size:1rem!important}.personal-task .task-pill{white-space:normal;text-align:center;max-width:110px;line-height:1.5}.personal-stats{border-radius:12px}.nav-section-title>.ui-icon:first-child{width:28px;height:28px;flex-basis:28px}}
@media print{.signal-row.secondary,.personal-task,.personal-stat,.task-section summary{background:white!important}.nav-section-title>.ui-icon:first-child{background:transparent}}

/* 261006.5 — spacious controls, layered night surfaces and semantic accents. */
:root{--app-bg:#f2f5fa;--app-soft:#edf2f8;--app-line:#d6e0ec;--app-primary:#226eac;--app-primary-hover:#195b91;--app-primary-text:#1b6096;--app-primary-soft:#e7f2fd;--app-urgent:#b52648;--app-urgent-soft:#ffedf2;--app-warning:#8d590c;--app-warning-soft:#fff3db;--app-success:#087663;--app-success-soft:#e1f6ee;--module-teal:#087663;--module-teal-soft:#e1f6ee;--module-violet:#7042ab;--module-violet-soft:#f1eafb;--module-amber:#8d590c;--module-amber-soft:#fff3db}
html[data-theme=dark]{color-scheme:dark;--app-bg:#101724;--app-surface:#1b2637;--app-soft:#253349;--app-ink:#eff5ff;--app-muted:#b0bfd3;--app-line:#3e516a;--app-sidebar:#141e2e;--app-sidebar-muted:#b0bfd3;--app-primary:#88c8ff;--app-primary-hover:#b0daff;--app-primary-text:#a6d6ff;--app-primary-soft:#213e5b;--app-button-ink:#112840;--app-focus:#9fd5ff;--app-accent:#ffc372;--app-accent-soft:#423522;--app-accent-text:#ffd698;--app-urgent:#ff9eb4;--app-urgent-soft:#442739;--app-warning:#ffd089;--app-warning-soft:#403421;--app-success:#7fe1c0;--app-success-soft:#183d37;--app-info:#a9c9ff;--app-info-soft:#263b5b;--module-teal:#7fe1c0;--module-teal-soft:#183d37;--module-violet:#ceb1ff;--module-violet-soft:#352c50;--module-amber:#ffd089;--module-amber-soft:#403421;--app-shadow:0 6px 22px #00000014}
.card,html[data-theme=dark] .card{border:1px solid var(--app-line);box-shadow:var(--app-shadow)}
:is(.toolbar,.actions,.order-filters,.tabs,.calendar-layers,.company-controls){display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.sectionhead{gap:16px;flex-wrap:wrap}.topline{gap:16px}.toolbar>label{min-width:0}.toolbar>button,.actions>button,.order-filters>button{margin:0;flex-shrink:0}
.work-grid,.shortcut-grid{gap:14px}
.work-signals .signal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:4px;padding:2px}
.signal-site{overflow:visible}.signal-site+.signal-site{margin-top:28px;padding-top:22px;border-top:1px solid var(--app-line)}
.work-signals button.signal-row.secondary,html[data-theme=dark] .work-signals button.signal-row.secondary{min-height:94px;padding:18px;border:1px solid var(--app-line);border-left:4px solid var(--tone,var(--category,var(--app-line)));border-radius:13px;background:color-mix(in srgb,var(--category-soft,var(--app-soft)) 30%,var(--app-surface));gap:14px;box-shadow:0 2px 5px #00000006;transition:background 180ms var(--ease-app),border-color 180ms var(--ease-app),transform 180ms var(--ease-app),box-shadow 180ms var(--ease-app)}
.work-signals button.signal-row.secondary:hover,html[data-theme=dark] .work-signals button.signal-row.secondary:hover{border-color:var(--tone,var(--category,var(--app-primary)));background:color-mix(in srgb,var(--tone-soft,var(--category-soft,var(--app-soft))) 58%,var(--app-surface));transform:translateY(-2px);box-shadow:0 6px 16px #00000015}
.signal-row>span:first-child{min-width:0}.signal-row b{font-size:.9375rem}.signal-row small{white-space:normal;line-height:1.6}.signal-row[data-tone=neutral] .signal-value{color:var(--category,var(--app-primary-text))}.signal-row:not([data-tone=neutral]) .signal-value{color:var(--tone,var(--app-primary-text))}
.signal-row[data-tone=critical] .signal-value:before{content:'!';display:inline-flex;justify-content:center;align-items:center;margin-right:6px;border:1px solid currentColor;border-radius:50%;width:18px;height:18px;font-size:.75rem}
.overview-metrics,.personal-stats{gap:14px;background:transparent;border:0;overflow:visible}
.overview-metric.secondary,html[data-theme=dark] .overview-metric.secondary,.personal-stat,html[data-theme=dark] .personal-stat{border:1px solid var(--app-line);border-radius:13px;background:var(--app-surface);min-width:0;box-shadow:inset 0 3px var(--tone,var(--category,var(--app-primary)))}
.overview-metric:nth-child(2){--category:var(--module-amber)}.overview-metric:nth-child(3){--category:var(--module-teal)}.overview-metric:nth-child(4){--category:var(--module-violet)}
.overview-metric strong{color:var(--category,var(--app-primary-text))}.overview-metric.secondary:hover,html[data-theme=dark] .overview-metric.secondary:hover{background:var(--app-soft);border-color:var(--category,var(--app-primary))}
.work-link.secondary,html[data-theme=dark] .work-link.secondary{border:1px solid var(--app-line);border-left:4px solid var(--category,var(--app-primary));border-radius:13px;background:color-mix(in srgb,var(--category-soft,var(--app-soft)) 28%,var(--app-surface));padding:18px;gap:14px}
.order-filters{margin-bottom:18px}.order-filters button{border-radius:10px}.order-filters button[aria-pressed=true]{box-shadow:0 3px 9px #226eac25}
.tabs{gap:10px;padding-bottom:10px}.tabs button,.tabs button.active,html[data-theme=dark] .tabs button,html[data-theme=dark] .tabs button.active{border:1px solid var(--app-line);border-radius:9px;padding:9px 15px;background:var(--app-surface)}.tabs button.active,html[data-theme=dark] .tabs button.active{color:var(--app-primary-text);border-color:var(--app-primary);background:var(--app-primary-soft)}
html[data-theme=dark] :is(input,select,textarea){background:#142033;color:var(--app-ink);border-color:var(--app-line)}
html[data-theme=dark] :is(th,.weekday){background:#23334a;color:var(--app-ink)}html[data-theme=dark] td{border-color:var(--app-line)}html[data-theme=dark] tbody tr:hover{background:var(--app-soft)}
html[data-theme=dark] .personal-hero{background:linear-gradient(115deg,#1d334c,#1c2a3e);border-color:#476887}html[data-theme=dark] .brand-name small{color:var(--app-muted)}
:is(button,.button,.work-link):focus-visible{outline:3px solid var(--app-focus);outline-offset:3px}
@media(max-width:980px){.work-signals .signal-list{grid-template-columns:1fr}.overview-metrics,.personal-stats{gap:12px}}
@media(max-width:760px){.work-signals .signal-list{gap:12px}.work-signals button.signal-row.secondary,html[data-theme=dark] .work-signals button.signal-row.secondary{padding:16px;min-height:88px}.overview-metric.secondary,html[data-theme=dark] .overview-metric.secondary,.personal-stat,html[data-theme=dark] .personal-stat{border:1px solid var(--app-line);border-radius:12px}.actions,.toolbar,.order-filters{gap:10px}.work-grid{gap:12px}.work-link.secondary,html[data-theme=dark] .work-link.secondary{padding:16px}}
@media(prefers-reduced-motion:reduce){.work-signals button.signal-row.secondary:hover{transform:none}button,.button,.signal-row{transition:none!important}}
@media print{.overview-metrics,.personal-stats{gap:8px}.work-signals button.signal-row.secondary,.overview-metric.secondary,.personal-stat{background:white!important;box-shadow:none!important;color:#222!important}}

/* Company identity and subscription controls */
.company-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.company-trial{padding:12px 16px;background:var(--surface);border-inline-start:3px solid #d99930;border-radius:8px}.trial-onboarding{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}#releaseHistoryButton{border-radius:9px;padding:10px 12px;min-height:44px;text-align:left}#releaseHistoryButton:hover{background:rgba(89,164,212,.12)}#companyOpen,#companyReset{display:grid;gap:12px;margin:16px 0}#companyOpen label,#companyReset label{display:grid;gap:6px}@media(max-width:700px){.company-controls{width:100%;font-size:12px}.company-controls .badge{max-width:60vw;overflow:hidden;text-overflow:ellipsis}header{flex-wrap:wrap}}
/* Guided setup and contextual learning */
.feature-guide{margin-bottom:20px;border:1px solid var(--line);border-left:3px solid #62aef4;border-radius:16px;background:var(--surface);overflow:hidden}.feature-guide summary{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;min-height:52px}.guide-mark{display:grid;place-items:center;border-radius:50%;background:#62aef426;color:var(--ink);width:26px;height:26px;font-weight:700}.guide-summary{margin-left:auto;font-size:12px;color:var(--muted)}.guide-body{padding:0 20px 18px}.guide-body li{padding:5px 0;line-height:1.7}.guide-example{padding:16px;border-radius:12px;background:var(--soft);border-left:3px solid #23b7a0}.guide-example p{margin-bottom:0;line-height:1.7}.guide-preference{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px}.permission-role-list .entry{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.permission-role-list .actions{margin-left:auto}.is-onboarding aside,.is-onboarding header,.is-onboarding .mobile-nav{display:none!important}.is-onboarding .main-shell,.is-onboarding main,.is-onboarding #app{margin-left:0!important;width:100%!important}.onboarding-shell{max-width:720px!important;margin:0 auto;padding:40px 24px 70px}.onboarding-brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:36px;color:var(--ink);font-size:22px;font-weight:750}.onboarding-brand img{width:42px;height:42px}.onboarding-brand small{font-size:13px;color:var(--muted)}.onboarding-shell h1{font-size:30px;margin:18px 0 12px}.onboarding-shell .card{padding:28px}.onboarding-progress{list-style:none;display:flex;gap:12px;padding:0;margin:28px 0}.onboarding-progress li{flex:1;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.onboarding-progress span{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;flex-shrink:0}.onboarding-progress .current{color:var(--ink);font-weight:700}.onboarding-progress .current span{background:#62aef4;color:#101724;border-color:#62aef4}.onboarding-progress .done span{background:#23b7a026;color:var(--ink);border-color:#23b7a0}.onboarding-review{display:grid;grid-template-columns:100px 1fr;gap:18px}.onboarding-review dt{color:var(--muted)}.onboarding-review dd{margin:0;overflow-wrap:anywhere}.onboarding-shell input{width:100%;margin:10px 0}.onboarding-complete{border-top:3px solid #23b7a0}.feature-guide summary:focus-visible{outline:3px solid #62aef4;outline-offset:-3px}@media(max-width:600px){.guide-summary{display:none}.guide-body{padding:0 14px 16px}.onboarding-shell{padding:24px 14px}.onboarding-shell .card{padding:20px}.onboarding-shell h1{font-size:25px}.onboarding-progress{gap:6px}.onboarding-progress li{font-size:12px;gap:6px}.onboarding-review{grid-template-columns:75px 1fr}}
.onboarding-shell .inline-error:empty{display:none}
