/* V1.2.3 · R01/R02/R03/R08/R10: shared layout and semantic colour tokens. */
:root{--app-bg:#F4F7FB;--surface:#FFFFFF;--surface-subtle:#EDF3FA;--ink:#172B45;--muted:#52657D;--line:#D6DFEB;--control:#7C8DA5;--primary:#2456C6;--primary-solid:#2456C6;--primary-hover:#1C439E;--blue:var(--primary);--blue-light:#EEF4FF;--danger:#B42332;--danger-solid:#B42332;--danger-soft:#FFF0F1;--red:var(--danger);--success:#167447;--success-soft:#ECF8F1;--green:var(--success);--warning:#8A4B08;--warning-soft:#FFF6E5;--indigo:#4338CA;--indigo-soft:#EEF2FF;--violet:#643AB5;--violet-soft:#F3EEFF;--teal:#0D716D;--teal-soft:#EAF8F6;--new:#56677E;--new-soft:#F0F3F8;--track:#DDE5EF;--focus:#2456C6;--rail:280px;--tap:2.75rem;--font-body:1rem;--font-small:.875rem;--font-nav:.8125rem;--font-table:.875rem;--font-heading:1.125rem;--font-title:1.5rem;--font-brand:1.125rem;--font-brand-company:.875rem;--bottom-nav-height:4rem}
:root[data-theme=dark]{--app-bg:#0B1220;--surface:#131E30;--surface-subtle:#1A2940;--ink:#EDF3FC;--muted:#B7C5D8;--line:#3B4B63;--control:#7E91AD;--primary:#A8C4FF;--blue-light:#1B2F50;--danger:#FFB4BB;--danger-soft:#3B202C;--success:#8EE2B4;--success-soft:#16372C;--warning:#F5CC8F;--warning-soft:#352C1C;--indigo:#B9C3FF;--indigo-soft:#242D4E;--violet:#CDB8FF;--violet-soft:#2D2546;--teal:#8CDDD2;--teal-soft:#163733;--new:#C0CCDB;--new-soft:#263245;--track:#3B4B63;--focus:#A8C4FF}

body{color:var(--ink);background:var(--app-bg);font:var(--font-body)/1.5 "Segoe UI",Arial,sans-serif}
button,input,select,textarea{font-size:var(--font-body);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
h1,h2,h3{line-height:1.25;color:var(--ink)}h1{font-size:var(--font-title)}h2,h3{font-size:var(--font-heading)}
p{margin:.5rem 0 1rem}small,.subtle,.hint,.eyebrow{font-size:var(--font-small);color:var(--muted)}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.ico{width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.layout,.main,.content,.card,.page-header,.page-header__text,.tab-strip,.content-panel{min-width:0}
.layout{display:block;min-height:100dvh}.main{margin-left:var(--rail)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--rail);padding:1.5rem 1rem;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);z-index:30;overflow:auto}
.app-brand{display:flex;align-items:center;gap:.5rem;min-width:0;color:var(--ink);text-decoration:none}.brand-logo{width:2rem;height:2rem;flex:0 0 2rem}.app-brand__text{display:grid;gap:.125rem;min-width:0;overflow-wrap:break-word}.app-brand__text strong{font-size:var(--font-brand);line-height:1.25}.app-brand__text>span{font-size:var(--font-brand-company);line-height:1.35}.app-brand--sidebar{align-items:flex-start;margin-bottom:1.5rem}.app-brand--mobile{display:none}.gate-identity{justify-content:center;text-align:center;margin:.75rem 0}.gate-identity .app-brand__text{gap:.5rem}
.nav{display:grid;gap:.375rem}.nav button{display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:.75rem;border:0;border-radius:.625rem;background:transparent;text-align:left;color:var(--muted);font-size:var(--font-small)}.nav button.active{background:var(--blue-light);color:var(--primary);font-weight:700;box-shadow:inset 3px 0 currentColor}
.side-quick{display:grid;gap:.5rem;margin-top:2rem}.side-quick .btn{font-size:var(--font-small)}.side-bottom{margin-top:auto;padding-top:2rem;color:var(--muted);font-size:var(--font-small)}.side-bottom p{margin:.5rem 0}.trial-badge{font-weight:700;font-size:var(--font-small)}
.app-chrome{position:sticky;top:0;z-index:35}.app-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:4rem;padding:.5rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--line);z-index:35}.app-header--flow{position:relative}.app-header__actions{display:flex;align-items:center;gap:.25rem;min-width:0}.desktop-greeting span,.desktop-greeting small{display:block;font-size:var(--font-small)}.desktop-greeting span{font-weight:700}.app-header #unit-select{max-width:15rem;margin:0;font-size:var(--font-small)}.nav-settings{margin-top:1rem}
.account{grid-column:4;grid-row:1/3}.app-header>.account-toggle{grid-column:5;grid-row:1/3;position:relative}.account-gear{display:flex;align-items:center;justify-content:center;position:absolute;right:-.2rem;bottom:-.15rem;width:1.125rem;height:1.125rem;border:1px solid var(--line);border-radius:50%;color:var(--primary);background:var(--surface)}.account-gear .ico{width:.75rem;height:.75rem}
.desktop-greeting span,.desktop-greeting small{display:block;font-size:var(--font-small)}.desktop-greeting span{font-weight:700}.spacer{flex:1}.mobile-brand{min-width:0}.app-header #unit-select{max-width:15rem;margin:0;font-size:var(--font-small)}
.account{display:grid;text-align:right}.account b,.account small{font-size:var(--font-small)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--line);background:var(--blue-light);color:var(--primary);border-radius:50%;font-size:var(--font-small);font-weight:700;flex-shrink:0}.avatar.small{width:1.75rem;height:1.75rem;font-size:var(--font-small)}.account-toggle{display:inline-flex;min-width:var(--tap);min-height:var(--tap)}
.account-menu{position:absolute;right:1rem;top:100%;width:min(25rem,calc(100vw - 1.5rem));max-height:calc(100dvh - var(--app-header-height,8rem) - .75rem);overflow:auto;overscroll-behavior:contain;padding:1rem;border:1px solid var(--line);border-radius:.875rem;background:var(--app-bg);box-shadow:0 16px 40px #172b4524;z-index:60}.account-profile{display:flex;align-items:center;gap:.75rem;padding:.25rem 0 .75rem}.account-profile>span:last-child{min-width:0}.account-profile b,.account-profile small{display:block;overflow-wrap:break-word}.account-profile small{font-size:var(--font-small);color:var(--muted)}.account-menu h2{font-size:var(--font-small);color:var(--muted);margin:.75rem 0 .375rem}.account-group{border:1px solid var(--line);border-radius:.75rem;background:var(--surface);overflow:hidden}.account-group>button{display:flex;align-items:center;gap:.625rem;width:100%;min-height:var(--tap);padding:.625rem .75rem;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface)}.account-group>button:last-child{border-bottom:0}.account-group>button>span{min-width:0;flex:1}.account-group b,.account-group small{display:block;overflow-wrap:break-word}.account-group b{font-size:var(--font-body)}.account-group small{font-size:var(--font-small);color:var(--muted)}.account-group>button>.ico:first-child{color:var(--primary)}.account-group>button>.ico:last-child{width:1rem}.account-group>button:hover{background:var(--blue-light)}.account-menu>small:last-child{display:block;margin-top:.75rem}
.trial-ribbon{padding:.3125rem 1.5rem;background:var(--blue-light);color:var(--muted);font-size:var(--font-small);line-height:1.25;border-bottom:1px solid var(--line)}
.content{max-width:1600px;margin:auto;padding:1.5rem 1.5rem 3rem}.content.is-loading{cursor:progress}.content.is-loading:after{content:"";position:fixed;top:0;left:var(--rail);right:0;height:2px;background:var(--primary);z-index:90}
.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.page-header__title{margin:0;font-size:var(--font-title);line-height:1.25;overflow-wrap:break-word;letter-spacing:-.02em}.page-header__title:focus{outline:none}.page-header__context{font-size:var(--font-small);line-height:1.4;max-width:none;color:var(--muted);margin:.25rem 0 0}.page-header__actions{flex-shrink:0}
.actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn,.icon-button,.text-action,.link,summary{min-height:var(--tap)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--control);padding:.5rem .875rem;border-radius:.625rem;background:var(--surface);color:var(--ink);font-size:var(--font-body);font-weight:600;text-align:center;text-decoration:none;line-height:1.35;white-space:normal;overflow-wrap:break-word}
.btn:hover{background:var(--blue-light)}.btn.primary{color:#fff;background:var(--primary-solid);border-color:var(--primary-solid)}.btn.primary:hover{background:var(--primary-hover)}.btn.danger,.btn.red{color:var(--danger);background:var(--danger-soft)}.btn.tiny{font-size:var(--font-small)}.btn.active,.btn[aria-pressed=true]{color:var(--primary);background:var(--blue-light);border-color:var(--primary)}
.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);width:var(--tap);border:0;background:transparent;border-radius:.625rem;color:var(--muted);position:relative;flex-shrink:0}.icon-button:hover{background:var(--blue-light)}.dot{position:absolute;top:0;right:0;font-size:var(--font-small);font-weight:700;background:var(--danger-solid);color:white;border-radius:1rem;padding:0 .2rem}
.text-action,.link{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 0;border:0;background:transparent;color:var(--primary);font:inherit;text-align:left;text-decoration:none}.text-action .ico:last-child{transform:rotate(180deg)}.pane-back .ico{transform:none!important}.text-button{border:0;background:transparent;color:var(--primary);font-size:var(--font-small);padding:.25rem .5rem}
.card{border:1px solid var(--line);border-radius:.875rem;background:var(--surface);padding:1rem;min-width:0}.card h2,.card h3{margin:0 0 .5rem}.section-head,.card-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;min-width:0}.section-head h2,.section-head h3,.card-heading h2{margin:0}.section-head p{margin:.25rem 0 0;font-size:var(--font-small);color:var(--muted)}.section-head>span{font-size:var(--font-small)}.count-pill{font-size:var(--font-small);background:var(--blue-light);padding:.125rem .5rem;border-radius:.375rem;white-space:nowrap}
input,select,textarea{width:100%;min-width:0;max-width:100%;min-height:var(--tap);padding:.625rem .75rem;border:1px solid var(--control);border-radius:.625rem;background:var(--surface);font-size:var(--font-body);margin-top:.375rem;line-height:1.4}textarea{min-height:7rem;resize:vertical}input[type=checkbox]{width:1.25rem;min-height:1.25rem;accent-color:var(--primary)}label,.filter-label{display:grid;gap:.25rem;min-width:0;font-size:var(--font-small);color:var(--muted)}label input,label select{margin-top:0}fieldset{min-width:0}legend{font-size:var(--font-small);color:var(--muted)}
.list-toolbar{display:flex;align-items:center;gap:.5rem;min-width:0;margin-bottom:.75rem;flex-wrap:wrap}.list-toolbar .searchbox,.list-toolbar>input{flex:1;min-width:8rem}.searchbox{display:flex;align-items:center;gap:.5rem;min-width:0;min-height:var(--tap);padding:0 .75rem;border:1px solid var(--control);border-radius:.625rem;background:var(--surface)}.searchbox .ico{color:var(--muted);width:1.25rem}.searchbox input{border:0;margin:0;padding:.625rem 0;background:transparent;outline-offset:0}.searchbox:focus-within{outline:2px solid var(--focus);outline-offset:1px}
.filter-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;min-width:0}.filter-summary>span{font-size:var(--font-small);color:var(--muted);min-width:0}.filter-summary .btn{flex-shrink:0;font-size:var(--font-small);padding:.5rem .75rem}.filter-summary .count-pill{padding:0 .3rem}.active-filter-summary{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:var(--font-small);color:var(--muted);margin:0 0 .75rem}.active-filter-summary .btn{margin-left:auto}
.work-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.metric{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.25rem .5rem;min-width:0;min-height:6rem;padding:1rem;border:1px solid var(--line);border-radius:.875rem;background:var(--surface);text-align:left;color:var(--ink)}.metric>span{font-size:var(--font-small)}.metric strong{font-size:2rem;line-height:1.1;grid-column:1;display:block;font-variant-numeric:tabular-nums}.metric>.ico{width:1.125rem;height:1.125rem;grid-column:2;grid-row:1/3;transform:rotate(180deg)}.metric.total{background:var(--blue-light)}.metric.open_current{border-left:4px solid var(--muted)}.metric.doing_current{border-left:4px solid var(--primary)}.metric.overdue{border-left:4px solid var(--danger);background:var(--danger-soft)}.metric.done{border-left:4px solid var(--success);background:var(--success-soft)}.metric.overdue strong{color:var(--danger)}.metric.done strong{color:var(--success)}
.attention-queue,.today-card,.completion-section{margin-bottom:1rem}.dashboard-charts,.dashboard-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.state-chart{display:flex;align-items:center;gap:1.25rem;padding:.5rem 0 1rem;min-width:0}.donut-wrap{position:relative;width:9rem;flex:0 0 9rem}.donut-wrap svg{display:block;width:100%;transform:rotate(-90deg)}.donut-wrap>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-wrap strong{font-size:var(--font-title);line-height:1.25}.donut-wrap small{font-size:var(--font-small)}.chart-legend{flex:1;display:grid;min-width:0;gap:.25rem}.chart-legend button{display:grid;grid-template-columns:.625rem minmax(0,1fr) auto auto;align-items:center;gap:.5rem;min-height:var(--tap);border:0;background:transparent;color:var(--ink);font-size:var(--font-small);text-align:left;padding:.375rem 0}.chart-legend small{color:var(--muted);font-size:var(--font-small)}.legend-mark{width:.625rem;height:.625rem;border-radius:2px;background:var(--muted)}.legend-mark.doing_current{background:var(--primary)}.legend-mark.overdue{background:var(--danger)}.legend-mark.done{background:var(--success)}.chart-foot{border-top:1px solid var(--line);padding-top:.75rem;font-size:var(--font-small);color:var(--muted)}.state-chart circle[data-action]{cursor:pointer;pointer-events:stroke}.state-chart circle[data-action]:focus-visible{outline:none;stroke-width:16}
.workload{display:grid;gap:.5rem}.load-person{display:flex;align-items:center;gap:.75rem;min-height:var(--tap);border:0;background:transparent;color:var(--ink);text-align:left;padding:.5rem 0}.load-info{flex:1;min-width:0}.load-info>span:first-child{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:var(--font-small)}.load-track{display:block;height:.375rem;background:var(--track);position:relative;border-radius:1rem;margin-top:.5rem;overflow:hidden}.load-track i{position:absolute;inset:0 auto 0 0;height:100%;background:#A5BBDD}.load-track .load-done{background:var(--success)}
.work-space{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--line);border-radius:.875rem;background:var(--surface);min-height:30rem;height:calc(100dvh - 24rem);overflow:hidden}.work-space:not(.has-selected)>.task-pane{display:none}.work-list-panel{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line)}.list-caption{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);font-size:var(--font-small);flex-wrap:wrap}.list-caption small{font-size:var(--font-small)}.work-list-scroll,.task-pane{overflow:auto;min-height:0;min-width:0}.work-list-scroll{flex:1}
.work-card{display:flex;align-items:flex-start;gap:.625rem;width:100%;min-width:0;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);padding:1rem}.work-card:hover,.work-card.selected{background:var(--blue-light)}.work-card.selected{box-shadow:inset 3px 0 var(--primary)}.work-card-body{flex:1;min-width:0}.work-card-title{display:block;font-size:var(--font-body);font-weight:700;line-height:1.45;overflow-wrap:anywhere}.work-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;margin-top:.5rem;font-size:var(--font-small);color:var(--muted)}.work-state-icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;background:var(--new-soft);color:var(--muted);flex-shrink:0}.work-state-icon .ico{width:1.125rem;height:1.125rem}.work-state-icon.doing{color:var(--primary);background:var(--blue-light)}.work-state-icon.done{color:var(--success);background:var(--success-soft)}.work-card>.ico{width:1rem;height:1rem;color:var(--muted);transform:rotate(180deg);margin-top:.25rem}.work-assigned{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:var(--font-small);color:var(--muted)}.avatar-stack{display:flex}.avatar-stack .avatar+.avatar{margin-left:-.5rem}.work-card.compact{padding:.75rem 0}.work-card.compact .work-assigned{display:none}
.tag,.priority,.late,.review-tag,.kind-pill{display:inline-flex;align-items:center;max-width:100%;font-size:var(--font-small);padding:.125rem .5rem;border-radius:.375rem;background:var(--new-soft);color:var(--muted);line-height:1.5;white-space:normal}.tag.doing,.tag.submitted,.tag.in_progress{color:var(--primary);background:var(--blue-light)}.tag.done,.tag.approved,.tag.confirmed,.tag.ready,.tag.good,.tag.completed{color:var(--success);background:var(--success-soft)}.tag.pending,.review-tag,.tag.limited,.tag.repair,.tag.transit{color:var(--warning);background:var(--warning-soft)}.tag.rejected,.tag.broken,.late,.priority.high,.tag.high{color:var(--danger);background:var(--danger-soft)}.tag.unknown{color:var(--violet);background:var(--violet-soft)}.late{font-weight:700}.kind-pill.trip{color:var(--primary);background:var(--blue-light)}.kind-pill.leave{color:var(--warning);background:var(--warning-soft)}.kind-pill.office{color:var(--success);background:var(--success-soft)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.75rem 0;font-size:var(--font-small);color:var(--muted)}.work-list-panel .pagination{padding:.75rem}.pagination .btn{font-size:var(--font-small)}
.task-pane-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:2rem;color:var(--muted)}.task-pane-empty>.ico{width:2.5rem;height:2.5rem}.task-pane-empty p{font-size:var(--font-small)}.task-pane-head{padding:1rem;border-bottom:1px solid var(--line)}.task-pane-head h2{margin:1rem 0 .5rem;overflow-wrap:anywhere}.task-pane-head>p{font-size:var(--font-small);color:var(--muted)}.task-facts{display:flex;gap:1rem;flex-wrap:wrap;margin:.75rem 0;font-size:var(--font-small);color:var(--muted)}.task-facts>span{display:grid;gap:.25rem;min-width:0}.task-facts b{color:var(--ink)}.task-pane-body{padding:0 1rem 1rem}.task-pane-body section{padding:1rem 0;border-bottom:1px solid var(--line)}.task-pane-body h3{font-size:var(--font-heading);margin:0 0 .75rem}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;margin:0}.file-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;border:1px solid var(--line);border-radius:.625rem;padding:.75rem;margin-top:.5rem}.file-row>span{flex:1;min-width:0}.file-row b,.file-row small{display:block;overflow-wrap:anywhere}.file-row b{font-size:var(--font-small)}.assignee-result{padding:.75rem 0;border-bottom:1px solid var(--line)}.assignee-result.removed{opacity:.7}.assignee-result-head,.comment-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:var(--font-small)}.comment{padding:.75rem;border:1px solid var(--line);border-radius:.625rem;margin:.75rem 0}.comment-head{margin-bottom:.5rem}.task-history{font-size:var(--font-small);padding:1rem 0}.task-history>div{display:grid;gap:.25rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.task-history p{margin:.25rem 0}.pane-back{display:none}.task-identity{display:none}
.scope-switch{display:flex;align-items:stretch;gap:.25rem;padding:.25rem;background:var(--surface-subtle);border-radius:.625rem;min-width:0}.scope-switch button{flex:1;min-width:0;min-height:var(--tap);padding:.5rem .75rem;border:0;border-radius:.5rem;background:transparent;color:var(--muted);font-size:var(--font-small);line-height:1.35}.scope-switch button.active{background:var(--surface);color:var(--primary);font-weight:700}.work-scopes{width:max-content;max-width:100%;margin-bottom:.5rem}
.module-nav{margin-bottom:.75rem}.module-select-row{display:none}.module-group-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.375rem;margin-bottom:.5rem}.module-group-links>button{display:flex;align-items:center;gap:.375rem;min-width:0;min-height:3rem;border:1px solid var(--line);background:var(--surface);border-radius:.625rem;padding:.375rem .5rem;font-size:var(--font-small);line-height:1.25;text-align:left;color:var(--module-ink)}.module-group-links [aria-current=page]{background:var(--module-soft);border-color:var(--module-ink);font-weight:700;box-shadow:inset 0 -3px var(--module-ink)}
[data-tone=blue]{--module-ink:var(--primary);--module-soft:var(--blue-light)}[data-tone=indigo]{--module-ink:var(--indigo);--module-soft:var(--indigo-soft)}[data-tone=teal]{--module-ink:var(--teal);--module-soft:var(--teal-soft)}[data-tone=amber]{--module-ink:var(--warning);--module-soft:var(--warning-soft)}[data-tone=violet]{--module-ink:var(--violet);--module-soft:var(--violet-soft)}[data-tone=slate]{--module-ink:var(--muted);--module-soft:var(--new-soft)}
.module-switch{display:flex;align-items:center;gap:.625rem;min-width:0;min-height:var(--tap);flex:1;padding:.5rem .75rem;border:1px solid var(--module-ink);border-radius:.75rem;color:var(--module-ink);background:var(--module-soft);text-align:left}.module-switch__label{display:flex;align-items:center;gap:.375rem;flex-wrap:nowrap;flex:1;min-width:0}.module-switch__label small,.module-switch__label b{display:block}.module-switch__label small{font-size:var(--font-small);color:var(--module-ink);line-height:1.25}.module-switch__label b{font-size:var(--font-body);line-height:1.35}.equipment-config{flex-shrink:0;color:var(--module-ink);border:1px solid var(--line);background:var(--surface)}
.tab-row{position:relative;min-width:0;margin-bottom:.75rem}.tab-strip{display:flex;gap:.25rem;min-width:0;max-width:100%;padding:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.tab-strip.nav-measure{overflow:visible}.section-navigation[data-nav-scroll]{border-bottom:1px solid var(--line)}.tab-strip__item{flex:0 0 auto;min-height:var(--tap);padding:.5rem .75rem;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-size:var(--font-small);line-height:1.25;white-space:nowrap}.tab-strip__item[aria-current=page]{color:var(--module-ink,var(--primary));border-bottom-color:currentColor;font-weight:700}.nav-measure{position:absolute;visibility:hidden;pointer-events:none;inset:0 auto auto 0;width:max-content;max-width:none;contain:layout}.section-picker{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:var(--tap);padding:.5rem .75rem;border:1px solid var(--line);border-radius:.625rem;background:var(--surface);text-align:left}.section-picker span{display:grid;min-width:0}.section-picker b{font-size:var(--font-body);overflow-wrap:anywhere}.section-picker small{font-size:var(--font-small)}.detail-tabs,.people-tabs{margin-bottom:1rem}.configuration-context{margin-bottom:.5rem}.equipment-picker-footer{margin-top:.75rem;padding-bottom:env(safe-area-inset-bottom,0px)}.equipment-picker-footer .btn{width:100%}.settings-back{width:max-content;margin-bottom:.5rem}.text-action.settings-back .ico:last-child{transform:none}.equipment-config .ico{width:1.5rem}
.tablebox{max-width:100%;border:1px solid var(--line);border-radius:.875rem;background:var(--surface);overflow:auto}.tablebox table{width:100%;border-collapse:collapse;font-size:var(--font-table);text-align:left}.tablebox th,.tablebox td{padding:.75rem;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.tablebox th{background:var(--new-soft);font-size:var(--font-small);font-weight:700;white-space:nowrap}.tablebox tr:last-child td{border:0}.tablebox small,.maintext{display:block;margin-top:.25rem}.tablebox .maintext{font-weight:600}.rowactions{display:flex;gap:.375rem;flex-wrap:wrap}.toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.toolbar input,.toolbar select{margin:0}.toolbar>select{width:auto}.list-results>.list-caption{padding:.5rem 0;border:0}.catalog-cards{display:none}.machine-card{padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:.875rem;margin-bottom:.75rem;min-width:0}.machine-card h2{font-size:var(--font-body);line-height:1.45;overflow-wrap:anywhere;margin:.25rem 0}.machine-card p{font-size:var(--font-small);color:var(--muted);margin:.375rem 0}.machine-states{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.75rem 0}.machine-states>span{display:grid;align-content:start;justify-items:start;min-width:0;gap:.25rem}.machine-states small{font-size:var(--font-small)}
.detail-title{display:flex;gap:.75rem;align-items:flex-start;margin:.75rem 0}.detail-title>div{min-width:0}.detail-title h1{margin:0 0 .5rem;font-size:var(--font-title);overflow-wrap:anywhere}.detail-title .actions{margin-left:auto;flex-shrink:0}.machine-symbol{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.75rem;background:var(--blue-light);color:var(--primary);flex-shrink:0}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem}.datum{min-width:0;padding:.75rem 0;border-bottom:1px solid var(--line)}.datum small,.datum b{display:block;overflow-wrap:anywhere}.datum b{font-size:var(--font-body);margin-top:.25rem}
.action-menu{position:relative;min-width:0}.action-menu summary{display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;border:1px solid var(--line);border-radius:.625rem;font-size:var(--font-small);background:var(--surface);cursor:pointer;list-style:none}.action-menu summary:after{content:'⌄';margin-left:.5rem}.action-menu[open]>div{position:absolute;right:0;top:100%;z-index:20;display:grid;gap:.375rem;padding:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:.75rem;box-shadow:0 10px 30px #172b4520;min-width:min(18rem,70vw)}
.fleet-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}.fleet-metrics .card{margin:0;text-align:left}.fleet-metrics small{display:block;color:var(--muted);font-size:var(--font-small)}.fleet-metrics strong{display:block;font-size:var(--font-title);line-height:1.25;margin-top:.5rem;overflow-wrap:anywhere}.fleet-metrics .status-overdue{background:var(--danger-soft);color:var(--danger)}.fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fleet-record{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--line);background:var(--surface);border-radius:.875rem;margin:.75rem 0;overflow-wrap:anywhere}.fleet-record>div{min-width:0}.fleet-record small{display:block}.fleet-record h3{margin:0 0 .5rem}.fleet-record p{margin:.375rem 0}.fleet-alert.urgent{border-left:4px solid var(--danger)}.fleet-alert.urgent p{color:var(--danger);font-weight:600}.overview-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}.overview-controls input{width:auto;max-width:100%}.report-chart{display:grid;gap:.75rem}.report-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,1.5fr) auto;align-items:center;gap:.75rem;min-height:var(--tap);background:transparent;border:0;text-align:left;color:var(--ink);font-size:var(--font-small)}.report-bar span{overflow-wrap:anywhere}.report-bar i{display:block;height:.75rem;border-radius:.25rem;background:var(--primary)}.report-scope{margin:0 0 .5rem;font-size:var(--font-small);color:var(--muted)}.report-info{font-size:var(--font-small);margin-bottom:1rem}.report-info summary{display:flex;align-items:center;color:var(--primary);cursor:pointer}.report-info p{padding:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:.625rem}.report-search input{margin:0}.report-chart+.actions{margin-top:1rem}
.schedule-date-controls{display:grid;grid-template-columns:var(--tap) minmax(0,15rem) var(--tap) auto;align-items:center;gap:.5rem;margin-bottom:.5rem}.schedule-date-field{min-width:0}.schedule-date-field input{width:100%;margin:0}.schedule-date-controls input{min-width:0}.next-period .ico{transform:rotate(180deg)}.schedule-views{width:max-content;min-width:15rem;max-width:100%;margin-bottom:.75rem}.period-caption{margin:.75rem 0}.period-caption h2{font-size:var(--font-small)}.schedule-list{display:grid;gap:.75rem}.schedule-card{display:flex;align-items:flex-start;gap:1rem}.schedule-date{display:grid;justify-items:center;border-right:1px solid var(--line);padding-right:1rem;flex-shrink:0}.schedule-date b{font-size:var(--font-title);line-height:1.2;color:var(--primary)}.schedule-date span,.schedule-date small{font-size:var(--font-small)}.schedule-card-content{flex:1;min-width:0}.schedule-title{font-size:var(--font-body);font-weight:700;overflow-wrap:anywhere}.schedule-card-content p{font-size:var(--font-small);color:var(--muted);margin:.25rem 0}.schedule-card>.actions{max-width:12rem}.today-schedule{display:flex;align-items:center;gap:.75rem;width:100%;border:0;border-bottom:1px solid var(--line);padding:.75rem 0;background:transparent;text-align:left;flex-wrap:wrap}.today-schedule>span:nth-child(2){display:grid;gap:.25rem;flex:1;min-width:0}.today-schedule b{font-size:var(--font-small)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.cal-weekday{text-align:center;font-size:var(--font-small);color:var(--muted);padding:.5rem 0}.cal-day{min-width:0;border:1px solid var(--line);border-radius:.375rem;background:var(--surface);padding:.375rem;min-height:5rem;text-align:left;color:var(--ink)}.cal-day.today{border:2px solid var(--primary);background:var(--blue-light)}.cal-number{min-width:1.5rem;min-height:1.5rem;border:0;background:transparent;color:var(--primary);padding:.25rem}.calendar-event{width:100%;min-width:0;display:grid;font-size:var(--font-small);border:0;border-left:3px solid var(--primary);background:var(--blue-light);padding:.25rem;margin-top:.25rem;text-align:left;overflow-wrap:anywhere}.calendar-event small{font-size:var(--font-small)}.calendar-event.leave{background:var(--warning-soft);border-color:var(--warning)}.calendar-event.office{background:var(--success-soft);border-color:var(--success)}.calendar-event.pending{border-style:dashed}.calendar-event.rejected{text-decoration:line-through}.calendar-mode{display:flex;gap:.5rem;margin:.75rem 0}.calendar-mode .btn{font-size:var(--font-small)}
.people-space{display:grid;grid-template-columns:minmax(200px,.6fr) minmax(0,1.4fr);gap:1rem}.roster-desktop{height:fit-content;padding:.75rem}.person-pick{display:flex;gap:.75rem;align-items:center;width:100%;min-width:0;min-height:3.5rem;padding:.75rem .5rem;border:0;border-radius:.625rem;text-align:left;color:var(--ink);background:transparent}.person-pick>span{min-width:0}.person-pick b,.person-pick small{display:block;white-space:normal;overflow-wrap:break-word}.person-pick b{font-size:var(--font-small)}.person-pick small{font-size:var(--font-small);color:var(--muted)}.person-pick.active{background:var(--blue-light);box-shadow:inset 3px 0 var(--primary)}.person-select-mobile{display:none}.person-profile{display:grid;gap:1rem;min-width:0}.person-heading h2{margin:0}.person-heading p{margin:.25rem 0 .75rem;font-size:var(--font-small);color:var(--muted)}.month-picker{border:0;padding:0;margin:0 0 .75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.month-picker legend{margin-bottom:.5rem}.month-picker select{padding-right:1.25rem}.person-work-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.5rem 0}.person-work-stats span{font-size:var(--font-small);color:var(--muted);min-width:0}.person-work-stats strong{display:block;font-size:var(--font-title);color:var(--ink);line-height:1.3}.person-work-stats>span:last-child strong{color:var(--danger)}
.calendar-band{display:flex;min-width:0;height:1.5rem;border-radius:.375rem;overflow:hidden;background:var(--track);margin:.75rem 0 .5rem}.calendar-segment{height:100%;border:0;border-radius:0;min-width:0;flex:0 0 auto;padding:0}.calendar-segment.trip{background:var(--primary)}.calendar-segment.office{background:var(--success)}.calendar-segment.leave{background:var(--warning)}.calendar-segment.unknown{background:#94A3B8}.calendar-segment.future{background:repeating-linear-gradient(135deg,var(--surface-subtle),var(--surface-subtle) 4px,var(--line) 4px,var(--line) 6px);border:1px solid #94A3B8}.calendar-segment.weekend{background:#6B7280}.calendar-segment.holiday{background:var(--violet)}.calendar-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .75rem;margin-bottom:.75rem}.calendar-key button{display:flex;align-items:center;gap:.5rem;min-height:var(--tap);border:0;background:transparent;text-align:left;font-size:var(--font-small);min-width:0;color:var(--ink);padding:.25rem 0}.calendar-key b{display:block;color:var(--muted);font-weight:500}.calendar-key i{width:.75rem;height:.75rem;flex-shrink:0;border-radius:2px;background:#94A3B8}.calendar-key .trip i{background:var(--primary)}.calendar-key .office i{background:var(--success)}.calendar-key .leave i{background:var(--warning)}.calendar-key .future i{border:1px solid var(--muted);background:repeating-linear-gradient(135deg,var(--surface-subtle),var(--surface-subtle) 3px,var(--line) 3px,var(--line) 5px)}.calendar-key .weekend i{background:#6B7280}.calendar-key .holiday i{background:var(--violet)}.calendar-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.person-month{grid-template-columns:repeat(7,minmax(44px,1fr));min-width:calc(308px + 1.5rem)}.person-month .cal-day{display:grid;grid-template-columns:1fr 1fr;gap:.125rem;min-height:4.25rem;padding:.25rem}.person-month b{grid-column:1/-1;font-size:var(--font-small)}.half-day{display:block;border-radius:.25rem;background:var(--track);color:var(--ink);font-size:var(--font-small);text-align:center;padding:.125rem 0}.half-day.trip{background:var(--blue-light);color:var(--primary)}.half-day.office{background:var(--success-soft);color:var(--success)}.half-day.leave{background:var(--warning-soft);color:var(--warning)}.half-day.future{background:repeating-linear-gradient(135deg,var(--surface-subtle),var(--surface-subtle) 3px,var(--track) 3px,var(--track) 5px);color:var(--muted)}.half-day.weekend{background:var(--track);color:var(--muted)}.half-day.holiday{background:var(--violet-soft);color:var(--violet)}.person-calendar-list{display:grid;gap:.5rem}.person-calendar-list button{display:grid;gap:.375rem;text-align:left;min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:.625rem;background:var(--surface);color:var(--ink)}.person-calendar-list span{display:block;font-size:var(--font-small)}
.scope-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.75rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.scope-row>span{min-width:0;flex:1}.scope-row small{display:block;margin-top:.25rem}
.settings-search{margin:0 0 1rem}.settings-index{display:grid;gap:1rem;margin-bottom:1rem}.settings-index section>h2{font-size:var(--font-small);color:var(--muted);margin:0 0 .5rem}.settings-index-group{border:1px solid var(--line);border-radius:.875rem;background:var(--surface);overflow:hidden}.settings-index button>.settings-icon{display:flex;align-items:center;justify-content:center;flex:0 0 2.5rem;min-height:2.5rem;background:var(--blue-light);color:var(--primary);border-radius:.625rem}.settings-index [data-tone=amber] .settings-icon{color:var(--warning);background:var(--warning-soft)}.settings-index [data-tone=teal] .settings-icon{color:var(--teal);background:var(--teal-soft)}.people-section-switch{display:none}.settings-index button{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0;min-height:3.5rem;padding:.75rem;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left}.settings-index button:last-child{border-bottom:0}.settings-index button>span{flex:1;min-width:0}.settings-index b{display:block;font-size:var(--font-body)}.settings-index small{display:block;font-size:var(--font-small);color:var(--muted);margin-top:.125rem}.settings-index [aria-current=page]{border-color:var(--primary);background:var(--blue-light)}.settings-content h2{margin:1.25rem 0 .75rem}.settings-content h2:first-child{margin-top:0}.settings-content p{font-size:var(--font-small)}.settings-content .actions,.setting-links{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.setting-row{display:grid;gap:.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}.setting-row b,.setting-row small{display:block}.setting-row .btn{justify-self:start}.preference-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.preference-buttons [aria-pressed=true]{background:var(--primary-solid);color:white;border-color:var(--primary-solid)}.settings-preview{padding:1rem;border:1px solid var(--line);background:var(--app-bg);border-radius:.75rem;margin:1rem 0}.settings-preview h3{margin:0 0 .5rem}.settings-preview .btn{margin-top:.75rem}
.empty{display:grid;justify-items:start;gap:.375rem;text-align:left;padding:.875rem;color:var(--muted)}.empty>.ico{width:2rem;height:2rem;margin-bottom:.5rem}.empty h3{font-size:var(--font-body);margin:0}.empty p{font-size:var(--font-small);margin:0;max-width:28rem}.notice,.error{font-size:var(--font-small);border:1px solid var(--line);border-radius:.625rem;padding:.75rem;margin:.75rem 0;overflow-wrap:anywhere;line-height:1.5}.notice{color:var(--muted);background:var(--blue-light)}.error,.field-error,.filter-error{color:var(--danger);background:var(--danger-soft)}.field-error:empty,.filter-error:empty{display:none}.field-error,.filter-error{font-size:var(--font-small);margin-top:.25rem}.field-error{padding:.25rem;border-radius:.25rem}.notification-row{display:flex;gap:.75rem;align-items:flex-start;width:100%;padding:.875rem;border:0;border-bottom:1px solid var(--line);background:var(--blue-light);color:var(--ink);text-align:left;overflow-wrap:anywhere}.notification-row.read{background:var(--surface)}.notification-row>span{min-width:0}.notification-row small{display:block;margin-top:.25rem}.backup-options{display:grid;gap:.75rem;margin:1rem 0}.loading{padding:2rem;text-align:center;color:var(--muted)}
.operation-message{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;background:var(--warning-soft);color:var(--warning);border-bottom:1px solid var(--control);font-size:var(--font-small)}#read-status:not(:empty){padding:.5rem 1rem;color:var(--primary);background:var(--blue-light);font-size:var(--font-small)}.diagnostics{width:100%;min-height:40dvh;font:var(--font-small) monospace}
#toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);max-width:calc(100vw - 2rem);padding:.75rem 1rem;border-radius:.625rem;background:#172B45;color:#fff;font-size:var(--font-small);z-index:100;display:none;pointer-events:none}#toast.show{display:block}
dialog{border:1px solid var(--line);border-radius:1rem;padding:0;width:min(42rem,calc(100vw - 2rem));max-width:100%;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);background:var(--surface);box-shadow:0 24px 60px #172b452b}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:rgb(15 23 42 / .42)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem;border-bottom:1px solid var(--line);flex-shrink:0}.modal-head h2{margin:0;font-size:var(--font-heading);line-height:1.3}.modal-body{padding:1rem;overflow:auto;min-height:0;overscroll-behavior:contain;font-size:var(--font-body)}.modal-body:has(form){display:flex;flex-direction:column;overflow:hidden;flex:1}#record-form,#filter-form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 10rem)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:1rem;min-height:0;overflow:auto;overscroll-behavior:contain;padding:.25rem .25rem .5rem}.form-grid>label{display:grid;align-content:start;gap:.375rem;min-width:0}.form-grid .wide{grid-column:1/-1}.form-grid textarea{width:100%}.form-grid input[type=file]{padding:.375rem;font-size:var(--font-small)}.date-shift{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.75rem;grid-column:1/-1;min-width:0}.date-shift label{align-content:start}.date-shift input,.date-shift select{padding:.625rem .5rem}.check-field{border:0;margin:0;padding:0}.check-field legend{margin-bottom:.5rem}.check-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem}.check-options label{display:flex;align-items:center;gap:.5rem;min-height:var(--tap);padding:.5rem;border:1px solid var(--control);border-radius:.5rem;font-size:var(--font-small);color:var(--ink)}.check-options label:has(:checked){border-color:var(--primary);background:var(--blue-light)}.check-options input{flex-shrink:0;margin:0}.hint{display:block}.modal-footer{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--line);flex-shrink:0;background:var(--surface)}.form-error:empty{display:none}.form-error{flex-shrink:0}.choice-list{display:grid;gap:.5rem}.choice-list>button{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0;min-height:3rem;padding:.75rem;border:1px solid var(--line);border-radius:.625rem;background:var(--surface);text-align:left;color:var(--module-ink,var(--ink));font-size:var(--font-body)}.choice-list>button>span:not(.avatar){flex:1;min-width:0}.choice-list [aria-current]{border-color:var(--module-ink,var(--primary));background:var(--module-soft,var(--blue-light));font-weight:700}.choice-list small,.choice-list b{display:block}.choice-list small{font-weight:400;font-size:var(--font-small);color:var(--muted);margin-top:.25rem}.person-choices{margin-top:.75rem}
.completion-bars{display:flex;align-items:flex-end;gap:1rem;min-height:8rem;overflow:auto;padding:.5rem 0}.completion-bars button{display:grid;justify-items:center;align-content:end;gap:.375rem;background:transparent;border:0;flex:1;min-width:6rem;color:var(--muted);font-size:var(--font-small)}.completion-bars i{display:block;width:2rem;max-height:5rem;min-height:1rem;background:var(--primary);border-radius:.25rem}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.stat strong{display:block;font-size:var(--font-title);margin:.75rem 0}.stat .stat-icon{color:var(--primary)}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.barline{display:grid;grid-template-columns:7rem 1fr auto;align-items:center;gap:.5rem;font-size:var(--font-small);margin:.75rem 0}.bartrack,.progress{height:.375rem;background:var(--track);border-radius:1rem;overflow:hidden}.barfill,.progress span{height:100%;display:block;background:var(--primary)}.blockitem{padding:.75rem 0;border-bottom:1px solid var(--line)}.right{margin-left:auto}
.mobile-nav{display:none}
:root[data-density=compact] .card,:root[data-density=compact] .machine-card,:root[data-density=compact] .fleet-record{padding:.75rem}:root[data-density=compact] .work-card{padding:.75rem}:root[data-density=compact] .page-heading{margin-bottom:.75rem}
:root[data-theme=light][data-contrast=high]{--ink:#10243A;--muted:#263E58;--line:#8495AB;--primary:#164785;--focus:#071F45}:root[data-contrast=high] .tag,:root[data-contrast=high] .notice{border:1px solid currentColor}
:root[data-motion=reduced] *,:root[data-motion=reduced] *::before,:root[data-motion=reduced] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1100px){.module-select-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.25rem}.module-group-links{display:none}.fleet-grid,.dashboard-charts,.dashboard-lists,.columns{grid-template-columns:1fr}.work-space{display:block;min-height:0;height:auto}.task-pane{display:none}.work-space.has-selected .work-list-panel{display:none}.work-space.has-selected .task-pane{display:block}.work-list-scroll,.task-pane{max-height:none;overflow:visible}.pane-back{display:inline-flex}.account{display:none}.people-space{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr)}.app-header{gap:.5rem}.app-header #unit-select{max-width:13rem}.content{padding:1.25rem}.sidebar{padding:1rem .75rem}:root{--rail:196px}.work-metrics{gap:.5rem}.metric{padding:.75rem}.state-chart{max-width:40rem}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 :root{--rail:0px}:root:not([data-font]){--font-body:1.125rem;--font-small:1rem;--font-nav:.875rem;--font-table:1rem;--font-heading:1.25rem;--font-title:1.625rem}
 .sidebar,.desktop-greeting,.account,.app-header #unit-select{display:none}.main{margin-left:0}.app-chrome{position:fixed;inset:0 0 auto;z-index:35}.app-chrome--flow{position:relative}.main:has(.app-chrome:not(.app-chrome--flow)){padding-top:var(--chrome-expanded-height,8rem)}.app-header{grid-template-columns:minmax(0,1fr) auto;padding:.5rem 1rem;gap:.25rem .5rem;min-height:0}.app-brand--mobile,.app-brand--mobile .app-brand__text{display:contents}.app-brand--mobile .brand-logo{grid-column:1;grid-row:1;width:1.5rem;height:1.5rem;align-self:center}.app-brand--mobile strong{grid-column:1/-1;grid-row:1;padding-left:2rem;font-size:var(--font-brand);line-height:1.3}.app-brand--mobile .app-brand__text>span{grid-column:1;grid-row:2;font-size:var(--font-brand-company);line-height:1.35;align-self:center}.app-header__actions{grid-column:2;grid-row:2;align-self:center}.trial-ribbon{padding:.21875rem 1rem;font-size:var(--font-small);line-height:1.25}.app-chrome.is-compact .app-brand--mobile .brand-logo,.app-chrome.is-compact .app-brand__text>span,.app-chrome.is-compact .trial-ribbon,.app-chrome.is-compact [data-action=notifications].icon-button{display:none}.app-chrome.is-compact .app-brand--mobile strong{grid-column:1;grid-row:1;padding-left:0}.app-chrome.is-compact .app-header__actions{grid-column:2;grid-row:1}.app-chrome.is-compact .app-header{min-height:3.5rem}.content{padding:.75rem 1rem calc(var(--bottom-nav-height,4rem) + 1rem)}.content.is-loading:after{left:0}
 .page-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;margin-bottom:.5rem}.page-header__actions{width:100%;gap:.5rem;justify-content:flex-start}.page-header__actions .btn{flex:0 1 auto;min-height:var(--tap);font-size:var(--font-small)}.page-header__actions .btn.primary{flex:1}.page-header__actions .action-menu{flex:0 1 auto}.page-header__actions .action-menu summary{min-height:var(--tap)}.page-header__context{line-height:1.25}.page-heading h1{font-size:var(--font-title)}
 .mobile-nav{position:fixed;inset:auto 0 0;z-index:50;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;width:100%;padding:.25rem .5rem calc(.25rem + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line)}.mobile-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.25rem;min-width:0;min-height:3.75rem;padding:.375rem 0;border:0;border-radius:.5rem;background:transparent;color:var(--muted);font-size:var(--font-nav);line-height:1.25;white-space:normal}.mobile-nav button span{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;letter-spacing:-.025em}.mobile-nav .ico{width:1.375rem;height:1.375rem}.mobile-nav .active{color:var(--primary);font-weight:700;background:var(--blue-light);box-shadow:inset 0 3px currentColor}#toast{bottom:calc(var(--bottom-nav-height,4rem) + .5rem)}
 .filter-summary{margin-bottom:.75rem}.work-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.metric{min-height:5.5rem;padding:.75rem}.metric strong{font-size:2rem}.metric.total{grid-column:1/-1;min-height:3.75rem;display:flex;justify-content:space-between;gap:.75rem}.metric.total span{flex:1}.metric.total strong{font-size:var(--font-title)}.metric.total>.ico{width:1rem;height:1rem}.metric>span{font-size:var(--font-small)}
 .state-chart{display:grid;justify-items:center;gap:.75rem}.donut-wrap{width:9rem;max-width:100%;flex-basis:auto}.chart-legend{width:100%}.chart-legend button{min-height:3rem}.attention-queue{margin-bottom:1rem}
 .work-scopes{width:100%}.work-scopes button{white-space:nowrap;padding:.5rem .375rem}.work-toolbar{flex-wrap:nowrap}.work-toolbar .btn{font-size:var(--font-small);padding:.5rem .75rem}.work-space{border-radius:.75rem}.work-list-panel{border:0}.work-card{padding:1rem .75rem}.work-card>.ico{display:none}.work-card.compact>.ico{display:block}.task-pane-head{padding:1rem}.task-pane-body{padding:0 1rem 1rem}.task-identity{display:block;background:var(--blue-light);font-size:var(--font-small);padding:.5rem 1rem}.task-pane-empty{display:none}
 .equipment-config span{display:none}.module-switch{padding:.5rem .75rem}.module-nav{margin-bottom:.75rem}.detail-title{flex-wrap:wrap}.detail-title .actions{margin-left:0}.detail-title .machine-symbol{display:none}.detail-title>div:nth-child(2){flex-basis:100%}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem}.datum b{font-size:var(--font-small)}
 .catalog-table{display:none}.catalog-cards{display:block}.tablebox.mobile-cards{border:0;overflow:visible;background:transparent}.mobile-cards table,.mobile-cards tbody{display:block;width:100%}.mobile-cards thead{display:none}.mobile-cards tr{display:block;padding:.75rem;border:1px solid var(--line);border-radius:.875rem;background:var(--surface);margin-bottom:.75rem}.mobile-cards td{display:block;padding:.5rem 0;border:0;font-size:var(--font-table);text-align:left;overflow-wrap:anywhere}.mobile-cards td::before{content:attr(data-label);display:block;font-size:var(--font-small);color:var(--muted);font-weight:600;margin-bottom:.25rem}.mobile-cards td[data-label=""]::before{display:none}.mobile-cards .rowactions{padding-top:.5rem}.list-toolbar .action-menu{margin-left:auto}.list-toolbar>.searchbox{min-width:0}.toolbar input,.toolbar select{min-width:0;max-width:100%}
 .fleet-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.fleet-metrics strong{font-size:var(--font-heading)}.fleet-record{display:block}.fleet-record>.actions{margin-top:.75rem}.fleet-alert>.btn{margin-top:.75rem}.overview-controls{align-items:flex-end;flex-wrap:wrap}.report-bar{grid-template-columns:minmax(0,1fr) minmax(40px,.75fr);gap:.5rem}.report-bar b{grid-column:1/-1}.report-info{margin-bottom:.5rem}.report-search{flex-wrap:nowrap}.report-search input{min-width:0}
 .schedule-date-controls{grid-template-columns:var(--tap) minmax(0,1fr) var(--tap) auto;align-items:center}.schedule-date-controls>.btn{justify-self:start;font-size:var(--font-small);min-height:var(--tap);padding:.375rem .75rem}.schedule-date-controls label{max-width:none}.schedule-views{width:100%;min-width:0}.schedule-card{gap:.75rem;flex-wrap:wrap}.schedule-card>.actions{margin-left:0;max-width:none;width:100%}.schedule-card-content{min-width:calc(100% - 5rem)}.schedule-date{padding-right:.75rem}.calendar-event small{display:none}.schedule-month .cal-day{padding:.25rem;min-height:5rem}.calendar-event{font-size:var(--font-small);padding:.25rem .125rem}.cal-weekday{font-size:var(--font-small)}
 .people-space{display:block}.roster-desktop{display:none}.person-select-mobile{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0;min-height:3.5rem;padding:.625rem .75rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface);color:var(--ink);text-align:left;margin-bottom:.75rem}.person-select-mobile>span:nth-child(2){min-width:0;flex:1}.person-select-mobile b,.person-select-mobile small{display:block}.person-select-mobile b{font-size:var(--font-body);line-height:1.35}.person-select-mobile small{font-size:var(--font-small)}.person-profile{gap:1rem}.person-summary{padding:.875rem}.person-summary .person-select-mobile{border:0;padding:0 0 .75rem;border-radius:0;margin-bottom:.75rem;border-bottom:1px solid var(--line)}.person-heading{display:block}.person-work-stats{margin-top:.5rem}.person-work-stats strong{font-size:var(--font-title)}.month-picker{gap:.5rem}.calendar-key{grid-template-columns:repeat(2,minmax(0,1fr))}.person-month .cal-day{padding:.1875rem;min-height:3.5rem}.half-day{font-size:var(--font-small)}
 .settings-index small{line-height:1.35}.settings-content{padding:1rem}.settings-content .setting-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-content .setting-links .btn{font-size:var(--font-small)}
 dialog{width:calc(100% - 1rem);max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem)}dialog.ui-sheet{width:min(100%,40rem);margin:auto auto 0;border-radius:1rem 1rem 0 0;border:0}.modal-body{padding:1rem}.modal-head{padding:.75rem 1rem}.form-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.form-grid .wide{grid-column:auto}#record-form,#filter-form{max-height:calc(100dvh - 7rem)}.modal-footer{padding-bottom:env(safe-area-inset-bottom,0px);gap:.5rem}.modal-footer .btn{min-height:3rem;flex:1;font-size:var(--font-small)}.date-shift{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.5rem}.check-options{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-list button{min-height:3.25rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:359px){.schedule-date-controls{grid-template-columns:var(--tap) minmax(0,1fr) var(--tap)}.schedule-date-controls>.btn{grid-column:1/-1}.content{padding-inline:.75rem}.app-header,.trial-ribbon{padding-inline:.75rem}.mobile-nav button span{white-space:normal}.month-picker{grid-template-columns:1fr 1fr}.check-options{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.list-toolbar .btn{padding:.5rem}.page-header__actions .btn{font-size:var(--font-small)}}
@media(max-width:430px){:root[data-font=large] .schedule-date-controls{grid-template-columns:var(--tap) var(--tap) minmax(0,1fr)}:root[data-font=large] .schedule-date-field{grid-column:1/-1;grid-row:1}:root[data-font=large] .schedule-date-controls>.btn{grid-column:3}:root[data-font=large] .month-picker{grid-template-columns:1fr}:root[data-font=large] .calendar-key{grid-template-columns:1fr}:root[data-font=large] .date-shift{grid-template-columns:1fr}:root[data-font=large] .mobile-nav button span{white-space:normal}}
/* R02/TC03: enlarged text keeps the header in normal flow and navigation in
   its own scroll area, instead of covering the whole narrow viewport. */
@media(max-width:760px){
 :root[data-text-reflow=true] body{overflow-wrap:anywhere}
 :root[data-text-reflow=true] .app-chrome{position:relative}
 :root[data-text-reflow=true] .main:has(.app-chrome){padding-top:0}
 :root[data-text-reflow=true] .app-header{grid-template-columns:minmax(0,1fr)}
 :root[data-text-reflow=true] .app-brand--mobile .app-brand__text>span{grid-column:1/-1;grid-row:2}
 :root[data-text-reflow=true] .app-header__actions{grid-column:1/-1;grid-row:3;justify-self:end}
 :root[data-text-reflow=true] .mobile-nav{display:flex;overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;scroll-padding:.5rem}
 :root[data-text-reflow=true] .mobile-nav button{flex:0 0 auto;flex-direction:row;min-width:var(--tap);min-height:var(--tap);padding:.25rem .375rem}
 :root[data-text-reflow=true] .mobile-nav button span{white-space:nowrap;overflow-wrap:normal;letter-spacing:normal}
 :root[data-text-reflow=true] .account-menu{position:fixed;inset:.5rem .5rem auto;max-height:calc(100dvh - 1rem);width:auto}
 :root[data-text-reflow=true] .page-header,:root[data-text-reflow=true] .page-header__actions,:root[data-text-reflow=true] .filter-summary,:root[data-text-reflow=true] .section-head{flex-wrap:wrap}
 :root[data-text-reflow=true] .page-header__actions{width:100%}
 :root[data-text-reflow=true] .work-scopes,:root[data-text-reflow=true] .work-metrics,:root[data-text-reflow=true] .fleet-metrics,:root[data-text-reflow=true] .person-work-stats{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 :root[data-text-reflow=true] .scope-switch{flex-wrap:wrap}
 :root[data-text-reflow=true] .state-chart{display:block}
 :root[data-text-reflow=true] .donut-wrap{width:min(100%,9rem);margin:0 auto 1rem}
 :root[data-text-reflow=true] .count-pill{white-space:normal}
 :root[data-text-reflow=true] .list-toolbar>.searchbox{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root[data-theme=dark][data-contrast=high]{--ink:#FFFFFF;--muted:#E1E9F5;--line:#8295B1;--control:#A3B3CB}
@media print{:root{color-scheme:light;--app-bg:white;--surface:white;--ink:#172B45;--muted:#52657D;--line:#D6DFEB;--primary:#2456C6}.app-chrome{display:none!important}.main{padding-top:0!important}.sidebar,.app-header,.trial-ribbon,.mobile-nav,.page-header__actions,.module-nav,.toolbar,.pagination,.actions,.tab-row{display:none!important}.main{margin:0}.content{padding:0}.card{break-inside:avoid;box-shadow:none}.work-space{height:auto;display:block}.work-list-panel{display:none}.task-pane{display:block}.print-only{display:block}body{background:white}}

.person-summary-picker{display:flex;align-items:center;gap:.75rem;text-align:left;width:100%;padding:.25rem 0 .75rem;border:0;background:transparent;color:inherit;min-height:var(--tap)}.person-summary-picker>span:nth-child(2){flex:1;min-width:0}.person-summary-picker b,.person-summary-picker small{display:block;overflow-wrap:anywhere}.person-summary-picker small{font-size:var(--font-small);color:var(--muted)}.dashboard-priorities{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;margin-bottom:1rem}.dashboard-priorities>.card{margin:0}.compact-empty{font-size:var(--font-small);color:var(--muted);margin:.75rem 0}.count-pill{white-space:nowrap}@media(max-width:1100px){.dashboard-priorities{grid-template-columns:1fr}}

.reply-composer{display:grid;gap:.625rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem;min-width:0}.reply-composer textarea{min-height:6rem;max-height:17.5rem;resize:vertical;line-height:1.5}.reply-composer>.btn{justify-self:start}.reply-composer p{margin:0}.reply-file-label{display:grid;gap:.375rem;font-size:var(--font-small)}.reply-file-info{font-size:var(--font-small);overflow-wrap:anywhere}.reply-composer [role=status]:empty{display:none}.reply-composer input[type=file]{min-width:0;width:100%;max-width:100%;font-size:var(--font-small)}.reply-composer input[type=file]::file-selector-button{min-height:var(--tap);font:inherit;max-width:100%;white-space:normal}.comment-head{flex-wrap:wrap}.comment time{font-size:var(--font-small);color:var(--muted)}.task-pane .section-navigation{margin:.5rem 1rem}.task-pane-head h2{overflow-wrap:anywhere}.prose{overflow-wrap:anywhere}

/* R05/R06/R07: full detail screen, truthful progress and attachment recovery. */
.task-detail-screen{background:var(--surface);border:1px solid var(--line);border-radius:.875rem;min-width:0}.task-detail-screen .task-pane{display:block;overflow:visible}.task-detail-screen .pane-back{display:inline-flex}.task-detail-screen .task-pane-head h2{margin:.5rem 0;font-size:var(--font-title)}.task-detail-screen .task-pane-head{padding:.75rem 1rem}.task-detail-screen .task-pane-head>p{margin:.25rem 0}.task-detail-screen .section-navigation{margin:0 .75rem}.task-detail-screen .task-pane-body{padding:0 1rem 1rem}
.progress-summary{display:grid;gap:.25rem;margin:.5rem 0;font-size:var(--font-small);color:var(--muted)}.progress-summary>span:first-child{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.progress-track{display:block;position:relative;width:100%;height:.5rem;border-radius:1rem;background:var(--track);overflow:hidden}.progress-track>i{display:block;height:100%;background:var(--primary);border-radius:inherit}.progress-track.complete>i{background:var(--success)}.progress-summary.unknown .progress-track{background:repeating-linear-gradient(135deg,var(--surface-subtle),var(--surface-subtle) 4px,var(--track) 4px,var(--track) 6px)}.progress-task{display:block;padding:.75rem 0;border:0;border-bottom:1px solid var(--line);background:transparent;width:100%;text-align:left;color:var(--ink)}.progress-task>b{font-size:var(--font-small);display:block;overflow-wrap:anywhere}.progress-note{font-size:var(--font-small);color:var(--muted)}.chart-switch{margin-bottom:1rem}.comment-head .action-menu{margin-left:auto}.comment-head .action-menu summary{border:0;min-width:var(--tap);padding:.25rem}.comment-head .action-menu summary:after{content:none}.reply-file-actions{display:flex;flex-wrap:wrap;gap:.5rem}.reply-file-label input[type=file]{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;pointer-events:none}.reply-file-info{padding:.5rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-subtle)}.reply-file-info:empty{display:none}.reply-file-actions .btn{font-size:var(--font-small)}.reply-composer [data-reply-status].error{padding:.75rem}.state-chart circle[data-bucket=open_current]{stroke:var(--new)}.state-chart circle[data-bucket=doing_current]{stroke:var(--primary)}.state-chart circle[data-bucket=overdue]{stroke:var(--danger)}.state-chart circle[data-bucket=done]{stroke:var(--success)}

/* R04: controls keep the form DOM and selected File intact when assignment mode changes. */
.assignment-field{padding:.75rem;border:1px solid var(--line);border-radius:.75rem;min-width:0}.assignment-field legend{font-weight:700;color:var(--ink)}.assignment-modes button[aria-pressed=true]{background:var(--surface);color:var(--primary);font-weight:700}.assignment-hint{font-size:var(--font-small);margin:.5rem 0}.assignment-selection{font-size:var(--font-small);margin:.75rem 0}.selected-people{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:.375rem}.selected-people>span{padding:.25rem .5rem;background:var(--blue-light);border-radius:.375rem;overflow-wrap:anywhere}.assignment-group-tools{display:flex;gap:.75rem;flex-wrap:wrap}.assignment-options{max-height:16rem;overflow:auto;padding:.25rem}.assignment-options input[type=radio]{width:1.25rem;min-height:1.25rem;flex-shrink:0;margin:0;accent-color:var(--primary)}.form-optional{padding:.75rem;border:1px solid var(--line);border-radius:.625rem}.form-optional summary{cursor:pointer;font-size:var(--font-small)}.calendar-half-legend{font-size:var(--font-small);color:var(--muted);margin:.5rem 0}

/* R10: one shared avatar renderer; source bytes never enter localStorage. */
.avatar{overflow:hidden}.avatar>img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.account-avatar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.account-avatar>.avatar,.avatar-original>.avatar{width:4.5rem;height:4.5rem;font-size:var(--font-heading)}.avatar-editor{display:grid;gap:.75rem}.avatar-crop{display:grid;gap:.5rem}.avatar-crop canvas{display:block;width:min(100%,16rem);height:auto;aspect-ratio:1;border-radius:.75rem;border:1px solid var(--control);background:var(--surface-subtle);margin:auto}.avatar-crop input[type=range]{accent-color:var(--primary);padding:0;min-height:var(--tap)}.avatar-editor [data-avatar-status]:empty{display:none}.avatar-editor [data-avatar-status]{font-size:var(--font-small);overflow-wrap:anywhere}

/* R10: destination rows point right; the account/group selector still points down. */
.settings-index button>.ico:last-child,.account-group>button>.ico:last-child{transform:rotate(-90deg)}
