:root{color-scheme:light;--bg: #f3f6fb;--panel: #ffffff;--ink: #0f172a;--muted: #475569;--line: #dbe3ef;--accent: #0b4f8a;--ok: #0f766e;--warn: #a16207;--danger: #b42318;--shadow: 0 1px 3px rgba(15, 23, 42, .07), 0 1px 2px rgba(15, 23, 42, .04);--radius: 6px}[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--panel: #161b22;--ink: #e6edf3;--muted: #9aa4b2;--line: #30363d;--accent: #58a6ff;--ok: #3fb950;--warn: #d29922;--danger: #f85149;--shadow: 0 1px 3px rgba(0, 0, 0, .25);--radius: 6px}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] button{color:var(--ink);background-color:var(--panel)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d1117;--panel: #161b22;--ink: #e6edf3;--muted: #9aa4b2;--line: #30363d;--accent: #58a6ff;--ok: #3fb950;--warn: #d29922;--danger: #f85149;--shadow: 0 1px 3px rgba(0, 0, 0, .25);--radius: 6px}:root:not([data-theme=light]) input,:root:not([data-theme=light]) select,:root:not([data-theme=light]) textarea,:root:not([data-theme=light]) button{color:var(--ink);background-color:var(--panel)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;font-size:inherit;color-scheme:inherit}#root{min-height:100vh}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;height:100vh;position:fixed;left:0;top:0;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:100;overflow-y:auto}.sidebar-brand{padding:18px 16px 14px;border-bottom:1px solid var(--line)}.brand-name{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--accent);display:block}.brand-tag{font-size:.68rem;color:var(--muted);display:block;margin-top:2px}.sidebar-clock{padding:14px 16px;border-bottom:1px solid var(--line);display:grid;gap:4px}.sidebar-nav{flex:1;overflow-y:auto;padding:6px 0}.nav-item{display:block;width:100%;padding:9px 16px;font-size:.84rem;font-weight:500;color:var(--muted);background:none;border:none;border-left:2px solid transparent;cursor:pointer;text-align:left;transition:color .1s,background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.nav-item.active{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--panel));font-weight:600}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.main-area{margin-left:220px;flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}.page-header{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;gap:16px;flex-shrink:0}.page-title{font-size:.94rem;font-weight:600;color:var(--ink);margin:0}.page-title-group{display:flex;align-items:center;gap:10px;min-width:0}.mobile-module-picker{display:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);padding:6px 28px 6px 10px;font-size:.84rem;min-width:150px}.page-actions{display:flex;align-items:center;gap:8px}.page-actions .sync-badge,.refresh-btn,.notif-bell{min-height:30px}.page-content{padding:20px;display:flex;flex-direction:column;gap:14px;flex:1}.auth-screen{min-height:100vh;padding:32px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 16%,transparent),transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 78%,var(--panel)) 0%,var(--bg) 100%)}.auth-shell{max-width:1180px;margin:0 auto;min-height:calc(100vh - 64px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,460px);gap:20px;align-items:stretch}.auth-intro,.auth-panel{box-shadow:var(--shadow)}.auth-intro{display:flex;flex-direction:column;min-height:100%}.auth-intro-header,.auth-panel-header{display:grid;gap:8px}.auth-intro-body,.auth-panel-body{padding:18px 16px 16px}.auth-intro-body{display:grid;gap:20px;flex:1}.auth-brand-lockup{display:grid;gap:4px}.auth-metric-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-kpi{min-height:120px}.auth-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-note{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 4%,var(--panel));padding:14px}.auth-note strong{display:block;margin-bottom:6px;font-size:.85rem}.auth-note p{margin:0;color:var(--muted)}.auth-panel{display:flex;flex-direction:column}.auth-panel-body{flex:1}.auth-clerk-root,.auth-clerk-card{width:100%}.auth-clerk-card{box-shadow:none;border:0;background:transparent}.row-delete-btn{background:none;border:none;color:var(--danger, #e53e3e);cursor:pointer;font-size:.85rem;padding:2px 6px;border-radius:4px;opacity:.6;transition:opacity .15s,background .15s}.row-delete-btn:hover{opacity:1;background:#e53e3e1a}.auth-clerk-hide{display:none}.auth-clerk-footer{padding-bottom:0}.auth-clerk-social-button,.auth-clerk-primary-button{border-radius:var(--radius);min-height:42px;box-shadow:none}.auth-clerk-social-button{border:1px solid var(--line);background:var(--panel)}.auth-clerk-primary-button{background:var(--accent)}.auth-clerk-primary-button:hover{background:color-mix(in srgb,var(--accent) 88%,black)}.auth-clerk-input{min-height:42px;border-radius:var(--radius);border-color:var(--line);box-shadow:none;background:var(--panel)}.auth-clerk-label,.auth-clerk-divider-text,.auth-clerk-identity-text,.auth-clerk-alert-text{color:var(--muted)}.auth-clerk-divider-line{background:var(--line)}.auth-clerk-secondary-link{color:var(--accent)}@media (max-width: 980px){.auth-screen{padding:20px}.auth-shell{grid-template-columns:1fr;min-height:auto}}@media (max-width: 720px){.auth-metric-row,.auth-notes{grid-template-columns:1fr}.auth-screen{padding:12px}}.section-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.section-header{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;gap:12px;border-bottom:1px solid var(--line)}.section-title{font-size:.875rem;font-weight:600;color:var(--ink);margin:0}.section-sub{font-size:.71rem;color:var(--muted);margin-top:2px}.section-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.shell{max-width:1380px;margin:0 auto;padding:20px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.topbar-meta{min-width:340px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);padding:12px;display:grid;gap:8px}.topbar-clock{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:4px}.clock-time{display:block;font-size:1.6rem;font-weight:700;line-height:1;letter-spacing:-.02em}.clock-date{display:block;font-size:.78rem;color:var(--muted);line-height:1.25}.eyebrow,.section-kicker{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--accent);font-weight:700}h1{margin:0;font-size:1.4rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}h2{margin:0;font-size:.875rem;font-weight:600}.hero-text,.card p{margin:0;color:var(--muted)}.module-tabs,.tab,.tab.active{display:none}.dashboard-grid{display:flex;flex-direction:column;gap:14px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.card-header{padding:11px 16px;border-bottom:1px solid var(--line)}.kpi{flex:1 1 120px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:12px 14px;display:grid;gap:3px}.kpi span{font-size:.71rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.kpi strong{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;line-height:1}.kpi small{color:var(--muted);font-size:.71rem;line-height:1.3}.module-summary,.panel-wide{grid-column:span 12}.panel-half{grid-column:span 6}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.section-card .table-wrap{border:0;border-radius:0}table{width:100%;border-collapse:collapse;min-width:760px}thead th{text-align:left;font-size:.71rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line);padding:8px 14px;white-space:nowrap}tbody td{border-bottom:1px solid var(--line);padding:9px 14px;vertical-align:middle;font-size:.875rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--accent) 3%,var(--panel))}.status,.event-status,.sync-badge{display:inline-flex;align-items:center;border-radius:4px;padding:2px 7px;font-size:.71rem;font-weight:600;line-height:1.25;white-space:nowrap}.status.done,.event-status.on-track{background:color-mix(in srgb,var(--ok) 12%,var(--panel));color:var(--ok)}.status.active,.event-status.done{background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent)}.status.risk,.event-status.watch,.sync-badge.fallback{background:color-mix(in srgb,var(--warn) 12%,var(--panel));color:var(--warn)}.status.blocked,.event-status.risk{background:color-mix(in srgb,var(--danger) 12%,var(--panel));color:var(--danger)}.sync-badge.loading{background:color-mix(in srgb,var(--muted) 12%,var(--panel));color:var(--muted)}.sync-badge.ready{background:color-mix(in srgb,var(--ok) 12%,var(--panel));color:var(--ok)}.department-list,.bullet-stack,.future-grid{display:grid;gap:8px}.department-row{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:10px 12px;align-items:center}.department-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.department-card .department-row{border:0;border-radius:0}.department-stats{display:grid;gap:4px;min-width:130px;text-align:right;color:var(--muted)}.blocker-toggle{border:0;background:transparent;color:var(--danger);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;padding:0;text-align:right}.blocker-toggle:hover{text-decoration:underline}.department-blockers{border-top:1px solid var(--line);background:color-mix(in srgb,var(--accent) 2%,var(--panel));padding:10px 12px;display:grid;gap:8px}.blocker-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:10px}.blocker-copy{display:grid;gap:5px}.blocker-title{font-size:.88rem;line-height:1.4;color:var(--ink)}.blocker-meta,.blocker-empty-state{font-size:.78rem;color:var(--muted);margin:0}.blocker-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.blocker-action-btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);padding:6px 10px;font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap}.blocker-action-btn-primary{background:var(--ok);border-color:var(--ok);color:#fff}.code-block{margin:0;overflow-x:auto;border-radius:10px;padding:10px;background:#0f172a;color:#cbd5e1;font-size:.76rem}.bullet-stack p{margin:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted)}.future-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.future-tile{border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--panel)}.empty-state{margin:0;border:1px dashed var(--line);border-radius:10px;background:var(--panel);padding:10px;color:var(--muted)}.module-desc-bar{display:none}.module-desc-bar strong{color:var(--accent);white-space:nowrap}.module-desc-bar span{color:var(--muted)}.card-desc{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.sync-msg{margin:0;font-size:.78rem;color:var(--muted);line-height:1.4}.kpi-strip{display:flex;flex-wrap:wrap;gap:8px;background:transparent;border:none;box-shadow:none;padding:0}.kpi-ok strong{color:var(--ok)}.kpi-warn strong{color:var(--warn)}.kpi-danger strong{color:var(--danger)}.kpi-neutral strong{color:var(--ink)}td.notes-cell{color:var(--muted);font-size:.84rem;max-width:280px}.dept-main{flex:1;display:grid;gap:5px}.dept-title-row{display:flex;align-items:center;gap:8px}.dept-badge{display:inline-block;border-radius:999px;padding:2px 8px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.dept-badge-ok{background:#d9f7ef;color:#115e59}.dept-badge-warn{background:#fef3c7;color:#92400e}.dept-badge-danger{background:#fee2e2;color:#991b1b}.readiness-bar-wrap{height:6px;background:var(--line);border-radius:999px;overflow:hidden}.readiness-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.readiness-ok{background:#0f766e}.readiness-warn{background:#a16207}.readiness-danger{background:#b42318}.dept-risk{margin:0;font-size:.82rem;color:var(--muted);line-height:1.4}.readiness-pct{font-size:1.1rem;font-weight:700}.readiness-pct-ok{color:var(--ok)}.readiness-pct-warn{color:var(--warn)}.readiness-pct-danger{color:var(--danger)}.blocker-count{font-size:.78rem;font-weight:600;color:var(--danger)}.no-blockers{font-size:.78rem;color:var(--ok)}.dept-owner{font-size:.78rem;color:var(--muted)}.ai-panel{display:grid;gap:14px}.ai-job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.ai-job-meta{display:flex;flex-direction:column;gap:4px}.ai-job-badge{display:inline-block;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;width:fit-content}.ai-course{font-weight:700;font-size:.95rem}.ai-requested-by{font-size:.78rem;color:var(--muted)}.ai-actions{display:flex;gap:8px;flex-wrap:wrap}.ai-btn{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:7px 14px;font-size:.84rem;font-weight:600;cursor:pointer}.ai-btn:disabled{cursor:default;opacity:.65}.ai-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.ai-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ai-settings{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 55%,var(--panel));padding:12px;display:grid;gap:10px}.ai-settings-row{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;min-width:0}.ai-settings-wide{grid-template-columns:1fr}.ai-settings label{display:grid;gap:5px;min-width:0}.ai-settings label span{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.ai-settings-note{margin:0;color:var(--muted);font-size:.8rem}.ai-textarea{width:100%;min-height:58px;resize:vertical;line-height:1.45}.ai-block{display:grid;gap:8px}.ai-list{margin:0;padding:0 0 0 16px;display:grid;gap:5px}.ai-list li{font-size:.88rem;color:var(--muted);line-height:1.5}.ai-dept-chips{display:flex;flex-wrap:wrap;gap:6px}.ai-chip{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600;color:var(--ink)}.ai-output-placeholder{border:1px dashed var(--line);border-radius:10px;padding:12px;display:grid;gap:6px}.ai-output-empty{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.ai-output-error{margin:0;color:var(--danger);font-size:.86rem;font-weight:600}.ai-output-text{margin:0;white-space:pre-wrap;color:var(--ink);font:inherit;line-height:1.55}.module-points{margin:0;padding:0 0 0 18px;display:grid;gap:6px}.module-points li{font-size:.9rem;color:var(--muted);line-height:1.5}.kpi-notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.kpi-note{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:10px;display:grid;gap:4px}.kpi-note span{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.kpi-note strong{font-size:1.1rem}.kpi-note small{font-size:.8rem;color:var(--muted);line-height:1.4}.feedback-list{display:grid;gap:10px}.feedback-card{border:1px solid var(--line);border-radius:var(--radius);padding:11px 14px;background:var(--panel)}.feedback-card.open{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 4%,var(--panel))}.feedback-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:6px}.feedback-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.star-rating{font-size:.9rem}.star{color:var(--line)}.star.filled{color:var(--warn)}.feedback-category{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.feedback-guest{margin:0 0 4px;font-size:.88rem;color:var(--ink)}.feedback-summary{margin:0 0 6px;font-size:.87rem;color:var(--ink);line-height:1.5}.feedback-assigned{margin:0 0 2px;font-size:.78rem;color:var(--muted)}.feedback-resolution{margin:4px 0 0;font-size:.78rem;color:var(--ok)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--line)}.photo-thumb{all:unset;cursor:pointer;position:relative;overflow:hidden;background:var(--bg);aspect-ratio:4/3;display:flex;flex-direction:column}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.photo-thumb:hover img{transform:scale(1.03)}.photo-fallback{width:100%;height:100%;min-height:160px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent 48%),color-mix(in srgb,var(--accent) 8%,var(--bg));color:var(--muted)}.photo-fallback span{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--panel) 78%,transparent)}.photo-thumb-meta{position:absolute;inset:auto 0 0 0;padding:28px 10px 8px;background:linear-gradient(transparent,#000000a6);display:flex;flex-direction:column;gap:2px}.photo-area-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#ffffffbf}.photo-title{font-size:.8rem;font-weight:600;color:#fff;line-height:1.25}.photo-time{font-size:.68rem;color:#ffffffa6}.photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#000000d1;display:flex;align-items:center;justify-content:center;padding:20px}.photo-lightbox-inner{position:relative;max-width:900px;width:100%;background:var(--panel);border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 64px #00000080}.lightbox-close{all:unset;cursor:pointer;position:absolute;top:12px;right:12px;z-index:1;width:28px;height:28px;border-radius:50%;background:#00000073;color:#fff;font-size:.85rem;display:flex;align-items:center;justify-content:center}.lightbox-img{width:100%;height:auto;max-height:520px;object-fit:cover;display:block}.lightbox-img.photo-fallback{height:360px;max-height:520px}.lightbox-meta{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px}.lightbox-title{margin:0;font-size:1rem;font-weight:600;color:var(--ink)}.lightbox-note{margin:0;font-size:.875rem;color:var(--ink);line-height:1.5}.lightbox-byline{margin:0;font-size:.78rem;color:var(--muted)}.inv-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}.inv-dot.ok{background:var(--ok)}.inv-dot.warn{background:var(--warn)}.inv-dot.danger{background:var(--danger)}.inventory-setup{display:grid;gap:12px;padding:14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 55%,var(--panel))}.inventory-setup-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:12px}.inventory-setup-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:12px;display:grid;align-content:start;gap:10px}.setup-panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.setup-panel-header h3{margin:0;font-size:.88rem;font-weight:700}.setup-panel-header span{color:var(--muted);font-size:.78rem}.supplier-form{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr)) auto;gap:8px;align-items:center}.supplier-form .filter-input:first-child,.supplier-form .filter-input:nth-child(3){grid-column:span 2}.reorder-list{display:grid;gap:8px}.reorder-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:9px 10px}.reorder-card div{display:grid;gap:2px}.reorder-card div:last-child{text-align:right}.reorder-card span{color:var(--muted);font-size:.78rem}.reorder-mail-btn{text-decoration:none;white-space:nowrap}.reorder-mail-btn:disabled{opacity:.5;cursor:default}.supplier-map-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.supplier-map-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.75fr);gap:8px;align-items:center}.supplier-map-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.82rem}.setup-page{display:grid;gap:14px}.setup-save-banner{border:1px solid color-mix(in srgb,var(--ok) 22%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--ok) 10%,var(--panel));color:var(--ok);padding:10px 14px;font-weight:700;font-size:.86rem}.setup-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.setup-tab{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);padding:10px 12px;display:grid;gap:3px;text-align:left;cursor:pointer}.setup-tab span{font-size:.9rem;font-weight:700}.setup-tab small{color:var(--muted);font-size:.74rem;line-height:1.3}.setup-tab strong{color:var(--accent);font-size:.72rem;font-weight:700}.setup-tab.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.setup-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.setup-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}.setup-section-header h2{margin:0;font-size:.95rem}.setup-section-header p{margin:3px 0 0;color:var(--muted);font-size:.82rem}.setup-chip{flex-shrink:0;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,var(--panel));color:var(--accent);padding:3px 10px;font-size:.72rem;font-weight:700;white-space:nowrap}.setup-grid,.setup-ai-form,.setup-textarea-grid{display:grid;gap:10px;padding:14px}.setup-grid{grid-template-columns:minmax(180px,1.2fr) minmax(150px,.85fr) minmax(110px,.65fr) minmax(110px,.65fr) minmax(150px,.85fr) auto;align-items:end}.setup-grid.compact{padding:0;grid-template-columns:repeat(4,minmax(150px,1fr))}.setup-grid label,.setup-ai-form label,.setup-textarea-grid label{display:grid;gap:5px;min-width:0}.setup-grid label span,.setup-ai-form label span,.setup-textarea-grid label span{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.setup-textarea-grid{padding:0;grid-template-columns:1fr}.setup-supplier-map{padding:14px;border-top:1px solid var(--line)}.setup-actions-grid{display:flex;gap:8px;flex-wrap:wrap;padding:14px}.setup-button-row{display:flex;gap:8px;flex-wrap:wrap}.setup-button-row .print-btn{flex:1 1 220px}.setup-button-row a{text-decoration:none}.department-setup-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:0 14px 14px}.department-setup-card{border:1px solid var(--line);border-radius:var(--radius);padding:9px 10px;display:grid;gap:2px}.department-setup-card span{color:var(--muted);font-size:.78rem}.comms-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px}.comms-toggle{border:1px solid var(--line);border-radius:var(--radius);padding:10px;display:flex!important;align-items:flex-start;gap:9px!important}.comms-toggle input{margin-top:3px}.comms-toggle span{display:grid;gap:2px}.comms-toggle span strong{color:var(--ink);font-size:.84rem;letter-spacing:0;text-transform:none}.comms-toggle small{color:var(--muted);font-size:.78rem;line-height:1.35;letter-spacing:0;text-transform:none}.setup-callout{border:1px dashed var(--line);border-radius:var(--radius);padding:10px;display:grid;gap:3px;color:var(--muted);font-size:.83rem}.setup-callout strong{color:var(--ink)}.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;padding:14px}.integration-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 38%,var(--panel));padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;align-items:start;min-width:0}.integration-card strong{min-width:0;font-size:.88rem;line-height:1.25}.integration-card p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.integration-status{border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:800;line-height:1.45;white-space:nowrap}.integration-status.ok{border-color:color-mix(in srgb,var(--ok) 35%,var(--line));background:color-mix(in srgb,var(--ok) 12%,var(--panel));color:var(--ok)}.integration-status.warn{border-color:color-mix(in srgb,var(--warn) 35%,var(--line));background:color-mix(in srgb,var(--warn) 12%,var(--panel));color:var(--warn)}.comms-page{display:grid;gap:14px}.comms-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}.comms-action-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 42%,var(--panel));color:var(--ink);padding:12px;display:grid;gap:5px;text-decoration:none}.comms-action-card:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--panel))}.comms-action-card span{color:var(--muted);font-size:.82rem;line-height:1.35}.tee-summary-row{display:flex;gap:20px;flex-wrap:wrap;padding:14px;border-bottom:1px solid var(--line)}.tee-filter-btn{border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--muted);padding:5px 14px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .12s}.tee-filter-btn.active,.tee-filter-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.tee-names{font-size:.8rem;color:var(--muted);max-width:280px}.sop-list{display:grid;gap:8px}.sop-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);transition:border-color .15s}.sop-card.open{border-color:var(--accent)}.sop-header{display:block;width:100%;text-align:left;background:none;border:none;padding:14px 16px;cursor:pointer;color:var(--ink)}.sop-header:hover{background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.sop-meta{display:flex;gap:10px;margin-bottom:4px;align-items:center}.sop-category{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.sop-updated{font-size:.72rem;color:var(--muted)}.sop-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sop-title{font-size:.97rem;font-weight:700;margin:0;color:var(--ink)}.sop-chevron{font-size:.75rem;color:var(--muted);flex-shrink:0}.sop-summary{font-size:.83rem;color:var(--muted);margin:4px 0 0;line-height:1.4}.sop-steps{border-top:1px solid var(--line);padding:14px 16px;background:color-mix(in srgb,var(--accent) 3%,var(--panel))}.sop-steps ol{margin:0;padding-left:20px;color:var(--ink)}.sop-steps li{font-size:.87rem;line-height:1.65;color:var(--ink)}.pwa-banner{position:fixed;bottom:12px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:10px 16px;display:flex;gap:10px;align-items:center;z-index:300;max-width:480px;width:calc(100% - 24px)}.pwa-banner-msg{flex:1;font-size:.84rem;color:var(--ink)}.roster-alert{background:color-mix(in srgb,var(--danger) 10%,var(--panel));border-bottom:1px solid color-mix(in srgb,var(--danger) 20%,var(--panel));border-radius:0;padding:10px 14px;font-size:.84rem;color:var(--danger)}.roster-notes{font-size:.8rem;color:var(--muted);max-width:260px}.weather-settings{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(110px,.65fr) minmax(110px,.65fr) minmax(160px,.9fr);gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 55%,var(--panel))}.weather-body{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:14px}.weather-icon-temp{display:flex;align-items:center;gap:10px}.weather-icon{font-size:2.6rem;line-height:1}.weather-temp{font-size:2.2rem;font-weight:700;color:var(--ink)}.weather-details{display:flex;flex-direction:column;gap:4px}.weather-desc{font-size:1rem;font-weight:600;color:var(--ink);margin:0}.weather-wind{font-size:.85rem;color:var(--muted);margin:0}.weather-badge{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:99px;width:fit-content}.weather-badge.ok{background:color-mix(in srgb,var(--ok) 15%,var(--panel));color:var(--ok)}.weather-badge.warn{background:color-mix(in srgb,var(--warn) 15%,var(--panel));color:var(--warn)}.weather-badge.danger{background:color-mix(in srgb,var(--danger) 15%,var(--panel));color:var(--danger)}.daily-brief{display:grid;gap:20px;padding:14px}.brief-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.brief-generated{font-size:.8rem;color:var(--muted);margin:2px 0 0}.brief-summary-row{display:flex;gap:16px;flex-wrap:wrap}.feedback-panel>.brief-summary-row{padding:14px;border-bottom:1px solid var(--line)}.brief-stat{display:flex;flex-direction:column;min-width:80px}.brief-stat-value{font-size:1.6rem;font-weight:700;line-height:1.1;color:var(--ink)}.brief-stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.brief-section{border-top:1px solid var(--line);padding-top:14px}.brief-section-title{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;color:var(--ink)}.brief-notes{margin:0;padding-left:18px;color:var(--ink);font-size:.9rem;line-height:1.7}.brief-print-btn{flex-shrink:0}.ok-tone{color:var(--ok)}.warn-tone{color:var(--warn)}.danger-tone{color:var(--danger)}.table-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.export-btn,.print-btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);padding:5px 10px;font-size:.8rem;font-weight:500;cursor:pointer}.export-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.print-btn{background:var(--ok);color:#fff;border-color:var(--ok)}@media print{.topbar,.module-tabs,.topbar-actions,.filter-bar,.table-toolbar,.notif-bell,.toast-stack,.notification-backdrop,.kpi-strip{display:none!important}body{background:#fff;color:#000;font-size:11pt}.shell{padding:0}.card{box-shadow:none;border:1px solid #ccc;break-inside:avoid;margin-bottom:12pt}.printable-section{display:block!important}table{width:100%;border-collapse:collapse}th,td{border:1px solid #ddd;padding:4pt 6pt;font-size:9pt}}.topbar-actions{display:flex;gap:6px;align-items:center;margin-top:4px}.role-picker,.theme-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);padding:6px 10px;font-size:.8rem;cursor:pointer;width:100%}.refresh-btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);padding:5px 10px;font-size:.8rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1}.refresh-btn:disabled{opacity:.5;cursor:default}.refresh-btn.refreshing{background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent)}.filterable-table{display:grid;gap:10px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}.filter-input{flex:1;min-width:160px;border:1px solid var(--line);border-radius:var(--radius);padding:6px 10px;font-size:.84rem;background:var(--panel);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.data-tools{display:grid;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 45%,var(--panel))}.data-tool-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.data-primary-btn{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));color:var(--accent);font-weight:600}.data-form{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(130px,.8fr) minmax(110px,.7fr) minmax(140px,.8fr) minmax(130px,.8fr) auto;gap:8px;align-items:center}.task-data-form{grid-template-columns:minmax(200px,1.5fr) minmax(120px,.8fr) 140px 100px minmax(120px,.8fr) minmax(110px,.7fr) auto}.staff-data-form{grid-template-columns:minmax(160px,1.2fr) minmax(120px,.8fr) minmax(120px,.8fr) 80px 80px 80px minmax(110px,.7fr) auto}.event-data-form{grid-template-columns:minmax(220px,1.4fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(120px,.7fr) minmax(180px,1fr) auto}.filter-input:focus{outline:2px solid var(--accent);outline-offset:1px}.filter-select{border:1px solid var(--line);border-radius:var(--radius);padding:6px 10px;font-size:.84rem;background:var(--panel);color:var(--ink);cursor:pointer}.filter-clear{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);padding:7px 12px;font:inherit;font-size:.82rem;cursor:pointer}.task-date-bar{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 55%,var(--panel))}.shift-badge{display:inline-block;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);border-radius:4px;padding:1px 6px;font-size:.71rem;font-weight:700}.due-overdue{color:var(--danger);font-weight:600;font-size:.82rem}.end-of-day-btn{background:color-mix(in srgb,var(--warn) 14%,var(--panel));border-color:color-mix(in srgb,var(--warn) 40%,var(--line));color:var(--warn);font-weight:600}.end-of-day-btn:hover{background:var(--warn);color:#fff;border-color:var(--warn)}.filter-count{font-size:.78rem;color:var(--muted);white-space:nowrap}.toast-stack{position:fixed;bottom:20px;right:20px;display:grid;gap:8px;z-index:1000;max-width:360px}.toast{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border-radius:10px;padding:10px 14px;font-size:.88rem;font-weight:500;box-shadow:0 4px 16px #0f172a26}.toast-ok{background:#d9f7ef;color:#115e59;border:1px solid #99e6d0}.toast-warn{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.toast-danger{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.toast-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.toast-dismiss{background:none;border:none;font-size:1.1rem;line-height:1;cursor:pointer;color:inherit;opacity:.6;padding:0;flex-shrink:0}.notif-bell{position:relative;background:none;border:1px solid var(--line);border-radius:8px;padding:5px 10px;cursor:pointer;font-size:1rem;width:fit-content;display:inline-flex;align-items:center;justify-content:center;line-height:1}.notif-unread-badge{position:absolute;top:-5px;right:-5px;background:var(--danger);color:#fff;border-radius:999px;font-size:.6rem;font-weight:700;padding:1px 5px;min-width:16px;text-align:center;line-height:1.4}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;z-index:900}.notification-drawer{position:fixed;top:0;right:0;bottom:0;width:340px;background:var(--panel);border-left:1px solid var(--line);box-shadow:-4px 0 24px #0f172a1f;z-index:901;display:flex;flex-direction:column}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.drawer-close{background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--muted);padding:0;line-height:1}.drawer-empty{padding:16px;color:var(--muted);font-size:.88rem}.notification-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.notification-item{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .1s}.notification-item:hover{background:var(--panel)}.notification-item.read{opacity:.5}.notification-ok{border-left:3px solid var(--ok)}.notification-warn{border-left:3px solid var(--warn)}.notification-danger{border-left:3px solid var(--danger)}.notification-info{border-left:3px solid var(--accent)}.notif-icon{font-size:.9rem;flex-shrink:0;padding-top:1px}.notif-body{display:flex;flex-direction:column;gap:2px}.notif-msg{font-size:.88rem;line-height:1.4}.notif-time{font-size:.72rem;color:var(--muted)}@media (max-width: 1180px){.kpi-strip{gap:6px}.ai-two-col{grid-template-columns:1fr}.panel-half{grid-column:span 12}.data-form,.event-data-form,.inventory-setup-grid,.setup-grid,.setup-grid.compact,.integration-grid,.comms-action-grid{grid-template-columns:1fr}}@media (max-width: 900px){.sidebar{display:none}.main-area{margin-left:0}.page-title{display:none}.mobile-module-picker{display:block}}@media (max-width: 760px){.page-content{padding:12px}.department-row{flex-direction:column;align-items:flex-start}.department-stats{text-align:left}.ai-job-header{flex-direction:column}.page-header{padding:0 12px}.page-actions{gap:6px}.filter-bar,.data-tools,.inventory-setup,.weather-settings,.daily-brief,.setup-grid,.setup-ai-form,.setup-textarea-grid,.setup-supplier-map,.setup-actions-grid,.feedback-panel>.brief-summary-row,.tee-summary-row{padding-left:12px;padding-right:12px}.setup-section-header{padding-left:12px;padding-right:12px}.setup-section-header{flex-direction:column}.supplier-form,.supplier-map-row,.integration-card,.ai-settings-row,.weather-settings,.comms-toggle-grid{grid-template-columns:1fr}.integration-status{justify-self:start}.supplier-form .filter-input:first-child,.supplier-form .filter-input:nth-child(3){grid-column:auto}.reorder-card{align-items:flex-start;flex-direction:column}.reorder-card div:last-child{text-align:left}}@media (max-width: 600px){table,thead,tbody,tr,th,td{display:block}table{min-width:0}thead{display:none}tbody tr{border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:8px;padding:10px}tbody td{border-bottom:none;padding:4px 0;font-size:.88rem;display:flex;gap:8px;min-width:0;overflow-wrap:anywhere}tbody td:before{content:attr(data-label);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;min-width:70px;flex-shrink:0;padding-top:2px}tbody td>*:not(:first-child){min-width:0}.table-wrap{border:none}}
