:root{color:#0f172a;background-color:#f7f9fc;--app-height: 100vh;--topbar-h: 0px;--topbar-gap: 0px;--app-bg: #f8fafc;--app-bg-top: #f9fbff;--app-panel: rgba(255, 255, 255, .96);--app-panel-solid: #ffffff;--app-panel-2: #f6f9fd;--app-line: #edf1f6;--app-line-strong: #dce5ef;--app-text: #1e293b;--app-muted: #64748b;--app-soft: #eaf3ff;--app-accent: #2563eb;--app-accent-strong: #1d4ed8;--app-accent-text: #eff6ff;--app-danger: #e11d48;--app-danger-soft: #ffe4e6;--app-shadow: 0 10px 26px rgba(15, 23, 42, .06);--app-shadow-strong: 0 18px 46px rgba(15, 23, 42, .12);--app-radius: 18px;--shift-stayer-bg: #fee2e2;--shift-stayer-text: #991b1b;--shift-goer-bg: #dcfce7;--shift-goer-text: #166534;--shift-goer2-bg: #dbeafe;--shift-goer2-text: #1e40af;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell.dark{--app-bg: #061525;--app-bg-top: #07192b;--app-panel: rgba(9, 28, 49, .94);--app-panel-solid: #0b2138;--app-panel-2: #102b49;--app-line: #2d4765;--app-line-strong: #3b5a7c;--app-text: #eef5ff;--app-muted: #9bacc3;--app-soft: #123a61;--app-accent: #60a5fa;--app-accent-strong: #3b82f6;--app-accent-text: #eff6ff;--app-danger: #fb7185;--app-danger-soft: #3a161b;--app-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);--app-shadow-strong: 0 18px 48px rgba(0, 0, 0, .34)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}input,textarea,select,button{-webkit-user-select:text;user-select:text}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--app-accent) 30%,transparent);outline-offset:2px}.app-shell{min-height:100vh;min-height:100dvh;background:#f7f9fc;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";padding:8px 16px;padding:calc(env(safe-area-inset-top) + 8px) calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 8px) calc(env(safe-area-inset-left) + 16px);box-sizing:border-box;-webkit-user-select:none;user-select:none}.site-gate-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.site-gate-card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 18px 40px #0f172a2e;width:min(420px,90vw);display:flex;flex-direction:column;gap:8px}.site-gate-title{margin:0 0 8px;font-size:26px;font-weight:800;text-align:center}.site-gate-label{font-weight:600;font-size:14px}.site-gate-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d7dce5;border-radius:10px;background:#f8fafc;font-size:16px}.site-gate-error{color:#b91c1c;font-weight:600}.site-gate-btn{margin-top:10px;background:#2563eb;color:#fff;border:none;border-radius:10px;padding:10px 12px;font-weight:700;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease}.site-gate-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2563eb4d}.loading-overlay{position:fixed;inset:0;background:#ffffffa6;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:150}.spinner{position:relative;width:86px;height:86px;margin-bottom:12px}.ring{position:absolute;inset:0;border-radius:50%;border:4px solid transparent;border-top-color:#2563eb;border-right-color:#2563eb;animation:spin-cw 1.4s linear infinite}.ring-outer{border-width:4px}.ring-inner{inset:10px;border-width:4px;border-top-color:#60a5fa;border-right-color:#60a5fa;animation:spin-ccw 1.4s linear infinite}.loading-text{font-weight:700;color:#1e293b}@keyframes spin-cw{to{transform:rotate(360deg)}}@keyframes spin-ccw{to{transform:rotate(-360deg)}}.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px;margin-bottom:8px;position:sticky;top:0;z-index:10;box-shadow:0 6px 18px #0f172a0f}.topbar.topbar-staging{background:#0f172a;border-color:#1f2937;color:#f8fafc}.topbar.topbar-staging .month-label,.topbar.topbar-staging .mode-pill,.topbar.topbar-staging .ghost,.topbar.topbar-staging button{color:#f8fafc;border-color:#1f2937;background-color:#1f2937}.topbar.topbar-staging .month-strong,.topbar.topbar-staging .month-light{color:#f8fafc}.topbar.topbar-staging .mode-pill{background:#1f2937}.topbar-mode{display:flex;justify-content:center;position:relative}.mode-pill{padding:6px 12px;border-radius:16px;background:#e2e8f0;font-weight:700;letter-spacing:.3px;color:#0f172a;border:none;cursor:pointer}.language-switcher-wrap{display:inline-flex;align-items:center;gap:10px;min-width:0}.language-switcher-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.language-switcher-title{color:var(--app-text, #0f172a);font-size:13px;font-weight:800;line-height:1.2}.language-switcher-current{color:var(--app-muted, #64748b);font-size:12px;line-height:1.25}.language-switcher{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--app-line-strong, #d7dce5);border-radius:999px;background:color-mix(in srgb,var(--app-panel-2, #f8fafc) 90%,transparent);box-shadow:0 1px 2px #0f172a0a}.language-switcher button{display:inline-flex;min-width:38px;min-height:30px;align-items:center;justify-content:center;margin:0;padding:4px 10px;border:0;border-radius:999px;background:transparent;color:var(--app-muted, #64748b);font-size:12px;font-weight:800;line-height:1;cursor:pointer}.language-switcher button:focus-visible{outline:3px solid color-mix(in srgb,var(--app-accent, #2563eb) 35%,transparent);outline-offset:2px}.language-switcher button.active{background:var(--app-accent, #2563eb);color:var(--app-accent-text, #ffffff);box-shadow:0 8px 18px color-mix(in srgb,var(--app-accent, #2563eb) 24%,transparent)}.language-switcher-name{display:none}.language-switcher-wrap--settings{width:100%;justify-content:space-between;padding:10px;border:1px solid var(--app-line, #e5e7eb);border-radius:12px;background:var(--app-panel-2, #f8fafc)}.language-switcher-wrap--settings .language-switcher{flex-shrink:0}.language-switcher-wrap--settings .language-switcher button{min-width:46px;min-height:34px}.site-gate-language{width:100%;margin-top:4px}.site-gate-language .language-switcher-wrap{width:100%}.topbar button{background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;cursor:pointer;margin:0 3px;transition:transform .1s ease,background .2s ease}.topbar button:hover{background:#f3f4f6;transform:translateY(-1px)}.topbar .language-switcher button,.more-popup .language-switcher button{min-width:38px;min-height:30px;margin:0;padding:4px 10px;border:0;border-radius:999px;background:transparent;color:var(--app-muted, #64748b);font-size:12px;font-weight:800;line-height:1;box-shadow:none}.topbar .language-switcher button:hover,.more-popup .language-switcher button:hover{background:color-mix(in srgb,var(--app-accent) 9%,transparent);transform:none}.topbar .language-switcher button.active,.more-popup .language-switcher button.active{background:var(--app-accent, #2563eb);color:var(--app-accent-text, #ffffff)}.topbar .primary{background:#2563eb;color:#fff;font-weight:700;border-color:#2563eb;margin:5px}.topbar .ghost{background:#fff;border:1px solid #d7dce5}.topbar-admin-actions{position:relative;display:inline-flex}.topbar button.topbar-admin-actions-trigger{display:inline-flex;align-items:center;gap:8px;min-height:38px;border-color:color-mix(in srgb,var(--app-accent, #2563eb) 28%,var(--app-line-strong, #d7dce5));background:color-mix(in srgb,var(--app-accent, #2563eb) 7%,var(--app-panel-solid, #ffffff));color:var(--app-accent, #2563eb);font-weight:800}.topbar button.topbar-admin-actions-trigger.active{border-color:var(--app-accent, #2563eb);background:var(--app-accent, #2563eb);color:#fff;box-shadow:0 10px 20px #2563eb38}.topbar-admin-actions-caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}.topbar-admin-actions-trigger.active .topbar-admin-actions-caret{transform:translateY(2px) rotate(225deg)}.topbar-admin-actions-menu{position:absolute;top:calc(100% + 8px);right:3px;z-index:60;display:grid;gap:6px;min-width:190px;padding:8px;border:1px solid var(--app-line-strong, #d7dce5);border-radius:14px;background:var(--app-panel-solid, #ffffff);box-shadow:0 18px 42px #0f172a29;transform-origin:top right;animation:topbar-admin-actions-in .18s cubic-bezier(.22,1,.36,1) both}.topbar-admin-actions-section{display:flex;align-items:center;justify-content:center;padding:2px}.topbar-menu-user{padding:2px}.topbar .topbar-admin-actions-menu .topbar-menu-user-pill{display:flex;width:100%;min-height:36px;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--app-accent, #2563eb) 18%,var(--app-line-strong, #d7dce5));background:color-mix(in srgb,var(--app-accent, #2563eb) 8%,var(--app-panel-soft, #f8fafc));color:var(--app-text, #172033);cursor:default}.topbar .topbar-admin-actions-menu .language-switcher-wrap,.topbar .topbar-admin-actions-menu .language-switcher{width:100%}.topbar .topbar-admin-actions-menu .language-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px}.topbar .topbar-admin-actions-menu .language-switcher button{width:auto;min-width:0;min-height:34px;margin:0;justify-content:center;text-align:center}.topbar-admin-actions-divider{height:1px;margin:2px 0;background:var(--app-line, #e6ebf3)}.topbar .topbar-admin-actions-menu button.topbar-admin-theme-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;border-color:var(--app-line-strong, #d7dce5);background:var(--app-panel-soft, #f8fafc);color:var(--app-text, #172033)}.topbar .topbar-admin-actions-menu button.topbar-admin-theme-btn .dark-mode-icon{width:18px;height:18px}.topbar .topbar-admin-actions-menu button.topbar-menu-logout-btn{border-color:color-mix(in srgb,#dc2626 26%,var(--app-line-strong, #d7dce5));background:color-mix(in srgb,#dc2626 7%,var(--app-panel-solid, #ffffff));color:#b91c1c}.topbar-admin-actions-menu.closing{animation:topbar-admin-actions-out .16s ease both;pointer-events:none}.topbar .topbar-admin-actions-menu button{width:100%;min-height:36px;margin:0;text-align:left;font-weight:800}.topbar .topbar-admin-actions-menu button.primary{text-align:center}@keyframes topbar-admin-actions-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes topbar-admin-actions-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.96)}}.auth-popover{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0000001f;border-radius:12px;padding:12px;min-width:220px;z-index:20}.auth-form{display:flex;flex-direction:column;gap:8px}.auth-form input{padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px}.topbar button.auth-form-btn{margin-top:5px;background:#2563eb;color:#fff;border:none;border-radius:10px;padding:10px 12px;font-weight:700;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease}.topbar button.auth-form-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2563eb4d}.month-picker{position:fixed;left:50%;top:calc(var(--topbar-h, 0px) + var(--topbar-gap, 0px) + 18px);transform:translate(-50%);background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 30px #0f172a1f;padding:12px;z-index:20;width:min(320px,calc(100vw - 32px));min-width:260px}.month-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:700}.month-picker-header button{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px;cursor:pointer}.month-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(60px,1fr));gap:8px}.month-picker-cell{border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:8px;cursor:pointer;transition:background .2s ease,transform .1s ease}.month-picker-cell:hover{background:#e0f2fe;transform:translateY(-1px)}.topbar .left{display:flex;align-items:center;gap:8px}.topbar .right{display:flex;grid-column:3;align-items:center;justify-content:flex-end;flex-wrap:nowrap;white-space:nowrap;gap:4px;overflow:visible;scrollbar-width:none}.topbar .right::-webkit-scrollbar{display:none}.topbar .right>*{flex:0 0 auto}.month-label{font-weight:500;letter-spacing:.3px;padding:6px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.month-label .month-strong{font-weight:800}.month-label .month-light{font-weight:500}.month-label.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.month-label.frozen{outline:3px solid #6497ff;outline-offset:0;box-shadow:0 8px 22px #6497ff40;border-color:#6497ff}.tabs{display:flex;gap:8px;margin-bottom:8px}.tabs button{flex:1;padding:10px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#475569;cursor:pointer}.tabs .active{background:#2563eb;color:#fff;font-weight:700;border-color:#2563eb}.banner{background:#fef3c7;color:#92400e;padding:10px 12px;border-radius:10px;margin-bottom:10px;border:1px solid #fcd34d}.save-summary-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:10px 12px;margin-bottom:10px}.save-summary-title{font-weight:700;color:#1e3a8a;margin-bottom:8px}.save-summary-list{display:flex;flex-direction:column;gap:6px}.save-summary-date-btn{width:100%;text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;color:#0f172a;cursor:pointer}.save-summary-date-btn:hover{background:#f8fafc}.save-confirm-modal{max-height:min(80vh,720px);overflow:auto}.save-confirm-modal .save-summary-list{max-height:42vh;overflow:auto;padding-right:4px}.save-version-label{font-weight:700;color:#0f172a}.save-version-input{width:100%;padding:8px 10px;border:1px solid #d7dce5;border-radius:8px;background:#f8fafc}.save-version-help{font-size:12px;color:#64748b}.modal button.primary{background:#2563eb;color:#fff;border-color:#2563eb}.modal button.primary:hover{background:#1d4ed8;border-color:#1d4ed8}.modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:#fff;padding:12px;border-radius:12px;box-shadow:0 10px 30px #0f172a40;width:min(420px,90vw);display:flex;flex-direction:column;gap:12px}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.modal button{background:#f8fafc;color:#0f172a;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;cursor:pointer}.modal button:hover{background:#e0f2fe;border-color:#bfdbfe}.calendar-nav{display:flex;align-items:center;gap:10px;justify-content:left;margin-bottom:12px}.holiday-modal{background:#fff;color:#0f172a;padding:20px;border-radius:16px;width:min(520px,95vw);box-shadow:0 14px 32px #0f172a2e;display:flex;flex-direction:column;gap:12px}.holiday-modal-header,.modal-header,.holiday-picker-row,.holiday-actions{display:flex;justify-content:space-between;align-items:center;font-size:16px}.holiday-nav{display:flex;align-items:center;gap:10px}.holiday-nav button{background:#f8fafc;color:#0f172a;border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px;cursor:pointer}.holiday-grid{display:grid;grid-template-columns:repeat(7,44px);gap:8px;justify-content:center}.holiday-weekday{text-align:center;font-size:12px;color:#9ca3af}.holiday-weekdays{display:grid;grid-template-columns:repeat(7,44px);gap:8px;justify-content:center;margin:8px 0 4px}.holiday-day{background:#f8fafc;color:#0f172a;border:1px solid #e2e8f0;border-radius:14px;padding:0;height:44px;width:44px;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}.holiday-day.selected{background:#2563eb;border-color:#2563eb;color:#fff}.holiday-day:hover{background:#e0f2fe;border-color:#bfdbfe}.holiday-modal-actions{display:flex;justify-content:flex-end;gap:10px}.holiday-modal-actions button{background:#f8fafc;color:#0f172a;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;cursor:pointer}.holiday-modal-actions button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.calendar-grid-compact{display:grid;grid-template-columns:repeat(7,44px);gap:4px;justify-content:center;margin:12px 0}.calendar-cell-btn{height:44px;width:44px;border-radius:14px;border:1px solid #d7dce5;background:#f8fafc;font-weight:700;color:#0f172a;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .1s ease}.calendar-cell-btn:hover{background:#e0f2fe;border-color:#bfdbfe}.calendar-cell-btn.muted{opacity:.35;cursor:default}.calendar-cell-btn.selected{background:#2563eb;color:#fff;border-color:#1d4ed8}.holiday-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px}.holiday-chip{background:#f8fafc;color:#0f172a;padding:10px 12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e2e8f0;box-shadow:0 2px 6px #0f172a0d}.holiday-chip button{border:1px solid #e2e8f0;background:#fff;cursor:pointer;color:#0f172a;font-weight:700;font-size:14px;border-radius:8px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0f172a14}.modal-body input{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:8px}.modal-footer .danger{background:#dc2626;color:#fff;border:1px solid #b91c1c}main{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:8px 10px;box-shadow:0 12px 24px #0f172a0d}@keyframes tab-slide-next{0%{opacity:.6;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes tab-slide-prev{0%{opacity:.6;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@media(max-width:900px){main.tab-next{animation:tab-slide-next .24s ease}main.tab-prev{animation:tab-slide-prev .24s ease}}@media(max-width:900px){html,body{height:100%;overflow:hidden;background-color:#0f172a}.app-shell{display:flex;flex-direction:column;height:var(--app-height, 100dvh);overflow:hidden;padding:4px;padding-bottom:calc(env(safe-area-inset-bottom) + 72px)}main{flex:1;min-height:0;overflow-y:auto;padding:4px}input,textarea,select{font-size:16px}.mobile-month-bar{display:flex;align-items:center;justify-content:center;gap:4px;padding:calc(env(safe-area-inset-top) + 6px) 12px 8px;position:relative;flex-shrink:0}.month-arrow-btn{background:transparent;border:none;padding:5px 11px;font-size:15px;color:inherit;cursor:pointer;border-radius:7px;line-height:1;opacity:.7}.month-arrow-btn:active{opacity:1;background:#0f172a0f}.mobile-month-bar .month-label{font-size:16px;background:transparent;border-color:transparent;box-shadow:none}.mobile-month-bar .mobile-save-btn{position:absolute;right:12px;top:50%;transform:translateY(calc(-50% + env(safe-area-inset-top)/2));height:32px;padding:0 12px;border-radius:9px;font-size:13px;font-weight:700;margin:0}.tabs.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;flex-direction:row;gap:0;padding:0;padding-bottom:env(safe-area-inset-bottom);background:#fff;border:0px;border-top:1px solid #e5e7eb;border-radius:0;margin-bottom:0;width:100%;box-sizing:border-box;box-shadow:0 -2px 12px #0f172a14}.tabs.bottom-nav button{flex:1;padding:9px 4px 7px;border:0;background:transparent;color:#94a3b8;border-radius:0;font-size:10px;font-weight:600;cursor:pointer;text-align:center;min-height:50px;display:flex;align-items:center;justify-content:center;position:relative}.tabs.bottom-nav button.active{background:transparent;color:#2563eb;box-shadow:none}.tabs.bottom-nav button.active .tab-icon{opacity:1}.tabs.bottom-nav button:active{background:#2563eb12}.worker-sheet-backdrop{padding-bottom:calc(50px + env(safe-area-inset-bottom))}.worker-bottom-sheet{border-radius:24px;border-bottom:1px solid #d8e1f0;padding-bottom:16px;max-height:min(72dvh,620px)}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.tabs{display:flex;gap:0;padding:4px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;margin-bottom:12px;position:relative;width:100%}.tabs button{flex:1;padding:10px 14px;border:0;background:transparent;color:#475569;border-radius:999px;font-weight:600;cursor:pointer;text-align:center;transition:background .12s ease,color .12s ease}.tabs button:hover{background:#0f172a0f}.tabs button.active{background:#2563eb;color:#fff;box-shadow:0 1px 2px #0000001a}.topbar-tabs{grid-column:2;width:min(100%,608px);max-width:100%;margin:0 auto;padding:2px;gap:2px;align-self:center;overflow:visible}.topbar-tabs button{min-height:29px;padding:6px 9px;font-size:12px;white-space:nowrap}.topbar-tab-content{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0}.topbar-tab-icon{width:15px;height:15px;flex:0 0 auto;object-fit:contain;opacity:.82}.topbar-tabs button.active .topbar-tab-icon{opacity:1}.topbar-tabs .tab-with-menu{display:flex;flex:1 1 0}.topbar-tabs .tab-with-menu>button{width:100%}.tab-with-menu{position:relative}.settings-dropdown{position:absolute;top:calc(100% + 6px);right:0;left:auto;background:#fff;border:1px solid #d7dce5;border-radius:12px;box-shadow:0 12px 28px #0f172a29;padding:6px;min-width:220px;z-index:30;display:flex;flex-direction:column;gap:6px}.settings-dropdown button{border:none;background:#f8fafc;padding:10px 12px;border-radius:10px;text-align:left;font-weight:600;color:#0f172a;cursor:pointer;transition:background .12s ease,transform .12s ease}.settings-dropdown button:hover{background:#e2e8f0;transform:translateY(-1px)}.tab-icon-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%}.tab-icon{width:16px;height:16px;object-fit:contain;display:block;opacity:.45;transition:opacity .12s ease}.tab-label{display:inline-block;max-width:100%;overflow:hidden;white-space:nowrap;font-size:10px;font-weight:600;line-height:1;letter-spacing:0}.tabs.bottom-nav button.tab-swaps .tab-label{transform:scaleX(.88);transform-origin:center}.tab-more{flex:1;padding:10px 4px 8px;border:0;background:transparent;color:#94a3b8;border-radius:0;font-size:10px;font-weight:600;cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:center}.tab-more.active{color:#2563eb}.tab-more .tab-icon{width:22px;height:22px;display:block;opacity:.45}.tab-more.active .tab-icon{opacity:1}.tab-more:active{background:#2563eb12}.more-menu-backdrop{position:fixed;inset:0;z-index:110;background:#0f172a3d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:worker-sheet-backdrop-in .18s ease both;pointer-events:auto}.more-popup{position:fixed;bottom:calc(56px + env(safe-area-inset-bottom));left:10px;right:10px;z-index:111;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 -4px 28px #0f172a21;overflow:hidden;animation:more-popup-in .18s cubic-bezier(.25,.1,.25,1) both;pointer-events:auto}@keyframes more-popup-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.more-popup-section-header{padding:8px 16px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;color:#94a3b8;text-transform:uppercase;border-top:1px solid #f1f5f9;margin-top:2px}.more-popup-section-header--first{border-top:0;margin-top:0;padding-top:12px}.more-popup-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:transparent;border:0;text-align:left;font-size:15px;font-weight:600;color:#0f172a;cursor:pointer}.more-popup-item:active{background:#f1f5f9}.more-popup-item.active{color:#2563eb}.more-popup-row{justify-content:space-between;cursor:default}.more-popup-row-label{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:#0f172a}.more-popup-icon{width:22px;height:22px;flex-shrink:0;object-fit:contain}.more-popup-danger{color:#dc2626}.toggle-switch{position:relative;display:inline-flex;width:44px;height:26px;flex-shrink:0;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;inset:0;border-radius:26px;background:#cbd5e1;transition:background .18s ease}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a2e;transition:transform .18s ease}.toggle-switch input:checked+.toggle-slider{background:#2563eb}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.dark-mode-btn{background:#fff;border:1px solid #e2e8f0;border-radius:9px;width:36px;height:36px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .1s ease,background .2s ease,box-shadow .2s ease;margin:0 3px;box-shadow:0 1px 3px #0f172a14}.dark-mode-btn:hover{background:#f3f4f6;transform:translateY(-1px)}.dark-mode-icon{width:22px;height:22px;object-fit:contain;display:block;pointer-events:none}.mobile-logout-btn{display:none}.mobile-logout-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.app-shell.dark{background:#0f172a;color:#e2e8f0}.app-shell.dark main{background:#1e293b;border-color:#334155;color:#e2e8f0}.app-shell.dark .topbar{background:#1e293b;border-color:#334155;box-shadow:0 6px 18px #0000004d}.app-shell.dark .topbar button{background:#1e293b;color:#e2e8f0;border-color:#334155}.app-shell.dark .topbar button:hover{background:#273549}.app-shell.dark .topbar .primary{background:#2563eb;border-color:#2563eb;color:#fff}.app-shell.dark .topbar .primary:hover{background:#1d4ed8}.app-shell.dark .topbar .ghost{background:#1e293b;border-color:#334155;color:#94a3b8}.app-shell.dark .topbar-admin-actions-menu{background:var(--app-panel-solid);border-color:var(--app-line-strong);box-shadow:0 18px 42px #00000057}.app-shell.dark .topbar-admin-actions-divider{background:var(--app-line-strong)}.app-shell.dark .topbar .topbar-admin-actions-menu button.topbar-admin-theme-btn{background:#1e293b;border-color:#334155;color:#e2e8f0}.app-shell.dark .topbar .topbar-admin-actions-menu .topbar-menu-user-pill{background:color-mix(in srgb,var(--app-accent) 16%,#1e293b);border-color:color-mix(in srgb,var(--app-accent) 30%,#334155);color:#e2e8f0}.app-shell.dark .topbar .topbar-admin-actions-menu button.topbar-menu-logout-btn{background:color-mix(in srgb,#ef4444 12%,#1e293b);border-color:color-mix(in srgb,#ef4444 30%,#334155);color:#fecaca}.app-shell.dark .dark-mode-btn{background:#1e293b;border-color:#334155}.app-shell.dark .dark-mode-btn:hover{background:#273549}.app-shell.dark .month-label{background:#162032;border-color:#334155;color:#e2e8f0}.app-shell.dark .month-label .month-strong,.app-shell.dark .month-label .month-light{color:#e2e8f0}.app-shell.dark .mode-pill{background:#273549;color:#e2e8f0}.app-shell.dark .auth-popover{background:#1e293b;border-color:#334155;box-shadow:0 10px 30px #0006}.app-shell.dark .auth-form input{background:#162032;border-color:#334155;color:#e2e8f0}.app-shell.dark .month-picker{background:#1e293b;border-color:#334155;box-shadow:0 12px 30px #0006}.app-shell.dark .month-picker-header button,.app-shell.dark .month-picker-cell{background:#162032;border-color:#334155;color:#e2e8f0}.app-shell.dark .month-picker-cell:hover{background:#1d3a5f}.app-shell.dark .tabs{background:#162032;border:0px}.app-shell.dark .tabs button{color:#94a3b8}.app-shell.dark .tabs button:hover{background:#ffffff0f}.app-shell.dark .tabs button.active{background:#2563eb;color:#fff}.app-shell.dark .swaps-header h1,.app-shell.dark .swap-card h2,.app-shell.dark .swap-metric-value{color:#e2e8f0}.app-shell.dark .swaps-filter-btn,.app-shell.dark .swaps-tabs,.app-shell.dark .swaps-tabs button,.app-shell.dark .swap-metric-card,.app-shell.dark .swap-card,.app-shell.dark .swap-empty-card,.app-shell.dark .swap-shift-box{background:#1e293b;border-color:#334155}.app-shell.dark .swaps-filter-btn,.app-shell.dark .swaps-tabs button{color:#e2e8f0}.app-shell.dark .swaps-tabs button.active{background:#2563eb;border-color:#2563eb;color:#fff}.app-shell.dark .swap-shift-line+.swap-shift-line{border-top-color:#334155}.app-shell.dark .swap-card-eyebrow,.app-shell.dark .swap-date,.app-shell.dark .swap-metric-label,.app-shell.dark .swap-side-label,.app-shell.dark .swap-chevron,.app-shell.dark .swap-empty-card{color:#94a3b8}.app-shell.dark .swap-action.secondary{background:#1e293b;border-color:#31508f;color:#bfdbfe}.app-shell.dark .swap-error{background:#3b1217;border-color:#7f1d1d;color:#fecaca}.app-shell.dark .swap-create-modal label{color:#e2e8f0}.app-shell.dark .swap-create-grid fieldset,.app-shell.dark .swap-create-modal input,.app-shell.dark .swap-create-modal select{background:#162032;border-color:#334155;color:#e2e8f0}.app-shell.dark .swap-create-grid legend{color:#94a3b8}.app-shell.dark .settings-dropdown{background:#1e293b;border-color:#334155;box-shadow:0 12px 28px #0006}.app-shell.dark .settings-dropdown button{background:#162032;color:#e2e8f0}.app-shell.dark .settings-dropdown button:hover{background:#273549}.app-shell.dark .tabs.bottom-nav{background:#1e293b;border-top-color:#334155}.app-shell.dark .tabs.bottom-nav button{color:#8195b3}.app-shell.dark .tabs.bottom-nav button:hover:not(.active){background:#243347;border-radius:12px;margin:6px 4px;min-height:auto}@keyframes tab-active-pop{0%{transform:scale(.88);opacity:.6}65%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}.app-shell.dark .tabs.bottom-nav button.active{color:#eff6ff;background:#2d3f55;border-radius:12px;margin:6px 4px;min-height:auto;animation:tab-active-pop .22s ease forwards}.app-shell.dark .tabs.bottom-nav button.active .tab-icon{opacity:1}.app-shell.dark .mobile-month-bar .month-label,.app-shell.dark .month-arrow-btn{color:#e2e8f0}.app-shell.dark .month-arrow-btn:active{background:#ffffff12}.app-shell.dark .tab-more{color:#8195b3}.app-shell.dark .tab-more.active{color:#eff6ff;background:#2d3f55;border-radius:12px;margin:6px 4px;min-height:auto;animation:tab-active-pop .22s ease forwards}.app-shell.dark .more-popup{background:#1e293b;border-color:#334155;box-shadow:0 -4px 28px #00000059}.app-shell.dark .more-popup-item{color:#e2e8f0}.app-shell.dark .more-popup-item:active{background:#243347}.app-shell.dark .more-popup-item.active{color:#93c5fd}.app-shell.dark .more-popup-section-header{color:#64748b;border-top-color:#273549}.app-shell.dark .more-popup-row-label{color:#e2e8f0}.app-shell.dark .more-popup-danger{color:#f87171}.app-shell.dark .toggle-slider{background:#334155}.app-shell.dark .toggle-switch input:checked+.toggle-slider{background:#2563eb}.app-shell.dark .modal{background:#1e293b;border-color:#334155;color:#e2e8f0}.app-shell.dark .modal h3{color:#e2e8f0}.app-shell.dark .modal button{background:#273549;border-color:#334155;color:#e2e8f0}.app-shell.dark .modal .primary{background:#2563eb;border-color:#2563eb;color:#fff}.app-shell.dark .settings-card{background:#1e293b;border-color:#334155}.app-shell.dark .settings-card-title,.app-shell.dark .settings-card-subtitle{color:#e2e8f0}.app-shell.dark .setting-row,.app-shell.dark select,.app-shell.dark input[type=text],.app-shell.dark input[type=number],.app-shell.dark input[type=password]{background:#162032;border-color:#334155;color:#e2e8f0}.app-shell.dark .cal-mobile-day{background:#1e293b;box-shadow:0 1px 3px #0000004d;color:#e2e8f0}.app-shell.dark .cal-mobile-day.muted{color:#475569}.app-shell.dark .calendar-mobile-bottom{background:#1e293b;box-shadow:0 -2px 10px #0000004d}.app-shell.dark .bottom-shift-column{background:#162032;border-color:#334155}.app-shell.dark .bottom-shift+.bottom-shift{border-top-color:#334155}.app-shell.dark .bottom-empty-column{color:#94a3b8}.app-shell.dark .calendar-mobile-version{border-top-color:#334155}.app-shell.dark .bottom-worker{background:#0f172a;border-color:#334155}.app-shell.dark .bottom-account-worker{background:#172554;border-color:#31508f}.app-shell.dark .bottom-day-code{background:#0f172a;border-color:#31508f;color:#bfdbfe}.app-shell.dark .badge.role-stayer,.app-shell.dark .pill-stayer,.app-shell.dark .cell-role.role-stayer,.app-shell.dark .worker-sheet-code-on-call{background:#fca5a5;border-color:#fca5a5;color:#3f1d1d}.app-shell.dark .badge.role-goer,.app-shell.dark .badge.role-goer1,.app-shell.dark .badge.role-student,.app-shell.dark .pill-goer,.app-shell.dark .pill-student,.app-shell.dark .cell-role.role-goer,.app-shell.dark .cell-role.role-goer1,.app-shell.dark .cell-role.role-student,.app-shell.dark .worker-sheet-code-day{background:#bbf7d0;border-color:#bbf7d0;color:#123524}.app-shell.dark .badge.role-goer2,.app-shell.dark .pill-goer2,.app-shell.dark .cell-role.role-goer2,.app-shell.dark .worker-sheet-code-shift2{background:#e0e7ff;border-color:#e0e7ff;color:#312e81}.app-shell.dark .calendar-shift-code--i,.app-shell.dark .worker-sheet-code-i{background:#bfdbfe;border-color:#bfdbfe;color:#1e3a8a}.app-shell.dark .calendar-shift-code--ii,.app-shell.dark .worker-sheet-code-ii{background:#dcfce7;border-color:#dcfce7;color:#14532d}.app-shell.dark .calendar-shift-code--d,.app-shell.dark .worker-sheet-code-d{background:#cffafe;border-color:#cffafe;color:#164e63}.app-shell.dark .calendar-shift-code--neutral,.app-shell.dark .worker-sheet-code-neutral{background:#94a3b82e;border-color:transparent;color:#cbd5f5}.app-shell.dark .bottom-empty-column,.app-shell.dark .calendar-mobile-version{color:#94a3b8}.app-shell.dark .more-menu-backdrop,.app-shell.dark .worker-sheet-backdrop{background:#0206176b}.app-shell.dark .worker-bottom-sheet{background:#17243a;border-color:#2f4463;color:#e2e8f0;box-shadow:0 -18px 48px #00000070}.app-shell.dark .worker-sheet-handle{background:#64748b}.app-shell.dark .worker-sheet-close{background:#17243a;border-color:#334155;color:#94a3b8}.app-shell.dark .worker-sheet-name,.app-shell.dark .worker-sheet-row,.app-shell.dark .worker-sheet-heading{color:#e2e8f0}.app-shell.dark .worker-sheet-role,.app-shell.dark .worker-sheet-coworkers,.app-shell.dark .worker-sheet-empty{color:#a7b4c8}.app-shell.dark .worker-sheet-you{background:#40506a;color:#d8e3f2}.app-shell.dark .worker-sheet-section{border-color:#2f4463}.app-shell.dark .worker-sheet-mini-day{background:#0f172a;border-color:#334155}.app-shell.dark .worker-sheet-mini-day.has-shift{background:#172554;border-color:#31508f}.app-shell.dark .worker-sheet-mini-dow,.app-shell.dark .worker-sheet-mini-off,.app-shell.dark .worker-sheet-mini-more{color:#94a3b8}.app-shell.dark .worker-sheet-mini-num{color:#e2e8f0}.app-shell.dark .worker-sheet-swap-btn{background:#536fe0;box-shadow:0 14px 28px #2563eb40}.app-shell.dark .suggestions-card,.app-shell.dark .site-gate-card,.app-shell.dark .save-summary-banner{background:#1e293b;border-color:#334155;color:#e2e8f0}.app-shell.dark .save-summary-date-btn,.app-shell.dark .save-summary-change{color:#e2e8f0}.app-shell.dark .banner{background:#1d3a5f;border-color:#334155;color:#93c5fd}.app-shell.dark .people-table th,.app-shell.dark .people-table td{border-color:#334155}.app-shell.dark .people-table thead th,.app-shell.dark .people-table .sticky-name{background:#0e182a}.app-shell.dark .people-table th.weekend{background:#233147;color:#cbd5e1}.app-shell.dark .people-table thead th.sort-active,.app-shell.dark .people-table thead th.sort-active:first-child{background:#172554;color:#bfdbfe;box-shadow:inset 0 -3px #60a5fa}.app-shell.dark .people-table thead th.sort-active .date-header small{color:#bfdbfe}.app-shell.dark .people-table td.weekend{background:#141f30}.app-shell.dark .people-role-card{background:#162032;border-color:#334155}.app-shell.dark .people-role-card.twr{border-color:#1d4ed8}.app-shell.dark .people-role-card.app{border-color:#16a34a}.app-shell.dark .shift-card{background:#162032;border-color:#334155;color:#e2e8f0}.app-shell.dark .stats-section{background:#1e293b;border-color:#334155}.app-shell.dark .stat-card,.app-shell.dark .calendar-day-cell.muted{background:#162032;border-color:#334155}.app-shell.dark .cal-shift-pill{background:#1e293b;border-color:#334155}.app-shell.dark .day-number{color:#e2e8f0}.app-shell.dark .suggestion-item{background:#162032;border-color:#334155}.app-shell.dark .suggestion-item.admin{background:#1e293b;border-color:#334155}.app-shell.dark .suggestions-card textarea{background:#1e293b;border-color:#334155;color:#e2e8f0}.app-shell.dark .suggestion-message{background:#162032;border-color:#334155;border-left-color:#3b82f6;color:#e2e8f0}.app-shell.dark .worker-row{background:#162032;border-color:#334155}.app-shell.dark .stayer-run-card{background:#1e293b;border-color:#334155}.app-shell.dark .settings-card button{background:#162032;border-color:#334155;color:#e2e8f0}.app-shell.dark .settings-card button:hover{background:#1d3a5f}.app-shell.dark .account-create-row,.app-shell.dark .account-row{background:#162032;border-color:#334155}.app-shell.dark .account-create-row input,.app-shell.dark .account-create-row select,.app-shell.dark .account-row input,.app-shell.dark .account-row select{background:#0f172a;border-color:#334155;color:#e2e8f0}.app-shell.dark .account-create-row input::placeholder,.app-shell.dark .account-row input::placeholder{color:#94a3b8}.app-shell.dark .account-create-row input:focus,.app-shell.dark .account-create-row select:focus,.app-shell.dark .account-row input:focus,.app-shell.dark .account-row select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa2e}.app-shell.dark .account-create-row button:not(:disabled),.app-shell.dark .account-row button:not(.danger):not(:disabled){background:#2563eb;border-color:#2563eb;color:#fff}.app-shell.dark .account-create-row button:not(:disabled):hover,.app-shell.dark .account-row button:not(.danger):not(:disabled):hover{background:#1d4ed8}.app-shell.dark .account-row button.danger{background:#3b1f2a;border-color:#7f1d1d;color:#fecaca}.app-shell.dark .account-row button.danger:hover{background:#4c1d2d}.app-shell.dark .version-row{background:#162032;border-color:#334155}.app-shell.dark .version-name,.app-shell.dark .version-section-title{color:#94a3b8}.app-shell.dark .cell-action-btn{background:#1d3a5f;border-color:#334155;color:#93c5fd}.app-shell.dark .cell-action-btn:hover{background:#1e4a7a}.app-shell.dark .cell-action-btn.danger{background:#3b1219;border-color:#7f1d1d;color:#fca5a5}.app-shell.dark .cal-shift-pill .cal-worker,.app-shell.dark .calendar-day-cell{background:#162032;border-color:#334155}.app-shell.dark .stayer-run-dates{color:#b4c2d7}.app-shell.dark .extra-code-pill{background:#394e70;border-color:#314766;color:#e2e8ef}.app-shell.dark .person-avatar{background:#243a5d;border-color:#31508f;color:#dbeafe}.app-shell.dark .name-col-toggle{background:#1e3352;border-color:#2d4a6e;color:#7ea8d8}.app-shell.dark .name-col-toggle:active{background:#172944}.app-shell.dark button:not(.primary):not(.auth-form-btn):not(.suggestion-action-btn):not(.dark-mode-btn):not(.tabs button){color:#e2e8f0}.app-shell.dark .info-tooltip .tooltip-content{background:#e2e8f0;color:#0f172a}.app-shell{--app-bg: #f8fafc;--app-bg-top: #f9fbff;--app-panel: rgba(255, 255, 255, .96);--app-panel-solid: #ffffff;--app-panel-2: #f6f9fd;--app-line: #edf1f6;--app-line-strong: #dce5ef;--app-text: #1e293b;--app-muted: #64748b;--app-soft: #eaf3ff;--app-accent: #2563eb;--app-accent-strong: #1d4ed8;--app-accent-text: #eff6ff;--app-danger: #e11d48;--app-danger-soft: #ffe4e6;--app-shadow: 0 10px 26px rgba(15, 23, 42, .06);--app-shadow-strong: 0 18px 46px rgba(15, 23, 42, .12);--app-radius: 18px;background:radial-gradient(circle at 50% -18%,rgba(147,197,253,.2),transparent 34%),linear-gradient(180deg,var(--app-bg-top) 0%,#f3f7fb 100%);color:var(--app-text)}.app-shell.dark{--app-bg: #061525;--app-bg-top: #07192b;--app-panel: rgba(9, 28, 49, .94);--app-panel-solid: #0b2138;--app-panel-2: #102b49;--app-line: #2d4765;--app-line-strong: #3b5a7c;--app-text: #eef5ff;--app-muted: #9bacc3;--app-soft: #123a61;--app-accent: #60a5fa;--app-accent-strong: #3b82f6;--app-accent-text: #eff6ff;--app-danger: #fb7185;--app-danger-soft: #3a161b;--app-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);--app-shadow-strong: 0 18px 48px rgba(0, 0, 0, .34);background:radial-gradient(circle at 50% -12%,rgba(37,99,235,.22),transparent 34%),linear-gradient(180deg,var(--app-bg-top) 0%,var(--app-bg) 100%);color:var(--app-text)}.app-shell main{color:var(--app-text)}.topbar,.site-gate-card,.auth-popover,.month-picker,.modal,.save-summary-banner,.suggestions-card,.suggestion-item,.swap-card,.swap-empty-card,.swap-metric-card,.swaps-tabs,.swaps-tabs button,.swap-shift-box,.settings-card,.setting-row,.account-create-row,.account-row,.version-row,.stayer-run-card,.stat-card,.shift-card,.calendar-day-cell,.calendar-cell,.calendar-mobile-bottom,.bottom-shift-column,.bottom-worker,.worker-bottom-sheet,.holiday-modal,.calendar-cell-btn,.people-table th,.people-table td{background:var(--app-panel);border-color:var(--app-line-strong);color:var(--app-text);box-shadow:var(--app-shadow)}.topbar,.site-gate-card,.auth-popover,.month-picker,.modal,.suggestions-card,.swap-card,.swap-empty-card,.swap-metric-card,.swaps-tabs,.settings-card,.stayer-run-card,.stat-card,.shift-card,.calendar-day-cell,.calendar-mobile-bottom,.worker-bottom-sheet,.save-summary-banner{border-radius:var(--app-radius)}.site-gate-card,.topbar,.modal,.month-picker,.worker-bottom-sheet,.more-popup{box-shadow:var(--app-shadow-strong)}.topbar{border:1px solid var(--app-line-strong)}.topbar.topbar-staging{background:var(--app-panel-solid);border-color:var(--app-line-strong);color:var(--app-text)}.topbar.topbar-staging .month-label,.topbar.topbar-staging .mode-pill,.topbar.topbar-staging .ghost,.topbar.topbar-staging button,.month-label,.mode-pill,.calendar-cell-btn,.holiday-chip,.freeze-cell,.algo-toggle,.swaps-filter-btn,.swap-create-grid fieldset,.swap-create-modal input,.swap-create-modal select,.account-create-row input,.account-create-row select,.account-row input,.account-row select,.settings-card input,.settings-card select,.settings-card textarea,.suggestions-card textarea,.suggestions-card select,.stats-search input,.save-version-input,.site-gate-input,.auth-form input,select,input[type=text],input[type=number],input[type=password],textarea{background:var(--app-panel-2);border-color:var(--app-line-strong);color:var(--app-text)}.month-label,.mode-pill,.swaps-filter-btn,.calendar-cell-btn,.holiday-chip,.freeze-cell{border-radius:14px}.tabs{background:var(--app-panel);border:1px solid var(--app-line-strong);box-shadow:var(--app-shadow)}.tabs button{color:var(--app-muted)}.tabs button:hover{background:color-mix(in srgb,var(--app-accent) 9%,transparent)}.tabs button.active,.swaps-tabs button.active,.algo-toggle button.active,.freeze-active,.month-picker-cell:hover{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-accent-text);box-shadow:0 10px 22px color-mix(in srgb,var(--app-accent) 28%,transparent)}.topbar .primary,.site-gate-btn,.modal button.primary,.suggestion-action-btn.primary,.swap-action.primary,.account-create-row button:not(:disabled),.account-row button:not(.danger):not(:disabled),.worker-sheet-swap-btn{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-accent-text);box-shadow:0 12px 24px color-mix(in srgb,var(--app-accent) 24%,transparent)}.topbar .ghost,.topbar button,.modal button,.settings-card button,.suggestion-action-btn,.swap-action.secondary,.cell-action-btn,.settings-dropdown button{background:var(--app-panel-2);border-color:var(--app-line-strong);color:var(--app-text)}.more-popup,.settings-dropdown{background:var(--app-panel-solid);border-color:var(--app-line-strong);color:var(--app-text);box-shadow:var(--app-shadow-strong)}.more-popup-item,.more-popup-row-label,.settings-dropdown button{color:var(--app-text)}.more-popup-item.active,.tab-more.active{color:var(--app-accent)}.more-popup-section-header,.settings-card-subtitle,.swap-card-eyebrow,.swap-date,.swap-metric-label,.swap-side-label,.swap-chevron,.swap-empty-card,.stat-row,.stayer-run-dates,.calendar-mobile-version,.bottom-empty-column,.worker-sheet-role,.worker-sheet-coworkers,.worker-sheet-empty,.worker-sheet-mini-dow,.worker-sheet-mini-off,.worker-sheet-mini-more,.suggestions-meta-row,.suggestion-message,.suggestion-comment,.version-meta,.empty-state{color:var(--app-muted)}.swaps-header h1,.swap-card h2,.swap-metric-value,.settings-card-title,.stat-name,.stayer-run-name,.summary-title,.worker-sheet-name,.worker-sheet-row,.worker-sheet-heading{color:var(--app-text)}.swap-metric-icon,.overview-daily-icon,.worker-sheet-avatar{background:var(--app-soft);color:var(--app-accent);border-color:color-mix(in srgb,var(--app-accent) 24%,var(--app-line-strong))}.suggestion-category,.swap-status.status-incoming,.save-summary-title{background:var(--app-soft);color:var(--app-accent)}.banner,.save-summary-banner{background:color-mix(in srgb,var(--app-accent) 10%,var(--app-panel));border-color:color-mix(in srgb,var(--app-accent) 28%,var(--app-line-strong));color:var(--app-text)}.swap-error,.suggestions-error,.account-row button.danger,.suggestion-action-btn.delete,.modal-footer .danger,.more-popup-danger{background:var(--app-danger-soft);border-color:color-mix(in srgb,var(--app-danger) 38%,var(--app-line-strong));color:var(--app-danger)}.calendar-mobile-grid,.calendar-mobile-weekdays,.swaps-view,.suggestions-layout,.settings-layout,.stayer-runs,.stats-grid{color:var(--app-text)}.cal-mobile-day{background:var(--app-panel);color:var(--app-text);border:1px solid transparent;box-shadow:var(--app-shadow)}.cal-mobile-day.active{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-accent-text)}.cal-mobile-day.today .cal-mobile-num{background:var(--app-soft);color:var(--app-accent)}.bottom-account-worker,.worker-sheet-mini-day.has-shift{background:color-mix(in srgb,var(--app-accent) 12%,var(--app-panel));border-color:color-mix(in srgb,var(--app-accent) 28%,var(--app-line-strong))}.people-table{border-color:var(--app-line-strong)}.people-table th,.people-table td{border-color:var(--app-line)}.people-table thead th,.people-table .sticky-name{background:var(--app-panel-solid)}.people-role-card,.extra-code-pill,.badge,.pill{box-shadow:none}.summary-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700}.shift-card{display:flex;flex-direction:column;gap:8px;margin-top:8px}.worker-row{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border-radius:10px;padding:8px 10px;border:1px solid #e5e7eb}.worker-name{display:flex;align-items:center;gap:8px}.worker-controls{display:flex;align-items:center;gap:10px}select{background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:8px;padding:6px 8px}.badge{padding:4px 8px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border:1px solid #e2e8f0;white-space:nowrap}.role-stayer{background:#fee2e2;color:#b91c1c}.role-goer,.role-goer1,.role-student{background:#dcfce7;color:#166534}.role-goer2{background:#e8f5d5;color:#3b7c38}.pill{padding:4px 10px;border-radius:9px;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.4px;white-space:nowrap}.pill-stayer{background:#fee2e2;color:#b91c1c;border:1px solid #ef4444}.pill-goer,.pill-student{background:#dcfce7;color:#166534;border:1px solid #22c55e}.pill-goer2{background:#e8f5d5;color:#3b7c38;border:1px solid #14b8a6}.pill-twr{background:#1d4ed8;color:#fff}.pill-app{background:#16a34a;color:#fff}.pill-twr.role-stayer,.role-stayer{border-color:#ef4444}.pill-twr.role-goer,.role-goer{border-color:#22c55e}.pill-twr.role-goer2,.role-goer2{border-color:#14b8a6}.badge.role-stayer,.pill-stayer,.cell-role.role-stayer{background:#ffe4e6;border-color:#fda4af;color:#be123c}.badge.role-goer,.badge.role-goer1,.badge.role-student,.pill-goer,.pill-student,.cell-role.role-goer,.cell-role.role-goer1,.cell-role.role-student{background:#eafbef;border-color:#bbf7d0;color:#166534}.badge.role-goer2,.pill-goer2,.cell-role.role-goer2{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.dot{width:10px;height:10px;border-radius:50%;background:#cbd5e1;display:inline-block}.dot-manual{background:#f59e0b}.dot-past{background:#ef4444}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.calendar-cell{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px;box-shadow:0 6px 16px #0f172a0d}.calendar-scroll{overflow-x:auto;padding-bottom:8px;cursor:grab}.calendar-scroll.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.calendar-cell.holiday{background:#fee2e2;border-color:#fecdd3}.calendar-date{font-weight:700;margin-bottom:6px;display:flex;flex-direction:column;gap:2px}.calendar-date-number{font-size:14px}.calendar-date-dow{font-size:12px;color:#475569}.cell-shift{background:#f8fafc;border-radius:8px;padding:6px;margin-bottom:6px;border:1px solid #e5e7eb}.cell-shift-header{font-size:12px;text-transform:uppercase;letter-spacing:.4px;opacity:.8;margin-bottom:8px}.cell-role{display:flex;align-items:center;gap:8px;padding:6px;margin:4px;border-radius:6px}.cell-role.role-stayer{background:#fee2e2}.cell-role.role-goer{background:#d1fae5}.cell-role.role-goer2{background:#e8f5d5}.bottom-shift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:0}.bottom-shift-column{min-width:0;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:4px}.bottom-column-title{width:100%;height:28px;margin-bottom:8px;box-sizing:border-box}.bottom-shift{min-width:0}.bottom-shift+.bottom-shift{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.bottom-shift-body{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.bottom-worker{display:flex;align-items:center;gap:6px;justify-content:space-between;min-width:0;border-radius:8px;background:#fff;border:1px solid #e2e8f0;padding:4px 6px;cursor:pointer;touch-action:manipulation}.bottom-worker:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb38}.bottom-day-worker{margin-top:4px}.bottom-account-worker{background:#eef2ff;border-color:#c7d2fe}.bottom-day-code{flex:0 0 auto;min-width:26px;height:21px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#fff;border:1px solid #c7d2fe;color:#4338ca;font-size:11px;font-weight:800;line-height:1}.calendar-shift-code--i{background:#eaf2ff;border-color:#b7d4ff;color:#1d4ed8}.calendar-shift-code--ii{background:#e8f8ee;border-color:#a8e6bd;color:#15803d}.calendar-shift-code--d{background:#ecfeff;border-color:#67e8f9;color:#0e7490}.calendar-shift-code--neutral{background:#f3f4f6;border-color:#a3adbb;color:#4b5563}.bottom-worker-right{display:flex;align-items:center;flex:0 0 auto}.calendar-mobile-bottom .bottom-worker .badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:22px;box-sizing:border-box;padding:0 6px;text-align:center;overflow:hidden;text-overflow:ellipsis}.calendar-mobile-bottom .bottom-worker select{width:66px;min-width:0;height:24px;box-sizing:border-box;font-size:12px;padding:2px 6px}.bottom-empty-column{display:flex;align-items:center;justify-content:center;min-height:42px;color:#94a3b8;font-size:12px;font-weight:600;text-align:center}.worker-sheet-code{flex:0 0 auto;min-width:54px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:0 12px;font-size:15px;font-weight:850;line-height:1}.worker-sheet-code-blue{background:#dbeafe;color:#1d4ed8}.worker-sheet-code-green{background:#dcfce7;color:#15803d}.worker-sheet-code-purple{background:#ede9fe;color:#6d28d9}.worker-sheet-code-red{background:#fee2e2;color:#dc2626}.worker-sheet-code-on-call{background:#ffe4e6;border:1px solid #fda4af;color:#be123c}.worker-sheet-code-day{background:#eafbef;border:1px solid #bbf7d0;color:#166534}.worker-sheet-code-shift2{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca}.worker-sheet-code-i{background:#eaf2ff;border:1px solid #b7d4ff;color:#1d4ed8}.worker-sheet-code-ii{background:#e8f8ee;border:1px solid #a8e6bd;color:#15803d}.worker-sheet-code-d{background:#ecfeff;border:1px solid #67e8f9;color:#0e7490}.worker-sheet-code-neutral{background:#f3f4f6;border:1px solid #a3adbb;color:#4b5563}.worker-sheet-code.worker-sheet-mini-code{min-width:0;width:100%;max-width:34px;height:18px;border-radius:9999px;padding:0 4px;font-size:10px}.bottom-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-text{display:inline-block;width:100%;text-align:center}.person-display{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}.person-avatar{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#dbeafe;color:#1e3a8a;border:1px solid #bfdbfe;font-size:12px;font-weight:850;line-height:1;letter-spacing:0}.person-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-display-table .person-avatar,.person-display-compact .person-avatar,.person-display-inline .person-avatar{width:24px;height:24px;font-size:10px}.person-display-inline{gap:6px}.bottom-name .person-label{min-width:0}.empty-state{padding:12px;color:#475569}.info-tooltip{position:relative;display:inline-flex;justify-content:center;align-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #94a3b8;color:#475569;font-weight:700;font-size:13px;cursor:default}.info-tooltip .tooltip-content{position:absolute;top:28px;left:0;min-width:260px;background:#0f172a;color:#f8fafc;border-radius:10px;padding:10px;box-shadow:0 8px 16px #0000002e;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:5}.info-tooltip:hover .tooltip-content{opacity:1;pointer-events:auto}.info-tooltip .tooltip-content strong{color:#e0f2fe}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.stats-search{margin-bottom:10px;position:relative}.stats-search input{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px}.stats-suggestions{position:absolute;top:110%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 6px 16px #0f172a14;z-index:4;display:flex;flex-direction:column}.suggestion-wrap{position:relative;width:100%}.stats-suggestions button{padding:6px 10px;text-align:left;background:transparent;border:none;cursor:pointer}.stats-suggestions button:hover{background:#f1f5f9}.stat-card{background:#fff;border:1px solid #e5e7eb;padding:10px;border-radius:12px;box-shadow:0 8px 18px #0f172a0d;position:relative}.stat-name{font-weight:800;margin-bottom:8px}.stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.setting-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5e7eb;padding:10px;border-radius:10px}.setting-value{font-weight:700}.sliders-row{flex-direction:column;align-items:flex-start;gap:14px}.slider-card{display:flex;align-items:center;gap:10px;width:100%}.slider-card input[type=range]{flex:1}.settings-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.settings-subtabs{display:none}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-card{min-width:0;padding:9px;border-radius:10px}.stat-name{min-width:0;margin-bottom:7px;padding-right:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.stat-row{gap:6px;margin-bottom:5px;font-size:13px}.stat-row .pill{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:28px;box-sizing:border-box;padding:0 8px;font-size:13px;line-height:1}.stat-row strong{font-size:16px;font-weight:850}.stats-search input{height:42px;box-sizing:border-box;font-size:16px}.swaps-tabs{gap:8px;padding:8px}.swaps-tabs button{padding:0 2px;font-size:12px}}@media(max-width:900px){.settings-layout{grid-template-columns:1fr}.settings-subtabs{display:flex;grid-column:1 / -1;width:100%;align-self:center;margin:0 auto 2px;padding:5px;border-radius:22px;background:color-mix(in srgb,var(--app-panel-2) 82%,#ffffff);border-color:var(--app-line-strong)}.settings-subtabs button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:18px;color:var(--app-muted)}.settings-subtabs button svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.settings-subtabs button.active{background:var(--app-accent);border-color:var(--app-accent);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--app-accent) 28%,transparent)}.settings-card{max-height:none;overflow:visible}.settings-card{position:relative;cursor:pointer}.settings-card:not(.settings-card-expanded){gap:5px;max-height:none;overflow:hidden;padding-right:48px}.settings-card:not(.settings-card-expanded):after{content:"";position:absolute;top:20px;right:18px;width:10px;height:10px;border-right:2px solid var(--app-muted);border-bottom:2px solid var(--app-muted);transform:rotate(45deg)}.settings-card.settings-card-expanded:after{content:"";position:absolute;top:24px;right:18px;width:10px;height:10px;border-right:2px solid var(--app-muted);border-bottom:2px solid var(--app-muted);transform:rotate(225deg)}.settings-card:not(.settings-card-expanded)>:not(.settings-card-title):not(.settings-card-subtitle){display:none!important}.settings-card.settings-card-expanded{cursor:default;padding-right:48px}.settings-card-versions{min-height:unset;max-height:none}.settings-card-versions .version-list:not(.version-list-starred){max-height:260px}}.settings-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;box-shadow:0 12px 24px #0f172a0d;display:flex;flex-direction:column;gap:12px;max-height:480px;overflow-y:auto}.settings-card-versions{min-height:560px;min-width:560px;max-height:720px}.settings-card-versions .version-list:not(.version-list-starred){max-height:560px}.settings-card-title{font-weight:800;font-size:16px;margin:0}.settings-card-subtitle{color:#64748b;font-size:12px;margin-top:-6px}.settings-card-language{max-height:none;overflow:visible}.freeze-header{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.freeze-year{font-weight:800;font-size:16px}.freeze-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.freeze-cell{padding:10px 0;border-radius:12px;border:1px solid #d7dce5;background:#f8fafc;font-weight:700;cursor:pointer;transition:all .15s ease}.freeze-cell:hover{background:#e5f0ff}.freeze-active{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 0 0 1px #1d4ed8 inset,0 8px 16px #2563eb40;font-weight:800;outline:3px solid #6497ff;outline-offset:0}.stayer-runs{display:flex;flex-direction:column;gap:8px}.stayer-run-card{padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0000000a}.stayer-run-name{font-weight:700;font-size:15px;margin-bottom:4px}.stayer-run-dates{color:#475569;font-size:14px}.settings-sliders{display:flex;flex-direction:column;gap:10px}.settings-rolelabels{display:flex;flex-direction:column;gap:10px;margin:10px 0}.setting-row.compact{padding:10px}.settings-card button{background:#f8fafc;border:1px solid #d7dce5;border-radius:10px;padding:8px 12px;cursor:pointer;transition:background .2s ease,transform .1s ease,box-shadow .2s ease;font-weight:600;color:#0f172a}.settings-card button:hover{background:#e8f0ff;transform:translateY(-1px);box-shadow:0 6px 12px #2563eb1f}.upload-feedback{border:1px solid #d7dce5;border-radius:10px;padding:10px 12px;background:#f8fafc}.upload-feedback.success{border-color:#86efac;background:#f0fdf4;color:#166534}.upload-feedback.warning{border-color:#fcd34d;background:#fffbeb;color:#92400e}.upload-feedback.error{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.upload-feedback-title{font-weight:700;margin-bottom:6px}.upload-feedback-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.version-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.version-list-starred{max-height:none;overflow:visible}.version-section-title{font-size:12px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.4px;margin-top:2px}.version-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px;background:#f8fafc}.version-meta{min-width:0}.version-name{font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.version-actions{display:flex;align-items:center;gap:8px}.algo-toggle{display:grid;grid-template-columns:1fr 1fr;background:#e2e8f0;border-radius:24px;padding:4px;gap:4px;width:200px}.algo-toggle button{border:none;background:transparent;border-radius:20px;font-weight:700;color:#475569;transition:background .2s ease,color .2s ease}.algo-toggle button.active{background:#2563eb;color:#fff}.uploads-list{max-height:220px;overflow:auto;width:100%;font-size:12px;border-top:1px dashed #e5e7eb;padding-top:10px}.student-row{display:flex;justify-content:space-between;align-items:center;font-size:16px;margin-bottom:8px}.auth-user{font-size:13px;font-weight:700;color:#64748b;text-align:center}.accounts-settings-grid{grid-template-columns:minmax(0,1fr)}.accounts-card{width:min(100%,980px);max-height:none;overflow:visible;padding:18px;container-type:inline-size}.accounts-card .settings-card-title{font-size:22px}.accounts-card .settings-card-subtitle{font-size:13px;line-height:1.35}.account-create-row,.account-row{display:grid;gap:10px;align-items:center;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:12px}.account-create-row{grid-template-columns:minmax(140px,1fr) minmax(150px,1fr) minmax(115px,.55fr) minmax(150px,.85fr) max-content}.account-row{grid-template-columns:minmax(140px,1fr) minmax(150px,1fr) minmax(115px,.55fr) minmax(150px,.85fr) max-content max-content}.account-create-row input,.account-create-row select,.account-row input,.account-row select{width:100%;min-width:0;min-height:40px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font:inherit;font-size:14px;padding:9px 12px;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.account-create-row input::placeholder,.account-row input::placeholder{color:#64748b}.account-create-row input:focus,.account-create-row select:focus,.account-row input:focus,.account-row select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.account-create-row button,.account-row button{min-height:40px;white-space:nowrap}.account-create-row button:not(:disabled),.account-row button:not(.danger):not(:disabled){background:#2563eb;border-color:#2563eb;color:#fff}.account-create-row button:not(:disabled):hover,.account-row button:not(.danger):not(:disabled):hover{background:#1d4ed8;box-shadow:0 8px 18px #2563eb33}.account-row button.danger{background:#fff5f5;border-color:#fecaca;color:#b91c1c}.account-row button.danger:hover{background:#fee2e2;box-shadow:0 8px 18px #b91c1c1f}.account-create-row button:disabled,.account-row button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.account-list{display:flex;flex-direction:column;gap:10px}@container (max-width: 760px){.account-create-row,.account-row{grid-template-columns:repeat(2,minmax(0,1fr))}.account-create-row select,.account-create-row button,.account-row select,.account-row button{width:100%}}@container (max-width: 520px){.account-create-row,.account-row{grid-template-columns:1fr}}.site-gate-title-one{font-weight:800;font-size:24px;margin-bottom:12px;text-align:left;align-items:left}.site-gate-title-two{font-weight:500;font-size:24px;margin-bottom:12px;text-align:left;align-items:left}.calendar-month-wrapper{padding:12px}.calendar-month-header{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.calendar-month-header h2{margin:0;font-size:22px;font-weight:800}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;font-weight:700;color:#374151;font-size:12px;padding:0 4px}.calendar-weekday{text-align:center}.calendar-month-grid{display:flex;flex-direction:column;gap:8px}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:4px}.calendar-day-cell{border:1px solid #e5e7eb;border-radius:8px;min-height:140px;padding:6px;background:#fff;display:flex;flex-direction:column;gap:6px}.calendar-day-cell.muted{background:#f9fafb;color:#9ca3af}.calendar-day-cell-header{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;color:#111827;font-size:12px}.calendar-day-cell-header .day-number{font-size:14px}.calendar-day-cell-header .day-number.today{background:#ef4444;color:#fff;border-radius:999px;padding:4px 7px;min-width:26px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.calendar-day-cell-header .day-dow{color:#6b7280}.calendar-events{display:flex;flex-direction:column;gap:4px}.cal-shift-pill{border-radius:8px;padding:4px 6px;background:#f8fafc;border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:3px}.cal-shift-title{font-weight:700;font-size:12px;color:#0f172a}.cal-shift-title.cal-app{color:#15803d}.cal-shift-title.cal-twr{color:#1d4ed8}.cal-worker{border-radius:6px;padding:4px 6px;display:flex;align-items:center;gap:6px;color:#0f172a;background:#fff;border:1px solid #e5e7eb}.cal-worker select{flex:1;font-size:12px}.cal-worker-name{font-weight:400;background:transparent;border:none;padding:0;text-align:left;cursor:pointer;color:#0f172a}.cal-worker-name:hover{text-decoration:underline}.cal-select-wrap{flex:1}.pill .pill-text{display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.calendar-mobile-wrapper{display:flex;flex-direction:column;gap:5px;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.calendar-mobile-wrapper.month-next .calendar-mobile-grid,.calendar-mobile-wrapper.month-next .calendar-mobile-bottom{animation:cal-month-next .24s ease}.calendar-mobile-wrapper.month-prev .calendar-mobile-grid,.calendar-mobile-wrapper.month-prev .calendar-mobile-bottom{animation:cal-month-prev .24s ease}.calendar-mobile-grid,.calendar-mobile-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-left:4px;margin-right:4px}.calendar-mobile-grid{flex:0 0 auto;margin-top:1%}.calendar-mobile-weekdays{font-size:11px;color:#8b98ad;text-align:center;margin-bottom:6px;margin-top:6px}.cal-mobile-weekday{display:flex;align-items:center;justify-content:center;font-weight:700}.cal-mobile-day{background:#fff;border:none;border-radius:10px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 1px 3px #00000014;cursor:pointer}.cal-mobile-day.muted{color:#cbd5e1;opacity:.7}.cal-mobile-day.active{outline:2px solid #2563eb}.cal-mobile-day.today .cal-mobile-num{background:#ef4444;color:#fff;border-radius:999px;padding:4px 8px;min-width:28px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.cal-mobile-num{font-weight:700}.cal-mobile-bars{display:flex;gap:3px}.cal-mobile-bars .bar{width:16px;height:4px;border-radius:4px}.cal-mobile-bars .bar.fav-stayer{background:#ef4444}.cal-mobile-bars .bar.fav-goer2{background:#86efac}.cal-mobile-bars .bar.fav-goer{background:#22c55e}.calendar-mobile-bottom{background:#fff;border-radius:12px 12px 0 0;padding:10px 4px;box-shadow:0 -2px 10px #00000014;flex:1 0 128px;min-height:128px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.calendar-mobile-bottom .bottom-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-weight:800;margin-bottom:8px}.calendar-mobile-bottom .bottom-header .date{flex:0 0 auto;padding-left:4px}@keyframes cal-month-next{0%{opacity:.65;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes cal-month-prev{0%{opacity:.65;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes cal-bottom-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.calendar-mobile-bottom.bottom-up>div{animation:cal-bottom-slide-up .24s ease both;animation-fill-mode:backwards}.calendar-mobile-bottom.bottom-up>div:nth-child(1){animation-delay:0ms}.calendar-mobile-bottom.bottom-up>div:nth-child(2){animation-delay:50ms}.calendar-mobile-bottom.bottom-up>div:nth-child(3){animation-delay:.1s}.calendar-mobile-bottom.bottom-up>div:nth-child(4){animation-delay:.15s}.calendar-mobile-bottom.bottom-up>div:nth-child(5){animation-delay:.2s}.calendar-mobile-bottom.bottom-up>div:nth-child(6){animation-delay:.25s}.calendar-mobile-bottom.bottom-up>div:nth-child(7){animation-delay:.3s}.calendar-mobile-bottom.bottom-up>div:nth-child(8){animation-delay:.35s}.calendar-mobile-version{flex:1 1 auto;min-width:0;text-align:right;font-size:11px;font-weight:400;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.worker-sheet-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0 10px env(safe-area-inset-bottom);background:#0f172a3d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:worker-sheet-backdrop-in .18s ease both}.worker-sheet-backdrop.closing{animation:worker-sheet-backdrop-out .22s ease both}.worker-bottom-sheet{position:relative;width:min(100%,520px);max-height:min(78dvh,620px);overflow-y:auto;border:1px solid #d8e1f0;border-bottom:0;border-radius:24px 24px 0 0;background:#fff;color:#0f172a;box-shadow:0 -18px 48px #0f172a38;padding:14px 20px calc(16px + env(safe-area-inset-bottom));animation:worker-sheet-slide-up .24s cubic-bezier(.2,.8,.2,1) both;will-change:transform}.worker-bottom-sheet.closing{animation:worker-sheet-slide-down .22s cubic-bezier(.32,0,.67,0) both}.worker-sheet-handle-area{display:flex;justify-content:center;align-items:center;margin:-2px 0 8px;padding:8px 0 6px;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.worker-sheet-handle-area:active,.worker-sheet-person:active{cursor:grabbing}.worker-sheet-handle{width:56px;height:5px;margin:0;border-radius:999px;background:#94a3b8}.worker-sheet-close{position:absolute;top:14px;right:16px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dbe4f2;border-radius:50%;background:#f8fafc;color:#64748b;font-size:24px;line-height:1;cursor:pointer}.worker-sheet-person{display:flex;align-items:center;gap:14px;min-width:0;padding-right:40px;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.worker-sheet-avatar{flex:0 0 auto;width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#1d4ed8;color:#fff;font-size:21px;font-weight:850}.worker-sheet-title{min-width:0}.worker-sheet-name{display:flex;align-items:center;gap:8px;min-width:0;color:#0f172a;font-size:24px;font-weight:850;line-height:1.1}.worker-sheet-name>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-sheet-you{flex:0 0 auto;border-radius:8px;background:#e2e8f0;color:#475569;padding:4px 8px;font-size:14px;font-weight:800}.worker-sheet-role{margin-top:6px;color:#64748b;font-size:17px;font-weight:650}.worker-sheet-section{margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0}.worker-sheet-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;color:#1e293b;font-size:17px;font-weight:750}.worker-sheet-row-strong{font-size:18px;font-weight:850}.worker-sheet-coworkers{margin-top:10px;color:#64748b;font-size:15px;line-height:1.35;font-weight:650}.worker-sheet-coworkers span{font-weight:800}.worker-sheet-heading{margin-bottom:8px;color:#1e293b;font-size:18px;font-weight:850}.worker-sheet-mini-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.worker-sheet-mini-day{min-width:0;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc;padding:7px 3px 5px;box-sizing:border-box;overflow:hidden}.worker-sheet-mini-day.has-shift{background:#eef2ff;border-color:#c7d2fe}.worker-sheet-mini-dow{color:#64748b;font-size:10px;font-weight:800;line-height:1;text-transform:uppercase}.worker-sheet-mini-num{color:#0f172a;font-size:16px;font-weight:850;line-height:1}.worker-sheet-mini-codes{width:100%;min-height:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.worker-sheet-mini-code{min-width:0;width:100%;max-width:34px;height:18px;box-sizing:border-box;border-radius:9999px;padding:0 4px;font-size:10px;overflow:hidden;text-overflow:clip;white-space:nowrap}.worker-sheet-mini-off{color:#94a3b8;font-size:10px;font-weight:750;line-height:1}.worker-sheet-mini-more{color:#64748b;font-size:10px;font-weight:850;line-height:1}.worker-sheet-empty{color:#64748b;font-size:14px;font-weight:650}.worker-sheet-swap-btn{width:100%;height:56px;margin-top:18px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:10px;background:#4f6fe5;color:#fff;font-size:18px;font-weight:850;cursor:pointer;box-shadow:0 12px 24px #4f6fe53d}.worker-sheet-swap-btn svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}@keyframes worker-sheet-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes worker-sheet-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes worker-sheet-slide-up{0%{opacity:.78;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes worker-sheet-slide-down{0%{opacity:1;transform:translateY(var(--sheet-close-from, 0px))}to{opacity:.82;transform:translateY(100%)}}.name-col-toggle{display:none}.name-cell-inner{display:flex;align-items:center;gap:6px}.name-header-wrap{display:flex;align-items:center}.overview-filter-bar{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:10px;background:#f8fafceb;border:1px solid #e2e8f0;border-bottom:0;border-radius:12px;box-shadow:0 10px 28px #0f172a0f}.overview-filter-bar--desktop{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:stretch;gap:6px;margin-bottom:0;padding:5px 6px;border-radius:10px 10px 0 0}.overview-filter-bar--desktop>.overview-filter-chips{justify-self:start}.overview-filter-center{justify-self:center;min-width:0;width:0}.overview-filter-bar--desktop .overview-filter-search{height:30px;gap:6px;padding:0 9px;border-radius:8px}.overview-filter-bar--desktop .overview-filter-search svg{width:14px;height:14px}.overview-filter-bar--desktop .overview-filter-search input{font-size:12px}.overview-filter-bar--desktop .overview-filter-chips,.overview-filter-bar--desktop .overview-main-filter-group,.overview-filter-bar--desktop .overview-shifts-subfilter-group{gap:4px}.overview-filter-bar--desktop .overview-filter-chips{align-items:center}.overview-filter-bar--desktop .overview-filter-chip,.overview-filter-bar--desktop .overview-filter-clear{height:28px;padding:0 10px;font-size:12px}.overview-filter-bar--desktop .overview-fullscreen-btn{width:30px;height:30px;border-radius:8px}.overview-filter-bar--desktop .overview-fullscreen-icon{width:15px;height:15px}.overview-filter-tools{display:inline-flex;align-items:center;justify-self:end;gap:6px;flex:0 0 auto}.overview-filter-search--compact{flex:0 1 190px;min-width:150px;max-width:210px}.overview-role-filter-group,.overview-theme-filter-group{display:inline-flex;align-items:center;gap:3px;padding:2px;border:1px solid #dbe4ef;border-radius:999px;background:#fff}.overview-filter-chips .overview-role-filter-group,.overview-filter-chips .overview-theme-filter-group{flex:0 0 auto}.overview-toolbar-select{display:inline-flex;align-items:center;gap:5px;height:30px;padding:2px 2px 2px 9px;border:1px solid #dbe4ef;border-radius:999px;background:#fff;color:#64748b;font-size:11px;font-weight:850;white-space:nowrap}.overview-toolbar-select span{color:#64748b;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.overview-toolbar-select select{height:24px;min-width:104px;padding:0 22px 0 8px;border:0;border-radius:999px;background:#eff6ff;color:#2563eb;font:inherit;cursor:pointer}.overview-role-filter,.overview-theme-filter{height:24px;min-width:42px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:#64748b;font-size:11px;font-weight:850;cursor:pointer}.overview-role-filter:hover,.overview-theme-filter:hover{background:#eff6ff;color:#2563eb}.overview-role-filter.active,.overview-theme-filter.active{background:#2563eb;color:#fff}.overview-role-legend{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-size:11px;font-weight:800;white-space:nowrap}.overview-role-legend-item{display:inline-flex;align-items:center;gap:3px}.overview-person-search{position:relative;flex:0 1 auto}.overview-person-search-menu{position:absolute;top:calc(100% + 5px);right:0;z-index:30;display:grid;gap:4px;min-width:210px;max-height:260px;overflow:auto;padding:6px;border:1px solid #dbe4ef;border-radius:10px;background:#fff;box-shadow:0 12px 26px #0f172a24}.overview-person-search-menu button{display:flex;align-items:center;width:100%;min-height:34px;padding:5px 7px;border:0;border-radius:8px;background:transparent;color:#1e293b;cursor:pointer;text-align:left}.overview-person-search-menu button:hover{background:#eff6ff}.overview-filter-search{display:flex;align-items:center;gap:8px;flex:1 1 220px;min-width:180px;height:38px;padding:0 12px;background:#fff;border:1px solid #dbe4ef;border-radius:10px;color:#64748b}.overview-filter-search svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.overview-filter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#1e293b;font:inherit;font-size:14px}.overview-filter-search input::placeholder{color:#94a3b8}.overview-filter-tools .overview-filter-search--compact{flex:0 1 190px;min-width:150px;max-width:210px;height:30px;padding:0 9px;border-radius:8px}.overview-filter-tools .overview-filter-search--compact input{font-size:12px}.overview-filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.overview-fullscreen-btn{width:38px;height:38px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dbe4ef;border-radius:10px;background:#fff;color:#2563eb;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.overview-fullscreen-btn:hover,.overview-fullscreen-btn.active{border-color:#bfdbfe;background:#eff6ff;box-shadow:0 8px 18px #2563eb29}.overview-fullscreen-btn:active{transform:translateY(1px)}.overview-fullscreen-icon{position:relative;width:18px;height:18px}.overview-fullscreen-icon:before,.overview-fullscreen-icon:after{content:"";position:absolute;inset:0;border:2px solid currentColor}.overview-fullscreen-icon:before{clip-path:polygon(0 0,42% 0,42% 12%,12% 12%,12% 42%,0 42%)}.overview-fullscreen-icon:after{clip-path:polygon(58% 0,100% 0,100% 42%,88% 42%,88% 12%,58% 12%,58% 0,100% 58%,100% 100%,58% 100%,58% 88%,88% 88%,88% 58%)}.overview-main-filter-group{display:flex;align-items:center;gap:6px;overflow:hidden;max-width:600px;opacity:1;transition:max-width .22s ease,opacity .18s ease}.overview-main-filter-group.hidden{max-width:0;opacity:0;pointer-events:none}.overview-shifts-subfilter-group{display:flex;align-items:center;gap:6px;animation:shifts-subfilter-appear .2s ease both}@keyframes shifts-subfilter-appear{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}[data-shifts-filter=h-only] .extra-shift-codes{opacity:.18;filter:saturate(0);transition:opacity .15s,filter .15s}[data-shifts-filter=h-only] .overview-chip:not(.overview-chip--night){opacity:.18;filter:saturate(0);transition:opacity .15s,filter .15s}[data-shifts-filter=app] .people-role-card.twr,[data-shifts-filter=app] .extra-pill--twr,[data-shifts-filter=app] .overview-chip--twr-pos,[data-shifts-filter=twr] .people-role-card.app,[data-shifts-filter=twr] .extra-pill--app,[data-shifts-filter=twr] .overview-chip--app-pos{opacity:.15;filter:saturate(0);transition:opacity .15s,filter .15s}.overview-filter-chip,.overview-filter-clear{height:34px;border-radius:999px;border:1px solid #dbe4ef;background:#fff;color:#475569;font-weight:700;font-size:13px;line-height:1;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.overview-filter-chip{padding:0 13px}.overview-filter-clear{padding:0 12px;background:#fff1f2;border-color:#fecdd3;color:#e11d48}.overview-filter-chip:hover{border-color:#bfdbfe;background:#eff6ff}.overview-filter-clear:hover{background:#ffe4e6;border-color:#fda4af}.overview-filter-chip.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb38}.overview-empty-filter-table,.overview-empty-filter-cell{text-align:center;color:#64748b;font-weight:700}.overview-empty-filter-table{height:96px;background:#fff}.app-shell.dark .overview-filter-bar{background:#0f172ae0;border-color:#334155;box-shadow:0 10px 28px #0000002e}.app-shell.dark .overview-fullscreen-btn{background:#162032;border-color:#334155;color:#93c5fd}.app-shell.dark .overview-fullscreen-btn:hover,.app-shell.dark .overview-fullscreen-btn.active{background:#1e293b;border-color:#3b82f6}.app-shell.dark .overview-filter-search{background:#0f172a;border-color:#334155;color:#94a3b8}.app-shell.dark .overview-filter-search input{color:#e2e8f0}.app-shell.dark .overview-role-filter-group,.app-shell.dark .overview-theme-filter-group,.app-shell.dark .overview-toolbar-select{background:#0f172a;border-color:#334155}.app-shell.dark .overview-toolbar-select{color:#cbd5e1}.app-shell.dark .overview-toolbar-select select{background:#172554;color:#bfdbfe}.app-shell.dark .overview-person-search-menu{background:#0f172a;border-color:#334155;box-shadow:0 12px 26px #00000057}.app-shell.dark .overview-person-search-menu button{color:#e2e8f0}.app-shell.dark .overview-person-search-menu button:hover{background:#1e293b}.app-shell.dark .overview-role-filter,.app-shell.dark .overview-theme-filter{color:#cbd5e1}.app-shell.dark .overview-role-filter:hover,.app-shell.dark .overview-theme-filter:hover{background:#1e293b;color:#93c5fd}.app-shell.dark .overview-role-filter.active,.app-shell.dark .overview-theme-filter.active{background:#2563eb;color:#fff}.app-shell.dark .overview-filter-chip{background:#162032;border-color:#334155;color:#cbd5e1}.app-shell.dark .overview-filter-clear{background:#1f0a0e;border-color:#7f1d1d;color:#fda4af}.app-shell.dark .overview-filter-chip:hover{background:#1e293b;border-color:#475569}.app-shell.dark .overview-filter-clear:hover{background:#2d1219;border-color:#9f1239}.app-shell.dark .overview-filter-chip.active{background:#172554;border-color:#3b82f6;color:#bfdbfe;box-shadow:0 8px 18px #2563eb2e}.app-shell.dark .cell-actions{background:#0f172a;border-color:#334155;box-shadow:0 18px 44px #0000006b}.app-shell.dark .cell-actions-header{border-bottom-color:#1e293b}.app-shell.dark .cell-actions-person{color:#e2e8f0}.app-shell.dark .cell-actions-meta,.app-shell.dark .cell-actions-section-label{color:#94a3b8}.app-shell.dark .cell-action-btn{background:#162032;border-color:#334155;color:#cbd5e1}.app-shell.dark .cell-action-btn:hover{background:#1e293b;border-color:#3b82f6;color:#93c5fd}.app-shell.dark .cell-action-btn.active{background:#172554;border-color:#3b82f6;color:#bfdbfe;box-shadow:inset 0 0 0 1px #60a5fa24}.app-shell.dark .cell-action-btn.danger{background:#7f1d1d38;border-color:#f8717166;color:#fecaca}.app-shell.dark .cell-action-btn.danger:hover{background:#7f1d1d57;border-color:#f8717194;color:#fee2e2}.app-shell.dark .overview-role-popover{background:#0f172a;border-color:#334155;box-shadow:0 18px 44px #0000006b}.app-shell.dark .overview-role-popover-header{border-bottom-color:#1e293b}.app-shell.dark .overview-role-popover-header span{color:#e2e8f0}.app-shell.dark .overview-role-popover-header small{color:#94a3b8}.app-shell.dark .overview-role-option{background:#162032;border-color:#334155;color:#cbd5e1}.app-shell.dark .overview-role-option:hover{background:#1e293b;border-color:#3b82f6;color:#93c5fd}.app-shell.dark .overview-role-option--stayer{background:#fecaca;border-color:#fca5a5;color:#7f1d1d}.app-shell.dark .overview-role-option--goer1{background:#bbf7d0;border-color:#86efac;color:#123524}.app-shell.dark .overview-role-option--goer2{background:#e0e7ff;border-color:#c7d2fe;color:#312e81}.app-shell.dark .overview-role-option--student{background:#cffafe;border-color:#a5f3fc;color:#164e63}.app-shell.dark .overview-role-option--stayer:hover{background:#fca5a5;border-color:#f87171;color:#7f1d1d}.app-shell.dark .overview-role-option--goer1:hover{background:#86efac;border-color:#4ade80;color:#123524}.app-shell.dark .overview-role-option--goer2:hover{background:#c7d2fe;border-color:#a5b4fc;color:#312e81}.app-shell.dark .overview-role-option--student:hover{background:#a5f3fc;border-color:#67e8f9;color:#164e63}.app-shell.dark .overview-role-option.active{background:#172554;border-color:#3b82f6;color:#bfdbfe;box-shadow:inset 0 0 0 1px #60a5fa24}.app-shell.dark .overview-role-option--stayer.active{background:#fecaca;border-color:#ef4444;color:#7f1d1d}.app-shell.dark .overview-role-option--goer1.active{background:#bbf7d0;border-color:#22c55e;color:#123524}.app-shell.dark .overview-role-option--goer2.active{background:#e0e7ff;border-color:#6366f1;color:#312e81}.app-shell.dark .overview-role-option--student.active{background:#cffafe;border-color:#06b6d4;color:#164e63}.app-shell.dark .overview-empty-filter-table{background:#0f172a;color:#94a3b8}.people-table-container{max-width:100%;overflow-x:auto;overflow-y:visible;cursor:grab}.people-table-container.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.people-table-container.dragging .people-table th,.people-table-container.dragging .people-table td{pointer-events:none}.people-table{border-collapse:separate;border-spacing:0}.people-table th{padding:3px 4px;border:1px solid #e5e7eb;text-align:center;min-width:56px;vertical-align:top;height:36px;transition:background .12s ease,box-shadow .12s ease}.people-table td{position:relative;padding:2px 3px;border:1px solid #e5e7eb;text-align:left;min-width:56px;vertical-align:top;height:44px;transition:background .12s ease,box-shadow .12s ease}.people-table th.continuous-month-separator,.people-table td.continuous-month-separator{border-left:3px solid #94a3b8!important;box-shadow:inset 2px 0 #94a3b81f}.people-table th{background:#f8fafc;z-index:2}:root{--topbar-h: 0px;--topbar-gap: 12px;--app-height: 100dvh}.people-table thead th{position:sticky;top:0;z-index:6;background:#f8fafc;box-shadow:0 1px #dbe4ef,0 4px 10px #0f172a0d}.people-table thead th:first-child{left:0;z-index:8;box-shadow:1px 0 #dbe4ef,0 4px 10px #0f172a0d}.people-table .sticky-name{z-index:5;background:#f8fafc;width:160px;min-width:120px;max-width:160px;align-content:center;box-shadow:1px 0 #dbe4ef}.people-table .name-cell-inner{width:100%;max-width:152px;min-width:0;gap:5px;overflow:hidden}.people-table .person-display-table{width:100%;max-width:100%;gap:5px}.people-table .person-display-table .person-avatar{width:22px;height:22px;font-size:9px}.people-table .person-display-table .person-label{display:-webkit-box;min-width:0;max-height:25px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;text-overflow:clip;overflow-wrap:anywhere;font-size:clamp(9px,.78vw,11px);line-height:1.08}.people-table th.weekend{background:#dee2e5}.people-table th.holiday{background:#fee2e2;color:#b91c1c}.people-table td.weekend{background:#f6f8fb}.people-table td.holiday{background:#ffe4e6}.date-header{display:flex;flex-direction:column;align-items:center;line-height:1.08}.date-header small{color:#64748b;font-size:11px}.people-table th.today,.people-table td.today{background:#eff6ff}.people-table th.today{box-shadow:inset 0 -2px #60a5fa,0 1px #dbe4ef}.people-table td.selected-column,.people-table td:focus-within{background:#eaf3ff;box-shadow:inset 0 0 0 2px #2563eb3d}.people-table td.populated-shift-cell:hover{background:#f7fbff}.people-table td:not(.populated-shift-cell):hover{background:#2563eb09}.calendar-date.holiday{color:#b91c1c}.extra-shift-codes{display:flex;flex-wrap:wrap;gap:3px;max-width:140px;justify-content:center}.extra-code-pill{background:#94a3b824;color:#64748b;border-radius:7px;padding:1px 5px;font-size:10px;font-weight:800;line-height:1.1;border:1px solid rgba(148,163,184,.22);white-space:nowrap;box-shadow:inset 0 1px #ffffff73}.extra-code-pill--on-call{background:#fca5a5;border-color:#fca5a5;color:#3f1d1d}.extra-code-pill--day{background:#bbf7d0;border-color:#bbf7d0;color:#123524}.extra-code-pill--shift2{background:#e0e7ff;border-color:#e0e7ff;color:#312e81}.extra-code-pill--i-2{background:#bfdbfe;border-color:#bfdbfe;color:#1e3a8a}.extra-code-pill--ii-2{background:#dcfce7;border-color:#dcfce7;color:#14532d}.extra-code-pill--standby{background:#facc1533;border-color:#facc1552;color:#92400e}.extra-code-pill--cover,.extra-code-pill--leave{background:#294563;border-color:#3e5f82;color:#f0f6ff}.extra-code-pill--off{background:transparent;border-color:transparent;color:#94a3b8;box-shadow:none}.extra-code-pill--d-shift{background:#cffafe;border-color:#cffafe;color:#164e63}.cell-actions{position:absolute;top:calc(100% - 2px);left:50%;z-index:80;display:grid;width:min(232px,calc(100vw - 28px));gap:10px;padding:10px;border:1px solid #dbe4ef;border-radius:14px;background:#fff;box-shadow:0 18px 40px #0f172a29;transform:translate(-50%)}.cell-actions-header{display:grid;gap:2px;padding:1px 2px 7px;border-bottom:1px solid #edf2f7}.cell-actions-person{color:#1e293b;font-size:12px;font-weight:850;line-height:1.15}.cell-actions-meta{color:#64748b;font-size:10.5px;font-weight:700;line-height:1.2}.cell-actions-section{display:grid;gap:5px}.cell-actions-section-label{color:#64748b;font-size:10px;font-weight:850;letter-spacing:.08em;line-height:1;text-transform:uppercase}.cell-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.cell-action-btn{min-height:34px;padding:0 8px;border:1px solid #dbe4ef;border-radius:9px;background:#f8fafc;color:#334155;font-size:12px;font-weight:850;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.cell-action-btn:hover{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.cell-action-btn:active{transform:translateY(1px)}.cell-action-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.cell-action-btn.active{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8;box-shadow:inset 0 0 0 1px #2563eb1f}.cell-action-btn.danger{width:100%;margin-top:1px;background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.cell-action-btn.danger:hover{background:#fecaca;border-color:#f87171;color:#991b1b}.cell-shifts{display:flex;flex-wrap:wrap;gap:3px;align-items:flex-start}.people-table .overview-empty{display:inline-flex;width:100%;min-height:100%;align-items:center;justify-content:center;color:#cbd5e1;font-size:13px;font-weight:400;opacity:.55;line-height:1}.people-table .overview-chip-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:100%}.people-table .overview-chip-stack:has(.overview-chip--night){align-items:center;justify-content:center}.people-table .overview-chip-wrap{position:relative;display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:2px;width:auto}.people-table .overview-chip{--overview-role-cap-bg: rgba(71, 85, 105, .82);--overview-role-cap-border: rgba(51, 65, 85, .4);--overview-role-cap-color: #ffffff;appearance:none;min-width:34px;max-width:100%;min-height:22px;padding:3px 7px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:7px;border:1px solid rgba(255,255,255,.08);color:#ecf4ff;font:inherit;font-size:12px;font-weight:760;line-height:1;text-align:center;white-space:nowrap;box-shadow:inset 0 1px #ffffff12;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease,border-color .12s ease}.people-table button.overview-chip{cursor:pointer}.people-table button.overview-chip:hover{filter:brightness(1.035);transform:translateY(-1px)}.people-table button.overview-chip:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.people-table .overview-chip--night{width:auto;min-width:52px;min-height:28px;flex:0 0 auto;align-self:center;padding:4px 7px 4px 10px;font-size:14px;font-weight:850;letter-spacing:.01em}.people-table .overview-chip:not(.overview-chip--night){min-width:26px;min-height:17px;padding:2px 5px;border-radius:6px;font-size:10px;gap:2px}.people-table .overview-chip:has(.overview-chip__role){align-items:stretch;gap:0;overflow:hidden;padding:0}.people-table .overview-chip--night:has(.overview-chip__role){padding:0}.people-table .overview-chip:has(.overview-chip__role) .overview-chip__code{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;padding:3px 7px 3px 9px}.people-table .overview-chip:not(.overview-chip--night):has(.overview-chip__role) .overview-chip__code{padding:2px 5px 2px 6px}.people-table .overview-chip--night:has(.overview-chip__role) .overview-chip__code{padding:4px}.overview-chip__code{min-width:0}.overview-chip__role{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;min-width:20px;height:15px;margin-block:1px;margin-left:1px;padding:0 4px;border-radius:6px;font-size:9.5px;font-weight:760;line-height:1;letter-spacing:0;border:1px solid transparent}.people-table .overview-chip__role{align-self:stretch;width:22px;min-width:22px;height:auto;margin:-1px -1px -1px 0;border-width:1px 1px 1px 0;border-color:var(--overview-role-cap-bg, rgba(71, 85, 105, .82));border-radius:0 6px 6px 0;font-size:10px;font-weight:850}.people-table .overview-chip:not(.overview-chip--night) .overview-chip__role{width:17px;min-width:17px;font-size:8.5px}.overview-chip__role--app,.overview-chip__role--twr{background:var(--overview-role-cap-bg, rgba(71, 85, 105, .82));border-color:var(--overview-role-cap-bg, rgba(71, 85, 105, .82));color:var(--overview-role-cap-color, #ffffff);box-shadow:none}.overview-theme-subtle .overview-chip__role--app{background:#5faf78;border-color:#4b9663;color:#fff}.overview-theme-subtle .overview-chip__role--twr{background:#5e86c8;border-color:#4b72b2;color:#fff}.overview-theme-classic .overview-chip__role--app{background:#5faf78;border-color:#4b9663;color:#fff}.overview-theme-classic .overview-chip__role--twr{background:#5e86c8;border-color:#4b72b2;color:#fff}.overview-theme-classic .people-table .overview-chip-wrap{width:100%;min-height:100%;justify-content:center}.overview-theme-classic .people-table .overview-chip:has(.overview-chip__role){align-items:center;justify-content:flex-start;overflow:visible;position:relative;padding:3px 10px 3px 7px}.overview-theme-classic .people-table .overview-chip:not(.overview-chip--night):has(.overview-chip__role){padding:2px 8px 2px 5px}.overview-theme-classic .people-table .overview-chip--night:has(.overview-chip__role){padding:4px 10px 4px 7px}.overview-theme-classic .people-table .overview-chip:has(.overview-chip__role) .overview-chip__code,.overview-theme-classic .people-table .overview-chip--night:has(.overview-chip__role) .overview-chip__code{display:inline;padding:0}.overview-theme-classic .people-table .overview-chip__role{position:absolute;top:-5px;right:-6px;align-self:auto;width:16px;min-width:16px;height:16px;margin:0;padding:0;border-width:1px;border-radius:999px;font-size:9px;line-height:1}.overview-theme-classic .people-table .overview-chip:not(.overview-chip--night) .overview-chip__role{top:-4px;right:-5px;width:12px;min-width:12px;height:12px;font-size:7.5px}.overview-density-compact .people-table .overview-chip:not(.overview-chip--night) .overview-chip__role,.overview-density-dense .people-table .overview-chip__role{display:none}.overview-density-dense .people-table th:not(:first-child){min-width:42px;height:27px;padding:2px 3px}.overview-density-dense .people-table th:first-child{height:27px;padding-top:2px;padding-bottom:2px}.overview-density-dense .people-table td:not(.sticky-name){min-width:42px;height:33px;padding:1px 2px}.overview-density-dense .people-table td.sticky-name{height:33px;padding-top:1px;padding-bottom:1px}.overview-density-dense .date-header{line-height:1}.overview-density-dense .date-header small{font-size:9px}.overview-density-dense .people-table .overview-empty{font-size:11px}.overview-density-dense .people-table .overview-chip-stack,.overview-density-dense .people-table .overview-chip-wrap{gap:1px}.overview-density-dense .people-table .overview-chip{min-width:26px;min-height:17px;padding:2px 5px;border-radius:6px;font-size:10px;gap:2px}.overview-density-dense .people-table .overview-chip:has(.overview-chip__role){gap:0;padding:0}.overview-density-dense .people-table .overview-chip--night{min-width:39px;min-height:21px;padding:3px 6px;border-radius:8px;font-size:11px}.people-table .overview-chip--app-pos{box-shadow:0 2px 5px #16a34a29,inset 0 1px #ffffff2e}.people-table .overview-chip--twr-pos{box-shadow:0 2px 5px #2563eb2b,inset 0 1px #ffffff2e}.people-table .overview-chip--on-call{--overview-role-cap-bg: #dc2626;--overview-role-cap-border: #b91c1c;--overview-role-cap-color: #fff7f7;background:#fecaca;border-color:#fca5a5;color:#7f1d1d}.people-table .overview-chip--day{--overview-role-cap-bg: #16a34a;--overview-role-cap-border: #15803d;--overview-role-cap-color: #f0fdf4;background:#bbf7d0;border-color:#bbf7d0;color:#123524}.people-table .overview-chip--shift2{--overview-role-cap-bg: #4f46e5;--overview-role-cap-border: #4338ca;--overview-role-cap-color: #eef2ff;background:#e0e7ff;border-color:#e0e7ff;color:#312e81}.people-table .overview-chip--neutral{background:#94a3b82e;border:none;color:#64748b;box-shadow:none}.people-table .overview-chip--i-2{--overview-role-cap-bg: #2563eb;--overview-role-cap-border: #1d4ed8;--overview-role-cap-color: #eff6ff;background:#bfdbfe;border-color:#bfdbfe;color:#1e3a8a}.people-table .overview-chip--ii-2{--overview-role-cap-bg: #16a34a;--overview-role-cap-border: #15803d;--overview-role-cap-color: #f0fdf4;background:#dcfce7;border-color:#dcfce7;color:#14532d}.people-table .overview-chip--standby{--overview-role-cap-bg: #ca8a04;--overview-role-cap-border: #a16207;--overview-role-cap-color: #fffbeb;background:#facc152e;border:none;color:#92400e;box-shadow:none}.people-table .overview-chip--cover,.people-table .overview-chip--leave{--overview-role-cap-bg: #0f2238;--overview-role-cap-border: #3e5f82;--overview-role-cap-color: #f0f6ff;background:#294563;border-color:#3e5f82;color:#f0f6ff}.people-table .overview-chip--off{background:transparent;border-color:transparent;color:#0f172a59;box-shadow:none}.people-table .overview-chip--d-shift{--overview-role-cap-bg: #0891b2;--overview-role-cap-border: #0e7490;--overview-role-cap-color: #ecfeff;background:#cffafe;border-color:#cffafe;color:#164e63}.people-table .overview-chip--h22{border-width:3px}.overview-contrast-contrast-1 .people-table .overview-chip--night.overview-chip--day{--overview-role-cap-bg: #34d399;--overview-role-cap-border: #34d399;--overview-role-cap-color: #ffffff;background:#179261;border:1px solid #34d399;color:#fff;box-shadow:0 4px 10px #0f7a4f52}.overview-contrast-contrast-1 .people-table .overview-chip--night.overview-chip--shift2{--overview-role-cap-bg: #fbbf24;--overview-role-cap-border: #fbbf24;--overview-role-cap-color: #ffffff;background:#b7791f;border:1px solid #fbbf24;color:#fff;box-shadow:0 4px 10px #b7791f52}.overview-contrast-contrast-1 .people-table .overview-chip--night.overview-chip--on-call{--overview-role-cap-bg: #fb7185;--overview-role-cap-border: #fb7185;--overview-role-cap-color: #ffffff;background:#ce2843;border:1px solid #fb7185;color:#fff;box-shadow:0 4px 10px #b4233a57}.overview-contrast-contrast-2 .people-table .overview-chip--night.overview-chip--day{--overview-role-cap-bg: #4ade80;--overview-role-cap-border: #4ade80;--overview-role-cap-color: #106b3f;background:#bff4d2;border:1px solid #4ade80;color:#106b3f;box-shadow:0 3px 8px #22c55e38}.overview-contrast-contrast-2 .people-table .overview-chip--night.overview-chip--shift2{--overview-role-cap-bg: #fbbf24;--overview-role-cap-border: #fbbf24;--overview-role-cap-color: #8a5a00;background:#ffe6a8;border:1px solid #fbbf24;color:#8a5a00;box-shadow:0 3px 8px #f59e0b38}.overview-contrast-contrast-2 .people-table .overview-chip--night.overview-chip--on-call{--overview-role-cap-bg: #f87171;--overview-role-cap-border: #f87171;--overview-role-cap-color: #9f1d2f;background:#ffc7c7;border:1px solid #f87171;color:#9f1d2f;box-shadow:0 3px 8px #ef444438}.overview-contrast-contrast-2 .people-table .overview-chip--i-2{--overview-role-cap-bg: #93a9c8;--overview-role-cap-border: #7f96b8;--overview-role-cap-color: #ffffff;background:#d9e3f0;border-color:#b8c8dc;color:#3e5a7c;box-shadow:none}.overview-contrast-contrast-2 .people-table .overview-chip--ii-2{--overview-role-cap-bg: #8fac9a;--overview-role-cap-border: #789784;--overview-role-cap-color: #ffffff;background:#dcebe1;border-color:#bdd2c5;color:#3f644d;box-shadow:none}.overview-role-popover{position:absolute;top:calc(100% + 6px);left:50%;z-index:90;display:grid;width:190px;gap:8px;padding:9px;border:1px solid #dbe4ef;border-radius:13px;background:#fff;box-shadow:0 16px 34px #0f172a29;transform:translate(-50%)}.overview-role-popover-header{display:grid;gap:2px;padding:1px 2px 7px;border-bottom:1px solid #edf2f7;text-align:left}.overview-role-popover-header span{color:#1e293b;font-size:12px;font-weight:850;line-height:1.15}.overview-role-popover-header small{color:#64748b;font-size:10.5px;font-weight:700;line-height:1.2}.overview-role-option-grid{display:grid;grid-template-columns:1fr;gap:5px}.overview-role-option{min-height:32px;padding:0 9px;border:1px solid #dbe4ef;border-radius:9px;background:#f8fafc;color:#334155;font-size:12px;font-weight:800;cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.overview-role-option:hover{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.overview-role-option--stayer{background:#fecaca;border-color:#fca5a5;color:#7f1d1d}.overview-role-option--goer1{background:#bbf7d0;border-color:#86efac;color:#123524}.overview-role-option--goer2{background:#e0e7ff;border-color:#c7d2fe;color:#312e81}.overview-role-option--student{background:#cffafe;border-color:#a5f3fc;color:#164e63}.overview-role-option--stayer:hover{background:#fca5a5;border-color:#f87171;color:#7f1d1d}.overview-role-option--goer1:hover{background:#86efac;border-color:#4ade80;color:#123524}.overview-role-option--goer2:hover{background:#c7d2fe;border-color:#a5b4fc;color:#312e81}.overview-role-option--student:hover{background:#a5f3fc;border-color:#67e8f9;color:#164e63}.overview-role-option:active{transform:translateY(1px)}.overview-role-option:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.overview-role-option.active{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8;box-shadow:inset 0 0 0 1px #2563eb1f}.overview-role-option--stayer.active{background:#fecaca;border-color:#ef4444;color:#7f1d1d}.overview-role-option--goer1.active{background:#bbf7d0;border-color:#22c55e;color:#123524}.overview-role-option--goer2.active{background:#e0e7ff;border-color:#6366f1;color:#312e81}.overview-role-option--student.active{background:#cffafe;border-color:#06b6d4;color:#164e63}.sticky-name{position:sticky;left:0;background:#f8fafc;text-align:left;font-weight:600;z-index:2}.people-role-card{position:relative;display:flex;flex-direction:column;gap:3px;padding:3px;border-radius:8px;background:#94a3b824;border:1px solid rgba(148,163,184,.28);min-width:55px;max-width:75px;overflow:hidden;box-shadow:inset 0 1px #ffffff7a}.people-role-card.twr{box-shadow:inset 3px 0 #1d4ed8,inset 0 1px #ffffff7a}.people-role-card.app{box-shadow:inset 3px 0 #16a34a,inset 0 1px #ffffff7a}.people-role-card .pill{width:100%;min-height:22px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:850;letter-spacing:.01em;line-height:1;box-shadow:inset 0 1px #ffffff29}.people-role-card--on-call .pill{background:#fca5a5;color:#3f1d1d}.people-role-card--day .pill{background:#bbf7d0;color:#123524}.people-role-card--shift2 .pill{background:#e0e7ff;color:#312e81}.people-role-card--h22{border-width:3px;border-color:#ef4444}.cell-manual-highlight{border:2px solid #facc15!important}.cell-h22{border:2px solid #ef4444!important}.people-role-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#f59e0b}.people-role-dot.dot-past{background:#ef4444}.people-role-badge{align-self:flex-start}.app-shell.dark .extra-code-pill{background:#94a3b82e;border-color:#94a3b82e;color:#cbd5f5;box-shadow:none}.app-shell.dark .extra-code-pill--on-call{background:#fca5a5;border-color:#fca5a5;color:#3f1d1d}.app-shell.dark .extra-code-pill--day{background:#bbf7d0;border-color:#bbf7d0;color:#123524}.app-shell.dark .extra-code-pill--shift2{background:#e0e7ff;border-color:#e0e7ff;color:#312e81}.app-shell.dark .extra-code-pill--i-2{background:#bfdbfe;border-color:#bfdbfe;color:#1e3a8a}.app-shell.dark .extra-code-pill--ii-2{background:#dcfce7;border-color:#dcfce7;color:#14532d}.app-shell.dark .extra-code-pill--standby{background:#facc152e;border-color:#facc152e;color:#fde68a}.app-shell.dark .extra-code-pill--cover,.app-shell.dark .extra-code-pill--leave{background:#294563;border-color:#3e5f82;color:#f0f6ff}.app-shell.dark .extra-code-pill--off{background:transparent;border-color:transparent;color:#ffffff59}.app-shell.dark .extra-code-pill--d-shift{background:#cffafe;border-color:#cffafe;color:#164e63}.app-shell.dark .people-role-card{background:#94a3b81f;border-color:#94a3b82e;box-shadow:none}.app-shell.dark .people-role-card.twr{box-shadow:inset 3px 0 #3b82f6}.app-shell.dark .people-role-card.app{box-shadow:inset 3px 0 #22c55e}.app-shell.dark .people-role-card--h22{border-color:#ef4444}.app-shell.dark .people-table .overview-empty{color:#8296af;opacity:.45}.app-shell.dark .people-table th.today,.app-shell.dark .people-table td.today{background:#122b49}.app-shell.dark .people-table td.selected-column,.app-shell.dark .people-table td:focus-within{background:#12345a;box-shadow:inset 0 0 0 2px #60a5fa47}.app-shell.dark .people-table td.populated-shift-cell:hover{background:#102b49}.app-shell.dark .people-table td:not(.populated-shift-cell):hover{background:#60a5fa0f}.app-shell.dark .people-table .overview-chip--on-call{background:#fecaca;border-color:#fca5a5;color:#7f1d1d}.app-shell.dark .people-table .overview-chip--neutral{background:#94a3b82e;border:none;color:#cbd5f5;box-shadow:none}.app-shell.dark .people-table .overview-chip--standby{background:#facc152e;border:none;color:#fde68a;box-shadow:none}.app-shell.dark .people-table .overview-chip--off{background:transparent;border-color:transparent;color:#ffffff59;box-shadow:none}.app-shell.dark .people-table .overview-chip--app-pos{box-shadow:0 2px 6px #22c55e33,inset 0 1px #ffffff1f}.app-shell.dark .people-table .overview-chip--twr-pos{box-shadow:0 2px 6px #60a5fa38,inset 0 1px #ffffff1f}.app-shell.dark .overview-role-legend{color:#9bacc3}.app-shell.dark .overview-chip__role--app,.app-shell.dark .overview-chip__role--twr{background:var(--overview-role-cap-bg);border-color:var(--overview-role-cap-border);color:var(--overview-role-cap-color);box-shadow:none}.app-shell.dark .overview-theme-subtle .overview-chip__role--app{background:#5faf78;border-color:#4b9663;color:#fff}.app-shell.dark .overview-theme-subtle .overview-chip__role--twr{background:#5e86c8;border-color:#4b72b2;color:#fff}.app-shell.dark .overview-theme-classic .overview-chip__role--app{background:#5faf78;border-color:#4b9663;color:#fff}.app-shell.dark .overview-theme-classic .overview-chip__role--twr{background:#5e86c8;border-color:#4b72b2;color:#fff}.people-table-container{max-width:100%;overflow:auto;position:relative;max-height:calc(100vh - (var(--topbar-h) + var(--topbar-gap) + 72px))}.app-shell.overview-desktop-fullscreen{min-height:100vh;padding:0}.app-shell.overview-desktop-fullscreen main.overview-main-fullscreen{min-height:100vh;border:0;border-radius:0;padding:8px;box-shadow:none;background:var(--app-bg)}.overview-fullscreen{display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100vh - 16px);min-height:0}.overview-fullscreen .overview-filter-bar{margin-bottom:6px}.overview-fullscreen .people-table-container{height:100%;max-height:none;min-height:0}.people-table thead th{position:sticky;top:0;z-index:6;background:#f8fafc}.people-table thead th:first-child{left:0;z-index:8;background:#e0f2fe}.people-table .sticky-name{position:sticky;left:0;z-index:5;background:#f8fafc}.people-table thead th.sortable-header,.people-table thead th .date-header{cursor:pointer}.people-table thead th.sort-active,.people-table thead th.sort-active:first-child{background:#dbeafe;color:#1d4ed8;box-shadow:inset 0 -3px #2563eb}.people-table thead th.sort-active .date-header small{color:#2563eb}.people-table{--overview-header-surface: linear-gradient(180deg, rgba(248, 251, 255, .98), rgba(241, 246, 252, .98));--overview-header-name-surface: linear-gradient(180deg, #f3f8ff 0%, #eaf3fb 100%);--overview-header-border: #d8e2ee;--overview-header-separator: rgba(148, 163, 184, .32);--overview-header-text: #172033;--overview-header-muted: #687890;--overview-header-selected-bg: linear-gradient(180deg, #eaf3ff 0%, #dcecff 100%);--overview-header-selected-text: #1d4ed8;--overview-header-weekend-bg: linear-gradient(180deg, #f5f7fa 0%, #edf2f7 100%);--overview-header-month-border: #7fa7d8}.people-table thead th{height:36px;padding:4px;vertical-align:middle;background:var(--overview-header-surface);border-color:var(--overview-header-border);border-left-color:var(--overview-header-separator);border-right-color:#cbd5e16b;border-bottom-color:#c9d6e5;color:var(--overview-header-text);box-shadow:0 1px #ffffffe0 inset,0 2px 8px #0f172a0f}.people-table thead th:first-child{background:var(--overview-header-name-surface);color:var(--overview-header-text);box-shadow:1px 0 #94a3b852,0 1px #ffffffe6 inset,0 2px 8px #0f172a0f}.people-table thead th:first-child .name-col-label{color:#1f2d42;font-size:12px;font-weight:800;letter-spacing:0}.people-table th.weekend{background:var(--overview-header-weekend-bg)}.people-table th.holiday{background:linear-gradient(180deg,#fff1f2,#ffe4e6);color:#a61f36}.people-table th.continuous-month-separator{border-left:2px solid var(--overview-header-month-border)!important;box-shadow:inset 1px 0 #2563eb1f,0 1px #ffffffe0 inset,0 2px 8px #0f172a0f}.people-table th.continuous-month-separator .date-header-month{color:#315f9b;font-weight:800}.date-header{justify-content:center;gap:0;min-height:30px}.date-header-day{color:var(--overview-header-text);font-size:14px;font-weight:800;line-height:1}.date-header small,.date-header-month,.date-header-weekday{color:var(--overview-header-muted);font-size:9.5px;font-weight:700;line-height:1.08}.date-header-month{margin-top:1px;text-transform:uppercase}.date-header-weekday{font-weight:650}.people-table th.today,.people-table thead th.sort-active,.people-table thead th.sort-active:first-child{background:var(--overview-header-selected-bg);color:var(--overview-header-selected-text);box-shadow:inset 0 -2px #3b82f6,0 1px #ffffffe6 inset,0 2px 8px #2563eb1f}.people-table th.today .date-header-day,.people-table thead th.sort-active .date-header-day{color:#185abc}.people-table th.today .date-header small,.people-table thead th.sort-active .date-header small{color:#2d62bb}.overview-density-dense .date-header{min-height:23px}.overview-density-dense .date-header-day{font-size:12px}.overview-density-dense .date-header small,.overview-density-dense .date-header-month,.overview-density-dense .date-header-weekday{font-size:8.5px}.app-shell.dark .people-table{--overview-header-surface: linear-gradient(180deg, rgba(22, 35, 53, .98), rgba(18, 30, 48, .98));--overview-header-name-surface: linear-gradient(180deg, #172944 0%, #12243d 100%);--overview-header-border: #29415f;--overview-header-separator: rgba(100, 116, 139, .46);--overview-header-text: #e7eef9;--overview-header-muted: #9fb0c6;--overview-header-selected-bg: linear-gradient(180deg, #183b64 0%, #12345a 100%);--overview-header-selected-text: #bfdbfe;--overview-header-weekend-bg: linear-gradient(180deg, #142237 0%, #102037 100%);--overview-header-month-border: #5b8ed6}.app-shell.dark .people-table thead th{border-color:var(--overview-header-border);border-left-color:var(--overview-header-separator);border-right-color:#4755696b;border-bottom-color:#38516f;color:var(--overview-header-text);box-shadow:0 1px #ffffff0a inset,0 2px 10px #00000038}.app-shell.dark .people-table thead th:first-child{color:var(--overview-header-text);box-shadow:1px 0 #4755699e,0 1px #ffffff0a inset,0 2px 10px #00000038}.app-shell.dark .people-table thead th:first-child .name-col-label,.app-shell.dark .date-header-day{color:var(--overview-header-text)}.app-shell.dark .people-table th.holiday{background:linear-gradient(180deg,#7f1d1d6b,#7f1d1d52);color:#fecdd3}.app-shell.dark .people-table th.continuous-month-separator .date-header-month{color:#bfdbfe}.app-shell.dark .people-table th.today .date-header-day,.app-shell.dark .people-table thead th.sort-active .date-header-day{color:#dbeafe}.app-shell.dark .people-table th.today .date-header small,.app-shell.dark .people-table thead th.sort-active .date-header small{color:#bfdbfe}@media(max-width:900px){.complete-view{height:100%;min-height:0}.overview-filter-bar{flex-direction:column;align-items:stretch;gap:8px;padding:8px;margin-bottom:0;border-radius:10px}.overview-filter-search{flex-basis:auto;min-width:0;height:36px}.overview-filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.overview-filter-chips::-webkit-scrollbar{display:none}.overview-main-filter-group,.overview-shifts-subfilter-group{flex-wrap:nowrap;flex-shrink:0}.overview-filter-chip,.overview-filter-clear{height:32px;font-size:12px}.overview-filter-clear{align-self:flex-start}.people-table-container{max-height:100%}.people-table thead{top:0}.people-table th,.people-table td{padding:5px 4px;min-width:50px;height:56px}.people-table .sticky-name{font-size:13px;font-weight:600;padding-right:12px;min-width:40px}.people-table td{font-size:12px}.date-header small{font-size:10px}.name-col-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:28px;padding:0;margin-left:2px;background:#dde4ef;border:1px solid #c0cce0;border-radius:7px;cursor:pointer;color:#4a6080;box-shadow:0 1px 3px #0f172a1a;transition:background .12s ease,color .12s ease}.name-col-toggle:active{background:#c8d4e8}.name-header-wrap{display:flex;align-items:center;gap:0;white-space:nowrap}.name-cell-inner{display:flex;align-items:center;gap:6px;width:88px;overflow:hidden;transition:width .2s cubic-bezier(.25,.1,.25,1) 40ms}.name-cell-inner .person-label,.name-cell-inner .name-col-label{transition:opacity .14s ease,transform .14s ease;will-change:opacity,transform;flex-shrink:0}.name-col-collapsed .name-cell-inner{width:26px;transition:width .2s cubic-bezier(.25,.1,.25,1)}.name-col-collapsed .name-cell-inner .person-label,.name-col-collapsed .name-cell-inner .name-col-label{opacity:0;transform:translate(-8px);pointer-events:none;transition:opacity .14s ease 20ms,transform .14s ease 20ms}.name-col-collapsed .people-table .sticky-name{min-width:0;padding-right:4px}}@media(max-width:900px){.app-shell.overview-mobile-shell{--overview-bg: #061525;--overview-panel: #0b2138;--overview-panel-2: #102b49;--overview-line: #2d4765;--overview-line-strong: #3b5a7c;--overview-text: #eef5ff;--overview-muted: #9bacc3;background:radial-gradient(circle at 50% -12%,rgba(37,99,235,.22),transparent 34%),linear-gradient(180deg,#07192b 0%,var(--overview-bg) 100%);color:var(--overview-text);padding:0 4px calc(env(safe-area-inset-bottom) + 76px);box-shadow:inset 0 0 0 1px #7490b357}.app-shell.overview-mobile-shell main{display:flex;flex-direction:column;min-height:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden;padding:0}.app-shell.overview-mobile-shell .mobile-month-bar{--overview-month-control-h: 38px;--overview-month-row-top: calc(env(safe-area-inset-top) + 16px) ;min-height:50px;padding:var(--overview-month-row-top) 72px 8px;align-items:flex-start}.app-shell.overview-mobile-shell .month-arrow-btn{position:absolute;top:var(--overview-month-row-top);width:var(--overview-month-control-h);height:var(--overview-month-control-h);padding:0;display:inline-flex;align-items:center;justify-content:center;background:#1b314d;border:1px solid #3c5776;border-radius:13px;box-shadow:inset 0 1px #ffffff14;color:#edf5ff;font-size:31px;font-weight:300;line-height:1;opacity:1}.app-shell.overview-mobile-shell .month-arrow-btn:first-child{left:clamp(22px,8vw,58px)}.app-shell.overview-mobile-shell .month-arrow-btn:nth-of-type(2){right:clamp(22px,8vw,58px)}.app-shell.overview-mobile-shell .month-arrow-btn:active{background:#253c5d}.app-shell.overview-mobile-shell .mobile-month-bar .month-label{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:12px;width:max-content;min-width:0;color:#f6f9ff;font-size:22px;font-weight:650;letter-spacing:0;line-height:1;background:transparent;border:0;box-shadow:none;min-height:var(--overview-month-control-h);padding:0}.app-shell.overview-mobile-shell .mobile-month-bar .month-strong,.app-shell.overview-mobile-shell .mobile-month-bar .month-light{letter-spacing:.08em;line-height:1}.app-shell.overview-mobile-shell .mobile-month-bar .month-label:after{content:"";width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;flex:0 0 auto;transform:translateY(-2px) rotate(45deg)}.app-shell.overview-mobile-shell .mobile-save-btn{display:none}.overview-mobile{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;height:auto;min-height:0;overflow:hidden}.overview-mobile .overview-filter-bar{flex:0 0 auto;background:#0b2138d1;border-color:var(--overview-line-strong);box-shadow:inset 0 1px #ffffff08}.overview-mobile .overview-filter-search{background:#071424d1;border-color:var(--overview-line);color:var(--overview-muted)}.overview-mobile .overview-filter-search input{color:var(--overview-text)}.overview-mobile .overview-filter-chip{background:#102b49d1;border-color:var(--overview-line-strong);color:var(--overview-muted)}.overview-mobile .overview-filter-clear{background:#3f0a12d1;border-color:#7f1d1d;color:#fda4af}.overview-mobile .overview-filter-chip.active{background:#1c4a88;border-color:#356fca;color:#eef5ff;box-shadow:0 8px 18px #02061738}.overview-empty-filter-row{display:grid;width:max-content;min-width:100%}.overview-empty-filter-cell{grid-column:1 / -1;min-height:84px;display:flex;align-items:center;justify-content:center;background:#0c20369e}.overview-week-frame{flex:1 1 0;min-height:0;overflow:scroll;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;background:#0c2036f0;border:1px solid var(--overview-line-strong);border-radius:10px;box-shadow:inset 0 1px #ffffff08}.overview-week-grid{width:max-content;min-width:100%}.overview-row{display:grid;width:max-content;min-width:100%;grid-template-columns:minmax(76px,1.44fr) repeat(7,minmax(0,1fr));transition:grid-template-columns .22s cubic-bezier(.25,.1,.25,1)}.overview-header-row{position:sticky;top:0;z-index:6}.overview-cell{min-width:0;border-right:1px solid var(--overview-line);border-bottom:1px solid var(--overview-line);color:var(--overview-text)}.overview-corner-cell,.overview-person-cell{position:sticky;left:0}.overview-corner-cell{z-index:8}.overview-corner-cell{display:flex;align-items:center;justify-content:center;padding:6px;cursor:pointer}.overview-corner-cell.name-sort-active{background:#1c4a88;box-shadow:inset 0 0 0 1px #356fca}.overview-name-header-wrap{width:100%;justify-content:center}.overview-name-header-wrap .name-cell-inner{width:40px}.overview-name-header-wrap .name-col-label{color:#e3edf8;font-size:13px;font-weight:760;letter-spacing:.03em}.overview-name-toggle{margin-left:4px;background:#1b314d;border-color:#3c5776;color:#dbeafe}.overview-person-cell{z-index:3}.overview-mobile.name-col-collapsed .overview-name-header-wrap{justify-content:center}.overview-mobile.name-col-collapsed .overview-name-header-wrap .name-cell-inner{width:0}.overview-mobile.name-col-collapsed .overview-name-toggle{width:26px;height:26px;margin-left:0;border-radius:999px;background:#1c3555;border-color:#365a83;color:#edf6ff;box-shadow:inset 0 1px #ffffff0f}.overview-mobile.name-col-collapsed .overview-person-cell{padding-left:5px;padding-right:3px}.overview-mobile.name-col-collapsed .overview-person-cell .name-cell-inner{width:28px}.overview-mobile.name-col-collapsed .overview-person-name{gap:0}.overview-mobile.name-col-collapsed .overview-person-name .person-label{opacity:0;transform:translate(-8px);pointer-events:none}.overview-row>.overview-cell:last-child{border-right:0}.overview-week-grid>.overview-row:last-child .overview-cell{border-bottom:0}.overview-header-cell,.overview-shift-cell{appearance:none;background:transparent;border-top:0;border-left:0;cursor:pointer;font:inherit;text-align:center}.overview-corner-cell,.overview-header-cell{min-height:40px;background:#0a1c31}.overview-header-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#e3edf8}.overview-header-cell span{font-size:6px;font-weight:400;letter-spacing:.04em}.overview-header-cell strong{font-size:14px;line-height:1}.overview-header-cell small{color:#8fb0d2;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase}.overview-header-cell.month-start,.overview-shift-cell.month-start{box-shadow:inset 2px 0 #52739b}.overview-header-cell.selected{background:#1c4a88;box-shadow:inset 0 0 0 1px #356fca}.overview-header-cell.weekend,.overview-shift-cell.weekend{background:#314b6c5c}.overview-header-cell.out-month{color:#72859e}.overview-person-cell,.overview-shift-cell{min-height:38px}.overview-person-cell{display:flex;align-items:center;padding:4px 5px;background:#081b30;border-top:0;border-left:0;cursor:pointer;text-align:left}.overview-person-cell.favorite{background:#123a61;box-shadow:inset 3px 0 #60a5fa}.overview-person-name{gap:5px;width:100%}.overview-person-name .person-avatar{width:26px;height:26px;background:#1c3555;border-color:#365a83;color:#edf6ff;font-size:10px;box-shadow:inset 0 1px #ffffff0f}.overview-person-name .person-label{color:#d7e2ef;font-size:10px;font-weight:520;transition:opacity .14s ease,transform .14s ease}.overview-shift-cell{display:flex;align-items:center;justify-content:center;padding:3px;background:#0e243ce6}.overview-shift-cell.selected-column{background:#123054f5}.overview-empty{color:#8296af;font-size:17px;line-height:1}.overview-chip-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;height:100%}.overview-chip{min-width:34px;max-width:100%;min-height:22px;padding:3px 7px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid rgba(255,255,255,.08);color:#ecf4ff;font-size:12px;font-weight:760;line-height:1;white-space:nowrap;box-shadow:inset 0 1px #ffffff12}.overview-chip--night{width:100%;min-height:100%;flex:1 1 auto;align-self:stretch;border-radius:0;font-size:15px;font-weight:850;letter-spacing:.01em}.overview-chip-stack:has(.overview-chip--night){align-items:stretch;justify-content:stretch}.overview-chip--on-call{background:#fca5a5;border-color:#fca5a5;color:#3f1d1d}.overview-chip--day{background:#bbf7d0;border-color:#bbf7d0;color:#123524}.overview-chip--shift2{background:#e0e7ff;border-color:#e0e7ff;color:#312e81}.overview-chip--neutral{background:#94a3b82e;border:none;color:#cbd5f5;box-shadow:none}.overview-chip--i-2{background:#bfdbfe;border-color:#bfdbfe;color:#1e3a8a}.overview-chip--ii-2{background:#dcfce7;border-color:#dcfce7;color:#14532d}.overview-chip--standby{background:#facc152e;border:none;color:#fde68a;box-shadow:none}.overview-chip--cover,.overview-chip--leave{background:#294563;border-color:#3e5f82;color:#f0f6ff}.overview-chip--off{background:transparent;border-color:transparent;color:#ffffff59;box-shadow:none}.overview-chip--d-shift{background:#cffafe;border-color:#cffafe;color:#164e63}.overview-chip--h22{border-width:3px}.overview-daily-card{flex:0 0 auto;background:#091c31f0;border:1px solid #29435f;border-radius:12px;overflow:hidden;margin:0 3px 4px}.overview-daily-toggle{width:100%;height:40px;min-height:40px;display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;column-gap:10px;padding:0 14px;background:transparent;border:0;color:var(--overview-text);text-align:left}.overview-daily-icon{width:30px;height:30px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#123c6c;color:#7dd3fc}.overview-daily-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.overview-daily-copy{min-width:0;display:inline-flex;align-items:center;justify-content:center;justify-self:center;align-self:center}.overview-daily-copy strong{font-size:16px;letter-spacing:.02em;line-height:30px;transform:translateY(1px)}.overview-daily-copy span{color:var(--overview-muted);font-size:12px}.overview-daily-chevron{width:30px;height:30px;justify-self:end;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#142842;border:1px solid #314c69;color:#f6f9ff;font-size:18px;line-height:1}.overview-shift-legend-motion{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transform:translateY(-4px);transition:grid-template-rows .22s cubic-bezier(.22,1,.36,1),opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.overview-daily-card.open .overview-shift-legend-motion{grid-template-rows:1fr;opacity:1;transform:translateY(0)}.overview-shift-legend-detail{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 10px 10px}.overview-shift-legend-row{min-width:0;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:#122b49e0;color:#dce8f7}.overview-shift-legend-row .overview-chip{min-width:38px;flex:0 0 auto}.overview-shift-legend-row span:last-child{min-width:0;overflow:hidden;color:#a9b8cc;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.app-shell.overview-mobile-shell .tabs.bottom-nav{background:#0a1b2f;border-top-color:#283f5c;box-shadow:0 -12px 28px #0003}.app-shell.overview-mobile-shell .tabs.bottom-nav button,.app-shell.overview-mobile-shell .tab-more{color:#94a4bb}.app-shell.overview-mobile-shell .tabs.bottom-nav button.active,.app-shell.overview-mobile-shell .tab-more.active{color:#fff;background:linear-gradient(180deg,#1c4a8a,#173a72);border:1px solid #2d63bb;border-radius:15px;margin:6px 4px;min-height:auto;box-shadow:inset 0 1px #ffffff14}.app-shell.overview-mobile-shell .tabs.bottom-nav button.active .tab-icon,.app-shell.overview-mobile-shell .tab-more.active .tab-icon{opacity:1}.app-shell.overview-mobile-shell:not(.dark){--overview-bg: #f8fafc;--overview-panel: #ffffff;--overview-panel-2: #f6f9fd;--overview-line: #edf1f6;--overview-line-strong: #dce5ef;--overview-text: #1e293b;--overview-muted: #64748b;background:radial-gradient(circle at 50% -18%,rgba(147,197,253,.2),transparent 34%),linear-gradient(180deg,#f9fbff,#f3f7fb);color:var(--overview-text);box-shadow:inset 0 0 0 1px #94a3b83d}.app-shell.overview-mobile-shell:not(.dark) .mobile-month-bar .month-label{color:#172033}.app-shell.overview-mobile-shell:not(.dark) .month-arrow-btn{background:#eff6ff;border-color:#d8e5f5;box-shadow:inset 0 1px #ffffffc7,0 8px 18px #0f172a12;color:#5f738c}.app-shell.overview-mobile-shell:not(.dark) .month-arrow-btn:active{background:#e5f0ff}.app-shell.overview-mobile-shell:not(.dark) .overview-mobile .overview-filter-bar{background:#ffffffe6;border-color:var(--overview-line-strong);box-shadow:0 8px 20px #0f172a0f}.app-shell.overview-mobile-shell:not(.dark) .overview-mobile .overview-filter-search{background:#fff;border-color:#dbe4ef;color:#64748b}.app-shell.overview-mobile-shell:not(.dark) .overview-mobile .overview-filter-search input{color:#1e293b}.app-shell.overview-mobile-shell:not(.dark) .overview-mobile .overview-filter-chip{background:#fff;border-color:#dbe4ef;color:#475569}.app-shell.overview-mobile-shell:not(.dark) .overview-mobile .overview-filter-clear{background:#fff1f2;border-color:#fecdd3;color:#e11d48}.app-shell.overview-mobile-shell:not(.dark) .overview-mobile .overview-filter-chip.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb2e}.app-shell.overview-mobile-shell:not(.dark) .overview-week-frame{background:#fff;border-color:var(--overview-line-strong);box-shadow:inset 0 1px #ffffffe6,0 10px 26px #0f172a0f}.app-shell.overview-mobile-shell:not(.dark) .overview-cell{border-color:var(--overview-line);color:var(--overview-text)}.app-shell.overview-mobile-shell:not(.dark) .overview-corner-cell,.app-shell.overview-mobile-shell:not(.dark) .overview-header-cell{background:#fbfdff}.app-shell.overview-mobile-shell:not(.dark) .overview-name-header-wrap .name-col-label,.app-shell.overview-mobile-shell:not(.dark) .overview-header-cell{color:#334155}.app-shell.overview-mobile-shell:not(.dark) .overview-name-toggle{background:#eff6ff;border-color:#d8e5f5;color:#52708f}.app-shell.overview-mobile-shell:not(.dark) .overview-corner-cell.name-sort-active,.app-shell.overview-mobile-shell:not(.dark) .overview-header-cell.selected{background:#eaf3ff;box-shadow:inset 0 0 0 1px #bfdbfe;color:#1d4ed8}.app-shell.overview-mobile-shell:not(.dark) .overview-header-cell small{color:#7c8da3}.app-shell.overview-mobile-shell:not(.dark) .overview-header-cell.month-start,.app-shell.overview-mobile-shell:not(.dark) .overview-shift-cell.month-start{box-shadow:inset 2px 0 #d5e3f3}.app-shell.overview-mobile-shell:not(.dark) .overview-header-cell.weekend,.app-shell.overview-mobile-shell:not(.dark) .overview-shift-cell.weekend{background:#f8fbff}.app-shell.overview-mobile-shell:not(.dark) .overview-header-cell.out-month{color:#94a3b8}.app-shell.overview-mobile-shell:not(.dark) .overview-person-cell,.app-shell.overview-mobile-shell:not(.dark) .overview-shift-cell{background:#fffffff5}.app-shell.overview-mobile-shell:not(.dark) .overview-person-cell.favorite{background:#eaf3ff;box-shadow:inset 3px 0 #60a5fa}.app-shell.overview-mobile-shell:not(.dark) .overview-person-name .person-avatar{background:#eaf3ff;border-color:#cfe0f5;color:#315f93;box-shadow:inset 0 1px #ffffffd1}.app-shell.overview-mobile-shell:not(.dark) .overview-person-name .person-label{color:#4b5563}.app-shell.overview-mobile-shell:not(.dark) .overview-shift-cell.selected-column{background:#f1f7ff}.app-shell.overview-mobile-shell:not(.dark) .overview-empty{color:#cbd5e1}.app-shell.overview-mobile-shell:not(.dark) .overview-chip{border-color:#94a3b82e;box-shadow:0 1px #0f172a05}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--on-call{background:#ffe4e6;color:#be123c;border:1px solid #fda4af}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--day{background:#eafbef;color:#166534;border:1px solid #bbf7d0}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--shift2{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--neutral{background:#f3f4f6;border:1px solid #a3adbb;color:#4b5563}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--i-2{background:#eaf2ff;color:#1d4ed8;border:1px solid #b7d4ff}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--ii-2{background:#e8f8ee;color:#15803d;border:1px solid #a8e6bd}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--standby{background:#fef9c3;border-color:#fde68a;color:#a16207}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--cover,.app-shell.overview-mobile-shell:not(.dark) .overview-chip--off,.app-shell.overview-mobile-shell:not(.dark) .overview-chip--leave{background:#f6f7fb;border-color:#eceff5;color:#64748b}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--d-shift{background:#ecfeff;color:#0e7490;border:1px solid #aaeff8}.app-shell.overview-mobile-shell:not(.dark) .overview-chip--h22{border-width:3px}.app-shell.overview-mobile-shell:not(.dark) .overview-daily-card{background:#fffffff5;border-color:#dde8f4;box-shadow:0 10px 22px #0f172a0f}.app-shell.overview-mobile-shell:not(.dark) .overview-daily-toggle{color:#1e293b}.app-shell.overview-mobile-shell:not(.dark) .overview-daily-icon{background:#eaf3ff;color:#2563eb}.app-shell.overview-mobile-shell:not(.dark) .overview-daily-chevron{background:#f8fbff;border-color:#d9e6f4;color:#334155}.app-shell.overview-mobile-shell:not(.dark) .overview-shift-legend-row{background:#f8fafc;color:#1e293b}.app-shell.overview-mobile-shell:not(.dark) .overview-shift-legend-row span:last-child{color:#64748b}.app-shell.overview-mobile-shell:not(.dark) .tabs.bottom-nav{background:#fffffff5;border-top-color:#dde6f0;box-shadow:0 -10px 24px #0f172a12}.app-shell.overview-mobile-shell:not(.dark) .tabs.bottom-nav button,.app-shell.overview-mobile-shell:not(.dark) .tab-more{color:#64748b}.app-shell.overview-mobile-shell:not(.dark) .tabs.bottom-nav button.active,.app-shell.overview-mobile-shell:not(.dark) .tab-more.active{color:#1d4ed8;background:#eaf3ff;border-color:#bfdbfe;box-shadow:inset 0 1px #ffffffd6}.app-shell.mobile-modern-shell{--overview-bg: #061525;--overview-panel: #0b2138;--overview-panel-2: #102b49;--overview-line: #2d4765;--overview-line-strong: #3b5a7c;--overview-text: #eef5ff;--overview-muted: #9bacc3;background:radial-gradient(circle at 50% -12%,rgba(37,99,235,.22),transparent 34%),linear-gradient(180deg,#07192b 0%,var(--overview-bg) 100%);color:var(--overview-text);padding:0 4px calc(env(safe-area-inset-bottom) + 64px);box-shadow:inset 0 0 0 1px #7490b357}.app-shell.mobile-modern-shell .mobile-month-bar{--overview-month-control-h: 38px;--overview-month-row-top: calc(env(safe-area-inset-top) + 16px) ;min-height:50px;padding:var(--overview-month-row-top) 72px 8px;align-items:flex-start}.app-shell.mobile-modern-shell .month-arrow-btn{position:absolute;top:var(--overview-month-row-top);width:var(--overview-month-control-h);height:var(--overview-month-control-h);padding:0;display:inline-flex;align-items:center;justify-content:center;background:#1b314d;border:1px solid #3c5776;border-radius:13px;box-shadow:inset 0 1px #ffffff14;color:#edf5ff;font-size:27px;font-weight:300;line-height:1;opacity:1}.app-shell.mobile-modern-shell .month-arrow-btn:first-child{left:clamp(22px,8vw,58px)}.app-shell.mobile-modern-shell .month-arrow-btn:nth-of-type(2){right:clamp(22px,8vw,58px)}.app-shell.mobile-modern-shell .month-arrow-btn:active{background:#253c5d}.app-shell.mobile-modern-shell .mobile-month-bar .month-label{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:12px;width:max-content;min-width:0;color:#f6f9ff;font-size:20px;font-weight:650;letter-spacing:0;line-height:1;background:transparent;border:0;box-shadow:none;min-height:var(--overview-month-control-h);padding:0}.app-shell.mobile-modern-shell .mobile-month-bar .month-strong,.app-shell.mobile-modern-shell .mobile-month-bar .month-light{letter-spacing:.08em;line-height:1}.app-shell.mobile-modern-shell .mobile-month-bar .month-label:after{content:"";width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;flex:0 0 auto;transform:translateY(-2px) rotate(45deg)}.app-shell.mobile-modern-shell .mobile-save-btn{display:none}.app-shell.mobile-modern-shell .tabs.bottom-nav{background:#0a1b2f;border-top-color:#283f5c;box-shadow:0 -12px 28px #0003}.app-shell.mobile-modern-shell .tabs.bottom-nav button,.app-shell.mobile-modern-shell .tab-more{color:#94a4bb}.app-shell.mobile-modern-shell .tabs.bottom-nav button.active,.app-shell.mobile-modern-shell .tab-more.active{color:#fff;background:linear-gradient(180deg,#1c4a8a,#173a72);border:1px solid #2d63bb;border-radius:15px;margin:6px 4px;min-height:auto;box-shadow:inset 0 1px #ffffff14}.app-shell.mobile-modern-shell .tabs.bottom-nav button.active .tab-icon,.app-shell.mobile-modern-shell .tab-more.active .tab-icon{opacity:1}.app-shell.mobile-modern-shell:not(.dark){--overview-bg: #f8fafc;--overview-panel: #ffffff;--overview-panel-2: #f6f9fd;--overview-line: #edf1f6;--overview-line-strong: #dce5ef;--overview-text: #1e293b;--overview-muted: #64748b;background:radial-gradient(circle at 50% -18%,rgba(147,197,253,.2),transparent 34%),linear-gradient(180deg,#f9fbff,#f3f7fb);color:var(--overview-text);box-shadow:inset 0 0 0 1px #94a3b83d}.app-shell.mobile-modern-shell:not(.dark) .mobile-month-bar .month-label{color:#172033}.app-shell.mobile-modern-shell:not(.dark) .month-arrow-btn{background:#eff6ff;border-color:#d8e5f5;box-shadow:inset 0 1px #ffffffc7,0 8px 18px #0f172a12;color:#5f738c}.app-shell.mobile-modern-shell:not(.dark) .month-arrow-btn:active{background:#e5f0ff}.app-shell.mobile-modern-shell:not(.dark) .tabs.bottom-nav{background:#fffffff5;border-top-color:#dde6f0;box-shadow:0 -10px 24px #0f172a12}.app-shell.mobile-modern-shell:not(.dark) .tabs.bottom-nav button,.app-shell.mobile-modern-shell:not(.dark) .tab-more{color:#64748b}.app-shell.mobile-modern-shell:not(.dark) .tabs.bottom-nav button.active,.app-shell.mobile-modern-shell:not(.dark) .tab-more.active{color:#1d4ed8;background:#eaf3ff;border-color:#bfdbfe;box-shadow:inset 0 1px #ffffffd6}}.app-toast-viewport{position:fixed;left:0;right:0;bottom:24px;z-index:1200;display:grid;justify-items:center;gap:8px;padding:0 16px;pointer-events:none}.app-toast{display:inline-flex;align-items:center;gap:10px;max-width:min(480px,100%);min-height:44px;padding:10px 14px;border-radius:999px;background:#0f172af0;color:#fff;box-shadow:0 16px 34px #0f172a3d;font-size:14px;font-weight:800;line-height:1.25;pointer-events:auto;animation:app-toast-enter .22s cubic-bezier(.22,1,.36,1) both}.app-toast.is-leaving{animation:app-toast-exit .22s ease both}.app-toast-icon{position:relative;display:inline-flex;width:18px;height:18px;flex:0 0 18px;align-items:center;justify-content:center;border-radius:999px;background:#ffffff2e}.app-toast-icon:before{content:"";width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(-45deg)}.app-toast--error .app-toast-icon:before,.app-toast--info .app-toast-icon:before{width:3px;height:10px;border:0;border-radius:999px;background:currentColor;transform:none}.app-toast--error{background:#7f1d1df0}.app-toast--info{background:#1e40aff0}.app-shell.dark .app-toast{border:1px solid rgba(148,163,184,.28);background:#0f2138f5;color:#eef5ff;box-shadow:0 18px 42px #00000070}.app-shell.dark .app-toast--error{background:#5b1826f5}.app-shell.dark .app-toast--info{background:#143669f5}@keyframes app-toast-enter{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes app-toast-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.98)}}@media(max-width:900px){.app-toast-viewport{bottom:calc(92px + env(safe-area-inset-bottom))}.app-toast{width:min(100%,520px);justify-content:center;border-radius:18px;text-align:center}}.suggestions-layout{display:flex;flex-direction:column;gap:12px}.suggestions-subtabs{margin-bottom:0}.suggestions-card{width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;box-shadow:0 6px 18px #0f172a0d;display:flex;flex-direction:column;gap:8px;min-height:180px}.suggestions-card h3{margin:0;font-size:24px;font-weight:800}.suggestions-card textarea,.suggestions-card select{width:100%;border:1px solid #d7dce5;border-radius:10px;padding:8px 10px;background:#f8fafc;color:#0f172a}.suggestions-list{display:flex;flex-direction:column;gap:8px;max-height:62vh;overflow:auto;padding-right:2px}.suggestion-item{border:1px solid #d7dce5;border-radius:10px;padding:10px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}.suggestion-item.admin{background:#fff}.suggestion-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#475569;gap:8px;flex-wrap:wrap}.suggestion-top-left{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.suggestion-category{padding:2px 8px;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-weight:700}.suggestion-status{padding:2px 8px;border-radius:999px;font-weight:700;border:1px solid transparent}.suggestion-status.status-new{color:#92400e;background:#fef3c7;border-color:#fbbf24}.suggestion-status.status-needs-info{color:#6b21a8;background:#f3e8ff;border-color:#c084fc}.suggestion-status.status-acknowledged{color:#1e40af;background:#dbeafe;border-color:#60a5fa}.suggestion-status.status-accepted{color:#0f766e;background:#ccfbf1;border-color:#2dd4bf}.suggestion-status.status-in-progress{color:#075985;background:#e0f2fe;border-color:#38bdf8}.suggestion-status.status-on-hold{color:#92400e;background:#ffedd5;border-color:#fb923c}.suggestion-status.status-blocked{color:#991b1b;background:#fee2e2;border-color:#f87171}.suggestion-status.status-done{color:#166534;background:#dcfce7;border-color:#4ade80}.suggestion-status.status-out-of-scope{color:#475569;background:#e2e8f0;border-color:#94a3b8}.suggestion-message{white-space:pre-wrap;line-height:1.35;color:#0f172a;background:#fff;border:1px solid #dbe3ef;border-left:4px solid #93c5fd;border-radius:10px;padding:10px 12px;box-shadow:inset 0 1px #fffc}.suggestion-comment{border-top:1px dashed #cbd5e1;padding-top:6px;color:#fff;font-weight:600}.suggestions-meta-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:#64748b}.suggestions-ok{border:1px solid #86efac;background:#dcfce7;color:#166534;border-radius:10px;padding:8px 10px;font-weight:600}.suggestions-error{border:1px solid #fca5a5;background:#fef2f2;color:#991b1b;border-radius:10px;padding:8px 10px;font-weight:600}.suggestion-action-btn{border:1px solid #d7dce5;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px;letter-spacing:.2px;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.suggestion-action-btn:hover:not(:disabled){transform:translateY(-1px)}.suggestion-action-btn:disabled{opacity:.6;cursor:not-allowed}.suggestion-action-btn.primary{background:linear-gradient(180deg,#3b82f6,#2563eb);border-color:#1d4ed8;color:#fff;box-shadow:0 6px 14px #2563eb40}.suggestion-action-btn.primary:hover:not(:disabled){box-shadow:0 10px 20px #2563eb52}.suggestion-action-btn.delete{background:#fff;border-color:#fca5a5;color:#b91c1c}.suggestion-action-btn.delete:hover:not(:disabled){background:#fef2f2;border-color:#ef4444;box-shadow:0 8px 16px #ef444429}.suggest-submit-btn{min-width:128px}.save-summary-dropdown{margin-top:6px;border:1px solid #dbeafe;background:#fff;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px}.save-summary-change{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:#0f172a}.save-summary-name{font-weight:700}.save-summary-kind{color:#334155}.save-summary-arrow{color:#0f172a}.save-summary-empty{color:#334155}.suggestions-layout{--suggestions-page-bg: #f4f8fd;--suggestions-card-bg: rgba(255, 255, 255, .9);--suggestions-card-border: #d9e5f3;--suggestions-input-bg: #f6f9fe;--suggestions-text-main: #1f2937;--suggestions-text-muted: #687995;--suggestions-primary: #2f65e8;--suggestions-primary-soft: #e7f0ff;width:min(100%,1280px);margin:0 auto;display:flex;flex-direction:column;gap:16px;color:var(--suggestions-text-main)}.app-shell.dark .suggestions-layout{--suggestions-page-bg: #0b1828;--suggestions-card-bg: #172437;--suggestions-card-border: #31435b;--suggestions-input-bg: #111d2f;--suggestions-text-main: #eef4ff;--suggestions-text-muted: #9fb0c8;--suggestions-primary: #3b82f6;--suggestions-primary-soft: #173c78}.suggestions-subtabs{width:min(100%,520px);align-self:center;margin:0 auto 16px;padding:5px;border-radius:22px;background:color-mix(in srgb,var(--suggestions-input-bg) 82%,#ffffff);border-color:var(--suggestions-card-border)}.suggestions-subtabs button{min-height:42px;border-radius:18px;color:var(--suggestions-text-muted);font-weight:800}.suggestions-subtabs button.active{background:var(--suggestions-primary);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--suggestions-primary) 28%,transparent)}.suggestions-hub-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;align-items:start}.suggestions-card{min-height:0;padding:22px;border-radius:24px;background:var(--suggestions-card-bg);border:1px solid var(--suggestions-card-border);box-shadow:0 18px 44px #1c33541a;color:var(--suggestions-text-main)}.suggestions-card h3{font-size:24px;line-height:1.1;letter-spacing:0;color:var(--suggestions-text-main)}.suggestions-eyebrow{margin:0 0 5px;color:var(--suggestions-primary);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:0}.suggestions-composer-form{display:flex;flex-direction:column;gap:18px}.suggestions-composer-header{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.suggestions-composer-header h3{font-size:24px;line-height:1.1;color:var(--suggestions-text-main);margin:0}.suggestions-section-heading h4,.suggestions-reassurance{margin:0}.suggestions-section{display:flex;flex-direction:column;gap:10px}.suggestions-section-heading h4{color:var(--suggestions-text-main);font-size:15px;font-weight:900}.suggestion-type-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.suggestion-type-chips button{min-height:46px;padding:0 12px;border:1px solid var(--suggestions-card-border);border-radius:18px;background:var(--suggestions-input-bg);color:var(--suggestions-text-muted);font-weight:900;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.suggestion-type-chips button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--suggestions-primary) 42%,var(--suggestions-card-border))}.suggestion-type-chips button.active{background:var(--suggestions-primary-soft);border-color:color-mix(in srgb,var(--suggestions-primary) 48%,var(--suggestions-card-border));color:var(--suggestions-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--suggestions-primary) 20%,transparent)}.suggestion-type-chips button:focus-visible,.suggestion-action-btn:focus-visible,.suggestions-card textarea:focus-visible,.suggestions-card select:focus-visible,.suggestions-composer-form textarea:focus-visible,.suggestions-composer-form select:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.suggestions-card textarea,.suggestions-card select,.suggestions-composer-form textarea,.suggestions-composer-form select{width:100%;border:1px solid var(--suggestions-card-border);border-radius:20px;padding:14px 15px;background:var(--suggestions-input-bg);color:var(--suggestions-text-main);line-height:1.45;box-shadow:inset 0 1px #ffffff73}.suggestions-card textarea,.suggestions-composer-form textarea{resize:vertical;min-height:170px}.suggestions-card textarea::placeholder,.suggestions-composer-form textarea::placeholder{color:color-mix(in srgb,var(--suggestions-text-muted) 72%,transparent);font-family:inherit}.suggestions-meta-row{justify-content:flex-end;color:var(--suggestions-text-muted);font-weight:800}.suggest-submit-btn{min-height:52px;border-radius:18px;padding:0 22px;align-self:flex-end;min-width:220px;font-size:15px}.suggestion-action-btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--suggestions-primary) 84%,#ffffff) 0%,var(--suggestions-primary) 100%);border-color:var(--suggestions-primary);color:#fff;box-shadow:0 14px 28px color-mix(in srgb,var(--suggestions-primary) 26%,transparent)}.suggestion-action-btn.primary:disabled{background:color-mix(in srgb,var(--suggestions-primary) 26%,var(--suggestions-input-bg));border-color:color-mix(in srgb,var(--suggestions-primary) 22%,var(--suggestions-card-border));color:var(--suggestions-text-muted);box-shadow:none}.suggestions-reassurance{color:var(--suggestions-text-muted);font-size:13px;font-weight:700}.create-post-composer{display:grid;gap:14px;width:min(100%,740px);margin:0 auto;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.create-post-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.create-post-header h3{margin:0;color:var(--suggestions-text-main);font-size:24px;line-height:1.15;font-weight:900}.create-post-header p{margin:5px 0 0;color:var(--suggestions-text-muted);font-size:13px;font-weight:750;line-height:1.35}.create-post-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.create-post-cancel{background:var(--suggestions-card-bg);color:var(--suggestions-text-muted)}.create-post-category-grid button,.create-post-tags button,.create-post-toolbar button{min-height:40px;border:0;border-radius:12px;background:transparent;color:var(--suggestions-text-muted);font:inherit;font-size:13px;font-weight:900;cursor:pointer}.create-post-category-grid button.active,.create-post-tags button.active{background:var(--suggestions-primary-soft);color:var(--suggestions-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--suggestions-primary) 22%,transparent)}.create-post-section{display:grid;gap:8px}.create-post-section-heading h4,.create-post-label{margin:0;color:var(--suggestions-text-main);font-size:14px;font-weight:900}.create-post-title-input,.create-post-body{width:100%;border:1px solid var(--suggestions-card-border);border-radius:16px;background:var(--suggestions-card-bg);color:var(--suggestions-text-main);font:inherit;box-sizing:border-box}.create-post-title-input{min-height:52px;padding:0 15px;font-size:18px;font-weight:850}.create-post-title-input.invalid{border-color:#f87171;background:#fef2f2}.create-post-body{min-height:180px;padding:13px 14px;line-height:1.5;overflow:auto;white-space:pre-wrap;outline:none}.create-post-title-input::placeholder{color:color-mix(in srgb,var(--suggestions-text-muted) 70%,transparent)}.create-post-body:empty:before{content:attr(data-placeholder);color:color-mix(in srgb,var(--suggestions-text-muted) 70%,transparent);pointer-events:none}.create-post-body h3{margin:0 0 8px;font-size:18px;line-height:1.3}.create-post-field-meta{display:flex;justify-content:flex-end;color:var(--suggestions-text-muted);font-size:12px;font-weight:800}.create-post-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.create-post-category-grid button{border:1px solid var(--suggestions-card-border);background:var(--suggestions-input-bg)}.create-post-category-trigger{display:grid;gap:8px;width:100%;min-height:62px;padding:12px 14px;border:1px solid var(--suggestions-card-border);border-radius:16px;background:var(--suggestions-card-bg);color:var(--suggestions-text-main);font:inherit;text-align:left;cursor:pointer}.create-post-trigger-label{color:var(--suggestions-text-main);font-size:15px;font-weight:900}.create-post-trigger-chips,.create-post-selected-chips{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.create-post-trigger-chips>span:not(.thread-category-chip):not(.thread-tag-chip),.create-post-selected-chips span{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid color-mix(in srgb,var(--suggestions-primary) 24%,var(--suggestions-card-border));border-radius:999px;background:var(--suggestions-primary-soft);color:var(--suggestions-primary);font-size:11.5px;font-weight:850}.create-post-trigger-chips .create-post-trigger-muted{background:var(--suggestions-input-bg);border-color:var(--suggestions-card-border);color:var(--suggestions-text-muted)}.create-post-sheet-overlay{position:fixed;z-index:1000;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0 10px env(safe-area-inset-bottom);background:#0f172a3d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:create-post-sheet-backdrop-in .18s ease both}.create-post-category-sheet{position:relative;display:grid;gap:16px;width:min(100%,560px);max-height:min(78dvh,640px);overflow:auto;padding:14px 20px calc(18px + env(safe-area-inset-bottom));border:1px solid var(--suggestions-card-border);border-bottom:0;border-radius:24px 24px 0 0;background:var(--suggestions-card-bg);box-shadow:0 -20px 48px #0f172a38;animation:create-post-sheet-slide-up .24s cubic-bezier(.2,.8,.2,1) both;will-change:transform}.create-post-sheet-handle{width:44px;height:5px;justify-self:center;border-radius:999px;background:color-mix(in srgb,var(--suggestions-text-muted) 32%,transparent)}@keyframes create-post-sheet-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes create-post-sheet-slide-up{0%{opacity:.78;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.create-post-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.create-post-sheet-header h4{margin:0;color:var(--suggestions-text-main);font-size:18px;font-weight:900}.create-post-sheet-close{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-input-bg);color:var(--suggestions-text-muted);font:inherit;font-size:18px;font-weight:900;line-height:1;padding:0 0 2px;cursor:pointer}.create-post-sheet-section{display:grid;gap:9px}.create-post-sheet-section h5{margin:0;color:var(--suggestions-text-muted);font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.create-post-sheet-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.create-post-sheet-categories button{min-height:58px;padding:0 12px;border:1px solid var(--suggestions-card-border);border-radius:16px;background:var(--suggestions-input-bg);color:var(--suggestions-text-main);font:inherit;font-size:14px;font-weight:900;cursor:pointer}.create-post-sheet-categories button .thread-category-chip{min-height:30px;font-size:13px}.create-post-sheet-categories button.active{border-color:color-mix(in srgb,var(--suggestions-primary) 54%,var(--suggestions-card-border));background:var(--suggestions-primary-soft);color:var(--suggestions-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--suggestions-primary) 24%,transparent)}.create-post-sheet-tags{display:flex;gap:7px;flex-wrap:wrap}.create-post-sheet-tags button{min-height:34px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--suggestions-text-muted);font:inherit;font-size:12px;font-weight:850;cursor:pointer}.create-post-sheet-tags button.active{transform:translateY(-1px)}.create-post-sheet-tags button.active .thread-tag-chip{box-shadow:0 0 0 2px color-mix(in srgb,currentColor 18%,transparent)}.create-post-tags{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.create-post-tags::-webkit-scrollbar{display:none}.create-post-tags button{flex:0 0 auto;min-height:34px;padding:0 11px;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-input-bg);font-size:12px}.create-post-upload{display:grid;place-items:center;gap:8px;min-height:132px;padding:18px;border:1.5px dashed color-mix(in srgb,var(--suggestions-primary) 32%,var(--suggestions-card-border));border-radius:18px;background:color-mix(in srgb,var(--suggestions-primary-soft) 28%,var(--suggestions-card-bg));color:var(--suggestions-text-muted);font:inherit;font-weight:850;cursor:pointer}.create-post-upload span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:var(--suggestions-primary);color:#fff;font-size:22px;line-height:1}.create-post-media-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.create-post-media-preview{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid var(--suggestions-card-border);border-radius:12px;background:var(--suggestions-input-bg)}.create-post-media-preview img,.create-post-media-preview video{width:100%;height:100%;object-fit:cover;display:block}.create-post-media-remove{position:absolute;top:6px;right:6px;display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#0f172ac7;color:#fff;font-size:0;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 8px 18px #0f172a38}.create-post-media-remove:before,.create-post-media-remove:after{content:"";position:absolute;width:13px;height:3px;border-radius:999px;background:currentColor}.create-post-media-remove:before{transform:rotate(45deg)}.create-post-media-remove:after{transform:rotate(-45deg)}.create-post-media-remove:disabled{cursor:not-allowed;opacity:.55}.create-post-file-preview{display:grid;place-items:center;gap:5px;height:100%;padding:8px;color:var(--suggestions-text-muted);font-size:12px;font-weight:800;text-align:center;overflow-wrap:anywhere}.create-post-file-preview strong{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.create-post-file-preview small{color:var(--suggestions-text-muted);font-size:10px;font-weight:850}.create-post-file-icon{display:inline-flex;width:28px;height:34px;border:1px solid color-mix(in srgb,var(--suggestions-primary) 38%,var(--suggestions-card-border));border-radius:7px;background:linear-gradient(135deg,transparent 0 72%,color-mix(in srgb,var(--suggestions-primary) 22%,#ffffff) 72%),var(--suggestions-card-bg)}.create-post-toolbar{display:flex;gap:6px;padding:4px;border:1px solid var(--suggestions-card-border);border-radius:14px;background:var(--suggestions-input-bg);width:fit-content;max-width:100%;overflow-x:auto}.create-post-toolbar button{min-width:36px;min-height:34px;padding:0 9px;border:1px solid transparent;background:var(--suggestions-card-bg)}.create-post-toolbar button.active{border-color:color-mix(in srgb,var(--suggestions-primary) 38%,var(--suggestions-card-border));background:var(--suggestions-primary-soft);color:var(--suggestions-primary)}.create-post-toolbar .format-bold{font-weight:950}.create-post-toolbar .format-italic{font-style:italic}.create-post-toolbar .format-strike{text-decoration:line-through}.create-post-toolbar .format-case{font-weight:950}.create-post-toolbar .format-underline{text-decoration:underline}.create-post-submit{min-width:92px;min-height:40px;border-radius:999px;flex:0 0 auto}.create-post-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.create-post-validation{color:#b91c1c;font-size:12px;font-weight:800}.create-post-title-input:focus-visible,.create-post-body:focus-visible,.create-post-category-grid button:focus-visible,.create-post-category-trigger:focus-visible,.create-post-sheet-close:focus-visible,.create-post-sheet-categories button:focus-visible,.create-post-sheet-tags button:focus-visible,.create-post-tags button:focus-visible,.create-post-upload:focus-visible,.create-post-toolbar button:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.suggestions-side-card{position:sticky;top:14px;gap:16px}.suggestions-side-card h3{margin-bottom:2px}.suggestions-side-steps{display:flex;flex-direction:column;gap:10px}.suggestions-side-steps div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--suggestions-card-border);border-radius:18px;background:var(--suggestions-input-bg)}.suggestions-side-steps span,.suggestions-side-preview span,.suggestions-empty-icon,.suggestions-card-heading span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--suggestions-primary-soft);color:var(--suggestions-primary);font-weight:900}.suggestions-side-steps span{width:28px;height:28px;font-size:13px}.suggestions-side-steps p,.suggestions-side-preview p{margin:0;color:var(--suggestions-text-muted);font-weight:700}.suggestions-side-preview{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--suggestions-card-border)}.suggestions-side-preview span{width:46px;height:46px;font-size:18px}.suggestions-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.suggestions-card-heading h3,.suggestions-card-heading p{margin:0}.suggestions-card-heading p{margin-top:7px}.suggestions-card-heading span{flex:0 0 auto;min-width:38px;height:38px;padding:0 12px;font-size:16px}.suggestions-list{max-height:none;gap:10px}.updates-feed-list{display:grid;gap:12px;margin-top:14px}.update-item-card{display:grid;gap:10px;padding:14px;border:1px solid var(--suggestions-card-border);border-radius:20px;background:var(--suggestions-input-bg);box-shadow:inset 0 1px #ffffff57;overflow-wrap:anywhere}.update-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--suggestions-text-muted);font-size:12px}.update-badges{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.update-date{flex:0 0 auto;color:var(--suggestions-text-muted);font-weight:700;text-align:right}.update-message-panel{display:grid;gap:6px;border:1px solid var(--suggestions-card-border);border-left:4px solid var(--suggestions-primary);border-radius:18px;padding:11px 13px;background:color-mix(in srgb,var(--suggestions-card-bg) 82%,var(--suggestions-input-bg));color:var(--suggestions-text-main)}.update-message-panel span{color:var(--suggestions-primary);font-size:12px;font-weight:900}.update-message-panel p,.rich-message-body,.rich-message-body p,.suggestion-comment p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.rich-message-body h1,.rich-message-body h2,.rich-message-body h3,.rich-message-body h4,.thread-detail-body h1,.thread-detail-body h2,.thread-detail-body h3,.thread-detail-body h4{margin:0 0 8px;line-height:1.25;font-weight:900}.suggestion-item{border-color:var(--suggestions-card-border);border-radius:18px;padding:14px;background:var(--suggestions-input-bg)}.suggestion-item.admin{background:color-mix(in srgb,var(--suggestions-card-bg) 72%,var(--suggestions-input-bg))}.suggestion-top{color:var(--suggestions-text-muted)}.suggestion-category{background:var(--suggestions-primary-soft);border-color:color-mix(in srgb,var(--suggestions-primary) 30%,var(--suggestions-card-border));color:var(--suggestions-primary);white-space:nowrap}.suggestion-status{white-space:nowrap}.suggestion-message{border-radius:16px;background:color-mix(in srgb,var(--suggestions-card-bg) 78%,var(--suggestions-input-bg));border-color:var(--suggestions-card-border);border-left-color:var(--suggestions-primary);color:var(--suggestions-text-main);box-shadow:none}.suggestion-comment{display:flex;flex-direction:column;gap:4px;border:1px solid color-mix(in srgb,var(--suggestions-primary) 22%,var(--suggestions-card-border));border-radius:16px;padding:10px 12px;background:color-mix(in srgb,var(--suggestions-primary-soft) 48%,transparent);color:var(--suggestions-text-main)}.suggestion-comment.empty{background:transparent;border-style:dashed;color:var(--suggestions-text-muted)}.suggestion-comment span{color:var(--suggestions-primary);font-size:12px;font-weight:900}.suggestions-empty-card{min-height:220px;align-items:center;justify-content:center;text-align:center}.suggestions-empty-icon{width:52px;height:52px;margin-bottom:4px}.suggestions-ok,.suggestions-error{border-radius:16px}.suggestions-retry-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.suggestions-retry-card span{min-width:0}.suggestions-admin-card{gap:14px}.suggestions-admin-panel{--admin-detail-sticky-top: calc(var(--topbar-h, 0px) + var(--topbar-gap, 0px) + 14px);display:grid;gap:14px;width:min(100%,1280px);margin:0 auto}.admin-panel-heading{display:grid;gap:4px}.admin-panel-heading h3{margin:0;color:var(--suggestions-text-main);font-size:26px;font-weight:900}.admin-panel-heading p{margin:0}.admin-stats-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.admin-stats-strip button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:10px 12px;border:1px solid var(--suggestions-card-border);border-radius:18px;background:var(--suggestions-card-bg);color:inherit;box-shadow:0 10px 24px #1c335412;cursor:pointer}.admin-stats-strip button.active{border-color:color-mix(in srgb,var(--suggestions-primary) 58%,var(--suggestions-card-border));background:color-mix(in srgb,var(--suggestions-primary-soft) 58%,var(--suggestions-card-bg))}.admin-stats-strip span{min-width:0;color:var(--suggestions-text-muted);font-size:12px;font-weight:900;text-transform:uppercase}.admin-stats-strip strong{color:var(--suggestions-primary);font-size:18px;font-weight:900}.admin-filter-bar{display:grid;gap:7px;min-width:0}.admin-filter-bar input{min-height:36px;min-width:0;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-card-bg);color:var(--suggestions-text-main);font:inherit;font-size:12px;font-weight:800;padding:0 12px}.admin-filter-pills{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.admin-filter-pills::-webkit-scrollbar{display:none}.admin-filter-pills button{min-height:30px;flex:0 0 auto;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-card-bg);color:var(--suggestions-text-muted);font:inherit;font-size:12px;font-weight:900;padding:0 10px;cursor:pointer}.admin-filter-pills button.active{border-color:color-mix(in srgb,var(--suggestions-primary) 48%,var(--suggestions-card-border));background:var(--suggestions-primary);color:#fff}.admin-desktop-layout{display:grid;grid-template-columns:minmax(340px,410px) minmax(0,1fr);gap:16px;align-items:start}.admin-mobile-sections{display:none}.admin-queue-panel,.admin-detail-panel{gap:16px}.admin-detail-panel{position:sticky;top:var(--admin-detail-sticky-top);max-height:calc(100vh - var(--admin-detail-sticky-top) - 14px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.admin-detail-panel::-webkit-scrollbar{width:10px}.admin-detail-panel::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--suggestions-text-muted) 34%,transparent);background-clip:content-box}.admin-queue-header h3,.admin-detail-heading h3{margin:0;color:var(--suggestions-text-main)}.admin-queue-header{display:grid;gap:9px}.admin-queue-header p,.admin-detail-heading p{margin:0}.admin-queue-section{display:grid;gap:8px}.admin-queue-section+.admin-queue-section{padding-top:12px;border-top:1px solid var(--suggestions-card-border)}.admin-queue-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--suggestions-text-muted);font-size:12px;font-weight:900;text-transform:uppercase}.admin-queue-section-title strong{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:999px;background:var(--suggestions-primary-soft);color:var(--suggestions-primary)}.admin-queue-list{display:grid;gap:8px}.admin-queue-item{display:grid;gap:8px;width:100%;min-width:0;padding:12px;border:1px solid var(--suggestions-card-border);border-radius:18px;background:var(--suggestions-input-bg);color:var(--suggestions-text-main);text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease;overflow-wrap:anywhere}.admin-queue-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--suggestions-primary) 36%,var(--suggestions-card-border))}.admin-queue-item.active{background:color-mix(in srgb,var(--suggestions-primary-soft) 56%,var(--suggestions-input-bg));border-color:color-mix(in srgb,var(--suggestions-primary) 58%,var(--suggestions-card-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--suggestions-primary) 16%,transparent)}.admin-queue-item.unread .admin-queue-preview:before{content:"";display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:999px;background:var(--suggestions-primary)}.admin-queue-item:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.admin-queue-preview{display:-webkit-box;overflow:hidden;color:var(--suggestions-text-main);font-size:14px;font-weight:800;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.admin-queue-title,.admin-mobile-card-title{display:-webkit-box;overflow:hidden;color:var(--suggestions-text-main);font-size:15px;font-weight:900;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.admin-queue-meta-row,.admin-queue-state-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.admin-queue-meta-row time{flex:0 0 auto;max-width:112px;color:var(--suggestions-text-muted);font-size:11px;font-weight:800;line-height:1.25;text-align:right}.admin-queue-state-row span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid var(--suggestions-card-border);border-radius:999px;color:var(--suggestions-text-muted);font-size:11px;font-weight:900}.admin-state-chip{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:0 9px;border:1px solid var(--suggestions-card-border);border-radius:999px;color:var(--suggestions-text-muted);font-size:11px;font-weight:900}.admin-state-chip.public,.admin-state-chip.read{background:color-mix(in srgb,#dcfce7 58%,var(--suggestions-card-bg));border-color:#86efac;color:#166534}.admin-state-chip.private,.admin-state-chip.unread{background:color-mix(in srgb,var(--suggestions-primary-soft) 62%,var(--suggestions-card-bg));border-color:color-mix(in srgb,var(--suggestions-primary) 32%,var(--suggestions-card-border));color:var(--suggestions-primary)}.admin-state-chip.files{background:color-mix(in srgb,#fef3c7 62%,var(--suggestions-card-bg));border-color:#fbbf24;color:#92400e}.admin-queue-empty{padding:12px;border:1px dashed var(--suggestions-card-border);border-radius:16px;color:var(--suggestions-text-muted);font-weight:800;text-align:center}.admin-moderation-list{display:grid;gap:12px}.admin-suggestion-card{display:grid;gap:13px;padding:15px;border:1px solid var(--suggestions-card-border);border-radius:24px;background:var(--suggestions-input-bg);box-shadow:inset 0 1px #ffffff57;overflow-wrap:anywhere}.admin-card-top{align-items:flex-start}.admin-original-message{background:color-mix(in srgb,var(--suggestions-card-bg) 86%,var(--suggestions-input-bg))}.admin-review-detail-header,.admin-original-post,.admin-attachments-block{display:grid;gap:9px;padding:13px;border:1px solid var(--suggestions-card-border);border-radius:20px;background:color-mix(in srgb,var(--suggestions-card-bg) 72%,var(--suggestions-input-bg))}.admin-review-detail-header h3{margin:0;color:var(--suggestions-text-main);font-weight:900;line-height:1.2}.admin-review-detail-header h3{font-size:22px}.admin-review-heading-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-review-heading-line>div:first-child{min-width:0}.admin-review-chip-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:52%}.admin-review-meta-line{display:flex;flex-wrap:wrap;gap:8px;color:var(--suggestions-text-muted);font-size:12px;font-weight:800}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-section-heading span{color:var(--suggestions-text-main);font-size:13px;font-weight:900}.admin-section-heading small{color:var(--suggestions-text-muted);font-size:11px;font-weight:900;text-transform:uppercase}.admin-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-control-block,.admin-update-block{display:grid;gap:8px;min-width:0}.admin-status-block{grid-column:1 / -1}.admin-control-label{color:var(--suggestions-text-main);font-size:13px;font-weight:900}.admin-segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--suggestions-card-border);border-radius:18px;background:color-mix(in srgb,var(--suggestions-card-bg) 76%,var(--suggestions-input-bg))}.admin-segmented-control button{min-height:40px;border:0;border-radius:14px;background:transparent;color:var(--suggestions-text-muted);font-weight:900;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease}.admin-segmented-control button:hover{color:var(--suggestions-text-main)}.admin-segmented-control button.active{background:var(--suggestions-primary);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--suggestions-primary) 22%,transparent)}.admin-segmented-control button:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.admin-status-select{min-height:46px;border-radius:18px;font-weight:800}.admin-update-block{padding:13px;border:1px solid var(--suggestions-card-border);border-radius:20px;background:color-mix(in srgb,var(--suggestions-card-bg) 62%,var(--suggestions-input-bg))}.admin-update-block p{margin:-2px 0 0;color:var(--suggestions-text-muted);font-size:12px;font-weight:700;line-height:1.35}.admin-update-block textarea{min-height:110px}.admin-card-footer{display:grid;gap:10px;padding-top:2px}.admin-updated-at{color:var(--suggestions-text-muted);font-size:12px;font-weight:800}.admin-card-actions{display:flex;justify-content:flex-end;gap:8px}.admin-save-btn,.admin-delete-btn{min-height:44px;border-radius:16px}.admin-suggestion-card--detail{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-suggestion-card--detail .admin-controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-suggestion-card--detail .admin-status-block{grid-column:1 / -1}.admin-suggestion-card--detail .admin-update-block textarea{min-height:124px}.admin-delete-btn{order:1}.admin-save-btn{order:2}.admin-detail-empty{min-height:420px}.admin-mobile-card-list{display:grid;gap:8px}.admin-mobile-card{display:grid;gap:7px;width:100%;min-width:0;padding:12px 14px;border:1px solid var(--suggestions-card-border);border-radius:18px;background:var(--suggestions-input-bg);color:var(--suggestions-text-main);text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease;overflow-wrap:anywhere}.admin-mobile-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--suggestions-primary) 36%,var(--suggestions-card-border));box-shadow:0 4px 14px #1c335417}.admin-mobile-card:active{transform:translateY(0)}.admin-mobile-card:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.admin-mobile-card.unread{border-color:color-mix(in srgb,var(--suggestions-primary) 32%,var(--suggestions-card-border));background:color-mix(in srgb,var(--suggestions-primary-soft) 28%,var(--suggestions-input-bg))}.admin-mobile-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.admin-mobile-card-preview{display:-webkit-box;overflow:hidden;margin:0;color:var(--suggestions-text-main);font-size:14px;font-weight:700;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.admin-mobile-card.unread .admin-mobile-card-preview:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:999px;background:var(--suggestions-primary);vertical-align:middle;flex-shrink:0}.admin-mobile-card-meta{display:flex;align-items:center;gap:6px}.admin-mobile-card-meta span{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid var(--suggestions-card-border);border-radius:999px;color:var(--suggestions-text-muted);font-size:11px;font-weight:900}.admin-mobile-sheet-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:flex-end;background:#0000007a;animation:admin-overlay-in .24s ease forwards;overscroll-behavior:contain}.admin-mobile-sheet-overlay.closing{animation:admin-overlay-out .26s ease forwards;pointer-events:none}.admin-mobile-sheet{width:100%;max-height:92dvh;display:flex;flex-direction:column;border-radius:28px 28px 0 0;background:var(--suggestions-card-bg);box-shadow:0 -8px 40px #00000038;animation:admin-sheet-in .34s cubic-bezier(.22,1,.36,1) forwards;will-change:transform}.admin-mobile-sheet.closing{animation:admin-sheet-out .28s cubic-bezier(.32,0,.67,0) forwards}@keyframes admin-overlay-in{0%{background:#0000}to{background:#0000007a}}@keyframes admin-overlay-out{0%{background:#0000007a}to{background:#0000}}@keyframes admin-sheet-in{0%{transform:translateY(22px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes admin-sheet-out{0%{transform:translateY(var(--sheet-close-from, 0px));opacity:1}to{transform:translateY(100%);opacity:.6}}.threads-feed,.thread-detail{display:grid;gap:12px;width:min(100%,740px);margin:0 auto}.threads-landing-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--suggestions-card-border);border-radius:16px;background:var(--suggestions-card-bg);box-shadow:0 6px 18px #0f172a0d}.threads-landing-title{display:grid;gap:4px;min-width:0}.threads-landing-title h3{font-size:24px;line-height:1.15;color:var(--suggestions-text-main);margin:0}.threads-feed-subtitle{margin:0;color:var(--suggestions-text-muted);font-weight:600;font-size:14px;line-height:1.45}.threads-header-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.threads-review-btn{min-height:42px;background:var(--suggestions-input-bg);color:var(--suggestions-primary);border-color:color-mix(in srgb,var(--suggestions-primary) 30%,var(--suggestions-card-border))}.threads-review-btn:hover:not(:disabled){background:var(--suggestions-primary-soft)}.thread-menu-wrap{position:relative}.thread-more-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-input-bg);color:var(--suggestions-text-main);font-size:18px;font-weight:900;line-height:1;padding:0 0 4px;cursor:pointer}.thread-more-btn:focus-visible,.thread-menu-panel button:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.thread-menu-panel{position:absolute;z-index:20;top:calc(100% + 8px);right:0;display:grid;gap:2px;min-width:224px;padding:8px;border:1px solid var(--suggestions-card-border);border-radius:14px;background:var(--suggestions-card-bg);box-shadow:0 18px 42px #0f172a29}.thread-menu-panel button{min-height:38px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--suggestions-text-main);font:inherit;font-size:13px;font-weight:750;text-align:left;cursor:pointer}.thread-menu-panel button:hover,.thread-menu-panel button[aria-checked=true]{background:var(--suggestions-primary-soft);color:var(--suggestions-primary)}.thread-menu-panel button:disabled{opacity:.55;cursor:not-allowed}.thread-menu-divider{height:1px;margin:4px 2px;background:var(--suggestions-card-border)}.threads-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.threads-secondary-tabs{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:1px 2px 4px;margin-inline:-2px;-webkit-overflow-scrolling:touch}.threads-secondary-tabs::-webkit-scrollbar{display:none}.threads-secondary-tabs button{flex:0 0 auto;min-width:44px;min-height:40px;height:40px;padding:0 14px;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-input-bg);color:var(--suggestions-text-muted);font-weight:800;font-size:13px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease;white-space:nowrap}.threads-secondary-tabs button:hover:not(.active){border-color:color-mix(in srgb,var(--suggestions-primary) 36%,var(--suggestions-card-border));transform:translateY(-1px)}.threads-secondary-tabs button.active{background:var(--suggestions-primary-soft);border-color:color-mix(in srgb,var(--suggestions-primary) 48%,var(--suggestions-card-border));color:var(--suggestions-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--suggestions-primary) 18%,transparent)}.threads-secondary-tabs button:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.threads-sort-segment{flex:0 0 auto;display:inline-flex;align-items:center;gap:0;padding:3px;border-radius:999px;background:#e2e8f0;border:1px solid color-mix(in srgb,var(--suggestions-card-border) 80%,transparent)}.threads-sort-segment button{min-width:70px;min-height:34px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:#475569;font:inherit;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.threads-sort-segment button.active{background:var(--suggestions-primary);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--suggestions-primary) 24%,transparent)}.threads-sort-segment button:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.app-shell.dark .threads-sort-segment{background:#253449;border-color:#405572}.app-shell.dark .threads-sort-segment button{color:#b8c5d8}.app-shell.dark .threads-sort-segment button.active{background:var(--suggestions-primary);color:#fff;box-shadow:0 8px 18px #3b82f642}.threads-pinned-section{display:grid;gap:8px}.threads-section-heading{display:flex;align-items:center;justify-content:space-between;min-height:28px}.threads-section-heading h4{margin:0;color:var(--suggestions-text-main);font-size:14px;font-weight:900}.threads-inline-empty{padding:12px 14px;border:1px dashed var(--suggestions-card-border);border-radius:12px;background:color-mix(in srgb,var(--suggestions-input-bg) 72%,transparent);color:var(--suggestions-text-muted);font-size:13px;font-weight:750;text-align:center}.threads-list{display:grid;gap:8px}.threads-list--pinned{gap:7px}.thread-feed-card{display:grid;gap:8px;width:100%;min-width:0;padding:12px 13px;border:1px solid var(--suggestions-card-border);border-radius:14px;background:var(--suggestions-card-bg);color:var(--suggestions-text-main);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease;overflow-wrap:anywhere}.thread-feed-card:hover{border-color:color-mix(in srgb,var(--suggestions-primary) 36%,var(--suggestions-card-border));background:color-mix(in srgb,var(--suggestions-primary-soft) 20%,var(--suggestions-card-bg));transform:translateY(-1px)}.thread-feed-card:active{transform:translateY(0)}.thread-feed-card:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.thread-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.thread-author-row{display:inline-flex;align-items:center;gap:8px;min-width:0}.thread-feed-badge{flex:0 0 auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--suggestions-primary-soft);color:var(--suggestions-primary);border:1px solid color-mix(in srgb,var(--suggestions-primary) 30%,var(--suggestions-card-border));font-size:10px;font-weight:900;line-height:1;letter-spacing:0}.thread-feed-author{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--suggestions-text-muted);font-size:12.5px;font-weight:800}.thread-feed-date{flex:0 0 auto;color:var(--suggestions-text-muted);font-size:11.5px;font-weight:750;text-align:right}.thread-card-title{margin:0;color:var(--suggestions-text-main);font-size:16px;line-height:1.35;font-weight:850;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.thread-category-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.thread-category-chip{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 8px;border-radius:999px;border:1px solid var(--suggestions-card-border);background:var(--suggestions-input-bg);color:var(--suggestions-text-muted);font-size:11px;font-weight:850;white-space:nowrap}.thread-category-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:currentColor;font-size:11px;font-weight:900;line-height:1}.thread-category-icon:before{color:currentColor}.thread-category-chip--suggestion{color:#1d4ed8;background:#bfdbfe;border-color:#bfdbfe}.thread-category-chip--suggestion .thread-category-icon:before{content:"💡"}.thread-category-chip--problem{color:#b91c1c;background:#fad3d3;border-color:#fecaca}.thread-category-chip--problem .thread-category-icon:before{content:"!"}.thread-category-chip--question{color:#6d28d9;background:#d6cff9;border-color:#ddd6fe}.thread-category-chip--question .thread-category-icon:before{content:"?"}.thread-category-chip--news{color:#0f766e;background:#ccfbf1;border-color:#99f6e4}.thread-category-chip--news .thread-category-icon:before{content:"N"}.thread-category-chip--other{color:#475569;background:#d0d0d0;border-color:#cbd5e1}.thread-category-chip--other .thread-category-icon:before{content:"•"}.thread-category-chip--problem .thread-category-icon{color:#b91c1c}.thread-category-chip--question .thread-category-icon{color:#6d28d9}.thread-category-chip--news .thread-category-icon{color:#0f766e}.thread-category-chip--other .thread-category-icon{color:#475569}.app-shell.dark .thread-category-icon{background:#ffffffeb}.thread-tag-chip{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;border:1px solid var(--suggestions-card-border);font-size:11px;font-weight:850;white-space:nowrap}.thread-tag-chip--blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.thread-tag-chip--green{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.thread-tag-chip--purple{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.thread-tag-chip--amber{color:#92400e;background:#fffbeb;border-color:#fde68a}.thread-tag-chip--rose{color:#be123c;background:#fff1f2;border-color:#fecdd3}.thread-tag-chip--teal{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.thread-tag-chip--indigo{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.thread-tag-chip--slate{color:#475569;background:#f8fafc;border-color:#cbd5e1}.thread-card-footer{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding-top:6px;border-top:1px solid var(--suggestions-card-border);font-size:11.5px;color:var(--suggestions-text-muted);font-weight:700}.thread-vote-group{display:inline-flex;align-items:center;gap:5px;min-height:32px}.thread-vote-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-input-bg);color:var(--suggestions-text-muted);font-size:14px;font-weight:900;line-height:1;cursor:pointer}.thread-vote-btn.active,.thread-vote-btn:hover{color:var(--suggestions-primary);border-color:color-mix(in srgb,var(--suggestions-primary) 34%,var(--suggestions-card-border));background:var(--suggestions-primary-soft)}.thread-vote-btn:disabled{cursor:not-allowed}.thread-vote-btn:disabled:not(.active){opacity:.5}.thread-vote-icon{width:11px;height:11px;border-left:3px solid currentColor;border-top:3px solid currentColor;border-radius:1px}.thread-vote-icon--up{transform:translateY(2px) rotate(45deg)}.thread-vote-icon--down{transform:translateY(-2px) rotate(225deg)}.thread-vote-count{min-width:18px;text-align:center;color:var(--suggestions-text-main);font-size:12px;font-weight:900}.thread-comments-link{min-height:32px;display:inline-flex;align-items:center;gap:6px;border:0;padding:0;background:transparent;color:var(--suggestions-text-muted);font:inherit;font-weight:750;cursor:pointer}.thread-comments-link:hover{color:var(--suggestions-primary)}.thread-comment-icon{position:relative;width:15px;height:13px;border:2px solid currentColor;border-radius:5px;flex:0 0 auto}.thread-comment-icon:after{content:"";position:absolute;left:3px;bottom:-5px;width:6px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;border-bottom-left-radius:2px;background:transparent}.thread-card-more{margin-left:auto;color:var(--suggestions-text-muted);font-size:16px;font-weight:900}.thread-feed-card--compact{gap:6px;padding-block:10px}.thread-feed-card--compact .thread-feed-badge{width:24px;height:24px}.thread-status{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border-radius:999px;font-weight:700;font-size:12px;border:1px solid transparent;white-space:nowrap}.thread-status--under-review{color:#92400e;background:#fef3c7;border-color:#fbbf24}.thread-status--planned{color:#1e40af;background:#dbeafe;border-color:#60a5fa}.thread-status--in-progress{color:#075985;background:#e0f2fe;border-color:#38bdf8}.thread-status--completed{color:#166534;background:#dcfce7;border-color:#4ade80}.thread-status--blocked{color:#991b1b;background:#fee2e2;border-color:#f87171}.thread-status--answered{color:#475569;background:#e2e8f0;border-color:#94a3b8}.threads-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:32px 16px;border:1px dashed var(--suggestions-card-border);border-radius:14px}.threads-empty h3{margin:0;font-size:18px;color:var(--suggestions-text-main)}.threads-empty p{margin:0;font-size:14px;color:var(--suggestions-text-muted)}.thread-detail-topbar{display:flex;align-items:center;gap:12px}.thread-detail-back{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:44px;padding:0 16px;border:1px solid var(--suggestions-card-border);border-radius:12px;background:var(--suggestions-input-bg);color:var(--suggestions-text-main);font-weight:800;font-size:13px;cursor:pointer;transition:border-color .12s ease,color .12s ease}.thread-detail-back:hover{border-color:color-mix(in srgb,var(--suggestions-primary) 36%,var(--suggestions-card-border));color:var(--suggestions-primary)}.thread-detail-back:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.thread-detail-topbar-title{font-weight:900;font-size:15px;color:var(--suggestions-text-muted)}.thread-detail-main{display:grid;gap:10px;padding:14px;border:1px solid var(--suggestions-card-border);border-radius:16px;background:var(--suggestions-card-bg);box-shadow:0 6px 18px #0f172a0d;overflow-wrap:anywhere}.thread-detail-meta-row,.thread-detail-chip-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.thread-detail-chip-row{justify-content:flex-start;flex-wrap:wrap}.thread-detail-title{margin:2px 0 0;color:var(--suggestions-text-main);font-size:21px;line-height:1.22;font-weight:900}.thread-detail-body{color:var(--suggestions-text-main);font-size:14.5px;line-height:1.62}.thread-detail-body p,.thread-detail-body div{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.thread-detail-carousel{position:relative;min-width:0}.thread-detail-carousel-viewport{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;margin:0;border:1px solid var(--suggestions-card-border);border-radius:14px;background:var(--suggestions-input-bg);-webkit-overflow-scrolling:touch;scrollbar-width:none}.thread-detail-carousel-viewport::-webkit-scrollbar{display:none}.thread-detail-carousel-slide{display:grid;flex:0 0 100%;min-width:0;min-height:220px;margin:0;place-items:center;scroll-snap-align:center;background:#020617}.thread-detail-carousel-slide img,.thread-detail-carousel-slide video{display:block;width:100%;max-height:430px;object-fit:contain}.thread-detail-carousel-slide a{display:block;padding:12px;color:var(--suggestions-primary);font-weight:800;overflow-wrap:anywhere}.thread-detail-file-download{display:grid!important;width:min(100% - 36px,420px);min-height:132px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:16px!important;border:1px solid color-mix(in srgb,var(--suggestions-primary) 26%,var(--suggestions-card-border));border-radius:16px;background:var(--suggestions-card-bg);color:var(--suggestions-text-main)!important;text-decoration:none;box-shadow:0 14px 30px #0f172a29}.thread-detail-file-icon{display:inline-flex;width:42px;height:52px;border:1px solid color-mix(in srgb,var(--suggestions-primary) 42%,var(--suggestions-card-border));border-radius:10px;background:linear-gradient(135deg,transparent 0 72%,color-mix(in srgb,var(--suggestions-primary) 22%,#ffffff) 72%),var(--suggestions-input-bg)}.thread-detail-file-text{display:grid;gap:3px;min-width:0}.thread-detail-file-text strong{overflow:hidden;color:var(--suggestions-text-main);font-size:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.thread-detail-file-text small{color:var(--suggestions-text-muted);font-size:12px;font-weight:800}.thread-detail-file-action{grid-column:1 / -1;display:inline-flex;min-height:32px;align-items:center;justify-content:center;border-radius:999px;background:var(--suggestions-primary);color:#fff;font-size:12px;font-weight:900}.thread-detail-carousel-btn{position:absolute;top:50%;z-index:2;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;padding:0;border:1px solid color-mix(in srgb,#ffffff 64%,var(--suggestions-card-border));border-radius:999px;background:#0f172a9e;color:#fff;font-size:30px;font-weight:800;line-height:1;box-shadow:0 10px 24px #0f172a38;cursor:pointer;transform:translateY(-50%)}.thread-detail-carousel-btn:disabled{opacity:.34;cursor:not-allowed}.thread-detail-carousel-btn--prev{left:8px}.thread-detail-carousel-btn--next{right:8px}.thread-detail-carousel-dots{position:absolute;left:50%;bottom:9px;z-index:2;display:flex;gap:5px;transform:translate(-50%)}.thread-detail-carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#ffffff7a;cursor:pointer}.thread-detail-carousel-dots button.active{width:18px;background:#fff}.thread-detail-legacy-media{display:flex;flex-wrap:wrap;gap:6px}.thread-detail-legacy-media span{display:inline-flex;min-height:30px;align-items:center;padding:5px 10px;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-input-bg);color:var(--suggestions-text-muted);font-size:12px;font-weight:850}.thread-detail-section-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:0;color:var(--suggestions-text-muted);margin-bottom:6px}.thread-detail-section-label--reply{color:var(--suggestions-primary)}.thread-detail-post-meta{display:flex;align-items:center;gap:8px;margin-bottom:7px;flex-wrap:wrap}.thread-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-size:12px;font-weight:900;flex-shrink:0;background:var(--suggestions-input-bg);border:1px solid var(--suggestions-card-border);color:var(--suggestions-text-muted);letter-spacing:0}.thread-avatar--admin{background:var(--suggestions-primary-soft);border-color:color-mix(in srgb,var(--suggestions-primary) 32%,var(--suggestions-card-border));color:var(--suggestions-primary)}.thread-post-author{font-weight:800;font-size:13px;color:var(--suggestions-text-main)}.thread-post-time{font-size:12px;color:var(--suggestions-text-muted);font-weight:700;margin-left:auto}.thread-admin-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;background:var(--suggestions-primary-soft);color:var(--suggestions-primary);border:1px solid color-mix(in srgb,var(--suggestions-primary) 30%,var(--suggestions-card-border))}.thread-detail-official-reply{display:grid;margin-top:2px}.thread-official-reply-card{padding:11px 12px;border:1px solid color-mix(in srgb,var(--suggestions-primary) 24%,var(--suggestions-card-border));border-radius:12px;background:color-mix(in srgb,var(--suggestions-primary-soft) 52%,var(--suggestions-card-bg))}.thread-official-reply-body{margin:0;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--suggestions-text-main);font-size:14px}.thread-no-reply{padding:10px 12px;border:1px dashed var(--suggestions-card-border);border-radius:12px;text-align:center}.thread-no-reply p{margin:0;font-size:13px;color:var(--suggestions-text-muted);font-style:italic}.thread-detail-comments-section{display:grid;gap:8px;padding:0 2px}.thread-comments-empty{padding:14px 12px;border:1px dashed var(--suggestions-card-border);border-radius:12px;text-align:center;background:color-mix(in srgb,var(--suggestions-input-bg) 72%,transparent)}.thread-comments-empty p{margin:0;font-size:13px;color:var(--suggestions-text-muted)}.thread-comments-list{display:grid;gap:2px}.thread-comment{padding:11px 2px 12px;border-bottom:1px solid var(--suggestions-card-border);background:transparent}.thread-comment--admin{padding-inline:10px;border:1px solid color-mix(in srgb,var(--suggestions-primary) 18%,var(--suggestions-card-border));border-radius:12px;background:color-mix(in srgb,var(--suggestions-primary-soft) 28%,var(--suggestions-card-bg));margin-block:4px}.thread-comment-body{margin:0;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--suggestions-text-main)}.thread-locked-notice{padding:12px;border:1px solid var(--suggestions-card-border);border-radius:12px;background:var(--suggestions-input-bg);text-align:center}.thread-locked-notice p{margin:0;font-size:13px;color:var(--suggestions-text-muted);font-weight:700}.thread-comment-composer{display:grid;gap:10px;padding:12px;border:1px solid var(--suggestions-card-border);border-radius:16px;background:var(--suggestions-card-bg);box-shadow:0 -2px 16px #0f172a0a;margin-bottom:calc(72px + env(safe-area-inset-bottom))}.thread-comment-composer textarea{width:100%;border:1px solid var(--suggestions-card-border);border-radius:12px;padding:10px 12px;background:var(--suggestions-input-bg);color:var(--suggestions-text-main);font-size:14px;line-height:1.45;resize:vertical;min-height:58px;font-family:inherit;box-sizing:border-box}.thread-comment-composer textarea::placeholder{color:color-mix(in srgb,var(--suggestions-text-muted) 72%,transparent)}.thread-comment-composer textarea:disabled{opacity:.55;cursor:not-allowed}.thread-comment-composer textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.thread-composer-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.thread-name-toggle{display:inline-flex;align-items:center;gap:8px;width:fit-content;min-height:36px;color:var(--suggestions-text-main);font-size:13px;font-weight:800;cursor:pointer}.thread-name-toggle input{width:18px;height:18px;margin:0;accent-color:var(--suggestions-primary)}.thread-composer-name-preview{width:fit-content;padding:5px 9px;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-input-bg);color:var(--suggestions-text-muted);font-size:12px;font-weight:800}.thread-name-field{display:grid;gap:5px}.thread-name-field span{color:var(--suggestions-text-muted);font-size:12px;font-weight:800}.thread-name-field input{width:100%;min-height:42px;border:1px solid var(--suggestions-card-border);border-radius:12px;padding:0 12px;background:var(--suggestions-input-bg);color:var(--suggestions-text-main);font:inherit;box-sizing:border-box}.thread-name-field input:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.thread-composer-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.thread-composer-footer .suggestion-action-btn{min-height:42px;padding-inline:18px}.thread-composer-note{font-size:12px;color:var(--suggestions-text-muted);font-weight:700;font-style:italic;min-width:0}.thread-admin-panel{margin-top:4px;border:1.5px solid color-mix(in srgb,#b45309 25%,var(--suggestions-card-border));border-radius:10px;background:color-mix(in srgb,#fbbf24 6%,var(--suggestions-card-bg));overflow:hidden}.thread-admin-panel summary.thread-admin-toggle{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,#b45309 80%,var(--suggestions-text));cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.thread-admin-panel summary.thread-admin-toggle::-webkit-details-marker{display:none}.thread-admin-panel summary.thread-admin-toggle:before{content:"▸";font-size:10px;transition:transform .18s ease;display:inline-block}.thread-admin-panel[open] summary.thread-admin-toggle:before{transform:rotate(90deg)}.thread-admin-controls{display:grid;gap:14px;padding:4px 14px 14px}.thread-admin-block{display:flex;flex-direction:column;gap:8px}.thread-admin-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--suggestions-text-muted)}.thread-admin-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.thread-admin-select{flex:1;min-width:160px;padding:7px 10px;border:1.5px solid var(--suggestions-card-border);border-radius:8px;background:var(--suggestions-card-bg);color:var(--suggestions-text);font-size:14px;cursor:pointer}.thread-admin-select:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.thread-admin-reply-textarea{width:100%;min-height:90px;padding:10px 12px;border:1.5px solid var(--suggestions-card-border);border-radius:8px;background:var(--suggestions-card-bg);color:var(--suggestions-text);font-size:14px;line-height:1.55;resize:vertical;box-sizing:border-box;font-family:inherit}.thread-admin-reply-textarea::placeholder{color:var(--suggestions-text-muted)}.thread-admin-reply-textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.thread-admin-reply-actions,.thread-admin-toggle-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.thread-admin-toggle-row button,.thread-admin-reply-actions button,.thread-admin-row button{padding:7px 14px;border:1.5px solid var(--suggestions-card-border);border-radius:8px;background:var(--suggestions-card-bg);color:var(--suggestions-text);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.thread-admin-toggle-row button:hover,.thread-admin-reply-actions button:hover,.thread-admin-row button:hover{background:color-mix(in srgb,var(--suggestions-primary) 8%,var(--suggestions-card-bg));border-color:color-mix(in srgb,var(--suggestions-primary) 40%,var(--suggestions-card-border))}.thread-admin-toggle-row button:disabled,.thread-admin-reply-actions button:disabled,.thread-admin-row button:disabled{opacity:.45;cursor:not-allowed}.thread-admin-active{border-color:var(--suggestions-primary)!important;color:var(--suggestions-primary)!important;background:color-mix(in srgb,var(--suggestions-primary) 10%,var(--suggestions-card-bg))!important}@media(max-width:900px){.threads-feed,.thread-detail{width:100%;gap:10px}.thread-detail-topbar-title{display:none}.thread-detail-main{padding:13px;border-radius:14px}.thread-detail-meta-row{align-items:flex-start}.thread-detail-title{font-size:19px}.thread-post-time{margin-left:0;width:100%;flex-basis:100%}.threads-landing-header{align-items:stretch;flex-direction:column;padding:13px}.threads-landing-title h3{font-size:21px}.threads-header-actions{width:100%;justify-content:space-between}.thread-menu-panel{right:0}.threads-toolbar{align-items:center;flex-direction:row;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.threads-toolbar::-webkit-scrollbar{display:none}.threads-sort-segment button{min-width:64px;min-height:32px;padding-inline:10px}.threads-feed-subtitle{font-size:13px;line-height:1.35}.thread-feed-card{padding:12px;border-radius:12px}.thread-card-title{font-size:15.5px}.thread-card-footer{gap:8px}.thread-feed-date{font-size:11px}.thread-comment-composer,.thread-locked-notice{margin-bottom:calc(78px + env(safe-area-inset-bottom))}.create-post-composer{width:100%;gap:12px}.create-post-header h3{font-size:22px}.create-post-title-input{min-height:50px;font-size:16px}.create-post-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.create-post-body{min-height:150px}.create-post-submit{min-width:84px}.admin-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-bar{grid-template-columns:1fr}.admin-review-detail-header,.admin-original-post,.admin-attachments-block,.admin-update-block{border-radius:16px;padding:12px}.admin-review-detail-header h3{font-size:19px}.admin-review-heading-line{display:grid}.admin-review-chip-row{justify-content:flex-start;max-width:none}.admin-controls-grid,.admin-suggestion-card--detail .admin-controls-grid{grid-template-columns:1fr}.admin-card-actions{position:sticky;bottom:0;z-index:3;padding:10px 0 calc(4px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--suggestions-card-bg) 94%,transparent) 26%,var(--suggestions-card-bg))}}@media(prefers-reduced-motion:reduce){.admin-mobile-sheet,.admin-mobile-sheet.closing,.admin-mobile-sheet-overlay,.admin-mobile-sheet-overlay.closing{animation-duration:1ms}}.admin-mobile-sheet-handle-area{display:flex;flex-shrink:0;justify-content:center;align-items:center;padding:10px 0 6px;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.admin-mobile-sheet-handle-area:active{cursor:grabbing}.admin-mobile-sheet-handle{width:36px;height:4px;border-radius:999px;background:var(--suggestions-card-border)}.admin-mobile-sheet-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;padding:4px 18px 13px;border-bottom:1px solid var(--suggestions-card-border);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.admin-mobile-sheet-header:active{cursor:grabbing}.admin-mobile-sheet-title{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-mobile-sheet-title p{margin:0;color:var(--suggestions-text-muted);font-size:11px;font-weight:900;line-height:1.25}.admin-mobile-sheet-title strong{display:-webkit-box;overflow:hidden;color:var(--suggestions-text-main);font-size:16px;font-weight:900;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:1}.admin-mobile-sheet-close{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--suggestions-card-border);border-radius:999px;background:var(--suggestions-input-bg);color:var(--suggestions-text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.admin-mobile-sheet-close:hover{background:color-mix(in srgb,var(--suggestions-primary) 10%,var(--suggestions-input-bg));border-color:color-mix(in srgb,var(--suggestions-primary) 32%,var(--suggestions-card-border));color:var(--suggestions-primary)}.admin-mobile-sheet-close:focus-visible{outline:3px solid color-mix(in srgb,var(--suggestions-primary) 30%,transparent);outline-offset:2px}.admin-mobile-sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 16px calc(16px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}@media(min-width:901px){.admin-mobile-sheet-overlay,.suggestions-tab-mobile-only{display:none!important}}.updates-loading-card{overflow:hidden}.updates-skeleton-line,.updates-skeleton-block,.updates-skeleton-pill{position:relative;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--suggestions-text-muted) 14%,transparent)}.updates-skeleton-line:after,.updates-skeleton-block:after,.updates-skeleton-pill:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,#ffffff 38%,transparent),transparent);animation:updates-skeleton-shimmer 1.35s ease-in-out infinite}.updates-skeleton-line.title{width:210px;height:22px}.updates-skeleton-line.subtitle{width:min(100%,340px);height:12px;margin-top:11px}.updates-skeleton-line.meta{width:min(100%,260px);height:14px}.updates-skeleton-pill{width:38px;height:38px}.updates-skeleton-block{height:72px;border-radius:18px}.updates-skeleton-block.small{height:56px}@keyframes updates-skeleton-shimmer{to{transform:translate(100%)}}@media(max-width:900px){.suggestions-layout{width:100%;gap:4px;padding:0 2px calc(70px + env(safe-area-inset-bottom));min-height:100dvh}.suggestions-subtabs{width:100%}.suggestions-hub-grid{grid-template-columns:1fr}.suggestions-side-card{position:static;display:none}.suggestions-side-card-tab{display:flex}.suggestions-card{padding:16px;border-radius:24px}.suggestions-card h3{font-size:22px}.suggestions-composer-card{gap:16px}.suggestions-intro-card{align-items:flex-start;flex-direction:column;gap:8px}.suggestions-intro-card>p{align-self:flex-start;white-space:normal}.suggestion-type-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.suggestion-type-chips button{padding:0 6px;font-size:12px;border-radius:14px}.suggestions-card textarea{min-height:180px}.suggest-submit-btn{width:100%;min-width:0;align-self:stretch;position:sticky;bottom:calc(1px + env(safe-area-inset-bottom));z-index:10}.suggestions-reassurance{text-align:center}.suggestions-card-heading{gap:10px}.update-meta-row{align-items:flex-start}.update-date{max-width:118px;line-height:1.25}.suggestions-retry-card{align-items:stretch;flex-direction:column}.suggestions-admin-panel{width:100%}.admin-panel-heading,.admin-desktop-layout{display:none}.admin-mobile-sections{display:grid;gap:14px}.admin-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats-strip div{padding:10px}.admin-suggestion-card{padding:13px;border-radius:22px}.admin-controls-grid{grid-template-columns:1fr}.admin-card-actions{flex-direction:column}.admin-save-btn,.admin-delete-btn{width:100%;min-height:48px}.admin-save-btn{order:1}.admin-delete-btn{order:2}}@media(max-width:390px),(max-height:760px){.suggestions-card{padding:13px}.suggestions-composer-card{gap:14px}.suggestions-intro-card{padding:12px;gap:6px}.suggestion-type-chips button{min-height:40px}.suggestions-card textarea{min-height:clamp(120px,30dvh,160px)}}@media(max-width:390px){.overview-row{grid-template-columns:minmax(70px,1.32fr) repeat(7,minmax(0,1fr))}.overview-chip{min-width:36px;padding-left:6px;padding-right:6px;font-size:12px}.overview-person-name .person-avatar{width:27px;height:27px;font-size:10px}.overview-person-name .person-label{font-size:10px}}.swaps-view{width:min(100%,720px);margin:0 auto;display:flex;flex-direction:column;gap:14px}.swaps-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.swaps-header h1{margin:0;font-size:34px;line-height:1;letter-spacing:0;font-weight:850;color:#0f172a}.swaps-filter-btn{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#0f172a;box-shadow:0 2px 8px #0f172a0a}.swaps-filter-btn svg,.swap-metric-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.swaps-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.swaps-tabs button{min-width:0;height:40px;box-sizing:border-box;padding:0 4px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#0f172a;font-size:14px;font-weight:750;line-height:1;overflow:hidden;text-overflow:clip;white-space:nowrap;cursor:pointer}.swaps-tabs button.active{background:#1d5cff;border-color:#1d5cff;color:#fff;box-shadow:0 8px 16px #1d5cff38}.swap-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.swap-metric-card{min-width:0;display:flex;align-items:center;gap:18px;padding:18px 16px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 2px 8px #0f172a0a}.swap-metric-icon{width:56px;height:56px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#eef2ff;color:#1d5cff}.swap-metric-label{color:#74819a;font-size:16px;font-weight:750}.swap-metric-value{color:#0f172a;font-size:40px;line-height:1;font-weight:850}.swap-list{display:flex;flex-direction:column;gap:10px}.swap-card,.swap-empty-card{border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 2px 8px #0f172a0a}.swap-card{padding:14px}.swap-empty-card{padding:24px;color:#74819a;font-weight:750;text-align:center}.swap-error{border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#b91c1c;padding:10px 12px;font-weight:700}.swap-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.swap-card-eyebrow,.swap-date{color:#74819a;font-size:15px;font-weight:750}.swap-card h2{margin:6px 0 10px;color:#0f172a;font-size:21px;line-height:1.15;letter-spacing:0}.swap-card-state{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}.swap-status{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 12px;border-radius:8px;font-size:15px;font-weight:750;white-space:nowrap}.swap-status.status-incoming{background:#eef2ff;color:#1d5cff}.swap-status.status-pending{background:#fff7ed;color:#f97316}.swap-status.status-admin{background:#ecfeff;color:#0891b2}.swap-status.status-accepted{background:#dcfce7;color:#16a34a}.swap-status.status-declined,.swap-status.status-cancelled{background:#fee2e2;color:#dc2626}.swap-chevron{color:#74819a;font-size:18px;line-height:1}.swap-shift-box{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.swap-shift-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 14px}.swap-shift-line+.swap-shift-line{border-top:1px solid #e5e7eb}.swap-side-label{color:#74819a;font-size:17px;font-weight:800}.swap-side-values{display:inline-flex;align-items:center;gap:12px;min-width:0}.swap-position{font-size:18px;font-weight:850}.pos-app{color:#16a34a}.pos-twr{color:#1d5cff}.swap-dot{width:3px;height:3px;border-radius:50%;background:#74819a}.swap-code{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:30px;padding:0 12px;border-radius:8px;font-size:16px;font-weight:800;border:1px solid currentColor}.code-blue{background:#eef2ff;color:#1d5cff}.code-green{background:#dcfce7;color:#16a34a}.code-purple{background:#f3e8ff;color:#7c3aed}.code-red{background:#fee2e2;color:#ef4444}.code-orange{background:#ffedd5;color:#f97316}.swap-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}.swap-actions.two{grid-template-columns:repeat(2,minmax(0,1fr))}.swap-action{min-width:0;min-height:42px;border-radius:10px;font-size:16px;font-weight:800;cursor:pointer}.swap-action.primary{border:1px solid #1d5cff;background:#1d5cff;color:#fff;box-shadow:0 8px 16px #1d5cff38}.swap-action.secondary{border:1px solid #b9c7ff;background:#fff;color:#1d5cff}.swap-action:disabled,.swap-create-modal button:disabled{opacity:.55;cursor:not-allowed}.swap-create-modal{width:min(560px,94vw)}.swap-create-modal h3{margin:0 0 12px}.swap-create-modal label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#0f172a}.swap-create-modal input,.swap-create-modal select{width:100%;min-width:0;height:38px;box-sizing:border-box;border:1px solid #d7dce5;border-radius:9px;background:#fff;color:#0f172a;padding:6px 10px;font-size:16px}.swap-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.swap-create-grid fieldset{min-width:0;display:flex;flex-direction:column;gap:8px;margin:0;padding:12px;border:1px solid #e5e7eb;border-radius:12px}.swap-create-grid legend{padding:0 4px;color:#74819a;font-weight:800}
