@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #f7f8fa;--color-surface: #ffffff;--color-border: #e6e8ec;--color-border-subtle: #eef0f3;--color-text: #18212f;--color-text-secondary: #4b5563;--color-text-muted: #607080;--color-text-inverse: #ffffff;--color-accent: #1f6f5b;--color-accent-hover: #196050;--color-accent-light: #e2f2ed;--color-accent-muted: #c4ddd5;--color-neutral: #314052;--color-neutral-light: #edf2f4;--color-danger: #b42318;--color-danger-light: #fee4e2;--color-warning-text: #9a3412;--color-warning: #f97316;--color-warning-light: #fff7ed;--color-info-text: #075985;--color-info-light: #eaf4ff;--color-ok-text: #166534;--color-ok-bg: #dcfce7;--color-input-border: #c8d4dc;--font-sans: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 22px;--text-3xl: 28px;--radius-sm: 7px;--radius-md: 10px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(18, 33, 47, .04);--shadow-hover: 0 6px 18px rgba(18, 33, 47, .07), 0 2px 5px rgba(18, 33, 47, .04);--shadow-focus: 0 0 0 3px rgba(31, 111, 91, .18);--transition-fast: .12s ease;--transition-base: .16s ease;--sidebar-width: 240px;--color-sidebar-bg: #fbfbfc;--color-sidebar-border: #ebecef;--color-sidebar-text: #5c6571;--color-sidebar-text-hover: #1b2330;--color-sidebar-text-active: var(--color-accent);--color-sidebar-hover-bg: #f0f1f3;--color-sidebar-active-bg: var(--color-accent-light)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font:inherit}h1,h2,h3,h4,p{margin-top:0}h1{font-size:var(--text-3xl);line-height:1.15;letter-spacing:-.02em;margin-bottom:0}h2{font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em;line-height:1.25;margin-bottom:0}h3{font-size:var(--text-md);font-weight:650;line-height:1.3;margin-bottom:0}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border);display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:0;position:sticky;top:0}.brand{align-items:center;border-bottom:1px solid var(--color-sidebar-border);color:var(--color-sidebar-text-active);display:flex;font-size:var(--text-base);font-weight:700;gap:10px;letter-spacing:-.01em;min-height:56px;padding:0 16px}nav{display:grid;gap:1px;padding:8px}nav a{align-items:center;border-radius:var(--radius-sm);color:var(--color-sidebar-text);display:flex;font-size:var(--text-sm);gap:9px;padding:8px 10px;position:relative;transition:color var(--transition-fast),background var(--transition-fast)}.sidebar-nav-icon{align-items:center;color:currentColor;display:inline-flex;flex:0 0 20px;justify-content:center;opacity:.82}.sidebar-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav a:hover{background:var(--color-sidebar-hover-bg);color:var(--color-sidebar-text-hover)}nav a.active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-text-active);font-weight:600}.sidebar-group{display:grid;gap:1px}.sidebar-group+.sidebar-group{margin-top:10px}.sidebar-group-label{margin:0 0 2px;padding:0 10px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-sidebar-text);opacity:.65}.sidebar-soon{margin-top:12px;border-top:1px solid var(--color-sidebar-border);padding-top:8px}.sidebar-soon summary{cursor:pointer;list-style:none;padding:6px 10px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-sidebar-text);opacity:.65;border-radius:var(--radius-sm)}.sidebar-soon summary::-webkit-details-marker{display:none}.sidebar-soon summary:after{content:"▾";margin-left:6px;display:inline-block;transition:transform var(--transition-fast)}.sidebar-soon:not([open]) summary:after{transform:rotate(-90deg)}.sidebar-soon summary:hover{background:var(--color-sidebar-hover-bg);opacity:1}.sidebar-soon a{opacity:.75}.sidebar-footer{margin-top:auto;padding:10px 16px;border-top:1px solid var(--color-sidebar-border);font-size:.68rem;color:var(--color-sidebar-text);opacity:.6}.nav-badge{margin-left:auto;flex-shrink:0;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--color-accent);color:#fff;font-size:.68rem;font-weight:700;line-height:1}button.is-armed,.drawer-danger.is-armed,.entity-row-archive.is-armed{background:var(--color-danger)!important;border-color:var(--color-danger)!important;color:#fff!important}nav a.active .sidebar-nav-icon,nav a:hover .sidebar-nav-icon{opacity:1}nav a.active:before{background:var(--color-accent);border-radius:0 2px 2px 0;bottom:25%;content:"";left:0;position:absolute;top:25%;width:3px}.workspace{min-width:0;padding:0 24px 64px}.topbar{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:24px;justify-content:space-between;margin-bottom:16px;margin-left:-24px;margin-right:-24px;min-height:50px;padding:8px 24px;position:sticky;top:0;z-index:50}.topbar>div:first-child{display:flex;flex-direction:column;gap:1px}.topbar h1{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;margin:0}.topbar .eyebrow,.topbar .subline{margin:0}.topbar-actions{align-items:center;display:flex;gap:10px}.topbar-restaurant{appearance:none;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:34px;padding:0 28px 0 14px;cursor:pointer}.topbar-restaurant-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:6px 14px}.topbar-user{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.restaurant-select{color:var(--color-text-muted);display:grid;font-size:var(--text-xs);font-weight:700;gap:5px;letter-spacing:.05em;text-transform:uppercase}.restaurant-select select{appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:40px;min-width:210px;padding:0 34px 0 12px;text-transform:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.restaurant-select select:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.eyebrow{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;margin:0 0 5px;text-transform:uppercase}.subline{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5;margin:8px 0 0}.search-button{align-items:center;background:var(--color-accent);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-inverse);display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;gap:8px;min-height:40px;padding:0 16px;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.search-button:hover{background:var(--color-accent-hover)}.search-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.search-button:disabled{cursor:wait;opacity:.65}.icon-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);display:inline-flex;height:40px;justify-content:center;transition:border-color var(--transition-fast),color var(--transition-fast);width:40px}.icon-button:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.icon-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}article h2{font-size:var(--text-lg);margin:12px 0 8px}article p{color:var(--color-text-secondary);line-height:1.5;margin-bottom:0}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:16px;padding:20px}.panel h2{font-size:var(--text-xl);margin-bottom:16px}.grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-focus{background:#e7f3ef;border:1px solid #c4ded5;border-radius:var(--radius-md);display:none;margin-bottom:16px;padding:16px}.mobile-focus h2{font-size:var(--text-xl);margin-bottom:8px}.mobile-focus p:last-child{color:#3b5b52;line-height:1.45;margin-bottom:0}.analytics-layout{display:grid;gap:16px}.analytics-header,.tips-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px}.analytics-header{align-items:start;display:flex;gap:16px;justify-content:space-between}.analytics-header h2,.tips-panel h2{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;margin-bottom:0}.analytics-header>span{background:var(--color-warning-light);border-radius:var(--radius-pill);color:var(--color-warning-text);font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;padding:5px 10px;white-space:nowrap}.analytics-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px}.analytics-tabs button{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font:inherit;min-height:36px;padding:6px 10px;text-align:center}.analytics-tabs button:hover{background:var(--color-neutral-light)}.analytics-tabs button.active{background:var(--color-accent-light);border-color:var(--color-accent-muted);color:var(--color-text)}.analytics-tabs strong{font-size:var(--text-sm)}.analytics-tabs span{display:none}.analytics-tab-panel{display:grid;gap:16px}.analytics-tab-panel[hidden]{display:none}.analytics-filter-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:14px;padding:18px}.analytics-role-switcher{background:var(--color-neutral-light);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px}.analytics-role-switcher button{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:800;min-height:36px;padding:8px}.analytics-role-switcher button.active,.analytics-role-switcher button:hover{background:var(--color-surface);border-color:var(--color-accent-muted);color:var(--color-text)}.analytics-kpi-periods{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-kpi-summary{align-items:end;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(260px,360px);padding:20px}.analytics-kpi-summary h3{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.01em;margin:0}.analytics-kpi-summary p{color:var(--color-text-muted);margin:8px 0 0}.analytics-kpi-summary small{color:var(--color-neutral);display:block;font-size:var(--text-xs);font-weight:800;margin-top:10px}.analytics-source-badge{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;font-size:var(--text-xs);font-weight:900;letter-spacing:0;margin:0 0 8px;padding:5px 8px}.analytics-source-badge.is-demo{background:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-text)}.analytics-source-badge.is-muted{background:var(--color-neutral-light)}.analytics-kpi-summary.is-positive{border-color:var(--color-ok-text)}.analytics-kpi-summary.is-negative{border-color:var(--color-danger)}.analytics-kpi-primary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-kpi-cause-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}.analytics-kpi-impact-list{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-kpi-impact-list>div{background:var(--color-neutral-light);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);display:grid;gap:4px;padding:12px}.analytics-kpi-impact-list span,.analytics-kpi-impact-list small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800}.analytics-kpi-impact-list strong{color:var(--color-text);font-size:var(--text-lg);font-weight:800}.analytics-technical-panel{background:var(--color-neutral-light);box-shadow:none}.analytics-technical-panel summary{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;list-style:none}.analytics-technical-panel summary::-webkit-details-marker{display:none}.analytics-filter-grid{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.analytics-filter-grid label{display:grid;gap:6px}.analytics-filter-grid label>span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.analytics-filter-grid select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;min-height:40px;padding:8px 10px;width:100%}.analytics-section-heading{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;gap:16px;justify-content:space-between;padding:18px}.analytics-section-heading h3{font-size:var(--text-xl);font-weight:750;margin:0}.analytics-placeholder-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.tips-kpis{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.tips-kpis article{padding:16px}.tips-kpis h3{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;margin:0}.tips-bars{display:grid;gap:11px;margin-top:16px}.tips-bars>div{align-items:center;display:grid;gap:10px;grid-template-columns:92px 1fr 110px}.tips-bars span,.tips-bars strong{color:var(--color-neutral);font-size:var(--text-sm)}.tips-bars>div>div{background:var(--color-border-subtle);border-radius:var(--radius-pill);height:8px;overflow:hidden}.tips-bars i{background:var(--color-accent);border-radius:var(--radius-pill);display:block;height:100%}.tips-shifts{display:grid;gap:10px;margin-top:16px}.tips-shifts article{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto;padding:12px 16px}.tips-shifts article>div{display:grid;gap:4px}.tips-shifts span{color:var(--color-text-muted);font-size:var(--text-sm)}.tips-shifts article>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end}.tips-shifts article>div:last-child span{background:var(--color-border-subtle);border-radius:var(--radius-pill);color:var(--color-neutral);font-size:var(--text-sm);font-weight:600;padding:4px 9px}.analytics-kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-kpi-card,.analytics-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px}.analytics-kpi-card{display:grid;gap:8px}.analytics-kpi-card span,.analytics-panel-heading{align-items:center;display:flex;gap:8px}.analytics-kpi-card span{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.analytics-kpi-card strong{color:var(--color-text);font-size:var(--text-3xl);font-weight:800;letter-spacing:-.02em}.analytics-kpi-card p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.analytics-kpi-card p.is-positive{color:var(--color-ok-text);font-weight:800}.analytics-kpi-card p.is-negative{color:var(--color-danger);font-weight:800}.analytics-kpi-card p.is-muted{color:var(--color-text-muted)}.analytics-kpi-card.is-warning,.analytics-kpi-card.is-critical{border-color:var(--color-border);position:relative;overflow:hidden}.analytics-kpi-card.is-warning:before,.analytics-kpi-card.is-critical:before{content:"";position:absolute;inset:0 0 auto;height:3px}.analytics-kpi-card.is-warning:before{background:var(--color-warning)}.analytics-kpi-card.is-critical:before{background:var(--color-danger)}.analytics-kpi-card.is-warning strong{color:var(--color-warning)}.analytics-kpi-card.is-critical strong{color:var(--color-danger)}.analytics-kpi-action{cursor:pointer;font:inherit;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.analytics-kpi-action:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.analytics-kpi-action.is-selected{border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.analytics-insight-panel{border-color:var(--color-accent-muted)}.analytics-insight-list{display:grid;gap:10px}.analytics-insight-item{align-items:center;background:var(--color-neutral-light);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:inherit;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.analytics-insight-item:hover{border-color:var(--color-accent-muted)}.analytics-insight-item>div{display:grid;gap:4px;min-width:0}.analytics-insight-item strong{color:var(--color-text);font-size:var(--text-sm)}.analytics-insight-item small{color:var(--color-text-muted);font-size:var(--text-xs)}.analytics-insight-item>span{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-neutral);font-size:var(--text-xs);font-weight:800;padding:5px 9px;white-space:nowrap}.analytics-action-row{display:flex;flex-wrap:wrap;gap:6px;grid-column:1 / -1}.analytics-action-row b,.analytics-action-row a{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800;padding:4px 8px;text-decoration:none}.analytics-action-row a,.analytics-action-row .analytics-inline-action{border-color:var(--color-accent-muted);color:var(--color-accent)}.analytics-action-row .analytics-inline-action{background:var(--color-surface);border:1px solid var(--color-accent-muted);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:800;padding:4px 8px;cursor:pointer}.analytics-dashboard-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.analytics-panel{display:grid;gap:16px}.analytics-panel-heading{justify-content:space-between}.analytics-panel-heading h3{font-size:var(--text-xl);font-weight:750;letter-spacing:-.01em;margin:0}.analytics-panel-heading>span,.analytics-panel-heading>a{background:var(--color-border-subtle);border-radius:var(--radius-pill);color:var(--color-neutral);font-size:var(--text-xs);font-weight:800;padding:5px 10px;text-decoration:none;white-space:nowrap}.analytics-risk-list,.analytics-inventory-list,.analytics-data-quality-list{display:grid;gap:10px}.analytics-risk-item,.analytics-inventory-list>div,.analytics-data-quality-list a,.analytics-module-grid a,.analytics-cost-grid>div,.analytics-empty{background:var(--color-neutral-light);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}.analytics-risk-item{display:grid;gap:4px;padding:12px;text-decoration:none}.analytics-data-quality-list a{color:inherit;display:grid;gap:4px;padding:12px;text-decoration:none}.analytics-data-quality-list a:hover{border-color:var(--color-warning)}.analytics-risk-item span,.analytics-data-quality-list span,.analytics-inventory-list small,.analytics-cost-grid small{color:var(--color-text-muted);font-size:var(--text-xs)}.analytics-risk-item strong,.analytics-data-quality-list strong,.analytics-inventory-list strong,.analytics-cost-grid strong{color:var(--color-text);font-weight:750}.analytics-risk-item small{color:var(--color-neutral);font-size:var(--text-sm)}.analytics-inventory-list small.is-positive{color:var(--color-ok-text);font-weight:800}.analytics-inventory-list small.is-negative{color:var(--color-danger);font-weight:800}.analytics-inventory-list small.is-muted{color:var(--color-text-muted)}.analytics-risk-item.is-warning{border-color:var(--color-warning)}.analytics-risk-item.is-critical{border-color:var(--color-danger)}.analytics-empty{align-items:center;color:var(--color-text-muted);display:flex;gap:8px;padding:14px}.analytics-module-grid,.analytics-cost-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-module-grid a{color:inherit;display:grid;gap:8px;padding:12px;text-decoration:none}.analytics-module-grid span,.analytics-cost-grid span,.analytics-inventory-list span{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.analytics-module-grid i{background:var(--color-border-subtle);border-radius:var(--radius-pill);display:block;height:7px;overflow:hidden}.analytics-module-grid b{background:var(--color-accent);border-radius:inherit;display:block;height:100%}.analytics-inventory-list>div,.analytics-cost-grid>div{display:grid;gap:4px;padding:12px}.analytics-report-lines,.analytics-bullet-list{display:grid;gap:10px}.analytics-labor-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.analytics-labor-table th,.analytics-labor-table td{text-align:right;padding:8px 10px;border-bottom:1px solid var(--color-border-subtle);font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-labor-table th:first-child,.analytics-labor-table td:first-child{text-align:left;white-space:normal}.analytics-labor-table thead th{color:var(--color-text-muted);font-weight:600}.analytics-report-lines>div,.analytics-bullet-list span{background:var(--color-neutral-light);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);display:flex;gap:12px;justify-content:space-between;padding:12px}.analytics-report-lines span,.analytics-bullet-list span{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.analytics-report-lines strong{color:var(--color-text);font-size:var(--text-sm);text-align:right}.inventories-layout{display:grid;gap:16px}.inventory-session-page{display:grid;gap:14px}.inventory-back-button{align-items:center;background:transparent;border:0;color:var(--color-accent);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:700;justify-self:start;padding:0}.inventory-back-button:hover{color:var(--color-accent-strong)}.inventories-header,.inventory-summary-grid>div,.inventory-workflow,.inventory-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px}.inventories-header{align-items:start;display:flex;gap:16px;justify-content:space-between}.inventory-create-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px}.inventory-create-form label{color:var(--color-text-muted);display:grid;font-size:var(--text-xs);font-weight:700;gap:5px;letter-spacing:.05em;text-transform:uppercase}.inventory-create-form input,.inventory-create-form textarea{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:38px;padding:8px 10px;resize:vertical;text-transform:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.inventory-create-form input:focus-visible,.inventory-create-form textarea:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.inventory-create-notes,.inventory-create-actions,.inventory-create-form .form-error{grid-column:1 / -1}.inventory-create-actions{display:flex;flex-wrap:wrap;gap:8px}.inventory-create-actions button:not(.search-button){background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:40px;padding:0 14px}.inventories-header h2{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;margin-bottom:0}.inventory-summary-grid,.inventory-workflow{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-summary-grid span{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.inventory-summary-grid strong{display:block;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;margin-top:5px}.inventory-workflow>div{background:var(--color-bg);border-radius:var(--radius-sm);display:grid;gap:4px;padding:12px}.inventory-workflow strong{color:var(--color-text);font-size:var(--text-sm)}.inventory-workflow span{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45}.inventory-list,.inventory-card{display:grid;gap:12px}.inventory-list-toolbar{display:flex;justify-content:flex-end}.inventory-list-toolbar button,.inventory-archive-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:34px;padding:7px 10px}.inventory-list-toolbar button.active,.inventory-list-toolbar button:hover,.inventory-archive-button:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.inventory-card h3{font-size:var(--text-lg);font-weight:700;margin:6px 0 2px}.inventory-card.selected{border-color:var(--color-accent-muted)}.inventory-card p,.inventory-card footer{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.inventory-status{border-radius:var(--radius-pill);display:inline-flex;font-size:var(--text-xs);font-weight:700;padding:4px 9px}.inventory-status.status-counting,.inventory-status.status-review,.inventory-status.status-reconciliation{background:var(--color-info-light);color:var(--color-info-text)}.inventory-status.status-closed,.inventory-status.status-approved,.inventory-status.status-exported{background:var(--color-ok-bg);color:var(--color-ok-text)}.inventory-status.status-cancelled{background:var(--color-neutral-light);color:var(--color-text-muted)}.inventory-card-metrics,.inventory-card footer{display:flex;flex-wrap:wrap;gap:8px}.inventory-card-metrics span{background:var(--color-neutral-light);border-radius:var(--radius-pill);color:var(--color-neutral);font-size:var(--text-sm);font-weight:600;padding:5px 9px}.inventory-file-action{align-items:center;background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;justify-content:center;min-height:38px;overflow:hidden;padding:8px 12px;position:relative;transition:border-color var(--transition-fast),color var(--transition-fast);width:fit-content}.inventory-file-action:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.inventory-file-action input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.inventory-file-button{cursor:pointer;display:inline-flex;position:relative}.inventory-file-button input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.inventory-open-button,.inventory-row-save{background:var(--color-neutral-light);border:0;border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:34px;padding:7px 10px;transition:background var(--transition-fast),color var(--transition-fast);width:fit-content}.inventory-open-button:hover,.inventory-row-save:hover{background:var(--color-accent-light);color:var(--color-accent)}.inventory-row-actions{display:flex;flex-wrap:wrap;gap:6px}.inventory-count-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:14px;padding:20px}.inventory-count-header{align-items:start;display:flex;gap:12px;justify-content:space-between}.inventory-count-header h3{font-size:var(--text-xl);margin-bottom:0}.inventory-handoff-panel{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;gap:12px;justify-content:space-between;padding:12px;position:sticky;top:68px;z-index:9}.inventory-handoff-panel p{color:var(--color-text-muted);font-size:var(--text-sm);margin:4px 0 0}.inventory-handoff-panel strong{color:var(--color-text)}.inventory-count-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.inventory-count-tabs{display:flex;flex-wrap:wrap;gap:8px}.inventory-count-tabs button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:36px;padding:0 12px}.inventory-count-tabs button.active{background:var(--color-accent-light);border-color:var(--color-accent-muted);color:var(--color-accent)}.inventory-history-panel{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);display:grid;gap:10px;padding:12px}.inventory-result-panel{background:var(--color-info-light);border:1px solid rgba(7,89,133,.16);border-radius:var(--radius-md);display:grid;gap:12px;padding:14px}.inventory-result-panel h3{font-size:var(--text-lg);margin:0}.inventory-result-metrics{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-result-metrics>div{background:#ffffffb8;border:1px solid rgba(7,89,133,.1);border-radius:var(--radius-sm);padding:10px}.inventory-result-metrics span{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.inventory-result-metrics strong{color:var(--color-text);display:block;font-size:var(--text-xl);margin-top:4px}.inventory-history-list{display:grid;gap:8px}.inventory-history-list>div{background:var(--color-bg);border-radius:var(--radius-sm);display:grid;gap:2px;padding:8px 10px}.inventory-history-list span{color:var(--color-accent);font-size:var(--text-xs);font-weight:700}.inventory-history-list strong{color:var(--color-text);font-size:var(--text-sm)}.inventory-history-list p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.inventory-legacy-save{display:none}.inventory-export-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:40px;padding:0 14px;transition:border-color var(--transition-fast),color var(--transition-fast)}.inventory-export-button:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.inventory-export-button:disabled{cursor:not-allowed;opacity:.55}.inventory-count-filters{display:grid;gap:10px;grid-template-columns:1fr 220px 220px}.inventory-count-filters label{color:var(--color-text-muted);display:grid;font-size:var(--text-xs);font-weight:700;gap:5px;letter-spacing:.05em;text-transform:uppercase}.inventory-count-filters input,.inventory-count-filters select{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:38px;padding:8px 10px;text-transform:none;width:100%}.inventory-count-filters input:focus-visible,.inventory-count-filters select:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.inventory-count-table-wrap{overflow-x:auto}.inventory-count-pagination{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);justify-content:space-between;gap:12px;margin-bottom:10px}.inventory-count-pagination>div{align-items:center;display:flex;gap:8px}.inventory-count-pagination button{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);min-height:34px;padding:6px 10px}.inventory-count-pagination button:disabled{cursor:not-allowed;opacity:.5}.inventory-count-table{border-collapse:collapse;min-width:1040px;width:100%}.inventory-count-table th,.inventory-count-table td{border-bottom:1px solid var(--color-border-subtle);color:var(--color-neutral);font-size:var(--text-sm);padding:10px 8px;text-align:left;vertical-align:top}.inventory-count-table th{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.inventory-count-table td strong{color:var(--color-text);display:block;font-size:var(--text-sm)}.inventory-count-table td span{color:var(--color-text-muted);display:block;font-size:12px;margin-top:2px}.inventory-count-table tr.counted{background:#f9fbfa}.inventory-count-table input{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:34px;padding:7px 9px;width:100%}.inventory-count-table input:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.inventory-progress{background:var(--color-neutral-light);border-radius:var(--radius-pill);height:8px;overflow:hidden}.inventory-progress i{background:var(--color-accent);display:block;height:100%}.module-list{display:flex;flex-wrap:wrap;gap:8px}.module-list span,.module-list button{background:var(--color-neutral-light);border:0;border-radius:var(--radius-pill);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);padding:6px 12px;transition:background var(--transition-fast),color var(--transition-fast)}.module-list button:hover{background:#dde4e8}.module-list button.active{background:var(--color-accent);color:var(--color-text-inverse)}.home-dashboard{display:grid;gap:16px}.home-today-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:2px 2px 0}.home-today-head h2{font-size:var(--text-xl);margin:2px 0 0}.home-today-role{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.today-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;align-items:stretch}.today-card{display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px;min-height:128px;cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}button.today-card:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.today-card-attention{cursor:default}.today-card{cursor:default;min-width:0}.today-card-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:calc(100% + 16px);margin:-8px -8px 0;padding:8px;border:0;background:none;font:inherit;color:inherit;text-align:left;border-radius:var(--radius-sm);cursor:pointer}.today-card-link:hover{background:var(--color-bg)}.today-card-open{color:var(--color-text-muted);display:inline-flex}.today-task-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:2px}.today-task-list li{display:flex;align-items:center;gap:8px;min-height:34px;min-width:0;font-size:var(--text-sm)}.today-task-list li.muted{color:var(--color-text-muted)}.today-task-check{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:transparent;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.today-task-check:hover{border-color:var(--color-accent);color:var(--color-accent)}.today-task-check:disabled{opacity:.5;cursor:default}.today-task-pin{flex:0 0 24px;text-align:center;font-size:.8rem}.today-task-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-task-due{flex-shrink:0;font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.today-task-due.is-overdue{color:var(--color-danger);font-weight:600}.today-confirm-shift{align-self:flex-start;margin-top:2px;padding:8px 14px;border:0;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;font-weight:600;font-size:var(--text-sm);cursor:pointer}.today-confirm-shift:disabled{opacity:.6;cursor:default}.today-shift-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;white-space:normal}.today-shift-info{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-shift-info em{font-style:normal;font-size:var(--text-xs);font-weight:600}.today-shift-info em.is-confirmed{color:var(--color-ok-text)}.today-shift-info em.is-noshow{color:var(--color-danger)}.today-noshow{flex-shrink:0;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-pill);padding:2px 8px;font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer}.today-noshow:hover{border-color:var(--color-danger);color:var(--color-danger)}@media(max-width:720px){.today-grid{grid-template-columns:1fr}.today-task-list li{min-height:44px}.today-task-check{flex-basis:30px;width:30px;height:30px}.today-confirm-shift{align-self:stretch;text-align:center;padding:12px}}.today-card-head{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-weight:600;font-size:var(--text-sm)}.today-card-head svg{color:var(--color-accent)}.today-card-number{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.02em;line-height:1}.today-card-note{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.today-card-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px}.today-card-list li{font-size:var(--text-sm);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-card-list li.muted{color:var(--color-text-muted)}.today-attention-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px}.today-attention-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:8px 10px;font:inherit;font-size:var(--text-sm);cursor:pointer}.today-attention-list button:hover{border-color:var(--color-accent-muted)}.today-attention-list strong{font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.today-attention-list strong.has-value{color:var(--color-danger)}.home-hero{display:grid;gap:16px;grid-template-columns:minmax(0,1.45fr) minmax(300px,.9fr)}.home-hero>div,.quick-actions-panel,.module-hub,.access-panel,.module-placeholder{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:24px}.home-hero>div:first-child{display:grid;gap:8px;align-content:start}.home-hero h2,.section-heading h2,.module-placeholder h2{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;margin-bottom:0}.home-hero p:last-child,.module-placeholder-header p,.module-placeholder-body p{color:var(--color-text-secondary);line-height:1.5;margin-bottom:0}.home-status-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-status-grid>div{background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);display:grid;gap:4px;min-width:0;padding:12px 14px}.home-status-grid span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.home-status-grid strong{color:var(--color-text);font-size:var(--text-md);overflow-wrap:anywhere}.section-heading{margin-bottom:14px}.quick-actions-list{display:flex;flex-wrap:wrap;gap:8px}.quick-actions-list button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;gap:8px;min-height:34px;padding:0 12px;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.quick-actions-list button svg{color:var(--color-accent)}.quick-actions-list button:hover{background:var(--color-bg);border-color:var(--color-accent-muted);box-shadow:var(--shadow-card)}.module-placeholder-actions button{align-items:center;background:var(--color-accent);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-inverse);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;gap:8px;min-height:38px;padding:0 12px;transition:background var(--transition-fast)}.module-placeholder-actions button:hover{background:var(--color-accent-hover)}.module-card-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.module-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:inherit;cursor:pointer;display:grid;gap:10px;grid-template-rows:auto auto 1fr auto;min-height:148px;padding:16px;text-align:left;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.module-card:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.module-card:focus-visible{box-shadow:var(--shadow-focus);outline:none}.module-card-icon{align-items:center;background:var(--color-accent-light);border-radius:var(--radius-sm);color:var(--color-accent);display:inline-flex;height:36px;justify-content:center;width:36px}.module-card-status{align-self:start;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:10px;font-weight:600;letter-spacing:.03em;padding:2px 8px;text-transform:uppercase;width:fit-content}.module-card strong{color:var(--color-text);font-size:var(--text-base);font-weight:600}.module-card>span:last-child{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.45}.module-placeholder{display:grid;gap:16px}.module-placeholder-header{align-items:start;display:grid;gap:14px;grid-template-columns:auto 1fr auto}.module-placeholder-header>span:last-child{background:var(--color-warning-light);border-radius:var(--radius-pill);color:var(--color-warning-text);font-size:var(--text-xs);font-weight:700;padding:5px 10px;white-space:nowrap}.module-placeholder-body{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.module-placeholder-body>div{background:var(--color-bg);border-radius:var(--radius-sm);padding:14px}.module-placeholder-body strong{color:var(--color-text);font-size:var(--text-sm);font-weight:600}.placeholder-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.placeholder-list span{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-neutral);font-size:var(--text-xs);font-weight:600;padding:5px 10px}.module-placeholder-actions{display:flex;flex-wrap:wrap;gap:8px}.module-placeholder-actions button.muted{background:var(--color-neutral-light);color:var(--color-neutral)}.module-placeholder-actions button.muted:hover{background:#dde4e8}.mobile-bottom-nav,.mobile-current-section{display:none}.center-screen{align-items:center;background:var(--color-sidebar-bg);display:flex;justify-content:center;min-height:100vh;padding:24px}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);border-top:3px solid var(--color-accent);box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a;display:grid;gap:16px;max-width:400px;padding:36px;width:100%}.login-card h1{font-size:var(--text-2xl);letter-spacing:-.02em;margin-bottom:0}.login-card label{color:var(--color-neutral);display:grid;font-size:var(--text-sm);font-weight:600;gap:6px}.login-card input{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;min-height:42px;padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.login-card input:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.form-error{color:var(--color-danger);font-size:var(--text-sm);margin-bottom:0}.form-success{color:var(--color-accent);font-size:var(--text-sm);font-weight:600;margin-bottom:0}.operations-layout{display:grid;gap:12px}.cleaning-form,.cleaning-card,.empty-state{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px}.empty-state{align-items:flex-start;display:flex;gap:12px}.empty-state.compact{background:#f9fbfa;border-style:dashed;box-shadow:none;padding:12px}.empty-state-icon{align-items:center;background:var(--color-accent-light);border-radius:var(--radius-md);color:var(--color-accent);display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.empty-state h2{color:var(--color-text);font-size:var(--text-md);font-weight:700;margin:0 0 4px}.empty-state p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45;margin:0}.empty-state-action{margin-top:10px}.operations-header{align-items:baseline;display:flex;gap:16px;justify-content:space-between;padding:2px 2px 0}.operations-header-actions{align-items:flex-end;display:flex;flex-direction:column;gap:10px;margin-left:auto}.operations-header h2{font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em;margin-bottom:2px}.operations-header .eyebrow{margin-bottom:2px}.operations-header .subline{display:none}.operations-header>span,.operations-header-actions>span,.status-pill{border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;padding:4px 10px;white-space:nowrap}.operations-header>span,.operations-header-actions>span{background:var(--color-info-light);color:var(--color-info-text)}.operations-summary-grid{display:flex;flex-wrap:wrap;gap:8px;padding:0}.operations-summary-grid>div{display:inline-flex;align-items:baseline;gap:7px;background:var(--color-neutral-light);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:4px 13px}.operations-summary-grid span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.operations-summary-grid strong{font-size:var(--text-base);font-weight:700;color:var(--color-text)}.cleaning-card span:not(.status-pill){color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cleaning-card strong{display:block;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;margin-top:5px}.cleaning-schedule-list{display:grid;gap:12px}.cleaning-form{align-items:end;display:grid;gap:12px;grid-template-columns:1.2fr 1fr 1fr auto}.cleaning-form>div{align-self:center}.cleaning-form h2{font-size:var(--text-xl);font-weight:700;margin-bottom:0}.cleaning-form label{color:var(--color-text-muted);display:grid;font-size:var(--text-xs);font-weight:700;gap:5px;letter-spacing:.05em;text-transform:uppercase}.cleaning-form input,.cleaning-form select{background:var(--color-surface);border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:40px;padding:0 12px;text-transform:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.cleaning-form input:focus-visible,.cleaning-form select:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.cleaning-form .form-error{grid-column:1 / -1}.cleaning-card{align-items:center;display:grid;gap:16px;grid-template-columns:1fr 190px 190px minmax(180px,auto)}.cleaning-card h2{font-size:var(--text-xl);margin:8px 0 4px}.cleaning-card p{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:0}.cleaning-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cleaning-actions button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:34px;padding:0 12px;transition:border-color var(--transition-fast),color var(--transition-fast)}.cleaning-actions button:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.cleaning-actions button:disabled{cursor:wait;opacity:.6}.status-planned{background:var(--color-info-light);color:var(--color-info-text)}.status-in_progress{background:var(--color-warning-light);color:var(--color-warning-text)}.status-done{background:var(--color-accent-light);color:var(--color-accent)}.status-overdue{background:var(--color-danger-light);color:var(--color-danger)}.status-skipped,.status-cancelled{background:var(--color-neutral-light);color:var(--color-text-secondary)}.status-confirmed{background:var(--color-accent-light);color:var(--color-accent)}.status-no_show{background:var(--color-danger-light);color:var(--color-danger)}.status-operational{background:var(--color-ok-bg);color:var(--color-ok-text)}.status-needs_service{background:var(--color-warning-light);color:var(--color-warning-text)}.status-broken{background:var(--color-danger-light);color:var(--color-danger)}.status-retired{background:var(--color-neutral-light);color:var(--color-text-secondary)}.status-ok,.status-corrected{background:var(--color-ok-bg);color:var(--color-ok-text)}.status-warning{background:var(--color-warning-light);color:var(--color-warning-text)}.status-failed{background:var(--color-danger-light);color:var(--color-danger)}.sanitation-form{grid-template-columns:1.2fr repeat(3,minmax(140px,1fr)) auto}.sanitation-card{grid-template-columns:1fr 150px 190px 190px}.sanitation-presets{align-self:end;display:flex;flex-wrap:wrap;gap:5px}.sanitation-presets button{background:var(--color-neutral-light);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:34px;padding:0 10px;transition:border-color var(--transition-fast),color var(--transition-fast)}.sanitation-presets button:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.journal-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:6px 16px;padding:0}.journal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px}.journal-toolbar-info{display:flex;flex-direction:column;gap:2px;min-width:0}.journal-toolbar-info strong{font-size:var(--text-base)}.journal-toolbar-info span{color:var(--color-text-muted);font-size:var(--text-sm)}.journal-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.journal-toolbar-actions>button:not(.module-toolbar-primary){border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);padding:7px 11px;font:inherit;font-size:var(--text-sm);cursor:pointer}.journal-tab-group{align-items:center;display:flex;gap:6px}.journal-tab-group>span{border-right:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;padding-right:10px;text-transform:uppercase;white-space:nowrap}.journal-tab-group>div{display:flex;flex-wrap:wrap;gap:4px}.journal-tabs button{background:var(--color-neutral-light);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:32px;padding:0 10px;transition:background var(--transition-fast),color var(--transition-fast)}.journal-tabs button:hover{background:#dde4e8}.journal-tabs button.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.journal-tabs button:disabled{cursor:not-allowed;opacity:.55}.journal-context{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:16px;justify-content:space-between;padding:12px 16px}.journal-context h3{color:var(--color-text);font-size:var(--text-lg);font-weight:600;margin:2px 0 4px}.journal-context span{color:var(--color-text-muted);font-size:var(--text-sm)}.journal-context strong{color:var(--color-accent);font-weight:600;white-space:nowrap}.journal-counters{align-items:flex-end;display:flex;flex-direction:column;gap:3px;text-align:right}.journal-counters span{color:var(--color-text-muted);font-size:12px;white-space:nowrap}.journal-filters{display:flex;flex-wrap:wrap;align-items:end;gap:8px 12px;padding:0 2px}.journal-filters label{color:var(--color-text-muted);display:grid;font-size:10px;font-weight:600;gap:4px;letter-spacing:.04em;text-transform:uppercase}.journal-filters input,.journal-filters select{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:34px;padding:0 10px;text-transform:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.journal-filters input:focus-visible,.journal-filters select:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.journal-import-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:12px;padding:14px 16px}.journal-import-preview h3{color:var(--color-text);font-size:var(--text-lg);font-weight:600;margin:2px 0 4px}.journal-import-preview span{color:var(--color-text-muted);font-size:var(--text-sm)}.journal-preview-table{border-collapse:collapse;width:100%}.journal-preview-table th,.journal-preview-table td{border-bottom:1px solid var(--color-border-subtle);color:var(--color-neutral);font-size:12px;padding:7px 10px;text-align:left}.journal-preview-table th{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.journal-import-actions{display:flex;flex-wrap:wrap;gap:8px}.journal-import-switcher{display:flex;flex-wrap:wrap;gap:5px}.journal-import-switcher button{background:var(--color-neutral-light);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:12px;font-weight:600;min-height:32px;padding:0 10px;transition:background var(--transition-fast),color var(--transition-fast)}.journal-import-switcher button:hover{background:#dde4e8}.journal-import-switcher button.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.journal-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.journal-table{border-collapse:collapse;min-width:1360px;width:100%}.journal-table th,.journal-table td{border-bottom:1px solid var(--color-border-subtle);color:var(--color-neutral);font-size:var(--text-sm);min-width:150px;padding:10px 12px;text-align:left;vertical-align:top;white-space:nowrap}.journal-table th{background:#f9fbfa;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.journal-table button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:12px;font-weight:600;min-height:30px;padding:0 10px;transition:border-color var(--transition-fast),color var(--transition-fast)}.journal-table button:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.table-empty-state{display:grid;gap:4px;padding:14px 4px}.table-empty-state strong{color:var(--color-text);font-size:var(--text-md);font-weight:700}.table-empty-state span{color:var(--color-text-muted);font-size:var(--text-sm)}.equipment-toolbar{align-items:end;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:1fr minmax(180px,260px) auto;padding:16px}.equipment-toolbar label{color:var(--color-text-muted);display:grid;font-size:var(--text-xs);font-weight:700;gap:5px;letter-spacing:.05em;text-transform:uppercase}.equipment-toolbar input,.equipment-toolbar select,.equipment-toolbar button{border:1px solid var(--color-input-border);border-radius:var(--radius-md);font:inherit;min-height:38px}.equipment-toolbar input,.equipment-toolbar select{background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.equipment-toolbar input:focus-visible,.equipment-toolbar select:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.equipment-toolbar button{background:var(--color-accent);border-color:transparent;color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:600;padding:0 14px;transition:background var(--transition-fast)}.equipment-toolbar button:hover{background:var(--color-accent-hover)}.journal-tabs>.equipment-export-link:first-of-type{margin-left:auto}.equipment-export-link{align-items:center;background:var(--color-neutral-light);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);display:inline-flex;font-size:var(--text-sm);font-weight:600;min-height:34px;padding:0 11px;text-decoration:none;transition:border-color var(--transition-fast),color var(--transition-fast)}.equipment-export-link:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.journal-import-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;min-height:34px;padding:0 12px;transition:background var(--transition-fast)}.journal-import-button:hover{background:var(--color-bg)}.journal-import-button input{display:none}.equipment-analytics-strip{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.equipment-analytics-strip>div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px}.equipment-analytics-strip span,.equipment-qr span{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.equipment-analytics-strip strong{color:var(--color-text);display:block;font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;margin-top:5px}.equipment-qr{grid-column:1 / -1}.equipment-qr strong{background:#f9fbfa;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);display:inline-block;font-family:var(--font-mono);font-size:12px;margin-top:5px;padding:7px 10px}.journal-record-panel,.journal-import-history{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:14px;padding:16px}.journal-bulk-actions{display:flex;justify-content:flex-end}.journal-record-panel h3,.journal-import-history h3{color:var(--color-text);font-size:var(--text-lg);font-weight:600;margin:2px 0 4px}.journal-record-panel span,.journal-import-history span,.journal-import-history small{color:var(--color-text-muted);font-size:var(--text-sm)}.journal-record-form{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.journal-record-form label{color:var(--color-text-muted);display:grid;font-size:var(--text-xs);font-weight:700;gap:5px;letter-spacing:.05em;text-transform:uppercase}.journal-record-form input,.journal-record-form select,.journal-record-form textarea{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);padding:9px 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.journal-record-form input:focus-visible,.journal-record-form select:focus-visible,.journal-record-form textarea:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.journal-record-form textarea,.journal-record-actions{grid-column:1 / -1}.journal-record-actions{display:flex;flex-wrap:wrap;gap:8px}.journal-import-history-list{display:grid;gap:8px}.journal-import-history-list>div{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);display:grid;gap:3px;padding:9px 12px}.equipment-card{align-items:start;grid-template-columns:1fr 150px 170px 170px 120px}.equipment-linked-tasks,.equipment-actions,.equipment-edit-form,.equipment-history{grid-column:1 / -1}.equipment-linked-tasks,.equipment-history{display:grid;gap:5px}.equipment-linked-tasks span,.equipment-history span{background:#f9fbfa;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);font-size:var(--text-sm);font-weight:600;padding:8px 10px;text-transform:none}.equipment-actions{display:flex;flex-wrap:wrap;gap:8px}.equipment-actions input,.equipment-actions button,.equipment-edit-form input,.equipment-edit-form textarea,.equipment-edit-form button{border:1px solid var(--color-input-border);border-radius:var(--radius-md);font:inherit;min-height:36px}.equipment-actions input,.equipment-edit-form input,.equipment-edit-form textarea{background:var(--color-surface);font-size:var(--text-sm);padding:0 10px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.equipment-actions input:focus-visible,.equipment-edit-form input:focus-visible,.equipment-edit-form textarea:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.equipment-actions button,.equipment-edit-form button{background:var(--color-surface);color:var(--color-neutral);font-size:var(--text-sm);font-weight:600;padding:0 12px;transition:border-color var(--transition-fast),color var(--transition-fast)}.equipment-actions button:hover,.equipment-edit-form button:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.equipment-edit-form{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.equipment-edit-form label{color:var(--color-text-muted);display:grid;font-size:var(--text-xs);font-weight:700;gap:5px;letter-spacing:.05em;text-transform:uppercase}.tasks-layout{display:grid;gap:16px}.task-board.task-board-single{display:block}.drawer .task-composer,.drawer .task-detail-panel{background:transparent;border:0;box-shadow:none;padding:0}.task-composer,.task-list-panel,.task-detail-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px}.task-composer{display:grid;gap:14px}.mobile-task-create-button,.task-composer-close{display:none}.task-composer-header{align-items:start;display:flex;gap:12px;justify-content:space-between}.task-composer h2,.task-list-panel h2,.task-detail-panel h2{font-size:var(--text-xl);font-weight:700;margin-bottom:0}.task-board{display:grid;gap:16px;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr)}.task-composer label{color:var(--color-neutral);display:grid;font-size:var(--text-sm);font-weight:600;gap:6px}.task-composer label small{color:var(--color-text-muted);font-size:12px;font-weight:500}.task-composer input,.task-composer select,.task-composer textarea{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:40px;padding:9px 12px;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.task-composer input:focus-visible,.task-composer select:focus-visible,.task-composer textarea:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.task-composer .task-checkbox{align-items:center;display:flex;flex-direction:row;gap:10px}.task-composer .task-checkbox input{accent-color:var(--color-accent);height:18px;min-height:0;width:18px}.assignee-picker{display:grid;gap:8px}.assignee-picker>span{color:var(--color-neutral);font-size:var(--text-sm);font-weight:600}.assignee-picker>div{display:grid;gap:8px}.task-composer .assignee-picker label{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;font-size:var(--text-sm);gap:10px;grid-template-columns:18px 1fr;padding:8px 10px;transition:border-color var(--transition-fast),background var(--transition-fast)}.task-composer .assignee-picker label:has(input:checked){background:var(--color-accent-light);border-color:var(--color-accent-muted)}.assignee-picker input{accent-color:var(--color-accent);height:18px;min-height:0;width:18px}.assignee-picker small{color:var(--color-text-muted);display:block;font-size:12px;font-weight:500;margin-top:1px}.task-list-header{align-items:start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.task-list-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.task-list-tools button{background:var(--color-neutral-light);border:0;border-radius:var(--radius-md);color:var(--color-neutral);font:inherit;font-size:var(--text-sm);font-weight:600;min-height:32px;padding:6px 10px;transition:background var(--transition-fast)}.task-list-tools button:hover{background:#dde4e8}.task-list-tools button:disabled{cursor:wait;opacity:.65}.task-list-tools>span{align-items:center;background:var(--color-accent-light);border-radius:var(--radius-pill);color:var(--color-accent);display:inline-flex;font-size:var(--text-sm);font-weight:700;justify-content:center;min-height:28px;min-width:28px;padding:0 8px}.task-counters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.task-counters button{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;gap:6px;min-height:32px;padding:6px 10px;transition:border-color var(--transition-fast),color var(--transition-fast)}.task-counters button:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.task-counters strong{align-items:center;background:var(--color-accent-light);border-radius:var(--radius-pill);color:var(--color-accent);display:inline-flex;font-size:12px;justify-content:center;min-height:20px;min-width:20px;padding:0 6px}.task-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.task-filters button{background:var(--color-neutral-light);border:0;border-radius:var(--radius-md);color:var(--color-neutral);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:600;min-height:32px;padding:6px 10px;transition:background var(--transition-fast),color var(--transition-fast)}.task-filters button:hover{background:#dde4e8}.task-filter-count{margin-left:6px;font-size:var(--text-xs);font-weight:700;background:#ffffffbf;color:var(--color-text);border-radius:var(--radius-pill);padding:1px 7px}.task-filters button.active .task-filter-count{background:#ffffff40;color:var(--color-text-inverse)}.task-filters button.active{background:var(--color-accent);color:var(--color-text-inverse)}.task-search-row{align-items:end;display:grid;gap:10px;grid-template-columns:1fr auto;margin:0 0 12px}.task-search-row label{color:var(--color-neutral);display:grid;font-size:var(--text-sm);font-weight:600;gap:6px}.task-search-row input{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:36px;padding:7px 10px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.task-search-row input:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.task-search-row button,.task-filter-drawer summary{background:var(--color-neutral-light);border:0;border-radius:var(--radius-md);color:var(--color-neutral);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:600;min-height:36px;padding:7px 10px;transition:background var(--transition-fast)}.task-search-row button:hover,.task-filter-drawer summary:hover{background:#dde4e8}.task-filter-drawer{margin:0 0 12px}.task-filter-drawer summary{display:inline-flex;list-style:none}.task-filter-drawer summary::-webkit-details-marker{display:none}.task-advanced-filters{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.task-advanced-filters label{color:var(--color-neutral);display:grid;font-size:var(--text-sm);font-weight:600;gap:6px}.task-advanced-filters select{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:36px;padding:6px 10px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.task-advanced-filters select:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.task-list{display:grid;gap:8px}.task-row{border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.task-row:hover{border-color:#c5d0d8}.task-row.active{border-color:var(--color-accent);box-shadow:0 0 0 2px #1f6f5b1a}.task-row.review .task-row-button{box-shadow:inset 3px 0 0 var(--color-accent)}.task-row.overdue .task-row-button{box-shadow:inset 3px 0 0 var(--color-danger)}.task-row-button{background:var(--color-surface);border:0;color:inherit;cursor:pointer;display:grid;font:inherit;gap:12px;padding:14px 16px;text-align:left;transition:background var(--transition-fast);width:100%}.task-row-button:hover{background:#f9fbfa}.task-row h3{font-size:var(--text-md);font-weight:600;margin:0 0 4px}.task-source-badge{background:#e9f5ef;border-radius:var(--radius-pill);color:var(--color-accent);display:inline-flex;font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;margin-bottom:6px;padding:3px 8px}.task-source-badge.source-task_recurrence{background:var(--color-info-light);color:var(--color-info-text)}.task-row p{color:var(--color-text-muted);display:-webkit-box;font-size:var(--text-sm);line-height:1.45;margin-bottom:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-detail-panel{align-self:start;display:grid;gap:14px}.task-detail-panel.empty{min-height:120px}.task-detail-back{background:var(--color-neutral-light);border:0;border-radius:var(--radius-md);color:var(--color-neutral);cursor:pointer;display:none;font:inherit;font-size:var(--text-sm);font-weight:600;justify-self:start;min-height:32px;padding:6px 10px;transition:background var(--transition-fast)}.task-detail-back:hover{background:#dde4e8}.task-detail-header{align-items:start;display:flex;gap:14px;justify-content:space-between}.task-detail-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;grid-template-columns:minmax(96px,.8fr) minmax(116px,1fr) minmax(0,1.7fr) minmax(96px,.8fr);overflow:hidden}.task-detail-summary>div{border-left:1px solid var(--color-border-subtle);display:grid;gap:3px;min-width:0;padding:9px 10px}.task-detail-summary>div:first-child{border-left:0}.task-detail-summary span,.task-detail-more-content span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.task-detail-summary strong{color:var(--color-text);font-size:var(--text-sm);line-height:1.25;overflow-wrap:anywhere}.task-detail-more{border-top:1px solid var(--color-border-subtle);padding-top:8px}.task-detail-more summary{color:var(--color-accent);cursor:pointer;font-size:var(--text-sm);font-weight:600;list-style:none;width:max-content}.task-detail-more summary::-webkit-details-marker{display:none}.task-detail-more summary:after{content:" +"}.task-detail-more[open] summary:after{content:" −"}.task-detail-more-content{display:grid;gap:10px;padding-top:10px}.task-detail-description-block{display:grid;gap:4px}.task-detail-description-block strong{color:var(--color-text-muted);font-size:var(--text-sm)}.task-detail-description{color:var(--color-neutral);font-size:var(--text-sm);line-height:1.5;margin:0;overflow-wrap:anywhere}.task-detail-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.task-detail-grid>div{background:var(--color-bg);border-radius:var(--radius-sm);display:grid;gap:3px;padding:9px 12px}.task-detail-grid span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.task-detail-grid strong{color:var(--color-text);font-size:var(--text-sm);overflow-wrap:anywhere}.task-review-panel{background:var(--color-accent-light);border:1px solid rgba(31,111,91,.2);border-radius:var(--radius-md);display:grid;gap:12px;padding:12px 16px}.task-review-panel.muted{background:var(--color-bg);border-color:var(--color-border)}.task-review-panel strong{color:var(--color-text);font-size:var(--text-md);font-weight:600}.task-review-panel p{color:var(--color-neutral);font-size:var(--text-sm);line-height:1.45;margin:3px 0 0}.task-review-actions{display:flex;flex-wrap:wrap;gap:8px}.task-review-actions button{background:var(--color-accent);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-inverse);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:600;min-height:34px;padding:7px 10px;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.task-review-actions button:hover{background:var(--color-accent-hover)}.task-review-actions button.muted{background:var(--color-surface);border-color:var(--color-border);color:var(--color-neutral)}.task-review-actions button.muted:hover{border-color:var(--color-accent-muted);color:var(--color-accent)}.task-review-actions button:disabled{cursor:wait;opacity:.65}.task-board-errors{grid-column:1 / -1}.task-activity{border-top:1px solid var(--color-border-subtle);display:grid;gap:8px;padding-top:10px}.task-activity.compact{gap:8px}.task-activity-list{display:grid;gap:8px}.task-activity-list>div{background:var(--color-bg);border-radius:var(--radius-sm);display:grid;gap:2px;padding:8px 10px}.task-activity-list span{color:var(--color-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.task-activity-list strong{color:var(--color-text);font-size:var(--text-sm)}.task-activity-list p{color:var(--color-neutral);font-size:var(--text-sm);line-height:1.45;margin:0}.task-activity-list small{color:var(--color-text-muted);font-size:12px}.muted-inline{background:var(--color-neutral-light);border:0;border-radius:var(--radius-md);color:var(--color-neutral);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:600;min-height:30px;padding:6px 10px;transition:background var(--transition-fast)}.muted-inline:hover{background:#dde4e8}.task-edit-form{display:grid;gap:12px}.task-edit-form label{color:var(--color-neutral);display:grid;font-size:var(--text-sm);font-weight:600;gap:6px}.task-edit-form label small{color:var(--color-text-muted);font-size:12px;font-weight:500}.task-edit-form input,.task-edit-form select,.task-edit-form textarea{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:38px;padding:8px 10px;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.task-edit-form input:focus-visible,.task-edit-form select:focus-visible,.task-edit-form textarea:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.task-meta{display:flex;flex-wrap:wrap;gap:5px}.task-meta span{background:var(--color-neutral-light);border-radius:var(--radius-pill);color:var(--color-neutral);font-size:12px;font-weight:600;padding:4px 8px}.task-actions{display:flex;flex-wrap:wrap;gap:8px}.task-actions button{background:var(--color-accent);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-inverse);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:600;min-height:32px;padding:6px 10px;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.task-actions button:hover{background:var(--color-accent-hover)}.task-actions button.muted{background:var(--color-neutral-light);color:var(--color-neutral)}.task-actions button.muted:hover{background:#dde4e8}.task-actions button.danger{background:#fff1f0;color:var(--color-danger)}.task-actions button.danger:hover{background:var(--color-danger-light)}.task-actions button:disabled{cursor:wait;opacity:.65}.task-file-button{align-items:center;background:var(--color-accent);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-inverse);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;min-height:32px;padding:6px 10px;position:relative}.task-file-button input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.inventory-task-next-step{align-items:start;background:var(--color-accent-light);border:1px solid rgba(49,130,206,.2);border-radius:var(--radius-md);display:grid;gap:8px;margin-top:4px;padding:12px}.inventory-task-next-step strong{color:var(--color-text);font-size:var(--text-sm)}.inventory-task-next-step span{color:var(--color-neutral);font-size:var(--text-sm);line-height:1.45}.inventory-task-next-step .inventory-open-button{text-decoration:none}.task-attachments{border-top:1px solid var(--color-border-subtle);display:grid;gap:10px;padding-top:12px}.task-attachment-list{display:grid;gap:8px}.task-attachment-list a{background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);display:grid;gap:2px;padding:8px 10px;transition:border-color var(--transition-fast)}.task-attachment-list a:hover{border-color:var(--color-accent-muted)}.task-attachment-list span{color:var(--color-text);font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}.task-attachment-list small{color:var(--color-text-muted);font-size:12px}.task-checklist{border-top:1px solid var(--color-border-subtle);display:grid;gap:10px;padding-top:12px}.task-checklist-items{display:grid;gap:8px}.task-checklist-items label{align-items:center;background:#f9fbfa;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-neutral);cursor:pointer;display:flex;font-size:var(--text-sm);gap:10px;padding:9px 12px;transition:border-color var(--transition-fast),background var(--transition-fast)}.task-checklist-items label:hover{border-color:var(--color-accent-muted)}.task-checklist-items label.done{color:var(--color-text-muted);text-decoration:line-through}.task-checklist-items input{accent-color:var(--color-accent)}.task-section-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.task-section-header strong{color:var(--color-neutral);font-size:var(--text-sm);font-weight:600}.task-section-header label{cursor:pointer}.task-section-header input{display:none}.task-section-header span{background:var(--color-neutral-light);border-radius:var(--radius-md);color:var(--color-neutral);display:inline-flex;font-size:var(--text-sm);font-weight:600;min-height:32px;padding:6px 10px;transition:background var(--transition-fast)}.task-comments{border-top:1px solid var(--color-border-subtle);display:grid;gap:10px;padding-top:12px}.task-comments-list{display:grid;gap:8px}.task-comments-list>div{background:var(--color-bg);border-radius:var(--radius-md);padding:9px 10px}.task-comments-list strong{color:var(--color-text);font-size:var(--text-sm);font-weight:600}.task-comments-list span{color:var(--color-text-muted);font-size:12px;margin-left:8px}.task-attachment-list .empty-state-icon,.task-comments-list .empty-state-icon{color:var(--color-accent);margin-left:0}.task-comments-list p{color:var(--color-neutral);font-size:var(--text-sm);line-height:1.5;margin-top:3px}.task-comments form{display:grid;gap:8px;grid-template-columns:1fr auto}.task-comments input{border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:34px;padding:7px 10px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.task-comments input:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.task-comments button{background:var(--color-neutral-light);border:0;border-radius:var(--radius-md);color:var(--color-neutral);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:600;min-height:34px;padding:7px 10px;transition:background var(--transition-fast)}.task-comments button:hover{background:#dde4e8}.task-comments button:disabled{cursor:wait;opacity:.65}@media(max-width:1120px){.home-hero{grid-template-columns:1fr}.module-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){body{background:var(--color-surface)}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.workspace{padding:0 14px 88px}.brand{margin-bottom:0}h1{font-size:var(--text-2xl);letter-spacing:-.01em}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:stretch;flex-direction:column;gap:10px;margin:0 -14px 16px;padding:10px 14px;position:sticky;top:0;z-index:10}.topbar h1{font-size:var(--text-base);line-height:1.2}.topbar .subline{font-size:var(--text-xs)}.topbar-actions{align-items:center;display:flex;gap:8px;width:100%}.topbar-user{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.schedule-grid.schedule-month{min-width:52rem}table.payroll-table{min-width:46rem}.analytics-tabs{display:flex;flex-wrap:wrap}.analytics-tabs button{flex:1 1 auto}.restaurant-select{grid-column:1 / -1}.restaurant-select select{min-width:0;width:100%}.search-button{justify-content:center;min-width:0;width:100%}.mobile-focus{display:block}.grid{grid-template-columns:1fr}.home-dashboard{gap:12px}.home-hero,.module-placeholder-header,.module-placeholder-body{grid-template-columns:1fr}.home-hero>div,.quick-actions-panel,.module-hub,.access-panel,.module-placeholder{padding:16px}.home-status-grid{grid-template-columns:1fr 1fr}.quick-actions-list{display:grid}.quick-actions-list button{justify-content:center;width:100%}.module-card-grid{grid-template-columns:1fr}.module-card{min-height:0}.module-placeholder-header>span:last-child{justify-self:start}.analytics-header{display:grid}.analytics-kpi-grid,.analytics-dashboard-grid,.analytics-kpi-summary,.analytics-kpi-primary-grid,.analytics-kpi-cause-grid,.analytics-kpi-impact-list,.analytics-module-grid,.analytics-cost-grid,.analytics-insight-item,.analytics-placeholder-grid,.analytics-role-switcher,.analytics-filter-grid,.analytics-tabs{grid-template-columns:1fr}.tips-kpis{grid-template-columns:1fr 1fr}.tips-bars>div{grid-template-columns:80px 1fr}.tips-bars strong{grid-column:2}.tips-shifts article{grid-template-columns:1fr}.tips-shifts article>div:last-child{justify-content:flex-start}article,.panel{padding:16px}.tasks-layout{grid-template-columns:1fr}.mobile-task-create-button{background:var(--color-accent);border:0;border-radius:var(--radius-md);color:var(--color-text-inverse);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;justify-content:center;min-height:40px;padding:10px 12px;transition:background var(--transition-fast);width:100%}.mobile-task-create-button:hover{background:var(--color-accent-hover)}.task-composer{display:none}.task-composer-close{background:var(--color-neutral-light);border:0;border-radius:var(--radius-md);color:var(--color-neutral);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;min-height:32px;padding:6px 10px;transition:background var(--transition-fast)}.task-composer-close:hover{background:#dde4e8}.tasks-layout.mobile-composer-open .mobile-task-create-button,.tasks-layout.mobile-detail-open .mobile-task-create-button{display:none}.tasks-layout.mobile-composer-open .task-composer{display:grid}.tasks-layout.mobile-composer-open .task-board{display:none}.task-board{grid-template-columns:1fr}.task-detail-panel{display:none}.task-detail-back{display:inline-flex}.tasks-layout.mobile-detail-open .task-composer,.tasks-layout.mobile-detail-open .task-list-panel{display:none}.task-board.mobile-detail-open,.task-board.mobile-detail-open .task-detail-panel{display:grid}.task-composer,.task-list-panel,.task-detail-panel{padding:16px}.task-detail-grid{grid-template-columns:1fr}.task-detail-summary{grid-template-columns:1fr 1fr}.task-detail-summary>div{border-left:0;border-top:1px solid var(--color-border-subtle)}.task-detail-summary>div:nth-child(-n+2){border-top:0}.task-detail-summary>div:nth-child(2n){border-left:1px solid var(--color-border-subtle)}.task-detail-summary .wide{grid-column:1 / -1}.task-detail-summary .wide+div{border-left:0;grid-column:1 / -1}.operations-header{display:grid;padding:16px}.operations-summary-grid,.cleaning-form,.cleaning-card,.equipment-card,.equipment-edit-form,.inventory-create-form,.journal-record-form{grid-template-columns:1fr}.operations-summary-grid>div,.cleaning-card,.empty-state{padding:16px}.task-advanced-filters{grid-template-columns:1fr}.inventory-count-header{align-items:stretch;flex-direction:column}.inventory-handoff-panel{align-items:stretch;flex-direction:column;top:116px}.inventory-count-filters{grid-template-columns:1fr}.inventory-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-count-table-wrap{overflow-x:visible}.inventory-count-pagination{align-items:stretch;flex-direction:column}.inventory-count-pagination>div{justify-content:space-between}.inventory-count-table{border-collapse:separate;border-spacing:0 10px;min-width:0}.inventory-count-table thead{display:none}.inventory-count-table,.inventory-count-table tbody,.inventory-count-table tr,.inventory-count-table td{display:block;width:100%}.inventory-count-table tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:10px}.inventory-count-table td{border-bottom:0;padding:7px 0}.inventory-count-table td:not(:first-child):before{color:var(--color-text-muted);content:attr(data-label);display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.task-search-row,.task-comments form{grid-template-columns:1fr}.module-list{gap:6px}.module-list span,.module-list button{font-size:var(--text-sm);max-width:100%;overflow-wrap:anywhere}.journal-filters{grid-template-columns:1fr}.journal-context{align-items:flex-start;flex-direction:column}.journal-counters{align-items:flex-start;text-align:left}.mobile-bottom-nav{background:var(--color-surface);border-top:1px solid var(--color-border);bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;padding:6px 8px max(6px,env(safe-area-inset-bottom));position:fixed;right:0;z-index:20}.mobile-current-section{align-items:center;background:var(--color-sidebar-bg);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);bottom:72px;box-shadow:var(--shadow-card);color:#fff;display:flex;font-size:var(--text-xs);font-weight:700;gap:8px;left:14px;max-width:calc(100vw - 28px);padding:8px 10px;position:fixed;z-index:21}.mobile-current-section span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav button{align-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:grid;font:inherit;font-size:var(--text-xs);gap:3px;justify-items:center;min-height:50px;min-width:0;padding:4px 3px;transition:color var(--transition-fast),background var(--transition-fast)}.mobile-bottom-nav button.active{background:var(--color-accent-light);color:var(--color-accent);font-weight:600}.mobile-bottom-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.schedule-week-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.schedule-week-nav strong{flex:1 1 auto;text-align:center;min-width:12rem}.schedule-week-nav button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:.5rem;padding:.4rem .75rem;cursor:pointer}.schedule-week-nav button:hover{background:var(--color-neutral-light)}.schedule-week-nav button.muted{color:var(--color-text-secondary)}.schedule-grid-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-surface)}.schedule-grid{border-collapse:collapse;width:100%;min-width:52rem;font-size:.85rem}.schedule-grid th,.schedule-grid td{border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:.35rem .5rem;vertical-align:top;text-align:left}.schedule-grid thead th{background:var(--color-neutral-light);font-weight:600;white-space:nowrap}.schedule-grid th.schedule-grid-today,.schedule-grid td.schedule-grid-today{background:var(--color-info-light)}.schedule-grid-emp{position:sticky;left:0;background:var(--color-surface);min-width:11rem;z-index:1}.schedule-grid-emp strong{display:block}.schedule-grid-emp small{color:var(--color-text-secondary)}.schedule-grid-totals{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-role-group td{position:sticky;left:0;background:var(--color-bg);font-size:.78rem;font-weight:600;color:var(--color-text-muted);padding:.35rem .6rem;border-top:1px solid var(--color-border)}.schedule-role-group td span{font-weight:400;opacity:.7}.schedule-mode-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden}.schedule-mode-toggle button{border:none;background:var(--color-surface);color:var(--color-text-secondary);padding:.4rem .9rem;cursor:pointer}.schedule-mode-toggle button.active{background:var(--color-accent);color:var(--color-text-inverse)}.schedule-month{min-width:60rem}.schedule-month th,.schedule-month td{padding:.25rem}.schedule-month-day{text-align:center;min-width:2.1rem;font-weight:600;line-height:1.1}.schedule-month-day small{display:block;font-weight:400;font-size:.65rem;color:var(--color-text-secondary)}.schedule-grid td,.schedule-grid th{font-variant-numeric:tabular-nums}.schedule-weekend{background:var(--color-neutral-light)}th.schedule-month-day.schedule-weekend,th.schedule-month-day.schedule-weekend small{color:var(--color-danger);opacity:.75}th.schedule-month-day.schedule-grid-today{background:var(--color-info-text);color:#fff}th.schedule-month-day.schedule-grid-today small{color:#fffc}.schedule-month-cell{padding:0!important;text-align:center}.schedule-month-cell.has-shift{background:var(--color-accent-light)}.schedule-month-cell.schedule-grid-today{outline:2px solid var(--color-info-text);outline-offset:-2px}.schedule-cell-value{width:100%;min-height:2rem;border:none;background:none;cursor:pointer;font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--color-text);padding:.35rem .2rem}.schedule-cell-value:disabled{cursor:default}.schedule-cell-value:not(:disabled):hover{background:var(--color-info-light)}.schedule-cell-input{width:100%;min-width:2.5rem;border:2px solid var(--color-accent);border-radius:.3rem;padding:.3rem .2rem;text-align:center;font-variant-numeric:tabular-nums}.schedule-planned-hint{color:var(--color-text-muted);opacity:.7}.schedule-grid tfoot td{font-weight:600;background:var(--color-neutral-light);font-variant-numeric:tabular-nums}.schedule-grid tfoot .schedule-grid-emp{background:var(--color-neutral-light)}.payroll-table th,.payroll-table td{white-space:nowrap}.payroll-input{width:6rem;border:1px solid var(--color-border);border-radius:.4rem;padding:.25rem .4rem;text-align:right;font-variant-numeric:tabular-nums}.payroll-table select{border:1px solid var(--color-border);border-radius:.4rem;padding:.25rem .3rem}.payroll-actions{display:flex;flex-wrap:wrap;gap:.3rem}.payroll-actions button{border:1px solid var(--color-border);background:var(--color-bg);border-radius:.4rem;padding:.25rem .5rem;font-size:.78rem;cursor:pointer}.payroll-actions button:hover:not(:disabled){border-color:var(--color-accent)}.payroll-paid{opacity:.75}.module-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px}.module-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.module-toolbar-title{min-width:9rem;text-align:center;display:inline-block}.module-toolbar-title:first-letter{text-transform:uppercase}.module-toolbar button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);padding:7px 11px;font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.module-toolbar button:hover{background:var(--color-bg)}.module-toolbar button.muted{color:var(--color-text-muted)}.module-toolbar-primary{display:inline-flex;align-items:center;gap:6px;background:var(--color-accent)!important;border-color:transparent!important;color:var(--color-text-inverse)!important;font-weight:600}.module-toolbar-primary:hover{background:var(--color-accent-hover)!important}.segmented{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.segmented button{border:0!important;border-radius:0!important;background:var(--color-surface)}.segmented button.active{background:var(--color-accent-light);color:var(--color-accent);font-weight:600}.drawer-overlay{position:fixed;inset:0;z-index:100;background:#12212f52;display:flex;justify-content:flex-end;animation:drawer-fade var(--transition-base)}.drawer{width:min(440px,100vw);height:100vh;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-8px 0 28px #12212f1f;display:flex;flex-direction:column;animation:drawer-slide var(--transition-base)}.drawer.drawer-wide{width:min(760px,100vw)}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide{0%{transform:translate(24px);opacity:.6}to{transform:translate(0);opacity:1}}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-border)}.drawer-header h3{margin:0;font-size:var(--text-lg)}.drawer-header p{margin:2px 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.drawer-close{border:0;background:none;color:var(--color-text-muted);font-size:var(--text-md);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.drawer-close:hover{background:var(--color-bg);color:var(--color-text)}.drawer-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.drawer-footer{border-top:1px solid var(--color-border);padding:14px 20px}.drawer-form{display:flex;flex-direction:column;gap:14px}.drawer-form label{display:flex;flex-direction:column;gap:5px;font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.drawer-form input,.drawer-form select{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);padding:9px 11px;font:inherit;font-size:var(--text-base);font-weight:400;color:var(--color-text);background:var(--color-surface)}.drawer-form input:focus-visible,.drawer-form select:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.drawer-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drawer-actions{display:flex;flex-wrap:wrap;gap:8px}.drawer-actions button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);padding:9px 16px;font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.drawer-primary{background:var(--color-accent)!important;border-color:transparent!important;color:var(--color-text-inverse)}.drawer-primary:hover{background:var(--color-accent-hover)!important}.drawer-danger{color:var(--color-danger);margin-left:auto}.drawer-danger:hover{background:var(--color-danger-light);border-color:var(--color-danger)}.drawer-secondary-actions{display:flex;gap:8px}.drawer-secondary-actions button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);padding:7px 12px;font:inherit;font-size:var(--text-sm);cursor:pointer;color:var(--color-text-secondary)}@media(max-width:560px){.drawer{width:100vw}}.module-search{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);padding:7px 11px;font:inherit;font-size:var(--text-sm);min-width:16rem}.module-toolbar select{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);padding:7px 11px;font:inherit;font-size:var(--text-sm);background:var(--color-surface);color:var(--color-text)}.module-toolbar-link{display:inline-flex;align-items:center;padding:7px 11px;font-size:var(--text-sm);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.module-toolbar-link:hover{background:var(--color-bg)}.entity-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.entity-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--color-border-subtle);padding:9px 12px;cursor:pointer;transition:background var(--transition-fast)}.entity-row:last-child{border-bottom:0}.entity-row:hover{background:var(--color-bg)}.app-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:95;display:flex;align-items:center;gap:8px;background:var(--color-text, #1b2330);color:#fff;border-radius:10px;padding:10px 16px;font-size:.85rem;box-shadow:0 8px 24px #00000040;animation:app-toast-in .18s ease-out}.app-toast svg{color:#7fd6a0;flex-shrink:0}@keyframes app-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.undo-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:14px;background:var(--color-text, #1b2330);color:#fff;border-radius:10px;padding:12px 18px;font-size:.85rem;box-shadow:0 8px 24px #00000040;max-width:min(92vw,520px)}.undo-toast button{border:0;background:none;color:#7fd6a0;font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap}.undo-toast em{color:#ffb4b4;font-style:normal;font-size:.78rem}.entity-row-static{cursor:default}.entity-row-static:hover{background:none}.audit-entity-tag{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-border-subtle);font-size:.7rem;font-weight:500;color:var(--color-text-muted);vertical-align:middle}.sdash{display:flex;flex-direction:column;gap:18px}.sdash-monthnav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sdash-monthnav strong{min-width:150px;text-align:center;display:inline-block}.sdash-monthnav strong:first-letter{text-transform:uppercase}.sdash-monthnav button{padding:6px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);font-size:.85rem;cursor:pointer}.sdash-monthnav button.muted{color:var(--color-text-muted)}.sdash-section-title{font-size:1.05rem;font-weight:700;margin:0 0 10px}.sdash-section-title.sdash-tight{margin-bottom:4px}.sdash-pos{color:var(--color-ok-text)}.sdash-neg{color:var(--color-danger)}.sdash-warn{color:var(--color-warning)}.sdash-num{font-variant-numeric:tabular-nums}.sdash-muted{color:var(--color-text-muted)}.sdash-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:720px){.sdash-kpi-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1200px){.sdash-kpi-grid{grid-template-columns:repeat(7,1fr)}}.sdash-week-grid{grid-template-columns:repeat(2,1fr)}@media(min-width:980px){.sdash-week-grid{grid-template-columns:repeat(4,1fr)}}.sdash-kpi{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:12px;padding:14px;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.04))}.sdash-kpi-hl{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.sdash-kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.sdash-kpi-head span{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.sdash-kpi-hl .sdash-kpi-head span,.sdash-kpi-hl .sdash-kpi-head svg{color:#ffffffbf}.sdash-kpi-head svg{color:var(--color-text-muted);opacity:.6;flex-shrink:0}.sdash-kpi>strong{display:block;font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;margin-top:6px}.sdash-kpi p{display:flex;align-items:center;gap:4px;margin:8px 0 0;font-size:.78rem;font-weight:600}.sdash-kpi p i{font-style:normal;font-weight:400;color:var(--color-text-muted)}.sdash-kpi p.sdash-up{color:var(--color-ok-text)}.sdash-kpi p.sdash-down{color:var(--color-danger)}.sdash-kpi-hl p.sdash-up{color:#b7f5cf}.sdash-kpi-hl p.sdash-down{color:#ffc9c9}.sdash-kpi-hl p i{color:#fff9}.sdash-forecast{background:var(--color-accent);color:#fff;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px}.sdash-forecast-head{display:flex;justify-content:space-between;align-items:center}.sdash-forecast-head span{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.sdash-forecast-head small{color:#ffffffb3;font-size:.75rem}.sdash-progress{height:9px;border-radius:999px;background:#ffffff2e;overflow:hidden}.sdash-progress i{display:block;height:100%;border-radius:999px;background:#fff;transition:width .6s}.sdash-forecast-row{display:flex;justify-content:space-between;align-items:baseline}.sdash-forecast-row strong{font-size:1.25rem}.sdash-forecast-row small{color:#ffffffb3}.sdash-forecast-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}.sdash-forecast-grid p{margin:0;font-size:.7rem;color:#fff9}.sdash-forecast-grid strong{display:block;font-size:.95rem;margin:2px 0}.sdash-forecast-grid span{font-size:.7rem;font-weight:600}.sdash-forecast-grid .sdash-pos{color:#b7f5cf}.sdash-forecast-grid .sdash-neg{color:#ffc9c9}.sdash-forecast-foot{display:flex;justify-content:space-between;font-size:.78rem;padding-top:10px;border-top:1px solid rgba(255,255,255,.18)}.sdash-forecast-foot span{color:#fff9}.sdash-panel{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:12px;padding:18px}.sdash-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.sdash-panel-head>span:first-child{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.sdash-panel-head small{font-size:.75rem;color:var(--color-text-muted)}.sdash-attention-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:720px){.sdash-attention-grid{grid-template-columns:1fr 1fr}}.sdash-attention-item{display:flex;gap:8px;border:1px solid var(--color-border-subtle);background:var(--color-bg);border-radius:9px;padding:10px}.sdash-attention-item svg{flex-shrink:0;margin-top:2px}.sdash-attention-item strong{display:block;font-size:.85rem}.sdash-attention-item small{display:block;color:var(--color-text-muted);font-size:.75rem;margin-top:3px;line-height:1.45}.sdash-attention-ok{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:.85rem;border:1px solid var(--color-border-subtle);background:var(--color-bg);border-radius:9px;padding:12px}.sdash-attention-ok svg{color:var(--color-ok-text)}.sdash-three-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:720px){.sdash-three-grid{grid-template-columns:repeat(3,1fr)}}.sdash-cell{border:1px solid var(--color-border-subtle);background:var(--color-bg);border-radius:9px;padding:12px}.sdash-cell p{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:.72rem;color:var(--color-text-muted)}.sdash-cell>strong{font-size:1.2rem;font-variant-numeric:tabular-nums}.sdash-cell-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.sdash-cell-row p{margin:0}.sdash-cell-row span,.sdash-cell-row small{font-size:.72rem;font-weight:600}.sdash-note{font-size:.78rem;color:var(--color-text-muted);margin:12px 0 0}.sdash-note.sdash-tight{margin:0 0 12px}.sdash-two-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:1100px){.sdash-two-grid{grid-template-columns:1fr 1fr}}.sdash-dish-table table{width:100%;border-collapse:collapse;font-size:.82rem}.sdash-dish-table th{text-align:left;font-size:.7rem;color:var(--color-text-muted);font-weight:500;padding:6px;border-bottom:1px solid var(--color-border-subtle)}.sdash-dish-table th:nth-child(3),.sdash-dish-table th:nth-child(4){text-align:right}.sdash-dish-table td{padding:7px 6px;border-bottom:1px solid var(--color-border-subtle)}.sdash-dish-table td:nth-child(3),.sdash-dish-table td:nth-child(4){text-align:right}.sdash-dish-table tr:last-child td{border-bottom:0}.sdash-seg{display:inline-flex;background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:8px;padding:2px}.sdash-seg button{border:0;background:none;padding:3px 10px;font-size:.75rem;border-radius:6px;cursor:pointer;color:var(--color-text-muted)}.sdash-seg button.active{background:var(--color-accent);color:#fff}.sdash-cat{max-width:640px}.sdash-cat-bar{display:flex;height:11px;border-radius:999px;overflow:hidden;background:var(--color-bg);margin-bottom:14px}.sdash-cat-bar i{display:block;height:100%}.sdash-cat-list{display:flex;flex-direction:column;gap:11px}.sdash-cat-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.85rem}.sdash-cat-row>span:first-child{display:flex;align-items:center;gap:8px;min-width:0;color:var(--color-text-muted)}.sdash-cat-row>span:first-child i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.sdash-cat-row>span:last-child{display:flex;align-items:center;gap:10px;flex-shrink:0;font-variant-numeric:tabular-nums}.sdash-cat-row small{color:var(--color-text-muted);font-size:.75rem}.sdash-cat-row b{min-width:38px;text-align:right}.sdash-cat-track{height:6px;border-radius:999px;background:var(--color-bg);overflow:hidden;margin-top:5px}.sdash-cat-track u{display:block;height:100%;border-radius:999px}.sdash-source{font-size:.76rem;color:var(--color-text-muted)}.entity-row-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.entity-row-main strong{font-size:var(--text-base);font-weight:600}.entity-row-main small,.entity-row-meta small{color:var(--color-text-muted);font-size:var(--text-sm)}.entity-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right;white-space:nowrap}.status-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--color-text-muted)}.status-dot.status-operational{background:var(--color-ok-text)}.status-dot.status-needs_service{background:var(--color-warning)}.status-dot.status-broken{background:var(--color-danger)}.status-dot.status-retired{background:var(--color-text-muted)}.status-dot.status-planned{background:var(--color-info-text)}.status-dot.status-in_progress{background:var(--color-warning)}.status-dot.status-done{background:var(--color-ok-text)}.status-dot.status-overdue{background:var(--color-danger)}.status-dot.status-skipped,.status-dot.status-cancelled,.status-dot.status-draft{background:var(--color-text-muted)}.status-dot.status-counting{background:var(--color-info-text)}.status-dot.status-review,.status-dot.status-reconciliation{background:var(--color-warning)}.status-dot.status-approved{background:var(--color-ok-text)}.status-dot.status-exported{background:var(--color-accent)}.status-dot.status-closed,.status-dot.status-ok{background:var(--color-ok-text)}.status-dot.status-muted{background:var(--color-text-muted)}.entity-row-wrap{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--color-border-subtle);padding-right:12px}.entity-row-wrap:last-child{border-bottom:0}.entity-row-wrap .entity-row{border-bottom:0;flex:1}.entity-row-side{display:flex;align-items:center;gap:8px;flex:0 0 auto}.entity-row-import{position:relative;overflow:hidden;font-size:var(--text-xs);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;white-space:nowrap}.entity-row-import input{position:absolute;inset:0;opacity:0;cursor:pointer}.entity-row-archive{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.entity-row-archive:hover{border-color:var(--color-danger);color:var(--color-danger)}.drawer-section{border-top:1px solid var(--color-border-subtle);padding-top:14px;display:flex;flex-direction:column;gap:10px}.drawer-section .eyebrow{margin:0}.drawer-readonly-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drawer-readonly-grid>div{display:flex;flex-direction:column;gap:2px}.drawer-readonly-grid span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.drawer-readonly-grid strong{font-size:var(--text-base)}.journal-add-button{align-self:end;border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 14px;font-size:var(--text-sm);cursor:pointer}.drawer-inline-input{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);padding:8px 11px;font:inherit;font-size:var(--text-sm)}.status-dot.importance-high{background:var(--color-danger)}.status-dot.importance-normal{background:var(--color-info-text)}.status-dot.importance-low{background:var(--color-text-muted)}.entity-row-unread{background:var(--color-info-light)}.entity-row-unread .entity-row-main strong{font-weight:700}.inline-pin{color:var(--color-accent);vertical-align:-1px}.announce-meta-line{font-size:var(--text-xs);color:var(--color-text-secondary)}.announce-body{white-space:pre-wrap;line-height:1.5;margin:0}.drawer-checkbox{flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500!important;color:var(--color-text)!important;text-transform:none}.drawer-checkbox input{width:auto}.drawer-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px}.drawer-form textarea{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);padding:9px 11px;font:inherit;font-size:var(--text-base);color:var(--color-text);resize:vertical}.journal-filters-inline input,.journal-filters-inline select{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:34px;padding:0 10px}.journal-filters-inline input::placeholder{color:var(--color-text-muted)}.journal-filters-dash{color:var(--color-text-muted);align-self:center}.sdash-kpi-hl .subline{color:#ffffffbf}.journal-filters-inline input:not([type=date]){width:150px}.journal-filters-inline input[type=date]{width:140px}.schedule-month{table-layout:fixed;min-width:0}.schedule-month .schedule-grid-emp{width:136px}.schedule-month .schedule-grid-emp strong,.schedule-month .schedule-grid-emp small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-month th.schedule-grid-totals,.schedule-month td.schedule-grid-totals{width:46px;padding:.35rem .25rem}.schedule-month th.schedule-month-day{padding:3px 0;text-align:center;font-size:12px;line-height:1.2}.schedule-month th.schedule-month-day small{display:block;font-weight:400}.schedule-month .schedule-cell-value{font-size:12px;padding:.3rem 0}.schedule-month .schedule-cell-input{font-size:12px;padding:.3rem 0;text-align:center}.payroll-input{width:4.5rem!important}.payroll-table{table-layout:fixed;min-width:0}.payroll-table th,.payroll-table td{overflow:hidden;text-overflow:ellipsis;padding:.35rem .4rem;font-size:13px}.payroll-table .schedule-grid-emp{width:104px;min-width:0}.payroll-table th:nth-child(2){width:90px}.payroll-table th:nth-child(3){width:46px}.payroll-table th:nth-child(4){width:44px}.payroll-table th:nth-child(10){width:80px}.payroll-table select{width:100%;font-size:12px;padding:4px 2px}.payroll-table .payroll-input{width:100%!important;max-width:none;text-align:right;font-size:13px;padding:4px 6px}.payroll-actions{display:flex;flex-wrap:wrap;gap:4px}.payroll-actions button{font-size:11px;padding:3px 7px}.schedule-month th.schedule-grid-totals{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll-table th,.payroll-table td{font-size:12px}.payroll-table .status-pill{font-size:10px;padding:2px 6px}.payroll-table select{font-size:11px}.payroll-actions button{font-size:10px;padding:3px 6px;white-space:nowrap}.payroll-hint{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:var(--color-info-light);border:1px solid var(--color-info-text);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);line-height:1.5;padding:10px 14px}.payroll-hint-stale{background:var(--color-warning-light);border-color:var(--color-warning)}.payroll-hint button{border:0;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;font-weight:600;font-size:var(--text-sm);padding:6px 12px;cursor:pointer}.pnl-layout{display:grid;gap:14px}.pnl-columns{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:14px;align-items:start}@media(max-width:980px){.pnl-columns{grid-template-columns:1fr}}.pnl-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px}.pnl-panel h3{margin-bottom:10px}.pnl-table{width:100%;border-collapse:collapse;font-size:13px}.pnl-table th{text-align:left;color:var(--color-text-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:4px 8px;border-bottom:1px solid var(--color-border)}.pnl-table td{padding:6px 8px;border-bottom:1px solid var(--color-border-subtle)}.pnl-table tr:last-child td{border-bottom:0}.pnl-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pnl-share{color:var(--color-text-muted);width:52px}.pnl-delta{font-size:12px;width:150px}.pnl-up{color:var(--color-ok-text)}.pnl-down{color:var(--color-danger)}.pnl-flat{color:var(--color-text-muted)}.pnl-group-row td{background:var(--color-bg)}.pnl-group-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:none;font:inherit;font-weight:650;cursor:pointer;padding:0}.pnl-toggle-stub{width:14px}.pnl-item-row td:first-child{padding-left:30px}.pnl-item-link{border:0;background:none;font:inherit;color:var(--color-text);cursor:pointer;padding:0;text-align:left}.pnl-item-link:hover{color:var(--color-accent);text-decoration:underline}.pnl-month-active td{background:var(--color-accent-light)}.pnl-table tbody tr{cursor:default}.pnl-import-button{position:relative;overflow:hidden;cursor:pointer}.pnl-import-button input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.pnl-import-preview{background:var(--color-surface);border:1px solid var(--color-accent-muted);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px;display:grid;gap:10px}.pnl-import-summary{display:flex;flex-wrap:wrap;gap:18px;align-items:end}.pnl-import-summary>div{display:grid;gap:2px}.pnl-import-summary span{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.pnl-import-summary label{display:grid;gap:4px;font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.pnl-import-summary input[type=month]{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);padding:6px 8px;font:inherit;text-transform:none}.pnl-warning{margin:0;color:var(--color-warning-text);background:var(--color-warning-light);border-radius:var(--radius-sm);padding:6px 10px;font-size:13px}.pnl-import-actions{display:flex;gap:8px}.pnl-series-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.operations-summary-grid em{font-style:normal;font-size:11px;margin-left:6px}.schedule-template-panel{border:1px solid var(--color-border);border-radius:.6rem;background:var(--color-surface);padding:14px;display:grid;gap:10px}.schedule-template-head h3{margin:0 0 4px}.schedule-template-head .subline{margin:0}.schedule-grid.schedule-template{min-width:0;table-layout:fixed}.schedule-template th:not(.schedule-grid-emp),.schedule-template td:not(.schedule-grid-emp){width:52px;text-align:center}.schedule-template .schedule-cell-input{border-width:1px;border-color:var(--color-border)}.schedule-template .schedule-cell-input:focus{border-color:var(--color-accent)}.schedule-template-actions{display:flex;align-items:center;gap:10px}.booking-date-label{min-width:12rem;text-align:center}.booking-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;border:1px solid var(--color-border);border-radius:.6rem;background:var(--color-surface);padding:14px}.booking-form label{display:grid;gap:4px;font-size:12px;color:var(--color-text-muted);min-width:0}.booking-form input,.booking-form select{border:1px solid var(--color-border);border-radius:.4rem;padding:.4rem .5rem;min-width:0}.booking-form-comment{grid-column:1 / -1}.booking-form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:10px}.bookings-table{min-width:0;table-layout:auto}.bookings-table th,.bookings-table td{text-align:left;padding:8px 10px;vertical-align:middle}.bookings-table .booking-time{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.bookings-table .booking-count{text-align:center}.booking-guest small{display:block;color:var(--color-text-muted)}.booking-phone a{color:inherit;text-decoration:none;font-variant-numeric:tabular-nums}.booking-phone a:hover{text-decoration:underline}.booking-source,.booking-status{display:inline-block;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;white-space:nowrap}.booking-source{background:var(--color-neutral-light);color:var(--color-text-muted)}.booking-status-new{background:var(--color-info-light);color:var(--color-info-dark, #1d4ed8)}.booking-status-confirmed,.booking-status-arrived{background:var(--color-success-light, #dcfce7);color:var(--color-success-dark, #15803d)}.booking-status-declined,.booking-status-no_show{background:var(--color-danger-light, #fee2e2);color:var(--color-danger-dark, #b91c1c)}.booking-row-declined td{opacity:.55}.booking-actions{display:flex;flex-wrap:wrap;gap:6px}.booking-actions button{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer}.booking-action-ok:hover{border-color:var(--color-success-dark, #15803d);color:var(--color-success-dark, #15803d)}.booking-action-bad:hover{border-color:var(--color-danger-dark, #b91c1c);color:var(--color-danger-dark, #b91c1c)}.booking-empty{border:1px dashed var(--color-border);border-radius:.6rem;padding:22px;text-align:center;display:grid;gap:4px}@media(max-width:900px){.booking-form{grid-template-columns:repeat(2,minmax(0,1fr))}}.bookings-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}.booking-calendar{border:1px solid var(--color-border);border-radius:.6rem;background:var(--color-surface);padding:12px;display:grid;gap:10px;position:sticky;top:12px}.booking-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.booking-calendar-nav strong{font-size:14px}.booking-calendar-nav button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.4rem;padding:2px 10px;cursor:pointer}.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.booking-calendar-weekday{text-align:center;font-size:10px;text-transform:uppercase;color:var(--color-text-muted);padding:2px 0 4px}.booking-calendar-day{position:relative;border:1px solid transparent;background:none;border-radius:.4rem;padding:6px 0 12px;font-size:12px;cursor:pointer;font-variant-numeric:tabular-nums}.booking-calendar-day:hover{background:var(--color-neutral-light)}.booking-calendar-day.is-today{border-color:var(--color-accent)}.booking-calendar-day.is-selected{background:var(--color-accent);color:#fff}.booking-calendar-day em{position:absolute;left:0;right:0;bottom:2px;font-style:normal;font-size:9px;line-height:1;color:var(--color-accent);font-weight:700}.booking-calendar-day.is-selected em{color:#fff}.booking-calendar-today{justify-self:center}.bookings-day{display:grid;gap:12px;min-width:0}.bookings-day-head{display:grid;gap:10px}.bookings-day-head h3{margin:0}.booking-row{cursor:pointer}.booking-row:hover td{background:var(--color-neutral-light)}.booking-form-drawer{grid-template-columns:repeat(2,minmax(0,1fr));border:none;padding:0}.booking-card{display:grid;gap:14px}.booking-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.booking-card-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);margin-bottom:2px}.booking-card-facts dd{margin:0;font-weight:600}.booking-card-facts dd a{color:inherit}.booking-card-comment{display:grid;gap:4px;font-size:12px;color:var(--color-text-muted)}.booking-card-comment textarea{border:1px solid var(--color-border);border-radius:.4rem;padding:.5rem;resize:vertical;color:var(--color-text)}.booking-card-actions{width:100%}@media(max-width:900px){.bookings-layout{grid-template-columns:1fr}.booking-calendar{position:static}}.bookings-table .booking-phone{white-space:nowrap}.bookings-table .booking-guest{min-width:9rem}.booking-phone-inline{color:inherit;font-variant-numeric:tabular-nums}.booking-actions button{white-space:nowrap}
