:root,[data-theme=light],[data-theme=light-soft],[data-theme=light-warm]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark],[data-theme=dark-slate],[data-theme=dark-contrast]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,[data-theme=light]{--ink:#121417;--ink-soft:#4a5560;--muted:#8b949e;--line:#e4e8ee;--paper:#f4f7f9;--panel:#fff;--nav-bg:#fff;--nav-border:#e4e8ee;--nav-text:#121417;--nav-muted:#8b949e;--nav-hover:#f4f7f9;--nav-active-bg:#2f6bff;--nav-active-text:#fff;--accent:#2f6bff;--accent-hover:#1f56e0;--accent-soft:#eaf0ff;--warn:#c2410c;--warn-soft:#fff7ed;--danger:#dc2626;--danger-soft:#fef2f2;--ok:#15803d;--ok-soft:#ecfdf3;--shadow:0 10px 28px #12141712;--cal-ok-head:#dcfce7;--cal-under-head:#ffedd5;--cal-empty-head:#fee2e2;--cal-off-head:#f1f5f9}[data-theme=light-soft]{--ink:#1e293b;--ink-soft:#475569;--muted:#94a3b8;--line:#e2e8f0;--paper:#f8fafc;--panel:#fff;--nav-bg:#f8fafc;--nav-border:#e2e8f0;--nav-text:#1e293b;--nav-muted:#64748b;--nav-hover:#eef2ff;--nav-active-bg:#6366f1;--nav-active-text:#fff;--accent:#6366f1;--accent-hover:#4f46e5;--accent-soft:#eef2ff;--cal-ok-head:#d1fae5;--cal-under-head:#fde68a;--cal-empty-head:#fecaca;--cal-off-head:#e2e8f0}[data-theme=light-warm]{--ink:#1c1917;--ink-soft:#57534e;--muted:#a8a29e;--line:#e7e5e4;--paper:#faf7f2;--panel:#fff;--nav-bg:#fffdf9;--nav-border:#e7e5e4;--nav-text:#1c1917;--nav-muted:#78716c;--nav-hover:#fff7ed;--nav-active-bg:#ea580c;--nav-active-text:#fff;--accent:#ea580c;--accent-hover:#c2410c;--accent-soft:#fff7ed;--cal-ok-head:#dcfce7;--cal-under-head:#ffedd5;--cal-empty-head:#fecaca;--cal-off-head:#f5f5f4}[data-theme=dark]{--ink:#e8eaed;--ink-soft:#b0b6bf;--muted:#8b929c;--line:#2a2f36;--paper:#121417;--panel:#1c1e21;--nav-bg:#16181b;--nav-border:#2a2f36;--nav-text:#e8eaed;--nav-muted:#8b929c;--nav-hover:#22262b;--nav-active-bg:#2f6bff;--nav-active-text:#fff;--accent:#4c82ff;--accent-hover:#6b98ff;--accent-soft:#1a2744;--warn:#fb923c;--warn-soft:#3b2412;--danger:#f87171;--danger-soft:#3f1d1d;--ok:#4ade80;--ok-soft:#143524;--shadow:0 12px 32px #00000059;--cal-ok-head:#14532d;--cal-under-head:#7c2d12;--cal-empty-head:#7f1d1d;--cal-off-head:#1f2937}[data-theme=dark-slate]{--ink:#e2e8f0;--ink-soft:#94a3b8;--muted:#64748b;--line:#334155;--paper:#0f172a;--panel:#1e293b;--nav-bg:#0b1220;--nav-border:#334155;--nav-text:#e2e8f0;--nav-muted:#64748b;--nav-hover:#1e293b;--nav-active-bg:#38bdf8;--nav-active-text:#0f172a;--accent:#38bdf8;--accent-hover:#7dd3fc;--accent-soft:#0c4a6e;--warn:#fbbf24;--warn-soft:#422006;--danger:#f87171;--danger-soft:#450a0a;--ok:#34d399;--ok-soft:#064e3b;--shadow:0 12px 32px #0006;--cal-ok-head:#065f46;--cal-under-head:#92400e;--cal-empty-head:#7f1d1d;--cal-off-head:#1e293b}[data-theme=dark-contrast]{--ink:#f5f5f5;--ink-soft:#d4d4d4;--muted:#a3a3a3;--line:#404040;--paper:#0a0a0a;--panel:#171717;--nav-bg:#000;--nav-border:#262626;--nav-text:#fafafa;--nav-muted:#a3a3a3;--nav-hover:#171717;--nav-active-bg:#fff;--nav-active-text:#000;--accent:#fff;--accent-hover:#e5e5e5;--accent-soft:#262626;--warn:#fbbf24;--warn-soft:#422006;--danger:#ef4444;--danger-soft:#450a0a;--ok:#22c55e;--ok-soft:#14532d;--shadow:0 12px 32px #0000008c;--cal-ok-head:#166534;--cal-under-head:#9a3412;--cal-empty-head:#991b1b;--cal-off-head:#262626}:root{--radius:12px;--nav-w:248px;--nav-w-collapsed:72px;--main-pad-y:1.5rem;--main-pad-x:1.75rem;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Onest,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 55%, var(--panel)) var(--panel)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--panel)}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 50%, var(--panel));border:2px solid var(--panel);background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--muted) 72%, var(--panel));border:2px solid var(--panel);background-clip:padding-box}::-webkit-scrollbar-corner{background:var(--panel)}html,body,#app{height:100%;margin:0}html,body{overflow:hidden}body{background:var(--paper);color:var(--ink)}.page-chrome{z-index:25;background:var(--paper);border-bottom:1px solid color-mix(in srgb, var(--line) 55%, transparent);width:100%;max-width:100%;box-shadow:0 8px 14px -12px color-mix(in srgb, var(--ink) 22%, transparent);box-sizing:border-box;flex-direction:column;flex-shrink:0;gap:.75rem;margin:0 0 1rem;padding:0 0 .85rem;display:flex;position:sticky;top:0;overflow:visible}.page-chrome:before{content:"";height:var(--main-pad-y);background:var(--paper);pointer-events:none;position:absolute;bottom:100%;left:0;right:0}.chrome-lead{box-sizing:border-box;flex-flow:wrap;align-items:center;gap:.75rem 1.25rem;width:100%;min-width:0;max-width:100%;display:flex}.chrome-lead>.chrome-title,.chrome-lead>.page-head{margin:0}.chrome-lead>.chrome-title,.chrome-lead>.page-head h1,.chrome-lead>.chrome-title-row>.chrome-title{margin:0;font-size:1.35rem;font-weight:700;line-height:1.2}.chrome-lead>.page-head{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;display:flex}.chrome-lead>.chrome-title-row,.chrome-lead>.section-nav-row{flex-wrap:wrap;flex:auto;align-items:center;gap:.65rem 1rem;width:auto;min-width:0;max-width:100%;display:flex}:is(.chrome-lead:has(>.card.toolbar)>.chrome-title-row,.chrome-lead:has(>.card.toolbar)>.section-nav-row){flex:0 auto;min-width:min(100%,16rem)}.chrome-lead:has(>.card.toolbar) .section-nav-tip{margin-left:.15rem}.chrome-lead>.card.toolbar,.chrome-lead>.toolbar{box-sizing:border-box;min-width:0;max-width:100%;min-height:36px;box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 5%, transparent);border-radius:10px;flex:0 auto;margin-bottom:0;margin-left:auto;padding:0}.period-banner{box-sizing:border-box;border:1px solid var(--line);background:color-mix(in srgb, var(--muted) 8%, var(--panel));height:36px;min-height:36px;color:var(--ink);white-space:nowrap;border-radius:10px;flex-wrap:nowrap;align-items:center;gap:.35rem .5rem;max-width:100%;padding:0 .65rem;font-size:.86rem;line-height:1.2;display:inline-flex;overflow:hidden}.period-banner>span,.period-banner>p,.period-banner .banner-text{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.period-banner.is-warn{background:color-mix(in srgb, var(--warn,#d97706) 14%, var(--panel));border-color:color-mix(in srgb, var(--warn,#d97706) 40%, var(--line))}.period-banner.is-locked{background:color-mix(in srgb, var(--danger,#b91c1c) 12%, var(--panel));border-color:color-mix(in srgb, var(--danger,#b91c1c) 40%, var(--line))}.period-banner.is-info{background:color-mix(in srgb, var(--accent) 12%, var(--panel));border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.period-banner.is-ok{background:color-mix(in srgb, var(--ok,#2f9e44) 12%, var(--panel));border-color:color-mix(in srgb, var(--ok,#2f9e44) 38%, var(--line))}.period-banner .btn,.period-banner .btn-icon{flex-shrink:0;height:28px;min-height:28px;line-height:1}.period-banner .btn.sm{padding:0 .5rem}.period-banner .btn-icon{width:28px}.period-banner .info-tip{flex-shrink:0;margin-left:.1rem}.chrome-title-row .chrome-page-banner{flex:0 auto;min-width:0;max-width:100%;height:36px;min-height:36px;max-height:36px;margin:0;padding:0 .55rem;font-size:.84rem;line-height:1.2}.chrome-title-row .period-notice-btn{flex:none;align-self:center}.period-notice-btn.is-warn{color:var(--warn,#d97706);background:color-mix(in srgb, var(--warn,#d97706) 14%, var(--panel));border:1px solid color-mix(in srgb, var(--warn,#d97706) 40%, var(--line))}.period-notice-btn.is-warn:hover{background:color-mix(in srgb, var(--warn,#d97706) 22%, var(--panel));color:var(--warn,#d97706)}.period-notice-btn.is-locked{color:var(--danger,#b91c1c);background:color-mix(in srgb, var(--danger,#b91c1c) 12%, var(--panel));border:1px solid color-mix(in srgb, var(--danger,#b91c1c) 40%, var(--line))}.period-notice-btn.is-locked:hover{background:color-mix(in srgb, var(--danger,#b91c1c) 20%, var(--panel));color:var(--danger,#b91c1c)}.page-chrome>.tabs,.chrome-lead>.tabs,.page-chrome>.toolbar,.chrome-lead>.toolbar{margin-bottom:0}.chrome-lead>.card.toolbar{align-items:center;display:flex;overflow:visible}.chrome-lead>.card.toolbar .period-row{flex-wrap:nowrap;align-items:center;gap:.2rem .35rem;width:100%;min-width:0;min-height:36px;padding:0 .15rem 0 .35rem}.chrome-lead>.card.toolbar .period-row .inline-label{font-size:.78rem;line-height:1}.chrome-lead>.card.toolbar .period-row .date-input{box-sizing:border-box;border-radius:8px;width:auto;min-width:7.6rem;height:34px;min-height:34px;padding:.1rem .4rem;font-size:.88rem;line-height:1.2}.chrome-lead>.card.toolbar .period-actions{flex-wrap:nowrap;align-items:center;gap:.15rem;margin-left:.1rem}.chrome-lead>.card.toolbar .btn-icon{width:34px;height:34px}.app-main.chrome-compact .page-chrome{border-bottom-color:color-mix(in srgb, var(--line) 70%, transparent);box-shadow:0 8px 14px -12px color-mix(in srgb, var(--ink) 28%, transparent);box-sizing:border-box;width:100%;max-width:100%;margin-bottom:3px;padding-top:2px;padding-bottom:3px;top:0;overflow:visible;gap:3px!important}.app-main.chrome-compact .page-chrome:before{height:calc(var(--main-pad-y) + 16px);background:var(--paper)}.app-main.chrome-compact .chrome-lead{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;box-sizing:border-box;flex-direction:column;align-items:stretch;gap:.2rem;width:100%;min-width:0;max-width:100%;padding:.2rem .5rem;overflow:visible;margin:0!important}.app-main.chrome-compact .chrome-lead>.chrome-title,.app-main.chrome-compact .chrome-lead>.page-head h1,.app-main.chrome-compact .chrome-lead>.chrome-title-row>.chrome-title{white-space:nowrap;flex-shrink:0;font-size:.95rem}.app-main.chrome-compact .chrome-lead>.page-head{flex-shrink:0;gap:.35rem}.app-main.chrome-compact .chrome-lead>.chrome-title-row,.app-main.chrome-compact .chrome-lead>.section-nav-row{flex-wrap:wrap;align-items:center;gap:.25rem .35rem;width:100%;min-width:0;max-width:100%;display:flex}.app-main.chrome-compact .chrome-page-banner,.app-main.chrome-compact .period-notice-btn{display:none!important}.app-main.chrome-compact .section-nav-head,.app-main.chrome-compact .immersive-head{flex-wrap:wrap;gap:.25rem .3rem;width:100%;min-width:0;max-width:100%}.app-main.chrome-compact .app-breadcrumbs{flex-wrap:wrap;min-width:0;overflow:visible}.app-main.chrome-compact .bc-siblings{flex-wrap:wrap}.app-main.chrome-compact .bc-crumb{border-radius:8px;justify-content:center;gap:0;width:32px;min-width:32px;max-width:none;min-height:32px;padding:0;position:relative}.app-main.chrome-compact .bc-crumb .bc-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-main.chrome-compact .bc-crumb .bc-icon{display:block}.app-main.chrome-compact .bc-crumb .bc-count{pointer-events:none;min-width:1rem;padding:0 .2rem;font-size:.62rem;line-height:1.15rem;position:absolute;top:-5px;right:-5px}.app-main.chrome-compact .bc-arrow{opacity:.55}.app-main.chrome-compact .bc-arrow svg{width:12px;height:12px}.app-main.chrome-compact .chrome-lead>.card.toolbar,.app-main.chrome-compact .chrome-lead>.toolbar{flex:none;width:100%;min-width:0;max-width:100%;overflow:visible;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}.app-main.chrome-compact .chrome-lead>.tabs{flex:none;width:100%;min-width:0;margin:0!important}.app-main.chrome-compact .page-chrome>.tabs{border-radius:9px;gap:.12rem;padding:.14rem;margin-top:0!important;margin-bottom:0!important}.app-main.chrome-compact .page-chrome>.tabs button,.app-main.chrome-compact .chrome-lead>.tabs button{border-radius:7px;padding:.26rem .62rem;font-size:.78rem}.app-main.chrome-compact .page-chrome>.toolbar{padding-top:.35rem;padding-bottom:.35rem;margin-bottom:0!important}.app-main.chrome-compact .page-chrome .board-tools{gap:.3rem .45rem;padding-top:.2rem;padding-bottom:.15rem;margin-bottom:0!important}.app-main.chrome-compact .page-chrome .tool-group{gap:.05rem}.app-main.chrome-compact .page-chrome .tool-group-label{display:none}.app-main.chrome-compact .page-chrome .tool-sep{align-self:center;margin-top:0!important}.app-main.chrome-compact .timesheet-chrome .period-row,.app-main.chrome-compact .reports-chrome .period-row{flex-wrap:nowrap;align-items:center;gap:.25rem .35rem;min-width:0}.app-main.chrome-compact .timesheet-chrome .period-actions,.app-main.chrome-compact .reports-chrome .period-actions{flex-wrap:nowrap;flex-shrink:0;gap:.3rem;margin-left:auto}.app-main.chrome-compact .timesheet-chrome .date-input,.app-main.chrome-compact .reports-chrome .date-input{flex-shrink:0;width:7.25rem;min-width:7.25rem;min-height:30px;padding:.2rem .35rem;font-size:.78rem}.app-main.chrome-compact .timesheet-chrome .inline-label,.app-main.chrome-compact .reports-chrome .inline-label{flex-shrink:0;font-size:.7rem}.app-main.chrome-compact .timesheet-chrome .preset-trigger,.app-main.chrome-compact .reports-chrome .preset-trigger{border-radius:8px;max-width:8.5rem;min-height:30px;padding:.18rem .45rem;font-size:.75rem}.app-main.chrome-compact .timesheet-chrome .preset-trigger-label,.app-main.chrome-compact .reports-chrome .preset-trigger-label{text-overflow:ellipsis;white-space:nowrap;max-width:6.5rem;overflow:hidden}.app-main.chrome-compact .timesheet-chrome .btn-export,.app-main.chrome-compact .reports-chrome .btn-export{flex-shrink:0;min-height:30px;padding-inline:.55rem;font-size:.78rem}.app-main.chrome-compact .timesheet-chrome .user-pick{flex-shrink:1;min-width:0;max-width:9.5rem}.app-main.chrome-compact .timesheet-chrome .user-pick .user-picker-select{width:100%;min-width:0;max-width:9.5rem}.app-main.chrome-compact .timesheet-chrome .user-pick .user-picker-trigger{gap:.35rem;min-height:30px;padding:.15rem .4rem .15rem .3rem;font-size:.78rem}.app-main.chrome-compact .timesheet-chrome .user-pick .user-picker-name{text-overflow:ellipsis;white-space:nowrap;max-width:5.5rem;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}code,.mono{font-family:JetBrains Mono,ui-monospace,monospace}.title-with-tip{flex-wrap:wrap;align-items:center;gap:.1rem;display:flex}.block-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.block-title.title-with-tip{align-items:center;gap:.35rem;display:inline-flex}.block-card{margin-bottom:1rem;padding:1rem 1.1rem}.block-card.collapsed{padding-bottom:.85rem}.block-head{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.75rem;display:flex}.block-card.collapsed>.block-head,.block-card.collapsed .block-head{margin-bottom:0}.block-head.toolbar{justify-content:space-between}.block-head-main{align-items:center;gap:.35rem;min-width:0;display:flex}.block-head-tools{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-left:auto;display:flex}.block-card .block-title{text-transform:none;letter-spacing:normal;color:var(--ink);margin:0;font-size:1rem;font-weight:650}.block-card-plain{box-shadow:none;background:0 0;border:none;margin:0 0 .85rem;padding:0}.block-card-plain.collapsed{padding-bottom:0}.collapse-btn{width:1.6rem;height:1.6rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;line-height:1;display:inline-flex}.collapse-btn:hover{background:color-mix(in srgb, var(--muted) 12%, transparent);color:var(--ink)}.btn{background:var(--accent);color:#fff;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .95rem;font-weight:600;transition:background .15s,transform .15s,color .15s;display:inline-flex}[data-theme=dark-contrast] .btn{color:#000}.btn:hover{background:var(--accent-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--panel);color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--nav-hover)}.btn.sm{border-radius:8px;min-height:32px;padding:.35rem .7rem;font-size:.82rem;font-weight:600}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--nav-hover)}.btn-icon{width:34px;height:34px;color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.btn-icon .tool-mark-dot{z-index:1;background:var(--danger,#d14343);pointer-events:none;width:7px;height:7px;box-shadow:0 0 0 1.5px var(--panel);border-radius:50%;position:absolute;top:3px;right:3px}.btn-icon:hover{background:var(--accent-soft);color:var(--accent)}.btn-icon:disabled{opacity:.45;cursor:not-allowed}.btn-icon:disabled:hover{color:var(--ink-soft);background:0 0}.btn-icon.danger:hover{background:var(--danger-soft);color:var(--danger)}.app-tip,.info-tip-bubble{z-index:13000;background:var(--panel);width:max-content;max-width:min(22rem,100vw - 1rem);color:var(--ink-soft);text-align:left;border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));box-shadow:var(--shadow), 0 0 0 1px color-mix(in srgb, var(--ink) 4%, transparent), 0 14px 36px color-mix(in srgb, var(--ink) 14%, transparent);pointer-events:none;border-radius:12px;padding:.7rem .9rem;font-size:.8125rem;font-weight:500;line-height:1.45;position:fixed}.app-tip-title{color:var(--ink);letter-spacing:.01em;font-weight:700;line-height:1.35}.app-tip-body,.app-tip-text,.info-tip-body,.info-tip-text{white-space:pre-line;overflow-wrap:anywhere;line-height:1.45}.app-tip-body,.info-tip-body{color:var(--ink-soft);margin-top:.3rem;font-weight:500}.app-tip-text,.info-tip-text{color:var(--ink-soft);font-weight:500}.info-tip-title{color:var(--ink);letter-spacing:.01em;font-weight:700;line-height:1.35}.app-tip{opacity:0;visibility:hidden;transition:opacity .14s ease-out,transform .14s ease-out,visibility 0s linear .14s;transform:translateY(3px)}.app-tip.is-open{opacity:1;visibility:visible;transition:opacity .14s ease-out,transform .14s ease-out,visibility;transform:translateY(0)}.app-tip.above.is-open{transform:translateY(0)}.app-tip.above:not(.is-open){transform:translateY(-3px)}.info-tip-bubble{animation:.15s ease-out app-tip-in}.info-tip-bubble.above{animation-name:app-tip-in-above}@keyframes app-tip-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes app-tip-in-above{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.app-tip.below:before,.app-tip.above:before,.app-tip.below:after,.app-tip.above:after,.info-tip-bubble.below:before,.info-tip-bubble.above:before,.info-tip-bubble.below:after,.info-tip-bubble.above:after{content:"";left:var(--arrow-x,50%);pointer-events:none;border-style:solid;border-color:#0000;position:absolute;transform:translate(-50%)}.app-tip.below:before,.info-tip-bubble.below:before{border-width:7px;border-bottom-color:color-mix(in srgb, var(--accent) 28%, var(--line));bottom:100%}.app-tip.below:after,.info-tip-bubble.below:after{border-width:6px;border-bottom-color:var(--panel);bottom:calc(100% - 1px)}.app-tip.above:before,.info-tip-bubble.above:before{border-width:7px;border-top-color:color-mix(in srgb, var(--accent) 28%, var(--line));top:100%}.app-tip.above:after,.info-tip-bubble.above:after{border-width:6px;border-top-color:var(--panel);top:calc(100% - 1px)}.input,.select,.textarea{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);border-radius:10px;padding:.6rem .75rem}.input:focus,.select:focus,.textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-color:var(--accent)}.label{color:var(--ink-soft);margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}.field{margin-bottom:.9rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.muted{color:var(--muted)}.error-banner{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);border-radius:10px;margin-bottom:1rem;padding:.7rem .85rem}.pill{border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.neutral{background:var(--nav-hover);color:var(--ink-soft)}.table-wrap{overflow:auto}table.data{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.92rem}table.data th,table.data td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.55rem .65rem}table.data th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--paper);z-index:1;font-size:.78rem;position:sticky;top:0}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}table.data tr:hover td{background:color-mix(in srgb, var(--accent-soft) 55%, transparent)}table.data td{text-overflow:ellipsis;overflow:hidden}.day-cell.under{background:var(--warn-soft);color:var(--warn);font-weight:600}.day-cell.empty-work{background:var(--warn-soft)}.day-cell.ok{background:var(--ok-soft)}.day-cell.off{color:var(--muted);background:var(--paper)}.period-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.period-row .inline-label{color:var(--ink-soft);margin:0;font-size:.82rem;font-weight:700}.period-row .date-input{width:auto;min-width:150px}.presets{flex-wrap:wrap;gap:.4rem;margin-left:.25rem;display:flex}.preset{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 65%, var(--panel));font:inherit;color:var(--ink-soft);cursor:pointer;border-radius:10px;padding:.4rem .75rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.preset:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--accent);background:var(--accent-soft)}.preset.active{background:var(--nav-active-bg);border-color:var(--nav-active-bg);color:var(--nav-active-text);box-shadow:none}.preset.active:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--nav-active-text)}.tabs{background:color-mix(in srgb, var(--muted) 11%, var(--panel));border:1px solid var(--line);max-width:100%;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--panel) 70%, transparent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.2rem;margin-bottom:1rem;padding:.28rem;display:inline-flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:.48rem .9rem;font-size:.9rem;font-weight:650;transition:background .12s,color .12s,box-shadow .12s}.tabs button:hover{color:var(--ink);background:color-mix(in srgb, var(--panel) 65%, transparent)}.tabs button.active{color:var(--accent-hover);background:var(--panel);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 8%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent) 22%, var(--line))}.tool-toggles{align-items:center;gap:.25rem;display:flex}.tool-toggles .btn-icon.active{background:var(--accent-soft);color:var(--accent)}.tool-sep{background:var(--line);flex-shrink:0;width:1px;height:1.35rem;margin:0 .1rem}.mode-seg-row{flex-shrink:0;align-items:center;gap:.55rem;display:flex}.mode-seg{background:color-mix(in srgb, var(--muted) 11%, var(--panel));border:1px solid var(--line);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--panel) 70%, transparent);border-radius:12px;flex-shrink:0;align-items:center;gap:.12rem;padding:.18rem;display:inline-flex}.mode-seg .btn-icon{border-radius:9px;width:32px;height:32px}.mode-seg .btn-icon:hover{color:var(--ink);background:color-mix(in srgb, var(--panel) 65%, transparent)}.mode-seg .btn-icon.active{color:var(--accent-hover);background:var(--panel);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 8%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent) 22%, var(--line))}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;min-height:2.35rem;font-size:.875rem;display:inline-flex}.switch input{appearance:none;border:1px solid color-mix(in srgb, var(--ink) 12%, var(--line));background:color-mix(in srgb, var(--muted) 28%, var(--panel));cursor:pointer;border-radius:999px;flex-shrink:0;width:2.45rem;height:1.35rem;margin:0;transition:background .15s,border-color .15s;position:relative}.switch input:after{content:"";background:var(--panel);width:calc(1.35rem - 4px);height:calc(1.35rem - 4px);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 18%, transparent);border-radius:50%;transition:transform .15s;position:absolute;top:1px;left:1px}.switch input:checked{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, var(--line))}.switch input:checked:after{transform:translate(1.1rem)}.switch input:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.switch input:disabled{opacity:.55;cursor:not-allowed}.app-link{color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;max-width:100%;margin:-.1rem -.2rem;padding:.1rem .2rem;font-weight:400;text-decoration:none;display:inline}.app-link:hover{background:var(--accent-soft);color:var(--ink)}.section-nav-row{width:100%}.section-nav-head,.immersive-head{flex-wrap:wrap;flex:auto;align-items:center;gap:.45rem .55rem;min-width:0;display:flex}.section-nav-head .chrome-title{flex-shrink:0;margin:0}.section-nav-tip{flex-shrink:0;margin-left:auto}.btn-back{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 5%, transparent);border-radius:10px;flex-shrink:0;align-items:center;gap:.3rem;padding:.35rem .75rem .35rem .55rem;font-size:.88rem;font-weight:650;display:inline-flex}.btn-back:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--panel));color:var(--accent)}.btn-back:disabled{opacity:.55;cursor:not-allowed}.btn-back-inline{vertical-align:middle;margin-right:.15rem}.app-breadcrumbs{flex-wrap:wrap;align-items:center;gap:.25rem .3rem;min-width:0;display:inline-flex}.bc-arrow{color:var(--muted);opacity:.75;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bc-siblings{flex-wrap:wrap;align-items:center;gap:.3rem;display:inline-flex}.bc-crumb{border:1px solid var(--line);background:var(--panel);max-width:14rem;min-height:36px;color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 5%, transparent);box-sizing:border-box;border-radius:10px;flex-shrink:0;align-items:center;gap:.3rem;padding:.35rem .7rem;font-size:.88rem;font-weight:650;text-decoration:none;display:inline-flex}.bc-crumb .bc-icon{opacity:.9;flex-shrink:0}.bc-crumb.has-icon{gap:.35rem}.bc-crumb .bc-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bc-crumb:hover:not(:disabled):not(.current){border-color:color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--panel));color:var(--accent)}.bc-crumb.active{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 12%, var(--panel));color:var(--accent);box-shadow:0 1px 2px color-mix(in srgb, var(--accent) 12%, transparent)}.bc-crumb.current,.bc-crumb:disabled.current{cursor:default;color:var(--ink);background:color-mix(in srgb, var(--muted) 8%, var(--panel))}.bc-crumb:disabled:not(.current){opacity:.55;cursor:not-allowed}.bc-count{background:color-mix(in srgb, var(--accent) 16%, var(--panel));min-width:1.15rem;color:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 .3rem;font-size:.7rem;font-weight:700;display:inline-flex}.immersive-meta{white-space:nowrap;margin-left:auto;font-size:.82rem}.immersive-tools{flex-wrap:wrap;align-items:center;gap:.45rem;margin-left:auto;display:inline-flex}.status-chip{--status-color:var(--muted);--status-bg:color-mix(in srgb, var(--paper) 70%, var(--panel));border:1px solid color-mix(in srgb, var(--status-color) 28%, var(--status-bg));background:var(--status-bg);max-width:100%;color:var(--status-color);box-sizing:border-box;border-radius:8px;align-items:center;gap:.25rem;padding:.15rem .2rem .15rem .35rem;font-size:.8rem;font-weight:650;display:inline-flex}.status-chip .domain-icon{color:var(--status-color);flex-shrink:0}.status-chip .chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}.status-chip .chip-x{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;place-items:center;width:1.15rem;height:1.15rem;padding:0;font-size:1rem;line-height:1;display:grid}.status-chip .chip-x:hover{background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--ink)}.status-chip .chip-weight{flex-shrink:0;align-items:center;gap:.1rem;margin-left:.1rem;display:inline-flex}.status-chip .chip-weight-input{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--status-color) 22%, transparent);width:3.6rem;min-width:3.6rem;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;text-align:right;-moz-appearance:textfield;background:0 0;border-radius:6px;padding:.12rem .3rem;font-size:.78rem}.status-chip .chip-weight-input:focus{border-color:color-mix(in srgb, var(--status-color) 45%, var(--line));background:color-mix(in srgb, var(--status-bg) 88%, var(--paper));outline:none}.status-chip .chip-weight-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.status-chip .chip-weight-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.status-chip .chip-weight-pct{color:var(--muted);font-size:.75rem;font-weight:600}.badge-count{background:var(--danger,#b91c1c);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:700;line-height:1;display:inline-grid}.right-drawer-root{pointer-events:none;justify-content:flex-end;display:flex;position:fixed;inset:0}.right-drawer-backdrop{pointer-events:auto;background:color-mix(in srgb, var(--ink) 32%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:.16s both right-drawer-fade;position:absolute;inset:0}.right-drawer{z-index:1;pointer-events:auto;width:var(--right-drawer-w,min(26rem, 100vw));background:var(--panel);border-left:1px solid var(--line);max-width:100%;height:100%;box-shadow:-8px 0 32px color-mix(in srgb, var(--ink) 22%, transparent), -2px 0 0 color-mix(in srgb, var(--ink) 4%, transparent);flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) both right-drawer-in;display:flex;position:relative}@keyframes right-drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes right-drawer-in{0%{opacity:.85;transform:translate(1.25rem)}to{opacity:1;transform:translate(0)}}.right-drawer-head{border-bottom:1px dashed color-mix(in srgb, var(--ink) 12%, var(--line));background:color-mix(in srgb, var(--ink) 3.5%, var(--panel));flex-shrink:0;justify-content:space-between;align-items:center;gap:.65rem;padding:.65rem .85rem;display:flex}.right-drawer-title{letter-spacing:-.01em;min-width:0;margin:0;font-size:1rem;font-weight:700}.right-drawer-head-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.right-drawer-body{flex-direction:column;flex:1;align-items:stretch;gap:.45rem;min-height:0;padding:.65rem .75rem;display:flex;overflow:auto}.right-drawer-foot{border-top:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--panel));flex-shrink:0;justify-content:center;gap:.45rem;padding:.55rem .75rem .7rem;display:flex}.right-drawer-empty{text-align:center;padding:1.5rem .85rem;font-size:.9rem}.right-drawer-body>.right-drawer-empty{flex-shrink:0}@media (width<=768px){.right-drawer{width:min(100vw,100%)}}
