:root{--cal-ink-1: var(--text-primary);--cal-ink-2: var(--text-secondary);--cal-ink-3: var(--text-faint);--cal-ink-4: var(--text-dim);--cal-ground: var(--bg-app);--cal-surface: var(--bg-panel);--cal-surface-2: var(--bg-panel-raised);--cal-surface-hover: #1e1d27;--cal-line: #292733;--cal-line-soft: #201f28;--cal-line-strong: #363343;--cal-amber: var(--accent);--cal-amber-ink: var(--accent-ink);--cal-amber-soft: rgba(242, 193, 78, .12);--cal-amber-line: rgba(242, 193, 78, .5);--cal-red: #f0a0a0;--cal-red-soft: rgba(216, 80, 80, .12);--cal-green: #8fdca6;--cal-radius: 8px;--cal-ease: cubic-bezier(.2, .8, .2, 1);--cal-sticky-top: 0px}.cal{container-type:inline-size;container-name:cal;font-variant-numeric:tabular-nums}.cal-layout{position:relative;display:grid;grid-template-columns:228px minmax(0,1fr);gap:0 28px;align-items:start}@container cal (min-width: 1240px){.cal.has-panel .cal-layout{grid-template-columns:228px minmax(0,1fr) 392px}}.cal-main{min-width:0}.cal button{font-family:var(--font-ui)}.cal kbd,.cal-modal kbd,.cal-qa kbd{display:inline-block;min-width:18px;padding:1px 5px;border:1px solid var(--cal-line-strong);border-bottom-width:2px;border-radius:4px;background:var(--cal-surface);color:var(--cal-ink-2);font-family:var(--font-ui);font-size:11px;font-weight:600;line-height:1.4;text-align:center}.cal-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.cal-dot.is-none{background:transparent;box-shadow:inset 0 0 0 1.5px var(--cal-ink-4)}.cal-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;padding:0;border:none;border-radius:7px;background:transparent;color:var(--cal-ink-3);cursor:pointer}.cal-icon-btn:hover{background:var(--cal-surface-2);color:var(--cal-ink-1)}.cal-icon-btn.is-danger:hover{background:var(--cal-red-soft);color:var(--cal-red)}.cal-icon-btn svg{width:16px;height:16px}.cal-link-btn{padding:0;border:none;background:none;color:var(--cal-amber);font-size:12.5px;font-weight:600;cursor:pointer}.cal-link-btn:hover{text-decoration:underline;text-underline-offset:3px}.cal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border:1px solid transparent;border-radius:var(--cal-radius);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.cal-btn svg{width:15px;height:15px}.cal-btn:disabled{opacity:.45;cursor:default}.cal-btn-primary{background:var(--cal-amber);color:var(--cal-amber-ink);font-weight:700}.cal-btn-primary:not(:disabled):hover{background:#f6cd68}.cal-btn-quiet{background:transparent;border-color:var(--cal-line-strong);color:var(--cal-ink-1)}.cal-btn-quiet:not(:disabled):hover{background:var(--cal-surface-2)}.cal-btn-small{height:30px;padding:0 11px;font-size:12.5px}.cal-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:var(--cal-surface-2);color:var(--cal-ink-2);font-size:11px;font-weight:700}.cal-count.is-overdue{background:var(--cal-red-soft);color:var(--cal-red)}.cal-sidebar{position:sticky;top:var(--cal-sticky-top);display:flex;flex-direction:column;gap:22px;max-height:calc(100vh - 110px);overflow-y:auto;scrollbar-width:none;padding-bottom:8px}.cal-sidebar::-webkit-scrollbar{display:none}.cal-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 8px 0 11px;border:1px solid var(--cal-line);border-radius:var(--cal-radius);background:var(--cal-surface);color:var(--cal-ink-3);cursor:text}.cal-search:focus-within{border-color:var(--cal-amber-line)}.cal-search svg{width:15px;height:15px;flex:none}.cal-search input{flex:1;min-width:0;border:none;background:transparent;color:var(--cal-ink-1);font-family:var(--font-ui);font-size:13px}.cal-search input::placeholder{color:var(--cal-ink-4)}.cal-search-clear{display:inline-flex;padding:3px;border:none;border-radius:5px;background:transparent;color:var(--cal-ink-3);cursor:pointer}.cal-search-clear:hover{color:var(--cal-ink-1)}.cal-search-clear svg{width:13px;height:13px}.cal-mini-head{display:flex;align-items:center;gap:2px;margin-bottom:8px}.cal-mini-title{flex:1;padding-left:2px;color:var(--cal-ink-1);font-size:13px;font-weight:700}.cal-mini-head .cal-icon-btn{width:26px;height:26px}.cal-mini-head .cal-icon-btn svg{width:14px;height:14px}.cal-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}.cal-mini-wd{padding-bottom:4px;color:var(--cal-ink-4);font-size:10.5px;font-weight:700;text-align:center}.cal-mini-day{position:relative;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--cal-ink-2);font-size:12px;cursor:pointer}.cal-mini-day:hover{background:var(--cal-surface-2);color:var(--cal-ink-1)}.cal-mini-day.is-outside{color:var(--cal-ink-4)}.cal-mini-day.is-in-range{background:#ffffff09;border-radius:0}.cal-mini-day.is-today{color:var(--cal-amber);font-weight:800}.cal-mini-day.is-anchor{background:var(--cal-amber);color:var(--cal-amber-ink);border-radius:6px;font-weight:700}.cal-mini-day[class*=is-load]:after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--cal-ink-3)}.cal-mini-day.is-load-1:after{background:var(--cal-ink-3)}.cal-mini-day.is-load-2:after{background:var(--cal-amber-line)}.cal-mini-day.is-load-3:after{background:var(--cal-amber)}.cal-mini-day.is-load-done:after{background:transparent;box-shadow:inset 0 0 0 1px var(--cal-ink-4)}.cal-mini-day.is-anchor:after{background:var(--cal-amber-ink);box-shadow:none}.cal-smart{display:flex;flex-direction:column;gap:2px}.cal-smart-item{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px 0 8px;border:none;border-radius:7px;background:transparent;color:var(--cal-ink-2);font-size:13px;font-weight:600;text-align:left;cursor:pointer}.cal-smart-item:hover{background:var(--cal-surface);color:var(--cal-ink-1)}.cal-smart-item.is-active{background:var(--cal-surface-2);color:var(--cal-ink-1)}.cal-smart-icon{display:inline-flex}.cal-smart-icon svg{width:16px;height:16px}.cal-smart-icon.is-today{color:var(--cal-amber)}.cal-smart-icon.is-overdue{color:var(--cal-red)}.cal-smart-count{margin-left:auto;color:var(--cal-ink-3);font-size:12px;font-weight:700}.cal-smart-count.is-overdue{color:var(--cal-red)}.cal-cats{display:flex;flex-direction:column;gap:1px}.cal-cats-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;padding-left:8px}.cal-cats-title{flex:1;color:var(--cal-ink-3);font-size:12px;font-weight:700}.cal-cats-head .cal-icon-btn{width:26px;height:26px}.cal-cats-head .cal-icon-btn svg{width:14px;height:14px}.cal-cat{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px 0 9px;border:none;border-radius:7px;background:transparent;color:var(--cal-ink-2);font-size:13px;text-align:left;cursor:pointer}.cal-cat:hover{background:var(--cal-surface);color:var(--cal-ink-1)}.cal-cat-swatch{width:10px;height:10px;flex:none;border-radius:3px;background:var(--c)}.cal-cat-swatch.is-none{background:transparent;box-shadow:inset 0 0 0 1.5px var(--cal-ink-4)}.cal-cat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-cat-count{color:var(--cal-ink-3);font-size:12px;font-weight:600}.cal-cat-eye{display:inline-flex;color:var(--cal-ink-4)}.cal-cat-eye svg{width:14px;height:14px}.cal-cat.is-hidden{color:var(--cal-ink-4)}.cal-cat.is-hidden .cal-cat-swatch{background:transparent;box-shadow:inset 0 0 0 1.5px var(--c, var(--cal-ink-4))}.cal-cats-empty{padding:8px 9px;border:1px dashed var(--cal-line-strong);border-radius:7px;background:transparent;color:var(--cal-ink-3);font-size:12.5px;line-height:1.45;text-align:left;cursor:pointer}.cal-cats-empty:hover{border-color:var(--cal-amber-line);color:var(--cal-ink-2)}.cal-shortcuts-link{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:4px 8px;border:none;border-radius:6px;background:none;color:var(--cal-ink-4);font-size:12px;cursor:pointer}.cal-shortcuts-link:hover{color:var(--cal-ink-2)}.cal-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:18px}.cal-header-nav{display:flex;align-items:center;gap:12px;min-width:0}.cal-stepper{display:flex;gap:2px}.cal-period{margin:0;overflow:hidden;color:var(--cal-ink-1);font-size:21px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis}.cal-today-btn{height:28px;padding:0 11px;border:1px solid var(--cal-line-strong);border-radius:7px;background:transparent;color:var(--cal-ink-2);font-size:12.5px;font-weight:600;cursor:pointer}.cal-today-btn:hover{border-color:var(--cal-amber-line);color:var(--cal-ink-1)}.cal-today-btn.is-current{border-color:transparent;color:var(--cal-ink-4)}.cal-header-tools{display:flex;align-items:center;gap:10px}.cal-segment{display:flex;padding:3px;border-radius:9px;background:var(--cal-surface);box-shadow:inset 0 0 0 1px var(--cal-line)}.cal-segment button{height:28px;padding:0 12px;border:none;border-radius:6px;background:transparent;color:var(--cal-ink-3);font-size:12.5px;font-weight:600;cursor:pointer}.cal-segment button:hover{color:var(--cal-ink-1)}.cal-segment button.is-active{background:var(--cal-surface-2);color:var(--cal-ink-1);box-shadow:0 1px 2px #00000059,inset 0 0 0 1px var(--cal-line-strong)}.cal-tool-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 11px;border:1px solid var(--cal-line);border-radius:var(--cal-radius);background:transparent;color:var(--cal-ink-3);font-size:12.5px;font-weight:600;cursor:pointer}.cal-tool-btn svg{width:15px;height:15px}.cal-tool-btn:hover{color:var(--cal-ink-1);border-color:var(--cal-line-strong)}.cal-tool-btn.is-active{border-color:var(--cal-amber-line);background:var(--cal-amber-soft);color:var(--cal-amber)}.cal-new-btn{padding:0 14px 0 11px}.cal-search-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-6px 0 14px;padding:8px 12px;border-radius:var(--cal-radius);background:var(--cal-amber-soft);color:var(--cal-ink-2);font-size:12.5px}.cal-view{min-width:0}.cal-loading{display:flex;flex-direction:column;gap:10px;padding-top:6px}.cal-loading span{height:44px;border-radius:var(--cal-radius);background:linear-gradient(90deg,var(--cal-surface) 0%,var(--cal-surface-2) 50%,var(--cal-surface) 100%);background-size:200% 100%;animation:cal-shimmer 1.2s linear infinite}.cal-loading span:nth-child(2){width:82%}.cal-loading span:nth-child(3){width:64%}@keyframes cal-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.cal-error{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:22px;border:1px solid var(--status-departed-border);border-radius:var(--cal-radius);background:var(--cal-red-soft)}.cal-error-title{color:var(--cal-ink-1);font-weight:700}.cal-error-text{color:var(--cal-ink-2);font-size:13px}.cal-check{display:inline-grid;place-items:center;width:22px;height:22px;flex:none;padding:0;border:none;border-radius:50%;background:none;cursor:pointer}.cal-check svg{width:20px;height:20px;overflow:visible}.cal-check-sm{width:18px;height:18px}.cal-check-sm svg{width:16px;height:16px}.cal-check-lg{width:28px;height:28px}.cal-check-lg svg{width:26px;height:26px}.cal-check-ring{fill:none;stroke:var(--cal-ink-4);stroke-width:1.6;transition:stroke .15s}.cal-check-fill{fill:none;stroke:var(--cal-amber);stroke-width:8.2;stroke-dasharray:25.76 100;stroke-dashoffset:27;opacity:0;transform:rotate(-90deg);transform-origin:10px 10px;transition:stroke-dashoffset .24s var(--cal-ease),opacity 0s linear .24s}.cal-check-mark{fill:none;stroke:var(--cal-amber-ink);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:13 40;stroke-dashoffset:14;transition:stroke-dashoffset .18s ease .16s}.cal-check:not(:disabled):hover .cal-check-ring,.cal-check:focus-visible .cal-check-ring{stroke:var(--cal-amber)}.cal-check:not(.is-done):not(:disabled):hover .cal-check-mark{stroke:var(--cal-amber);stroke-dashoffset:0;opacity:.45;transition:none}.cal-check.is-done .cal-check-ring{stroke:var(--cal-amber)}.cal-check.is-done .cal-check-fill{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset .24s var(--cal-ease),opacity 0s linear 0s}.cal-check.is-done .cal-check-mark{stroke-dashoffset:0}.cal-check.is-popping svg{animation:cal-check-pop .44s var(--cal-ease)}.cal-check:disabled{cursor:default;opacity:.4}.cal-check:focus-visible{box-shadow:0 0 0 2px var(--cal-amber-line)}@keyframes cal-check-pop{0%{transform:scale(1)}30%{transform:scale(.82)}65%{transform:scale(1.12)}to{transform:scale(1)}}.cal-strike{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 56%;background-size:0% 1px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .3s var(--cal-ease) .14s}.is-done>* .cal-strike,.is-done .cal-strike{background-size:100% 1px}.cal-list{display:flex;flex-direction:column;min-height:8px;border-radius:var(--cal-radius)}.cal-row{position:relative;display:flex;align-items:flex-start;gap:12px;padding:10px 10px 10px 8px;border-radius:var(--cal-radius);outline:none;cursor:pointer;-webkit-user-select:none;user-select:none}.cal-row+.cal-row:before{content:"";position:absolute;top:0;left:42px;right:10px;height:1px;background:var(--cal-line-soft)}.cal-row:hover,.cal-row:focus-visible{background:var(--cal-surface)}.cal-row:hover:before,.cal-row:hover+.cal-row:before,.cal-row.is-open:before,.cal-row.is-open+.cal-row:before{background:transparent}.cal-row.is-open{background:var(--cal-amber-soft);box-shadow:inset 2px 0 0 var(--cal-amber)}.cal-row .cal-check{margin-top:-1px}.cal-row-main{flex:1;min-width:0}.cal-row-title{color:var(--cal-ink-1);font-size:14px;line-height:1.4;overflow-wrap:anywhere;transition:color .2s}.cal-row.is-done .cal-row-title{color:var(--cal-ink-3)}.cal-row.is-pending{opacity:.65;cursor:progress}.cal-row.is-dragging,.cal-card.is-dragging,.cal-chip.is-dragging{opacity:.3}.cal-row-actions{display:flex;align-items:center;gap:2px;margin:-4px -4px -4px 0;opacity:0;transition:opacity .12s}.cal-row:hover .cal-row-actions,.cal-row:focus-within .cal-row-actions{opacity:1}.cal-row-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--cal-ink-3);cursor:pointer}.cal-row-action:hover{background:var(--cal-surface-2);color:var(--cal-ink-1)}.cal-row-action.is-danger:hover{background:var(--cal-red-soft);color:var(--cal-red)}.cal-row-action svg{width:16px;height:16px}.cal-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:3px;color:var(--cal-ink-3);font-size:12px}.cal-meta-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.cal-meta-item svg{width:13px;height:13px}.cal-meta-item .cal-dot{width:7px;height:7px}.cal-meta-item.is-overdue{color:var(--cal-red);font-weight:600}.cal-meta-item.is-complete{color:var(--cal-green)}.cal-drop-line{flex:none;height:2px;margin:3px 6px;border-radius:2px;background:var(--cal-amber);box-shadow:0 0 0 3px #f2c14e24}.cal-section{margin-top:22px}.cal-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;padding:0 8px}.cal-section-title{display:flex;align-items:center;gap:8px;margin:0;color:var(--cal-ink-2);font-size:13px;font-weight:700}.cal-section-overdue .cal-section-title{color:var(--cal-red)}.cal-section-toggle{display:inline-flex;align-items:center;gap:8px;margin-bottom:4px;padding:4px 8px;border:none;border-radius:6px;background:none;color:var(--cal-ink-3);font-size:13px;font-weight:700;cursor:pointer}.cal-section-toggle:hover{color:var(--cal-ink-1)}.cal-section-toggle svg{width:15px;height:15px;transform:rotate(-90deg);transition:transform .18s var(--cal-ease)}.cal-section-toggle.is-open svg{transform:rotate(0)}.cal-day{max-width:760px}.cal-day-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 18px}.cal-day-title{margin:0;color:var(--cal-ink-1);font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.02em}.cal-day-title.is-today{color:var(--cal-amber)}.cal-day-sub{margin-top:6px;color:var(--cal-ink-3);font-size:13.5px}.cal-progress{display:flex;align-items:center;gap:10px;flex:none}.cal-progress svg{width:38px;height:38px;transform:rotate(-90deg)}.cal-progress-track{fill:none;stroke:var(--cal-surface-2);stroke-width:3.5}.cal-progress-arc{fill:none;stroke:var(--cal-amber);stroke-width:3.5;stroke-linecap:round;transition:stroke-dashoffset .5s var(--cal-ease)}.cal-progress-text{display:flex;flex-direction:column;line-height:1.25}.cal-progress-text strong{color:var(--cal-ink-1);font-size:14px}.cal-progress-text span{color:var(--cal-ink-3);font-size:12px}.cal-progress.is-complete .cal-progress-text span{color:var(--cal-amber)}.cal-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:44px 20px 40px;text-align:center}.cal-empty-art{width:54px;height:54px;margin-bottom:8px;fill:none;stroke:var(--cal-ink-4);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cal-empty-art path{stroke:var(--cal-amber-line)}.cal-empty-title{color:var(--cal-ink-2);font-size:14.5px;font-weight:600}.cal-empty-text{color:var(--cal-ink-4);font-size:12.5px}.cal-empty.is-all-done{padding:32px 20px}.cal-empty-badge{display:grid;place-items:center;width:40px;height:40px;margin-bottom:6px;border-radius:50%;background:var(--cal-amber);color:var(--cal-amber-ink)}.cal-empty-badge svg{width:20px;height:20px;stroke-width:3}.cal-qa{position:relative}.cal-qa-field{display:flex;align-items:center;gap:10px;height:44px;padding:0 6px 0 12px;border:1px solid var(--cal-line);border-radius:10px;background:var(--cal-surface);transition:border-color .15s,box-shadow .15s}.cal-qa.is-focused .cal-qa-field{border-color:var(--cal-amber-line);box-shadow:0 0 0 3px #f2c14e14}.cal-qa-plus{display:inline-flex;color:var(--cal-amber)}.cal-qa-plus svg{width:17px;height:17px}.cal-qa-field input{flex:1;min-width:0;height:100%;border:none;background:transparent;color:var(--cal-ink-1);font-family:var(--font-ui);font-size:14px}.cal-qa-field input::placeholder{color:var(--cal-ink-4)}.cal-qa-submit{height:32px;padding:0 14px;border:none;border-radius:7px;background:var(--cal-amber);color:var(--cal-amber-ink);font-size:13px;font-weight:700;cursor:pointer}.cal-qa-slot{height:32px;overflow:hidden}.cal-qa-full{margin-bottom:-8px}.cal-qa-chips{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-top:6px;overflow:hidden}.cal-qa-chips>*{flex:none}.cal-qa-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 4px 0 9px;border-radius:13px;background:var(--cal-amber-soft);color:var(--cal-amber);font-size:12.5px;font-weight:600;animation:cal-chip-in .18s var(--cal-ease)}.cal-qa-chip svg{width:13px;height:13px}.cal-qa-chip-category{background:var(--cal-surface-2);color:var(--cal-ink-1)}.cal-qa-chip button{display:inline-flex;padding:3px;border:none;border-radius:50%;background:transparent;color:inherit;opacity:.6;cursor:pointer}.cal-qa-chip button:hover{background:#ffffff14;opacity:1}.cal-qa-chip button svg{width:11px;height:11px}.cal-qa-chip.is-implicit{padding-right:10px;background:transparent;box-shadow:inset 0 0 0 1px var(--cal-line-strong);color:var(--cal-ink-3);font-weight:500}.cal-qa-expand{height:26px;padding:0 10px;border:none;border-radius:13px;background:transparent;color:var(--cal-ink-2);font-size:12.5px;font-weight:600;cursor:pointer}.cal-qa-expand:hover{background:var(--cal-surface-2);color:var(--cal-ink-1)}.cal-qa-chips>.cal-qa-keys{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-qa-keys{margin-left:auto;color:var(--cal-ink-4);font-size:11.5px}.cal-qa-hint{margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:2px;color:var(--cal-ink-4);font-size:12px;line-height:1.5}.cal-qa-suggest{position:fixed;z-index:1100;min-width:200px;font-family:var(--font-ui);padding:4px;border:1px solid var(--cal-line-strong);border-radius:9px;background:var(--cal-surface-2);box-shadow:0 12px 28px #00000073}.cal-qa-suggest button{display:flex;align-items:center;gap:9px;width:100%;height:30px;padding:0 9px;border:none;border-radius:6px;background:transparent;color:var(--cal-ink-1);font-size:13px;text-align:left;cursor:pointer}.cal-qa-suggest button:first-child,.cal-qa-suggest button:hover{background:var(--cal-surface-hover)}.cal-qa.is-shaking .cal-qa-field{animation:cal-shake .36s ease;border-color:var(--status-departed-border)}.cal-qa-inline .cal-qa-field{height:34px;padding:0 8px;gap:7px;border-radius:7px}.cal-qa-inline .cal-qa-field input{font-size:13px}.cal-qa-inline .cal-qa-plus svg{width:14px;height:14px}.cal-qa-inline .cal-qa-slot{height:28px}.cal-qa-inline .cal-qa-chips{margin-top:6px;gap:4px}.cal-qa-inline .cal-qa-chip{height:22px;font-size:11.5px}@keyframes cal-chip-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes cal-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(128px,1fr));overflow-x:auto;border-top:1px solid var(--cal-line);scrollbar-width:thin}.cal-wcol{display:flex;flex-direction:column;min-width:0;min-height:460px;padding:0 6px 12px;border-left:1px solid var(--cal-line-soft)}.cal-wcol:first-child{border-left:none;padding-left:0}.cal-wcol.is-weekend{background:#ffffff03}.cal-wcol-head{position:relative;display:flex;align-items:baseline;gap:7px;margin:0 -6px;padding:12px 8px 8px;border:none;background:transparent;text-align:left;cursor:pointer}.cal-wcol:first-child .cal-wcol-head{margin-left:0;padding-left:2px}.cal-wcol.is-today .cal-wcol-head:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--cal-amber)}.cal-wcol-wd{color:var(--cal-ink-3);font-size:12px;font-weight:700}.cal-wcol-num{color:var(--cal-ink-1);font-size:20px;font-weight:650;letter-spacing:-.01em}.cal-wcol-month{color:var(--cal-ink-3);font-size:12px}.cal-wcol.is-today .cal-wcol-num,.cal-wcol.is-today .cal-wcol-wd{color:var(--cal-amber)}.cal-wcol.is-past .cal-wcol-num{color:var(--cal-ink-3)}.cal-wcol-head:hover .cal-wcol-num{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.cal-wcol-count{margin-left:auto;color:var(--cal-ink-4);font-size:11.5px;font-weight:600}.cal-wcol-count.is-complete{color:var(--cal-amber)}.cal-wcol-progress{height:2px;margin:0 0 10px;border-radius:1px;background:var(--cal-line-soft);overflow:hidden}.cal-wcol-progress span{display:block;height:100%;background:var(--cal-amber);transition:width .4s var(--cal-ease)}.cal-wcol-list{flex:1 1 auto;gap:5px;min-height:60px;padding:2px;margin:-2px}.cal-list.is-drop-ready{background:#f2c14e09;box-shadow:inset 0 0 0 1px #f2c14e2e}.cal-list.is-drop-blocked{opacity:.5}.cal-card{position:relative;display:flex;align-items:flex-start;gap:8px;padding:8px 8px 8px 9px;border-radius:7px;background:var(--cal-surface);box-shadow:inset 2px 0 0 var(--cat, transparent),inset 0 0 0 1px var(--cal-line-soft);outline:none;cursor:pointer;-webkit-user-select:none;user-select:none}.cal-card:hover,.cal-card:focus-visible{background:var(--cal-surface-hover);box-shadow:inset 2px 0 0 var(--cat, transparent),inset 0 0 0 1px var(--cal-line-strong)}.cal-card.is-open{box-shadow:inset 2px 0 0 var(--cat, transparent),inset 0 0 0 1px var(--cal-amber-line);background:var(--cal-amber-soft)}.cal-card.is-done{background:transparent}.cal-card.is-pending{opacity:.6}.cal-card .cal-check{margin-top:0}.cal-card-main{flex:1;min-width:0}.cal-card-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--cal-ink-1);font-size:12.5px;line-height:1.38;overflow-wrap:anywhere}.cal-card.is-done .cal-card-title{color:var(--cal-ink-3)}.cal-card .cal-meta{gap:2px 8px;margin-top:4px;font-size:11px}.cal-card .cal-meta-item svg{width:12px;height:12px}.cal-wcol-add{display:flex;align-items:center;gap:6px;margin-top:6px;padding:7px 6px;border:none;border-radius:6px;background:transparent;color:var(--cal-ink-4);font-size:12.5px;font-weight:600;text-align:left;cursor:pointer;opacity:0;transition:opacity .15s}.cal-wcol:hover .cal-wcol-add,.cal-wcol-add:focus-visible{opacity:1}.cal-wcol-add:hover{background:var(--cal-surface);color:var(--cal-ink-1)}.cal-wcol-add svg{width:14px;height:14px}.cal-wcol-qa{margin-top:6px}.cal-month{border:1px solid var(--cal-line);border-radius:10px;overflow:hidden}.cal-month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--cal-line);background:var(--cal-surface)}.cal-month-wd{padding:8px 10px;color:var(--cal-ink-3);font-size:12px;font-weight:700}.cal-month-wd.is-weekend{color:var(--cal-ink-4)}.cal-month-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-month-row+.cal-month-row{border-top:1px solid var(--cal-line-soft)}.cal-mcell{position:relative;display:flex;flex-direction:column;min-width:0;min-height:116px;padding:6px 6px 8px;background:var(--cal-ground)}.cal-mcell+.cal-mcell{border-left:1px solid var(--cal-line-soft)}.cal-mcell.is-weekend{background:#16151d}.cal-mcell.is-outside{background:#121118}.cal-mcell.is-outside .cal-mcell-num{color:var(--cal-ink-4)}.cal-mcell.is-over{background:var(--cal-amber-soft);box-shadow:inset 0 0 0 1.5px var(--cal-amber-line)}.cal-mcell.is-drop-blocked{opacity:.55}.cal-mcell-head{display:flex;align-items:center;gap:4px;min-height:24px;margin-bottom:4px}.cal-mcell-num{height:24px;min-width:24px;padding:0 6px;border:none;border-radius:12px;background:transparent;color:var(--cal-ink-2);font-size:12.5px;font-weight:650;cursor:pointer}.cal-mcell-num:hover{background:var(--cal-surface-2);color:var(--cal-ink-1)}.cal-mcell.is-past:not(.is-outside) .cal-mcell-num{color:var(--cal-ink-3)}.cal-mcell.is-today .cal-mcell-num{background:var(--cal-amber);color:var(--cal-amber-ink);font-weight:800}.cal-mcell-done{width:6px;height:6px;border-radius:50%;background:var(--cal-amber-line)}.cal-mcell-add{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:auto;padding:0;border:none;border-radius:6px;background:transparent;color:var(--cal-ink-3);cursor:pointer;opacity:0;transition:opacity .12s}.cal-mcell:hover .cal-mcell-add,.cal-mcell-add:focus-visible{opacity:1}.cal-mcell-add:hover{background:var(--cal-surface-2);color:var(--cal-amber)}.cal-mcell-add svg{width:14px;height:14px}.cal-mcell-tasks{display:flex;flex-direction:column;gap:3px;min-width:0}.cal-chip{display:flex;align-items:center;gap:5px;min-width:0;height:22px;padding:0 7px 0 8px;border:none;border-radius:5px;background:color-mix(in srgb,var(--cat) 13%,transparent);box-shadow:inset 2px 0 0 var(--cat);color:var(--cal-ink-1);font-size:12px;text-align:left;cursor:pointer}.cal-chip:hover{background:color-mix(in srgb,var(--cat) 22%,transparent)}.cal-chip.is-open{box-shadow:inset 2px 0 0 var(--cat),0 0 0 1px var(--cal-amber-line)}.cal-chip-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-chip-icon{display:inline-flex;color:var(--cal-ink-3)}.cal-chip-icon svg{width:11px;height:11px}.cal-chip.is-done{background:transparent;color:var(--cal-ink-4);box-shadow:inset 2px 0 color-mix(in srgb,var(--cat) 40%,transparent)}.cal-chip.is-done .cal-chip-text{text-decoration:line-through}.cal-chip.is-overdue{box-shadow:inset 2px 0 0 var(--cal-red)}.cal-chip.is-waiting{background:#c792ea1f;box-shadow:inset 3px 0 #c792ea,inset 0 0 0 1px #c792ea8c;color:#e3c7f5;outline:1px dashed rgba(199,146,234,.7);outline-offset:-1px}.cal-waiting{margin:14px 0 0}.cal-waiting-head{padding:0 8px 4px;color:#c792ea;font-size:12px;font-weight:600}.cal-row.is-waiting,.cal-card.is-waiting{background:#c792ea1a;box-shadow:inset 3px 0 #c792ea;outline:1px dashed rgba(199,146,234,.7);outline-offset:-1px}.cal-row.is-waiting .cal-strike,.cal-card.is-waiting .cal-strike{color:#efe0fa}.cal-waiting-tag{color:#c792ea;font-size:11.5px;font-weight:500;white-space:nowrap}.cal-row .cal-waiting-tag{margin-left:8px}.cal-card .cal-waiting-tag{white-space:normal}.cal-chip.is-pending{opacity:.6}.cal-mcell-more{align-self:flex-start;padding:2px 6px;border:none;border-radius:5px;background:transparent;color:var(--cal-ink-3);font-size:11.5px;font-weight:600;cursor:pointer}.cal-mcell-more:hover{background:var(--cal-surface-2);color:var(--cal-ink-1)}.cal-agenda{max-width:820px}.cal-agenda>.cal-section-overdue{margin:0 0 18px}.cal-agenda-day{display:grid;grid-template-columns:184px minmax(0,1fr);gap:0 18px;padding:12px 0;border-top:1px solid var(--cal-line-soft)}.cal-agenda-day:first-of-type{border-top:none}.cal-agenda-head{position:sticky;top:var(--cal-sticky-top);align-self:start;display:flex;align-items:flex-start;gap:12px;padding:6px 8px 6px 4px;border:none;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.cal-agenda-head:hover{background:var(--cal-surface)}.cal-agenda-num{min-width:30px;color:var(--cal-ink-1);font-size:24px;font-weight:300;line-height:1;letter-spacing:-.02em}.cal-agenda-label{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:1px}.cal-agenda-weekday{color:var(--cal-ink-1);font-size:13px;font-weight:700}.cal-agenda-date{color:var(--cal-ink-3);font-size:12px}.cal-agenda-head .cal-count{margin-left:auto}.cal-agenda-day.is-today .cal-agenda-num,.cal-agenda-day.is-today .cal-agenda-weekday{color:var(--cal-amber)}.cal-agenda-day.is-empty .cal-agenda-num{color:var(--cal-ink-4)}.cal-agenda-list{min-height:36px}.cal-agenda-empty{padding:8px;color:var(--cal-ink-4);font-size:13px}.cal-agenda-footnote{padding:20px 8px;color:var(--cal-ink-3);font-size:13px}.cal-panel-wrap{position:sticky;top:var(--cal-sticky-top);align-self:start;animation:cal-panel-in .24s var(--cal-ease)}@container cal (max-width: 1239px){.cal-panel-wrap{position:absolute;z-index:20;top:0;right:0;bottom:0;width:min(392px,100%);pointer-events:none}.cal-panel-wrap .cal-panel{position:sticky;top:var(--cal-sticky-top);pointer-events:auto;box-shadow:-18px 0 40px #00000073,0 0 0 1px var(--cal-line-strong)}}.cal-panel{display:flex;flex-direction:column;max-height:calc(100vh - 110px);border:1px solid var(--cal-line);border-radius:12px;background:var(--cal-surface);overflow:hidden}@keyframes cal-panel-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.cal-panel-top{display:flex;align-items:flex-start;gap:12px;padding:16px 12px 10px 16px}.cal-panel-top .cal-check-lg{margin-top:1px}.cal-panel-new-badge{flex:none;margin-top:4px;padding:2px 8px;border-radius:10px;background:var(--cal-amber-soft);color:var(--cal-amber);font-size:11.5px;font-weight:700}.cal-panel-title{flex:1;min-width:0;margin:0;padding:2px 0;border:none;background:transparent;color:var(--cal-ink-1);font-family:var(--font-ui);font-size:18px;font-weight:650;line-height:1.35;resize:none;overflow:hidden}.cal-panel-title::placeholder{color:var(--cal-ink-4)}.cal-panel-title.is-done{color:var(--cal-ink-3);text-decoration:line-through;text-decoration-thickness:1px}.cal-panel-top-actions{display:flex;gap:2px;margin-top:-1px}.cal-panel-context{display:flex;align-items:flex-start;gap:8px;margin:0 16px 6px;padding:8px 10px;border-radius:7px;background:var(--cal-surface-2);color:var(--cal-ink-3);font-size:12px;line-height:1.45}.cal-panel-context svg{width:13px;height:13px;flex:none;margin-top:2px}.cal-panel-body{flex:1;min-height:0;padding:6px 16px 18px;overflow-y:auto;scrollbar-width:thin}.cal-props{display:flex;flex-direction:column;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--cal-line-soft)}.cal-prop{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;min-height:38px;border-radius:8px}.cal-prop.is-flash{animation:cal-flash 1.3s ease}@keyframes cal-flash{0%,60%{background:var(--cal-amber-soft);box-shadow:0 0 0 6px var(--cal-amber-soft)}to{background:transparent;box-shadow:0 0 0 6px transparent}}.cal-prop-label{display:flex;align-items:center;gap:8px;color:var(--cal-ink-3);font-size:12.5px;font-weight:600}.cal-prop-label svg{width:14px;height:14px}.cal-prop-sub .cal-prop-label{padding-left:22px}.cal-prop-value{min-width:0}.cal-prop-summary{margin:0 0 4px 122px;color:var(--cal-amber);font-size:12px;font-weight:600}.cal-prop-control{display:flex;align-items:center;gap:8px;width:100%;height:33px;padding:0 12px;border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--cal-ink-1);font-size:13px;text-align:left;cursor:pointer}.cal-prop-control:hover{border-color:var(--cal-line-strong)}.cal-prop-placeholder{color:var(--cal-ink-3)}.cal-panel .datepicker-trigger,.cal-panel .select-trigger-label{font-variant-numeric:tabular-nums}.cal-weekday-picker,.cal-monthday-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-monthday-picker .cal-monthday-last{grid-column:span 4}.cal-weekday-btn{min-width:0;height:30px;padding:0;border:1px solid var(--cal-line-strong);border-radius:7px;background:transparent;color:var(--cal-ink-3);font-size:12px;font-weight:700;cursor:pointer}.cal-weekday-btn:hover{color:var(--cal-ink-1)}.cal-weekday-btn.is-active{border-color:var(--cal-amber);background:var(--cal-amber);color:var(--cal-amber-ink)}.cal-panel-section{padding-top:16px}.cal-panel-section+.cal-panel-section{margin-top:4px}.cal-panel-section-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--cal-ink-2);font-size:12.5px;font-weight:700}.cal-panel-section-title svg{width:14px;height:14px;color:var(--cal-ink-3)}.cal-panel-section-meta{margin-left:auto;color:var(--cal-ink-3);font-weight:600}.cal-note{display:block;width:100%;min-height:64px;padding:10px 12px;border:1px solid var(--cal-line);border-radius:9px;background:var(--cal-ground);color:var(--cal-ink-1);font-family:var(--font-ui);font-size:13.5px;line-height:1.55;resize:none;overflow:hidden}.cal-note:focus{border-color:var(--cal-amber-line)}.cal-note::placeholder{color:var(--cal-ink-4)}.cal-checklist-progress{height:3px;margin-bottom:8px;border-radius:2px;background:var(--cal-surface-2);overflow:hidden}.cal-checklist-progress span{display:block;height:100%;background:var(--cal-amber);transition:width .35s var(--cal-ease)}.cal-checklist-items{display:flex;flex-direction:column}.cal-check-item{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 4px 0 0;border-radius:7px}.cal-check-item:hover{background:var(--cal-surface-hover)}.cal-check-item.is-dragging{opacity:.35}.cal-check-item-handle{display:inline-flex;width:14px;color:var(--cal-ink-4);cursor:grab;opacity:0}.cal-check-item:hover .cal-check-item-handle{opacity:1}.cal-check-item-handle svg{width:13px;height:13px}.cal-check-item-input{flex:1;min-width:0;height:30px;padding:0 4px;border:none;border-radius:5px;background:transparent;color:var(--cal-ink-1);font-family:var(--font-ui);font-size:13.5px}.cal-check-item-input:focus{background:var(--cal-ground)}.cal-check-item.is-done .cal-check-item-input{color:var(--cal-ink-3);text-decoration:line-through;text-decoration-thickness:1px}.cal-check-item-del{display:inline-flex;padding:5px;border:none;border-radius:5px;background:transparent;color:var(--cal-ink-4);cursor:pointer;opacity:0}.cal-check-item:hover .cal-check-item-del,.cal-check-item:focus-within .cal-check-item-del{opacity:1}.cal-check-item-del:hover{color:var(--cal-red)}.cal-check-item-del svg{width:13px;height:13px}.cal-checklist-add{display:flex;align-items:center;gap:10px;height:34px;padding-left:24px;color:var(--cal-ink-4)}.cal-checklist-add svg{width:14px;height:14px;flex:none}.cal-checklist-add input{flex:1;min-width:0;height:30px;border:none;background:transparent;color:var(--cal-ink-1);font-family:var(--font-ui);font-size:13.5px}.cal-checklist-add input::placeholder{color:var(--cal-ink-4)}.cal-comments{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.cal-comment{padding:9px 11px;border-radius:9px;background:var(--cal-ground)}.cal-comment-meta{display:flex;align-items:center;gap:8px;margin-bottom:3px;color:var(--cal-ink-4);font-size:11.5px}.cal-comment-author{color:var(--cal-ink-2);font-weight:700}.cal-comment-del{display:inline-flex;margin-left:auto;padding:3px;border:none;border-radius:5px;background:transparent;color:var(--cal-ink-4);cursor:pointer;opacity:0}.cal-comment:hover .cal-comment-del{opacity:1}.cal-comment-del:hover{color:var(--cal-red)}.cal-comment-del svg{width:13px;height:13px}.cal-comment-text{color:var(--cal-ink-1);font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.cal-comment-form{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.cal-comment-form textarea{width:100%;padding:9px 11px;border:1px solid var(--cal-line);border-radius:9px;background:var(--cal-ground);color:var(--cal-ink-1);font-family:var(--font-ui);font-size:13px;line-height:1.5;resize:vertical}.cal-comment-form textarea:focus{border-color:var(--cal-amber-line)}.cal-panel-footnote{margin-top:18px;color:var(--cal-ink-4);font-size:11.5px}.cal-panel-footer{padding:12px 16px 14px;border-top:1px solid var(--cal-line);background:var(--cal-surface)}.cal-panel-footer.is-dirty{box-shadow:0 -10px 20px #00000040}.cal-panel-footer-row{display:flex;align-items:center;gap:8px}.cal-panel-status{margin-left:auto;color:var(--cal-ink-4);font-size:12px}.cal-saved{display:inline-flex;align-items:center;gap:5px;color:var(--cal-green);font-weight:600;animation:cal-chip-in .2s var(--cal-ease)}.cal-saved svg{width:14px;height:14px}.cal-kbd-hint{display:inline-flex;align-items:center;gap:3px}.cal-panel-save-error{margin-bottom:10px;padding:7px 10px;border-radius:7px;background:var(--cal-red-soft);color:var(--cal-red);font-size:12.5px}.cal-panel-error{flex:1;padding-top:4px;color:var(--cal-red);font-size:13px}.cal-panel-skeleton{display:flex;flex-direction:column;gap:12px;padding:20px 16px}.cal-panel-skeleton span{height:16px;border-radius:6px;background:linear-gradient(90deg,var(--cal-surface-2) 0%,#2c2a38 50%,var(--cal-surface-2) 100%);background-size:200% 100%;animation:cal-shimmer 1.2s linear infinite}.cal-panel-skeleton span:first-child{height:24px;width:70%}.cal-panel-skeleton span:last-child{width:45%}.cal-popover{position:fixed;z-index:1000;min-width:210px;max-width:320px;padding:5px;border:1px solid var(--cal-line-strong);border-radius:10px;background:var(--cal-surface-2);box-shadow:0 14px 34px #00000080,0 2px 6px #0000004d;font-family:var(--font-ui);font-variant-numeric:tabular-nums;animation:cal-pop-in .14s var(--cal-ease)}.cal-popover.is-closing{animation:cal-pop-out .12s ease-in forwards}.cal-popover-qa{width:300px;max-width:calc(100vw - 16px);padding:10px}@keyframes cal-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}@keyframes cal-pop-out{to{opacity:0;transform:translateY(-4px) scale(.98)}}.cal-popover-title{padding:5px 9px 7px;color:var(--cal-ink-3);font-size:12px;font-weight:700}.cal-popover-item{display:flex;align-items:center;gap:10px;width:100%;min-height:32px;padding:0 9px;border:none;border-radius:6px;background:transparent;color:var(--cal-ink-1);font-family:var(--font-ui);font-size:13px;text-align:left;cursor:pointer}.cal-popover-item:hover{background:var(--cal-surface-hover)}.cal-popover-item.is-danger{color:var(--cal-red)}.cal-popover-item.is-danger:hover{background:var(--cal-red-soft)}.cal-popover-item-icon{display:inline-flex;width:16px;justify-content:center;color:var(--cal-ink-3)}.cal-popover-item.is-danger .cal-popover-item-icon{color:inherit}.cal-popover-item-icon svg{width:15px;height:15px}.cal-popover-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-popover-item-hint{display:inline-flex;color:var(--cal-ink-3);font-size:12px}.cal-popover-item-hint svg{width:14px;height:14px;color:var(--cal-amber)}.cal-popover-sep{height:1px;margin:4px 6px;background:var(--cal-line-strong)}.cal-palette{display:grid;grid-template-columns:repeat(5,30px);gap:6px;padding:6px}.cal-palette-swatch{display:grid;place-items:center;width:30px;height:30px;padding:0;border:none;border-radius:50%;background:var(--c);color:#1a1508;cursor:pointer}.cal-palette-swatch:hover{box-shadow:0 0 0 2px var(--cal-surface-2),0 0 0 4px var(--c)}.cal-palette-swatch.is-selected{box-shadow:0 0 0 2px var(--cal-surface-2),0 0 0 4px var(--cal-ink-1)}.cal-palette-swatch svg{width:14px;height:14px;stroke-width:3}.cal-modal-backdrop{position:fixed;z-index:900;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;background:#08080c8c;animation:cal-fade-in .16s ease}.cal-modal-backdrop.is-closing{animation:cal-fade-out .16s ease forwards}.cal-modal{width:100%;max-width:560px;max-height:76vh;overflow-y:auto;padding:18px 20px 20px;border:1px solid var(--cal-line-strong);border-radius:14px;background:var(--cal-surface);box-shadow:0 30px 70px #0000008c;font-family:var(--font-ui);font-variant-numeric:tabular-nums;animation:cal-modal-in .2s var(--cal-ease)}.cal-modal-backdrop.is-closing .cal-modal{animation:cal-modal-out .16s ease forwards}@keyframes cal-fade-in{0%{opacity:0}}@keyframes cal-fade-out{to{opacity:0}}@keyframes cal-modal-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}@keyframes cal-modal-out{to{opacity:0;transform:translateY(-6px) scale(.985)}}.cal-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cal-modal-head h3{margin:0;color:var(--cal-ink-1);font-size:16px;font-weight:700}.cal-modal-lead{margin:-4px 0 14px;color:var(--cal-ink-3);font-size:12.5px;line-height:1.5}.cal-qa-modal{max-width:620px}.cal-catm-list{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.cal-catm-row{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 4px;border-radius:8px}.cal-catm-row:hover{background:var(--cal-surface-hover)}.cal-catm-row.is-dragging{opacity:.35}.cal-catm-handle{display:inline-flex;color:var(--cal-ink-4);cursor:grab}.cal-catm-handle svg{width:14px;height:14px}.cal-swatch-btn{width:22px;height:22px;flex:none;padding:0;border:none;border-radius:6px;background:var(--c);cursor:pointer}.cal-swatch-btn:hover{box-shadow:0 0 0 2px var(--cal-surface),0 0 0 3px var(--c)}.cal-catm-name,.cal-catm-new input{flex:1;min-width:0;height:32px;padding:0 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--cal-ink-1);font-family:var(--font-ui);font-size:13.5px}.cal-catm-name:hover{border-color:var(--cal-line)}.cal-catm-name:focus,.cal-catm-new input:focus{border-color:var(--cal-amber-line);background:var(--cal-ground)}.cal-catm-new{display:flex;align-items:center;gap:8px;padding:10px 4px 0 26px;border-top:1px solid var(--cal-line-soft)}.cal-catm-new input{border-color:var(--cal-line);background:var(--cal-ground)}.cal-catm-empty{margin-bottom:14px;padding:14px;border:1px dashed var(--cal-line-strong);border-radius:9px;color:var(--cal-ink-3);font-size:13px;line-height:1.5}.cal-form-error{margin-top:10px;color:var(--cal-red);font-size:12.5px}.cal-help-list{display:flex;flex-direction:column;margin:0}.cal-help-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--cal-line-soft)}.cal-help-row:first-child{border-top:none}.cal-help-row dt{display:flex;align-items:center;flex-wrap:wrap;gap:2px;margin:0}.cal-help-sep{color:var(--cal-ink-4);font-size:11px}.cal-help-row dd{margin:0;color:var(--cal-ink-2);font-size:13px}.cal-toast{position:fixed;z-index:2001;left:50%;top:62px;transform:translate(-50%)}.cal-toast .mo-copied-inner{padding-right:6px;gap:10px}.cal-toast.mo-copied-toast{cursor:default}.cal-toast button{position:relative;z-index:1;flex:none;margin-left:4px;height:28px;padding:0 12px;border:none;border-radius:999px;background:transparent;color:var(--cal-amber);font-family:var(--font-ui);font-size:13px;font-weight:700;cursor:pointer}.cal-toast button:hover{background:var(--cal-amber-soft)}.cal.is-dragging .cal-row-actions,.cal.is-dragging .cal-mcell-add,.cal.is-dragging .cal-wcol-add{visibility:hidden}@container cal (max-width: 980px){.cal-layout{grid-template-columns:minmax(0,1fr)}.cal-sidebar{position:static;max-height:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:18px;overflow:visible}.cal-search{flex:1 1 220px}.cal-mini,.cal-shortcuts-link{display:none}.cal-smart{flex-direction:row}.cal-cats{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;gap:4px}.cal-cats-head{margin:0 4px 0 0;padding-left:0}.cal-cats-title{flex:none}.cal-cat{height:28px;border:1px solid var(--cal-line);border-radius:14px}.cal-cat-name{max-width:160px}.cal-agenda-day{grid-template-columns:minmax(0,1fr)}.cal-agenda-head{position:static}}@container cal (max-width: 760px){.cal-period{font-size:18px}.cal-tool-btn span{display:none}.cal-mcell{min-height:84px;padding:4px 3px 6px}.cal-chip{height:18px;padding:0 4px 0 5px;font-size:11px}.cal-chip-icon{display:none}.cal-month-wd{padding:6px 4px;text-align:center}.cal-mcell-head{justify-content:center}.cal-mcell-add{display:none}.cal-day-title{font-size:25px}.cal.has-panel .cal-sidebar,.cal.has-panel .cal-main{display:none}.cal-panel-wrap{position:static;width:auto;pointer-events:auto;animation:cal-fade-in .18s ease}.cal-panel-wrap .cal-panel{position:static;max-height:none;box-shadow:none}.cal-prop{grid-template-columns:96px minmax(0,1fr)}.cal-prop-summary{margin-left:106px}.cal-header-tools{flex-wrap:nowrap;gap:8px;width:100%}.cal-segment{flex:1 1 auto;min-width:0}.cal-segment button{flex:1 1 auto;min-width:0;padding:0 6px}.cal-new-btn{width:34px;padding:0;font-size:0;gap:0}.cal-new-btn svg{width:17px;height:17px}}@container cal (max-width: 560px){.cal-mcell{min-height:64px;cursor:pointer}.cal-mcell-num{height:22px;min-width:22px;padding:0 4px;font-size:12px}.cal-mcell-tasks{gap:3px;padding:0 2px}.cal-chip{height:4px;padding:0;border-radius:2px;background:var(--cat);box-shadow:none;pointer-events:none}.cal-chip.is-done{background:color-mix(in srgb,var(--cat) 30%,transparent);box-shadow:none}.cal-chip-text,.cal-chip-icon{display:none}.cal-mcell-more{padding:0 2px;font-size:10px}.cal-more-long{display:none}.cal-more-short{display:inline}}.cal-more-short{display:none}@container cal (max-width: 1279px){.cal-chip-icon{display:none}}@container cal (min-width: 981px) and (max-width: 1239px){.cal-layout{grid-template-columns:204px minmax(0,1fr);gap:0 22px}}@media (prefers-reduced-motion: reduce){.cal *,.cal-popover,.cal-modal,.cal-modal-backdrop,.cal-toast{animation:none!important;transition:none!important}}.cal-rec-mark{display:inline-flex;vertical-align:-2px;margin-left:6px;color:var(--cal-ink-4)}.cal-rec-mark svg{width:13px;height:13px}.cal-card .cal-rec-mark svg{width:11px;height:11px}.cal-panel .datepicker-value,.cal-panel .datepicker-value *{color:var(--cal-ink-1)!important;font-size:13px!important;font-weight:500!important;letter-spacing:0!important}.cal-panel .select-trigger-label{color:var(--cal-ink-1);font-size:13px;font-weight:500;letter-spacing:0}.cal-panel .datepicker-placeholder{color:var(--cal-ink-3);font-size:13px;font-weight:500;letter-spacing:0}.cal-check-xs{width:16px;height:16px}.cal-check-xs svg{width:14px;height:14px}.cal-subtasks{display:flex;flex-direction:column;gap:1px;margin:6px 0 0;padding:0;list-style:none}.cal-subtask{display:flex;align-items:flex-start;gap:8px;min-height:22px;color:var(--cal-ink-2);font-size:13px;line-height:1.4}.cal-subtask .cal-check{margin-top:1px}.cal-subtask-text{flex:1;min-width:0;overflow-wrap:anywhere;transition:color .2s}.cal-subtask.is-done .cal-subtask-text{color:var(--cal-ink-4)}.cal-row-note{display:flex;align-items:flex-start;gap:7px;max-width:640px;margin-top:7px;color:var(--cal-ink-3)}.cal-row-note>svg{width:13px;height:13px;flex:none;margin-top:2px}.cal-row-note-text{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--cal-ink-2);font-size:12.5px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}.cal-row.is-done .cal-row-note-text{color:var(--cal-ink-4)}.cal-row-comment{display:flex;align-items:flex-start;gap:7px;max-width:640px;margin-top:7px;padding:6px 9px 7px;border-radius:7px;background:#ffffff06;box-shadow:inset 2px 0 0 var(--cal-line-strong);color:var(--cal-ink-3)}.cal-row-comment>svg{width:13px;height:13px;flex:none;margin-top:2px}.cal-row-comment-body{flex:1;min-width:0}.cal-row-comment-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--cal-ink-2);font-size:12.5px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}.cal-row-comment-meta{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:2px;color:var(--cal-ink-4);font-size:11.5px}.cal-row-comment-author{color:var(--cal-ink-3);font-weight:600}.cal-row.is-done .cal-row-comment-text,.cal-row.is-done .cal-subtask{color:var(--cal-ink-4)}.cal-cat-picker-names{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;white-space:nowrap}.cal-cat-picker-item{display:inline-flex;align-items:center;gap:6px;flex:none}@media (hover: none){.cal-check:not(.is-done):not(:disabled):hover .cal-check-ring{stroke:var(--cal-ink-4)}.cal-check:not(.is-done):not(:disabled):hover .cal-check-mark{stroke-dashoffset:14;opacity:0}}:root{--bg-app: #14131a;--bg-panel: #1a1922;--bg-panel-raised: #242230;--border-hairline: #26242e;--border-hairline-soft: #201f28;--text-primary: #f0eef2;--text-secondary: #c9c2ba;--text-faint: #8a8690;--text-dim: #57616e;--accent: #f2c14e;--accent-dim: #a9822c;--accent-bg: rgba(242, 193, 78, .14);--accent-ink: #1a1508;--status-arrived: #8fdca6;--status-arrived-border: #3f9c5c;--status-arrived-bg: rgba(76, 192, 109, .12);--status-departed: #f0a0a0;--status-departed-border: #b84343;--status-departed-bg: rgba(216, 80, 80, .12);--font-ui: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: Consolas, "Courier New", monospace;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 14px}*{box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}a,button,input,select,textarea,label,tr,th,td,li{transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,scale .12s ease}html,body,#root{height:100%;margin:0}button:focus,button:focus-visible,input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{outline:none}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui);font-size:14px;line-height:1.5}body{user-select:none;-webkit-user-select:none}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}@keyframes popover-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.datepicker-popover,.timepicker-popover,.payroll-filter-menu,.subunit-popover,.select-popover{animation:popover-open .24s ease-out}@keyframes popover-close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.datepicker-popover.is-closing,.timepicker-popover.is-closing,.payroll-filter-menu.is-closing,.subunit-popover.is-closing,.select-popover.is-closing{animation:popover-close .24s ease-in forwards}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-secondary)}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;padding:24px}.login-card{width:100%;max-width:420px;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:32px}.login-title{font-size:20px;font-weight:600;margin:0 0 8px}.login-subtitle{font-size:13px;color:var(--text-secondary);margin:0 0 24px}.login-form{display:flex;flex-direction:column;gap:14px}.field-row{display:flex;gap:12px}.field{display:flex;flex-direction:column;gap:6px;flex:1}.field-narrow{flex:0 0 130px}.field-compact{max-width:220px}.field-wide{flex:0 0 240px}.field-filter{flex:0 0 170px;min-width:0}.field>span{font-size:11.5px;font-weight:600;letter-spacing:.01em;color:var(--text-faint)}.field input{width:100%;min-width:0;box-sizing:border-box;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;padding:10px 12px;transition:border-color .15s}.field input:hover{border-color:var(--text-faint)}.field input:focus{outline:none;border-color:var(--accent)}.field-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.login-error{background:var(--status-departed-bg);color:var(--status-departed);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.login-ok{background:var(--status-arrived-bg);color:var(--status-arrived);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.login-actions{display:flex;gap:10px;margin-top:6px}.btn{flex:1;border:1px solid transparent;border-radius:var(--radius-md);padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-ui)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink);font-weight:700}.btn-secondary{background:transparent;border-color:var(--border-hairline);color:var(--text-primary)}.dashboard{display:flex;flex-direction:column;height:100vh}.topbar{flex:none;display:flex;align-items:center;gap:18px;height:52px;padding:0 22px;background:var(--bg-panel);border-bottom:1px solid var(--border-hairline)}.topbar-title-block{display:flex;flex-direction:column;justify-content:center;gap:1px;flex:none}.topbar-title{font-size:14px;font-weight:700;white-space:nowrap;flex:none}.topbar-title-credit{font-size:11px;font-weight:400;color:var(--text-faint);margin-left:4px}.topbar-account-line{font-size:10px;color:var(--text-faint);white-space:nowrap}.topbar-sync-error{color:var(--status-departed)}.topbar-nav{display:flex;align-items:center;gap:2px;flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.topbar-nav::-webkit-scrollbar{display:none}.topbar-link{display:flex;align-items:center;gap:7px;flex:none;text-align:left;background:transparent;border:none;color:var(--text-faint);font-size:12.5px;font-family:var(--font-ui);font-weight:600;padding:6px 11px;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;position:relative;z-index:0}.topbar-link svg{flex:none;opacity:.85;position:relative}.topbar-link:hover{background:#4747472b;color:var(--text-primary)}.topbar-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:var(--radius-md);background:var(--accent-bg);opacity:0;transform:scaleX(0);transform-origin:center;filter:blur(4px);transition:transform .62s cubic-bezier(.22,1,.36,1),opacity .4s ease,filter .4s ease}.topbar-link.is-active:before{opacity:1;transform:scaleX(1);filter:blur(0px)}.topbar-link.is-active{color:var(--accent)}.topbar-split-switcher{display:flex;align-items:center;gap:8px;flex:none}.topbar-disconnect-group{flex:none;margin-left:-10px;padding-left:10px;border-left:1px solid var(--border-hairline)}.topbar-disconnect{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:1px solid var(--border-hairline);color:var(--text-faint);border-radius:var(--radius-sm);cursor:pointer}.topbar-disconnect:hover{background:var(--bg-panel-raised);color:var(--text-primary)}.dashboard-content{flex:1;padding:28px 32px;overflow-y:auto;scrollbar-gutter:stable}@keyframes section-pane-reveal{0%{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}.dashboard-section-pane{animation:section-pane-reveal .55s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion: reduce){.dashboard-section-pane{animation:none}}.split-switcher-buttons{display:flex;gap:4px}.split-switcher-btn{flex:none;width:22px;height:22px;display:grid;place-items:center;background:transparent;border:1px solid var(--border-hairline);color:var(--text-faint);font-family:var(--font-mono);font-size:12px;padding:0;border-radius:var(--radius-sm);cursor:pointer}.split-switcher-btn:hover{background:var(--bg-panel-raised);color:var(--text-primary)}.split-switcher-btn.is-active{background:transparent;border-color:var(--accent);color:var(--accent);font-weight:600}.split-switcher-direction{margin-left:2px;padding-left:10px;border-left:1px solid var(--border-hairline)}.split-switcher-btn-text{width:auto;height:auto;display:inline-flex;align-items:center;font-family:var(--font-ui);font-size:11px;line-height:1.25;padding:6px 8px;white-space:nowrap}.dashboard-panes{flex:1;display:grid;min-width:0;min-height:0}.dashboard-panes>*{min-width:0;min-height:0}.dashboard-panes.direction-columns{grid-template-columns:repeat(var(--pane-count),1fr);grid-template-rows:1fr}.dashboard-panes.direction-rows{grid-template-rows:repeat(var(--pane-count),1fr);grid-template-columns:1fr}.dashboard-panes.direction-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.dashboard-panes.direction-grid>*:nth-child(odd){border-right:1px solid var(--border-hairline)}.dashboard-panes.direction-grid>*:nth-child(-n+2){border-bottom:1px solid var(--border-hairline)}.pane-divider{background:var(--border-hairline);position:relative}.pane-divider-columns{cursor:col-resize}.pane-divider-rows{cursor:row-resize}.pane-divider-columns:before{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px}.pane-divider-rows:before{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}.pane-divider:hover,.pane-divider.is-dragging{background:var(--accent-dim)}.split-pane{display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;overflow:hidden}.split-pane-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-hairline);background:var(--bg-panel)}.split-pane-tabs{display:flex;gap:2px;flex-wrap:wrap;min-width:0}.split-pane-popout{flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.split-pane-popout:hover{background:var(--bg-panel-raised);color:var(--text-primary)}.split-pane-tab{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;font-weight:600;position:relative;z-index:0}.split-pane-tab:hover{background:var(--bg-panel-raised);color:var(--text-primary)}.split-pane-tab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:var(--radius-sm);background:var(--accent-bg);opacity:0;transform:scaleX(0);transform-origin:center;filter:blur(4px);transition:transform .62s cubic-bezier(.22,1,.36,1),opacity .4s ease,filter .4s ease}.split-pane-tab.is-active:before{opacity:1;transform:scaleX(1);filter:blur(0px)}.split-pane-tab.is-active{color:var(--accent)}.split-pane-body{flex:1;overflow-y:auto;min-height:0;padding:20px 24px;scrollbar-gutter:stable}.screen-title{font-size:18px;font-weight:600;margin:0 0 20px}.home-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}.home-header-titles{display:flex;align-items:baseline;gap:14px}.home-header-titles .screen-title{margin:0;font-size:26px;font-weight:700}.home-header-subtitle{font-size:13px;color:var(--text-faint)}.home-header-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:stretch;gap:10px;flex:none}.home-header-btn svg{flex:none;width:18px;height:18px}.home-header-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-ui);font-size:13px;font-weight:600;padding:9px 16px;cursor:pointer;white-space:nowrap}.home-header-btn:hover{border-color:var(--accent-dim);color:var(--text-primary)}.home-columns{display:grid;grid-template-columns:1fr 1fr 260px;gap:32px}.home-column{display:flex;flex-direction:column;min-width:0;padding-left:24px;border-left:1px solid var(--border-hairline)}.home-column:first-child{padding-left:0;border-left:none}.home-column-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid var(--accent)}.home-column-people .home-column-header{margin-bottom:14px}.home-column-icon{display:flex;align-items:center;color:var(--accent);flex:none}.home-column-icon-btn{display:flex;align-items:center;background:transparent;border:none;padding:0;margin:0;line-height:0;cursor:pointer;border-radius:var(--radius-sm)}.home-column-icon-btn:hover{background:var(--bg-panel-raised)}.home-column-header-relative{position:relative}.home-column-pin-clear{display:inline-flex;align-items:center;gap:5px;margin-left:auto;background:transparent;border:none;color:var(--accent);font-family:var(--font-ui);font-size:11.5px;font-weight:600;cursor:pointer;padding:0;white-space:nowrap}.home-column-pin-clear:hover{color:var(--text-primary)}.home-column-pin-clear svg{width:12px;height:12px}.home-rotation-picker{position:absolute;top:100%;left:0;margin-top:6px;z-index:1000;width:320px;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:0 12px 32px #00000080;padding:6px}.home-rotation-picker-empty{padding:12px;font-size:13px;color:var(--text-faint);font-style:italic}.home-rotation-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.home-rotation-picker-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer}.home-rotation-picker-item:hover{background:var(--bg-panel-raised)}.home-rotation-picker-item.is-active{background:var(--accent-bg)}.home-rotation-picker-date{font-size:12.5px;font-family:var(--font-mono);color:var(--text-primary)}.home-rotation-picker-pos{font-size:12px;color:var(--text-secondary)}.home-rotation-picker-counts{font-size:11.5px;color:var(--text-faint)}.home-column-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}.home-column-meta{font-size:12.5px;font-weight:400;color:var(--text-faint)}.home-card-empty{font-size:13px;color:var(--text-faint);font-style:italic;margin-bottom:12px}.home-people-list{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}.home-people-list li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border-hairline-soft);font-size:13px}.home-people-list li:last-child{border-bottom:none}.home-people-rank{color:var(--text-faint)}.home-people-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-events-list{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}.home-events-list li{padding:10px 0;border-bottom:1px solid var(--border-hairline-soft)}.home-events-list li:last-child{border-bottom:none}.home-event-meta{font-size:12.5px;color:var(--text-faint);margin-bottom:4px}.home-event-note{font-size:13px;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-card-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;align-self:flex-start;background:transparent;border:none;color:var(--accent);font-size:13px;font-weight:600;font-family:var(--font-ui);cursor:pointer;padding:0}.home-card-link:hover{color:var(--text-primary)}.home-total-number{font-size:36px;font-weight:700;color:var(--accent);line-height:1}.home-total-label{font-size:12px;color:var(--text-faint);margin-top:4px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--border-hairline)}.home-gsadn-row{display:flex;align-items:center;gap:24px}.home-gsadn-total-group{display:flex;flex-direction:column;align-items:flex-start}.home-gsadn-total-number{font-size:36px;font-weight:700;color:var(--accent);line-height:1}.home-gsadn-breakdown{display:flex;gap:20px}.home-gsadn-group{display:inline-flex;flex-direction:column;align-items:center}.home-gsadn-group-number{font-size:22px;font-weight:700;color:var(--text-primary)}.home-gsadn-group-number.mono{font-family:var(--font-mono)}.home-gsadn-row-others{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-hairline)}.home-gsadn-group-label{font-size:11px;color:var(--text-faint);margin-top:2px}.placeholder-screen{color:var(--text-secondary)}.placeholder-screen h2{color:var(--text-primary);font-size:18px;margin:0 0 8px}.placeholder-error{color:var(--status-departed)}.position-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.position-list-item{position:relative;display:flex;align-items:stretch;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);transition:border-color .15s;padding-right:72px}.position-list-item:hover{border-color:var(--accent-dim)}.position-list-button{flex:0 0 170px;min-width:0;display:flex;align-items:center;gap:10px;background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;height:44px;padding:0 14px;text-align:left;overflow:hidden}.people-search-item{padding-right:0}.people-search-button{flex:1}.people-search-button .position-inactive{margin-left:0}.position-divider{flex:none;align-self:center;width:1px;height:18px;background:var(--border-hairline)}.position-list-item .subunit-trigger{align-self:center;height:auto;width:130px;justify-content:center;padding:6px 16px;margin:0 4px;border-radius:var(--radius-sm)}.position-note-input{flex:0 1 200px;min-width:0;align-self:center;height:auto;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;padding:6px 16px;margin:0 4px}.position-note-input::placeholder{color:var(--text-faint)}.position-note-input:hover{background:var(--bg-panel-raised)}.position-note-input:focus{outline:none;color:var(--text-primary);background:var(--bg-panel-raised)}.position-spacer{flex:1;min-width:8px;cursor:pointer}.position-delete-button{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;right:8px;transform:translateY(-50%);width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer}.position-delete-button:hover{background:var(--status-departed-bg);color:var(--status-departed)}.position-edit-button{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;right:44px;transform:translateY(-50%);width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer}.position-edit-button:hover{background:var(--accent-bg);color:var(--accent)}.position-confirm-button{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;right:44px;transform:translateY(-50%);width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer}.position-confirm-button:hover{background:var(--status-arrived-bg);color:var(--status-arrived)}.position-cancel-button{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;right:8px;transform:translateY(-50%);width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer}.position-cancel-button:hover{background:var(--status-departed-bg);color:var(--status-departed)}.position-edit-wrapper{flex:1;display:flex;flex-direction:column;gap:8px;padding:0 14px}.position-edit-row{display:flex;align-items:center;gap:10px;height:44px}.roster-pib-edit-row{gap:2px}.position-edit-row .inline-select{flex:0 0 90px}.position-edit-row .inline-input{flex:1}.position-edit-row .inline-input,.position-edit-row .inline-select{height:32px;padding:0 10px;box-sizing:border-box}.position-prefix{font-family:var(--font-mono);font-size:12px;color:var(--accent);border:1px solid var(--accent-dim);border-radius:var(--radius-sm);padding:2px 6px}.position-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position-inactive{margin-left:auto;font-size:11px;color:var(--text-faint)}.search-bar{display:flex;gap:10px;margin-bottom:20px;max-width:480px}.search-input{flex:1;background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;padding:10px 14px}.search-input:focus{outline:none;border-color:var(--accent)}.search-button{flex:none;padding:9px 16px}.sync-bar{padding:10px 0;border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline);margin:12px 0;display:flex;flex-direction:column;gap:8px}.sync-button{width:100%;flex:none;padding:8px 10px;margin-top:-6px;border-color:transparent}.sync-button.is-active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.sync-message{font-size:11px;color:var(--status-arrived);line-height:1.4;padding:0 2px}.sync-message-error{color:var(--status-departed)}.back-link{background:transparent;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:0;margin-bottom:16px;font-family:var(--font-ui)}.back-link:hover{color:var(--accent)}.section-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin:24px 0 12px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;color:var(--text-faint);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--border-hairline)}.data-table td{padding:11px 12px;border-bottom:1px solid var(--border-hairline-soft);font-family:var(--font-mono)}.data-table tbody tr:hover{background:var(--bg-panel)}.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--border-hairline);margin-bottom:20px}.tab-button{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-ui);font-size:13px;padding:10px 14px;cursor:pointer;font-weight:600}.tab-button:hover{color:var(--text-primary)}.tab-button.is-active{color:var(--accent)}.tab-bar>.tab-button{position:relative}.tab-bar>.tab-button:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--accent);border-radius:1px;transform:scaleX(0);transform-origin:center;transition:transform .32s ease}.tab-bar>.tab-button.is-active:after{transform:scaleX(1)}.tab-group{display:flex;align-items:center;gap:4px;padding:0 6px 2px 2px;position:relative}.tab-group:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);border-radius:1px;transform:scaleX(0);transform-origin:center;transition:transform .32s ease}.tab-group:has(>.tab-button.is-active):after{transform:scaleX(1)}.tab-add-button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border-radius:50%;background:var(--bg-panel-raised);border:none;color:var(--text-faint);cursor:pointer}.tab-group:has(>.tab-button.is-active) .tab-add-button{background:var(--bg-panel-raised);color:var(--text-secondary)}.tab-add-button:hover{background:var(--accent-bg);color:var(--accent)}.tab-add-button.is-active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--status-departed);color:#fff;font-size:10px;font-weight:700;line-height:1;margin-left:6px;vertical-align:middle}.form-card{max-width:520px;display:flex;flex-direction:column;gap:14px}.field select{width:100%;min-width:0;box-sizing:border-box;background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;padding:9px 30px 9px 10px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa0ac' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.field select:focus{outline:none;border-color:var(--accent)}.rotation-textarea{background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;padding:10px;resize:vertical}.rotation-textarea:focus{outline:none;border-color:var(--accent)}.rotation-textarea::placeholder{color:var(--text-faint);opacity:1}.admin-detail-textarea{width:700px;max-width:100%;box-sizing:border-box}.form-error{background:var(--status-departed-bg);color:var(--status-departed);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.form-ok{background:var(--status-arrived-bg);color:var(--status-arrived);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.form-warning{background:#d8a93b24;color:var(--accent);border-radius:var(--radius-sm);padding:8px 12px;font-size:12px;margin-bottom:10px}.field-hint{font-size:12px;color:var(--text-faint);margin:-6px 0 0}.type-list{margin-top:24px;max-width:320px}.type-list-items{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}.type-list-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:8px 8px 8px 12px;font-family:var(--font-mono);font-size:13px}.datepicker-trigger{width:100%;min-width:0;height:33px;display:flex;align-items:center;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;padding:0 12px;cursor:pointer;text-align:left;box-sizing:border-box;transition:border-color .15s}.datepicker-trigger:hover{border-color:var(--accent-dim)}.datepicker-trigger:focus{outline:none;border-color:var(--accent)}.datepicker-placeholder{color:var(--text-faint);font-size:11.5px;font-weight:600;letter-spacing:.01em}.datepicker-value,.datepicker-value *{color:var(--text-faint)!important;font-family:var(--font-ui)!important;font-size:11.5px!important;font-weight:600!important;letter-spacing:.01em!important;text-decoration:none!important;background:none!important;cursor:pointer!important}.data-table td>.datepicker-trigger{height:100%;background:var(--bg-panel-raised);border:none;border-radius:var(--radius-sm);padding:8px 10px}.data-table td>.datepicker-trigger:hover{background:var(--bg-panel)}.datepicker-popover,.timepicker-popover{position:fixed;z-index:1000;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073;padding:12px}.datepicker-popover{width:260px}.datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.datepicker-title{font-size:13px;font-weight:600}.datepicker-nav{background:transparent;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);width:26px;height:26px;cursor:pointer;font-size:14px;line-height:1}.datepicker-nav:hover{border-color:var(--accent);color:var(--accent)}.datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.datepicker-weekdays span{text-align:center;font-size:11px;color:var(--text-faint)}.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-day{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:6px 0;cursor:pointer}.datepicker-day:hover{background:var(--bg-panel-raised)}.datepicker-day.is-selected{background:var(--accent);color:#1a1400;font-weight:600}.datepicker-footer{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-hairline);display:flex;justify-content:flex-end}.timepicker-popover{width:160px}.timepicker-typed{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-hairline)}.timepicker-typed-input{width:36px;background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:16px;font-weight:600;text-align:center;padding:6px 0}.timepicker-typed-input:focus{outline:none;border-color:var(--accent)}.timepicker-typed-colon{font-size:16px;font-weight:600;color:var(--text-secondary)}.timepicker-columns{display:flex;gap:6px;max-height:200px}.timepicker-column{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.timepicker-option{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:6px 0;cursor:pointer;text-align:center}.timepicker-option:hover{background:var(--bg-panel-raised)}.timepicker-option.is-selected{background:var(--accent);color:#1a1400;font-weight:600}.timepicker-footer{margin-top:8px;display:flex;justify-content:flex-end}.timepicker-confirm{flex:none;padding:6px 14px;font-size:12px}.rotation-preview-scroll{min-width:0;max-width:100%;overflow-x:auto}.rotation-preview{border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:14px;max-width:640px}.rotation-preview-header{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary);margin-bottom:10px}.status-pill{font-size:11px;font-weight:600;padding:2px 9px;border-radius:8px;border:1px solid transparent;font-family:var(--font-ui);width:58px;text-align:center;flex-shrink:0;display:inline-block}.status-pill-wide{width:auto;min-width:58px}.status-arrived{background:var(--status-arrived-bg);border-color:var(--status-arrived-border);color:var(--status-arrived)}.status-departed{background:var(--status-departed-bg);border-color:var(--status-departed-border);color:var(--status-departed)}.admin-note{color:var(--text-faint);font-size:12px;margin:-4px 0 16px;max-width:640px}.admin-note-dismissible{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-note-close{flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--status-departed-bg);border:none;border-radius:6px;color:var(--status-departed);cursor:pointer}.admin-note-close:hover{background:var(--status-departed);color:#1f0705}.admin-note-close svg{width:15px;height:15px}.audit-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px;font-family:var(--font-ui);letter-spacing:.01em}.audit-badge-create{background:var(--status-arrived-bg);color:var(--status-arrived)}.audit-badge-update{background:var(--accent-bg);color:var(--accent)}.audit-badge-delete{background:var(--status-departed-bg);color:var(--status-departed)}.audit-row-undone{opacity:.5}.audit-undone-label{color:var(--text-faint);font-size:12px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.admin-duplicates-panel{position:relative;margin-bottom:24px;padding:16px 18px;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:14px;animation:expand-open .24s ease-out}.admin-duplicates-panel-close{position:absolute;top:12px;right:12px}.admin-duplicates-panel-single-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-note-no-margin{margin:0}.admin-duplicates-panel.is-closing{animation:expand-close .24s ease-in forwards}.admin-duplicate-group{padding-top:12px;border-top:1px solid var(--border-hairline-soft)}.admin-duplicate-group:first-of-type{padding-top:0;border-top:none}.admin-duplicate-group-title{font-family:var(--font-mono);font-weight:600;font-size:13.5px;margin-bottom:8px}.admin-duplicate-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0;min-height:32px;box-sizing:content-box;font-size:12.5px}.admin-duplicate-info{color:var(--text-secondary)}.admin-duplicate-actions{display:flex;gap:14px;flex:none}.payroll-header-3col{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:20px}.payroll-header-3col .payroll-title-row{justify-self:start;margin-bottom:0}.payroll-header-3col .payroll-title-row .btn{flex:none}.payroll-header-3col .payroll-search-input{justify-self:end}.admin-refresh{flex:none;width:auto}.admin-header .payroll-title-row .admin-action-btn{flex:none;flex-shrink:0;width:auto;white-space:nowrap;padding:6px 10px;font-size:11px}.admin-header .payroll-title-row{gap:6px}.admin-details{display:flex;flex-direction:column;gap:6px;font-size:13px}.admin-details-label{color:var(--text-faint);margin-right:6px}.audit-diff-before{color:var(--text-faint)}.audit-diff-arrow{color:var(--text-faint);margin:0 4px}.audit-diff-after{color:var(--text-primary)}.admin-detail-diff-group{display:flex;flex-direction:column;gap:10px}.admin-detail-diff-block{display:flex;flex-direction:column;gap:4px}.admin-detail-diff-block-label{color:var(--text-faint);font-size:12px}.audit-diff-lines{background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;padding:10px;white-space:pre-wrap;word-break:break-word}.audit-diff-line{padding:1px 4px;margin:0 -4px;border-radius:3px}.audit-diff-line-removed{color:var(--status-departed);background:var(--status-departed-bg)}.audit-diff-line-added{color:var(--status-arrived);background:var(--status-arrived-bg)}.payroll-screen-root:focus{outline:none}.admin-log-scroll{max-height:calc(100vh - 200px);overflow-x:auto;scrollbar-gutter:stable}*{scrollbar-color:var(--border-hairline) var(--bg-app);scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--bg-app)}*::-webkit-scrollbar-thumb{background:var(--border-hairline);border-radius:5px}*::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}*::-webkit-scrollbar-corner{background:var(--bg-app)}.roster-add-form{max-width:none;margin-bottom:24px}.roster-table-compact{font-size:12px}.roster-table-compact th,.roster-table-compact td{padding:5px 8px}.roster-main-table{table-layout:fixed;width:100%}.roster-main-table tbody tr{height:46px}.roster-main-table th:nth-child(1),.roster-main-table td:nth-child(1){width:24px}.roster-main-table th:nth-child(2),.roster-main-table td:nth-child(2){width:32px}.roster-main-table th:nth-child(3),.roster-main-table td:nth-child(3){width:160px}.roster-main-table th:nth-child(4),.roster-main-table td:nth-child(4){width:260px}.roster-main-table th:nth-child(5),.roster-main-table td:nth-child(5){width:160px}.roster-main-table th:nth-child(6),.roster-main-table td:nth-child(6){width:140px}.roster-main-table th:nth-child(7),.roster-main-table td:nth-child(7){width:76px}.roster-add-row{display:flex;gap:24px;align-items:flex-start;margin-bottom:20px}.roster-add-header{margin-bottom:12px}.roster-add-toggle{display:inline-flex;align-items:center;gap:6px;font-weight:600}.roster-bulk-form{gap:6px}.roster-add-row .roster-bulk-form{flex:1;min-width:0;margin-bottom:0}.roster-add-row .roster-subunit-manager{flex:0 0 260px;margin-bottom:0}.roster-bulk-form .admin-note{margin:0 0 4px}.subunit-trigger.roster-bulk-subunit-trigger{width:100%;max-width:none;min-width:0;justify-content:flex-start;background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:9px 10px;font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.subunit-trigger.roster-bulk-subunit-trigger:hover{background:var(--bg-app);color:var(--text-primary)}.roster-add-plus svg{width:15px;height:15px}.cal-modal.roster-add-modal{max-width:760px}.roster-add-modal-form.form-card{max-width:none;margin:0}.roster-add-modal-form .rotation-textarea{min-height:130px}.roster-add-modal-hint{margin-top:14px;color:var(--text-faint);font-size:12px}.roster-add-form-wrap{animation:expand-open .24s ease-out}.roster-add-form-wrap.is-closing{animation:expand-close .24s ease-in forwards}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{color:var(--text-primary)}.roster-subunit-manager{margin-bottom:20px}.roster-subunit-add{display:flex;gap:8px;max-width:400px;margin-bottom:8px}.roster-subunit-add input{flex:1;background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;padding:9px 10px}.roster-subunit-chips{display:flex;flex-wrap:wrap;gap:6px}.roster-subunit-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-panel-raised);border:1px solid var(--border-hairline);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--text-secondary)}.roster-subunit-chip button{background:transparent;border:none;color:var(--text-faint);cursor:pointer;font-size:14px;line-height:1;padding:0}.roster-subunit-chip button:hover{color:var(--status-departed)}.roster-bulk-actions{display:inline-flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px 12px;background:var(--bg-panel-raised);border-radius:var(--radius-md);font-size:13px;animation:expand-open .24s ease-out}.roster-bulk-actions.is-closing{animation:expand-close .24s ease-in forwards}.roster-select-all-link{position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:8px;font-weight:500;text-transform:none;letter-spacing:normal;white-space:nowrap}.roster-rank-th-inner{position:relative;display:inline-block}.roster-search-row{margin-top:20px;margin-bottom:14px;max-width:420px}.roster-search-input{width:100%;background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;padding:9px 10px;box-sizing:border-box}.roster-search-input:focus{outline:none;border-color:var(--accent)}.roster-subunit-group{margin-bottom:24px;border-radius:var(--radius-md);outline:2px dashed transparent;transition:outline-color .1s}.roster-subunit-group.is-drag-over{outline-color:var(--accent)}.roster-drag-cell{width:24px}.roster-drag-handle{display:flex;align-items:center;justify-content:center;color:var(--text-faint);cursor:grab}.roster-drag-handle:active{cursor:grabbing}.roster-table-compact tr.is-dragging{opacity:.4}.roster-table-compact tr.drag-over-before td{border-top:2px solid var(--accent)}.roster-table-compact tr.drag-over-after td{border-bottom:2px solid var(--accent)}.roster-subunit-group-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary);margin:0 0 8px}.payroll-month-switch{display:flex;align-items:center;gap:10px}.payroll-header-right{display:flex;align-items:center;gap:16px}.payroll-title-row{display:flex;align-items:flex-start;gap:12px}.payroll-title-row .screen-title{margin:0}.payroll-refresh-btn{padding:6px 14px}.payroll-search-input{background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;padding:8px 10px;width:220px}.payroll-search-input:focus{outline:none;border-color:var(--accent)}.payroll-group-header-row{grid-column:1 / -1;justify-content:flex-start;background:var(--bg-panel-raised);color:var(--text-faint);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:6px 10px}.payroll-month-label{font-size:14px;font-weight:600;min-width:140px;text-align:center}.payroll-grid{display:grid;width:max-content;font-size:13px}.payroll-grid-header,.payroll-grid-cell{padding:5px 8px;border-bottom:1px solid var(--border-hairline);display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;min-width:0}.payroll-grid-header{position:sticky;top:0;background:var(--bg-panel);color:var(--text-secondary);font-weight:500;font-size:13px;z-index:10}.payroll-sticky-col{position:sticky;z-index:3;justify-content:flex-start!important;text-align:left}.payroll-grid-header.payroll-sticky-col{z-index:11}.payroll-grid-cell.payroll-sticky-col{background:var(--bg-app);user-select:text;-webkit-user-select:text}.payroll-sticky-first-col{position:sticky;left:0;z-index:3}.payroll-grid-header.payroll-sticky-first-col{z-index:11}.payroll-grid-cell.payroll-sticky-first-col{background:var(--bg-app)}.payroll-cell{cursor:pointer;font-family:var(--font-mono);font-weight:700;border:1px solid transparent;-webkit-user-select:none;user-select:none}.payroll-cell:hover{border-color:var(--border-hairline);background:var(--bg-panel-raised)}.payroll-cell-0{color:var(--text-faint);font-weight:400}.payroll-cell-10{color:#6fa8dc}.payroll-cell-30{color:#0a53a8}.payroll-cell-100{color:#fbbc04}.payroll-toolbar{display:none}.payroll-group-toggle-col{display:flex;align-items:center;justify-content:center;padding:0!important}.payroll-row-number{color:var(--text-faint);font-size:11px}.payroll-group-toggle-btn{width:22px;height:22px;border-radius:var(--radius-sm);background:var(--bg-panel-raised);border:1px solid var(--border-hairline);color:var(--text-primary);font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.payroll-group-toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.payroll-header-filterable{position:sticky;top:0;display:flex;align-items:center;gap:2px;min-width:0;z-index:10;background:var(--bg-panel)}.payroll-day-header{justify-content:center;padding:0}.payroll-day-header-btn{width:100%;height:100%;color:var(--text-secondary);font-size:12px;font-weight:500;position:relative}.payroll-day-header-btn:hover{background:var(--bg-panel-raised);color:var(--text-primary)}.payroll-day-header-hint{position:absolute;top:2px;right:2px;width:7px;height:7px;opacity:0;pointer-events:none}.payroll-day-header-btn:hover .payroll-day-header-hint{opacity:.8}.payroll-filter-icon{background:transparent;border:none;color:var(--text-faint);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:2px;font-size:10px;line-height:1}.payroll-filter-icon:hover{color:var(--text-primary)}.payroll-filter-menu{position:fixed;z-index:1000;min-width:160px;max-height:280px;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073;padding:8px;font-weight:400;text-transform:none}.payroll-filter-menu-actions{display:flex;justify-content:space-between;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border-hairline)}.payroll-filter-search{background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;padding:6px 8px;margin-bottom:6px}.payroll-filter-search:focus{outline:none;border-color:var(--accent)}.payroll-filter-menu-empty{color:var(--text-faint);font-size:12px;padding:6px 2px}.payroll-filter-menu-list{overflow-y:auto;max-height:180px;display:flex;flex-direction:column;gap:4px}.payroll-filter-menu-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:var(--text-primary);cursor:pointer;white-space:nowrap}.payroll-filter-menu-close{margin-top:8px;width:100%}.payroll-filter-menu-narrow{min-width:0;width:max-content}.payroll-cell-selected{outline:1px solid var(--accent);outline-offset:-1px}.payroll-cell-overridden{box-shadow:inset 0 0 0 2px var(--status-departed)}.payroll-value-picker{display:flex;flex-direction:column;align-items:flex-start;gap:2px}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;border:1px solid var(--border-hairline);border-radius:3px;background:var(--bg-app);cursor:pointer;position:relative;flex:none}input[type=checkbox]:hover{border-color:var(--accent)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #1a1400;border-width:0 2px 2px 0;transform:rotate(45deg)}.payroll-value-picker-option{width:60px;height:28px;border-radius:var(--radius-sm);background:var(--bg-app);border:1px solid var(--border-hairline);font-family:var(--font-mono);font-weight:700;font-size:12px;cursor:pointer}.payroll-value-picker-option:hover{background:var(--bg-panel-raised);border-color:var(--accent)}@keyframes clipboard-toast-open{0%{opacity:0;transform:translate(-50%,-90%) scale(.97)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.payroll-clipboard-toast{position:fixed;transform:translate(-50%,-100%);z-index:1000;display:flex;align-items:center;gap:8px;background:var(--bg-panel);border:1px solid var(--accent);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073;color:var(--accent);font-weight:600;font-size:13px;padding:10px 18px;white-space:nowrap;animation:clipboard-toast-open .24s ease-out}.payroll-clipboard-toast-check{flex:none;color:var(--accent)}.payroll-id-cell-highlighted,.payroll-day-header-highlighted .payroll-day-header-btn{color:var(--accent)}.admin-log-grid{display:grid;grid-template-columns:150px 110px 100px minmax(220px,1fr) 190px 200px 120px 176px;width:100%}.admin-grid-header{position:sticky;top:0;display:flex;align-items:center;background:var(--bg-panel);color:var(--text-faint);font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;padding:12px;border-bottom:1px solid var(--border-hairline);z-index:10}.admin-grid-cell{padding:13px 12px;border-bottom:1px solid var(--border-hairline);display:flex;align-items:center;font-family:var(--font-mono);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;transition:background .1s}.admin-grid-expanded{grid-column:1 / -1;background:var(--bg-app);padding:16px;animation:admin-panel-fade-in .24s ease-out}.admin-grid-expanded.is-closing{animation:admin-panel-fade-out .24s ease-in forwards}@keyframes admin-panel-fade-in{0%{opacity:0}to{opacity:1}}@keyframes admin-panel-fade-out{0%{opacity:1}to{opacity:0}}.filter-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:20px}.filter-actions{display:flex;gap:8px}.filter-actions .btn{flex:none;width:130px;padding:9px 14px}.btn-link{background:transparent;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:0;font-family:var(--font-ui)}.btn-link:hover{text-decoration:underline}.archive-note{font-size:12px;color:var(--text-faint);margin-top:10px}.rotation-group-list{display:flex;flex-direction:column;gap:14px}.rotation-group{background:var(--bg-panel);border-left:3px solid var(--accent);border-radius:var(--radius-lg);overflow:hidden}.rotation-group-status-stripe{position:relative;border-left:none;padding-left:3px}.rotation-group-status-stripe:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--stripe, var(--accent));pointer-events:none}.rotation-group-header{display:flex;align-items:center;gap:14px;min-height:28px;padding:14px 18px}.rotation-group-icon{display:flex;align-items:center;flex:none;font-size:16px}.rotation-group-title{flex:1;font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--text-primary)}.rotation-group-battery{font-weight:400;color:var(--text-faint)}.text-faint{color:var(--text-faint)}.rotation-group-body{padding:0 18px 14px 42px}.rotation-row{display:grid;grid-template-columns:32px 90px 150px 260px 110px 100px;gap:8px;align-items:center;padding:9px 0;font-size:12.5px;border-bottom:1px solid var(--border-hairline-soft)}.rotation-row:last-child{border-bottom:none}.rotation-row-header{font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:var(--text-faint);padding:8px 0;border-bottom:1px solid var(--border-hairline)}.rotation-cell-num{color:var(--text-dim)}.rotation-cell-name{font-weight:600}.events-archive-table{table-layout:fixed;width:100%}.events-archive-table th:nth-child(1),.events-archive-table td:nth-child(1){width:11%}.events-archive-table th:nth-child(2),.events-archive-table td:nth-child(2){width:9%}.events-archive-table th:nth-child(3),.events-archive-table td:nth-child(3){width:9%}.events-archive-table th:nth-child(4),.events-archive-table td:nth-child(4){width:18%}.events-archive-table th:nth-child(5),.events-archive-table td:nth-child(5){width:12%}.events-archive-table th:nth-child(6),.events-archive-table td:nth-child(6){width:29%}.events-archive-table th:nth-child(7),.events-archive-table td:nth-child(7){width:12%}.position-events-table{table-layout:fixed;width:100%}.position-events-table th:nth-child(1),.position-events-table td:nth-child(1){width:6%}.position-events-table th:nth-child(2),.position-events-table td:nth-child(2){width:13%}.position-events-table th:nth-child(3),.position-events-table td:nth-child(3){width:11%}.position-events-table th:nth-child(4),.position-events-table td:nth-child(4){width:11%}.position-events-table th:nth-child(5),.position-events-table td:nth-child(5){width:14%}.position-events-table th:nth-child(6),.position-events-table td:nth-child(6){width:33%}.position-events-table th:nth-child(7),.position-events-table td:nth-child(7){width:12%}.positions-archive-list{display:flex;flex-direction:column}.positions-archive-row{display:grid;grid-template-columns:70px 220px 140px 240px 110px 1fr 92px;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--border-hairline-soft);font-family:var(--font-mono);font-size:13px}.positions-archive-list>.positions-archive-row:last-child{border-bottom:none}.positions-archive-row-header{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);padding:10px 12px;border-bottom:1px solid var(--border-hairline)}.positions-archive-row .table-actions{text-align:right}.positions-archive-row>*:nth-child(2),.positions-archive-row>*:nth-child(3),.positions-archive-row>*:nth-child(4){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.positions-archive-muted{color:var(--text-faint)}.person-history-psevdo{color:var(--text-faint);font-weight:400;font-size:15px}.copy-rank-name-button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;vertical-align:middle;margin-right:8px;margin-top:-3px;background:transparent;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.copy-rank-name-button:hover{background:var(--bg-panel-raised);color:var(--text-primary)}.person-history-list{display:flex;flex-direction:column;gap:6px}.person-history-row{display:grid;grid-template-columns:28px minmax(64px,90px) minmax(46px,60px) minmax(64px,76px) minmax(120px,170px) minmax(50px,1fr) 64px;gap:10px;align-items:center;padding:11px 12px;font-size:13px;font-family:var(--font-mono)}.person-history-row-header{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-hairline);padding:10px 12px}.person-history-row:not(.person-history-row-header){background:var(--bg-panel);border-left:3px solid var(--accent);border-radius:var(--radius-md)}.person-history-row.is-arrived{border-left-color:var(--status-arrived)}.person-history-row.is-departed{border-left-color:var(--status-departed)}.person-history-row:not(.person-history-row-header) .person-history-battery{color:var(--text-faint);font-family:var(--font-ui);font-weight:400}.person-history-battery.is-inline{display:none;margin-left:8px}.person-history-row-actions{display:flex;justify-content:flex-end;gap:4px}.rotation-editor-panel{margin-top:12px;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--bg-panel)}.rotation-group-actions{display:flex;gap:4px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.icon-button,.icon-button-confirm,.icon-button-cancel,.icon-button-danger{transition:none}.icon-button-filled{width:32px;height:32px;background:var(--bg-panel-raised);border-radius:var(--radius-md);color:var(--text-secondary)}.icon-button:hover{background:var(--accent-bg);color:var(--accent)}.icon-button-danger:hover{background:var(--status-departed-bg);color:var(--status-departed)}.icon-button-confirm{background:var(--status-arrived-bg);color:var(--status-arrived)}.icon-button-confirm:hover{background:var(--status-arrived);color:#08150e}.icon-button-cancel{background:var(--status-departed-bg);color:var(--status-departed)}.icon-button-cancel:hover{background:var(--status-departed);color:#1f0705}.table-actions .icon-button-confirm,.table-actions .icon-button-cancel{background:transparent;color:var(--text-secondary)}.table-actions .icon-button-confirm:hover{background:var(--status-arrived-bg);color:var(--status-arrived)}.table-actions .icon-button-cancel:hover{background:var(--status-departed-bg);color:var(--status-departed)}.admin-user-inline-form .icon-button-confirm,.admin-user-inline-form .icon-button-cancel{background:transparent;color:var(--text-secondary)}.admin-user-inline-form .icon-button-confirm:hover,.admin-user-inline-form .icon-button-confirm:active{background:var(--status-arrived-bg);color:var(--status-arrived)}.admin-user-inline-form .icon-button-cancel:hover,.admin-user-inline-form .icon-button-cancel:active{background:var(--status-departed-bg);color:var(--status-departed)}.table-actions .icon-button+.icon-button{margin-left:4px}.table-actions{white-space:nowrap;min-height:28px;text-align:right}.table-actions .btn-link+.btn-link{margin-left:12px}.admin-actions-cell{display:flex;align-items:center;justify-content:flex-end;gap:4px}.admin-restore-slot{display:inline-flex;align-items:center;justify-content:center;min-width:78px}.inline-input,.inline-select{height:auto;background:var(--bg-panel-raised);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;padding:9px 10px;width:100%;box-sizing:border-box;display:block}.inline-select,input.inline-input[type=date],input.inline-input[type=time]{cursor:pointer}.inline-input:focus,.inline-select:focus{outline:none;border-color:var(--accent)}.data-table td:has(>.inline-input),.data-table td:has(>.inline-select),.data-table td:has(>.datepicker-trigger),.data-table td:has(>.position-edit-row){padding:3px 6px;border-top:none;border-right:none;border-bottom:1px solid var(--border-hairline)}.data-table .inline-input,.data-table .inline-select{height:100%;background:var(--bg-panel-raised);border:none;border-radius:var(--radius-sm);padding:8px 10px}.data-table td:has(>.subunit-trigger){padding:0;border-right:2px solid var(--bg-app)}.data-table td:has(>.subunit-trigger-editing){padding:3px 6px;border-top:none;border-right:none;border-bottom:1px solid var(--border-hairline)}.data-table tr td:last-child{border-right:none}.roster-main-table{border-collapse:collapse}.roster-main-table thead th{border-bottom:1px solid var(--border-hairline)}.roster-main-table tbody tr{height:38px}.roster-main-table tbody td{border-bottom:1px solid var(--border-hairline);border-right:none;vertical-align:middle}.roster-main-table td:has(>.inline-input),.roster-main-table td:has(>.inline-select),.roster-main-table td:has(>.position-edit-row),.roster-main-table td:has(>.subunit-trigger),.roster-main-table td:has(>.subunit-trigger-editing){padding:0 6px;border-top:none;border-right:none;border-bottom:1px solid var(--border-hairline)}.position-category-group{margin-bottom:24px}.position-category-group:last-child{margin-bottom:0}.position-category-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:0 0 8px}.position-category-group{border-radius:var(--radius-md);transition:outline-color .1s;outline:2px dashed transparent;outline-offset:4px}.position-category-group.is-drag-over{outline-color:var(--accent)}.position-category-empty{border:1px dashed var(--border-hairline);border-radius:var(--radius-sm);padding:16px;text-align:center;color:var(--text-faint);font-size:12px}.position-drag-handle{display:flex;align-items:center;justify-content:center;width:22px;flex:none;color:var(--text-faint);cursor:grab}.position-drag-handle:active{cursor:grabbing}.payroll-title-row.position-list-title-row{height:32px;align-items:center;margin-bottom:20px}.position-bulk-actions{height:32px;padding:0 8px;gap:8px;font-size:12px;margin-bottom:0;box-sizing:border-box}.position-bulk-actions .btn{flex:none;padding:5px 10px;font-size:12px}.position-bulk-actions .icon-button{width:22px;height:22px}.position-select-checkbox{flex:none;align-self:center;display:flex;margin:0 4px 0 0}.position-list-item.is-dragging{opacity:.4}.position-list-item.drag-over-before:before,.position-list-item.drag-over-after:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--accent);border-radius:1px;pointer-events:none;z-index:1}.position-list-item.drag-over-before:before{top:-2px}.position-list-item.drag-over-after:after{bottom:-2px}.data-table td>.subunit-trigger{height:100%;width:100%;max-width:none;padding:10px 12px;justify-content:flex-start}.subunit-trigger{display:flex;align-items:center;justify-content:center;min-width:70px;max-width:130px;padding:8px 10px;flex:none;background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subunit-trigger:hover{background:var(--accent-bg);color:var(--accent)}.subunit-trigger-editing{background:var(--bg-panel-raised)!important;color:var(--text-primary)!important}.subunit-popover{position:fixed;z-index:1000;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073;padding:6px;min-width:180px;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.subunit-option{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;padding:8px 10px;text-align:left;cursor:pointer}.subunit-row{display:flex;align-items:center;gap:2px}.subunit-row.is-dragging{opacity:.4}.subunit-row.is-drag-over{box-shadow:inset 0 2px 0 var(--accent)}.subunit-drag-handle{display:flex;align-items:center;justify-content:center;width:16px;flex:none;color:var(--text-faint);cursor:grab;font-size:12px}.subunit-drag-handle:active{cursor:grabbing}.subunit-row .subunit-option{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subunit-delete{flex:none}.subunit-row .subunit-option.subunit-rename-input{width:0;margin:0;background:var(--bg-app);box-shadow:inset 0 0 0 1px var(--accent);line-height:normal;cursor:text}.subunit-drag-handle,.cal-catm-handle,.cal-check-item-handle{touch-action:none}.subunit-option:hover{background:var(--accent-bg);color:var(--accent)}.subunit-option.is-current{color:var(--accent);font-weight:600}.select-popover{position:fixed;z-index:1000;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073;padding:6px;display:flex;flex-direction:column;gap:4px}.select-search-input{width:100%;box-sizing:border-box;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8690' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.4' y2='16.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:2px center;background-size:13px 13px;border:none;border-bottom:1px solid var(--border-hairline);border-radius:0;color:var(--text-primary);font-family:var(--font-ui);font-size:12px;padding:4px 4px 7px 21px;margin-bottom:2px;outline:none;transition:border-color .15s}.select-search-input::placeholder{color:var(--text-faint);font-style:italic}.select-search-input:focus{border-bottom-color:var(--accent-dim)}.select-options-scroll{display:flex;flex-direction:column;gap:1px;max-height:260px;overflow-y:auto}.select-option-empty{padding:8px 10px;font-size:13px;color:var(--text-faint);font-family:var(--font-ui)}.select-option{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;padding:8px 10px;text-align:left;cursor:pointer;white-space:nowrap}.select-option:hover{background:var(--accent-bg);color:var(--accent)}.select-option.is-current{color:var(--accent);font-weight:600}.select-trigger-label{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint);font-size:11.5px;font-weight:600;letter-spacing:.01em}.datepicker-trigger,.inline-select{text-align:left}.subunit-add-form{display:flex;gap:6px;margin-top:4px;padding-top:6px;border-top:1px solid var(--border-hairline)}.subunit-add-input{flex:1;min-width:0;background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:12px;padding:6px 8px}.subunit-add-input:focus{outline:none;border-color:var(--accent)}.subunit-add-form .btn-link{flex:none;white-space:nowrap}.archive-toolbar{margin-bottom:16px}.archive-toolbar .btn{flex:none;padding:8px 14px}.unprocessed-list{display:flex;flex-direction:column;gap:10px}.unprocessed-item{background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-md);overflow:hidden}.unprocessed-header-row{display:flex;align-items:center;padding-right:8px;min-width:0}.unprocessed-header{flex:1;min-width:0;position:relative;display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 12px;background:transparent;border:none;color:inherit;font:inherit;padding:12px 34px 12px 14px;cursor:pointer;text-align:left}.unprocessed-date{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);flex:none}.unprocessed-error{flex:1 1 200px;min-width:0;color:var(--status-departed);font-size:13px;white-space:normal;overflow-wrap:anywhere}.unprocessed-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-faint);font-size:11px;line-height:1}.unprocessed-body{position:relative;padding:14px;display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%;border-top:1px solid var(--border-hairline);animation:expand-open .24s ease-out}@keyframes expand-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes expand-close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.unprocessed-body.is-closing{animation:expand-close .24s ease-in forwards}.rotation-editor-header{position:absolute;top:14px;right:14px}.roster-main-table .inline-input,.roster-main-table .inline-select{height:100%;box-sizing:border-box;background:var(--bg-panel-raised);border:none;border-radius:var(--radius-sm);padding:0 8px;width:100%;display:block;font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--text-primary)}.roster-main-table .inline-input:focus,.roster-main-table .inline-select:focus{outline:none}.roster-main-table .roster-pib-edit-row{display:flex;align-items:stretch;height:100%;gap:12px}.roster-main-table .roster-pib-edit-row .inline-input{flex:1;min-width:0;border-radius:var(--radius-sm)}.roster-main-table td>.subunit-trigger{height:100%;width:100%;max-width:none;min-width:0;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;background:transparent;border:none;border-radius:var(--radius-sm);padding:0 8px;font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--text-primary)}.roster-main-table td>.subunit-trigger-editing{background:var(--bg-panel-raised)!important}.web-login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-app);padding:20px}.web-login-card{display:flex;flex-direction:column;gap:14px;width:100%;max-width:320px;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);padding:28px 24px}.web-login-card .screen-title{margin:0}.web-login-hint{margin:0;font-size:13px;color:var(--text-faint)}.web-login-input{width:100%;box-sizing:border-box;background:var(--bg-app);border:1px solid var(--border-hairline);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:14px;padding:10px 12px}.web-login-input:focus{outline:none;border-color:var(--accent)}.login-sync-section{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--border-hairline)}.login-sync-hint{margin:0;font-size:12px;color:var(--text-faint)}.admin-users-panel{position:relative;width:100%;max-width:560px;margin:0 0 24px;padding:14px 16px 16px;background:var(--bg-panel);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:10px;animation:expand-open .24s ease-out}.admin-users-panel.is-closing{animation:expand-close .24s ease-in forwards}.cal-modal.admin-users-modal{max-width:600px}.admin-users-modal-body{display:flex;flex-direction:column;gap:10px}.admin-users-modal-body .admin-user-info{flex:1 1 auto}.admin-users-panel-header{display:flex;align-items:center;justify-content:space-between}.admin-users-panel-title{margin:0;font-size:14px;font-weight:700}.admin-users-list{display:flex;flex-direction:column;gap:2px}.admin-user-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-hairline-soft)}.admin-users-list>.admin-user-row:last-of-type{border-bottom:none}.admin-user-info{flex:0 1 150px;min-width:0;display:flex;align-items:baseline;gap:6px}.admin-user-name{font-family:var(--font-mono);font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-tag{flex:none;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:0 5px;line-height:14px;border-radius:999px;background:var(--bg-app);color:var(--text-faint);border:1px solid var(--border-hairline)}.admin-user-tag-admin{background:var(--accent-bg);color:var(--accent);border-color:transparent}.admin-user-actions{flex:none;margin-left:auto;display:flex;gap:2px}.admin-user-inline-form{flex:none;margin-left:auto;display:flex;align-items:center;gap:4px}.admin-user-add-form{display:flex;flex-direction:column;gap:8px;padding-top:12px;margin-top:2px;border-top:1px solid var(--border-hairline)}.admin-user-add-form .web-login-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:13px}.admin-user-add-form-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-user-password-input{width:128px;height:28px;box-sizing:border-box;padding:0 10px!important;font-size:12.5px!important}.admin-user-admin-checkbox{flex:none;white-space:nowrap}.admin-user-rename-error{margin:-6px 0 6px;font-size:12px}.position-catm-count{flex:none;min-width:22px;padding:0 6px;border-radius:999px;background:var(--bg-panel-raised);color:var(--text-faint);font-size:11.5px;font-weight:600;line-height:20px;text-align:center;font-variant-numeric:tabular-nums}.roster-main-table th:nth-child(2),.roster-main-table td:nth-child(2){width:30px}.roster-main-table td.roster-check-cell{padding:0 4px;line-height:0;text-align:center;vertical-align:middle}.roster-main-table td.roster-check-cell .cal-check{vertical-align:middle}.home-occupancy{margin-top:32px}.home-occupancy-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 28px;margin:0;padding:0;list-style:none}.home-occupancy-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 8px;border:none;border-bottom:1px solid var(--border-hairline-soft);border-radius:0;background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;text-align:left;cursor:pointer}.home-occupancy-item:hover{border-radius:var(--radius-sm);background:var(--bg-panel-raised)}.home-occupancy-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.home-occupancy-prefix{color:var(--accent);font-size:11px;font-weight:700}.home-occupancy-count{flex:none;min-width:28px;padding:1px 8px;border-radius:999px;background:var(--accent-bg);color:var(--accent);font-size:12px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.home-occupancy-item.is-empty .home-occupancy-name{color:var(--text-faint);font-weight:500}.home-occupancy-item.is-empty .home-occupancy-count{background:var(--bg-panel-raised);color:var(--text-dim)}.cal-modal.edit-modal{max-width:520px;padding:0}.cal-modal.edit-modal-event{max-width:600px}.edit-modal-inner{display:flex;flex-direction:column}.edit-modal-head{display:flex;align-items:center;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--border-hairline)}.edit-modal-icon{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f2c14e1f;color:var(--accent)}.edit-modal-icon svg{width:17px;height:17px}.edit-modal-titles{flex:1;min-width:0}.edit-modal-titles h3{margin:0;color:var(--text-primary);font-size:15px;font-weight:700}.edit-modal-subtitle{margin-top:2px;overflow:hidden;color:var(--text-faint);font-size:12px;white-space:nowrap;text-overflow:ellipsis}.edit-modal-body{display:flex;flex-direction:column;gap:14px;padding:16px 18px 4px}.edit-modal-body .field{flex:none}.edit-modal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.edit-modal-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-modal-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 560px){.edit-modal-grid-2,.edit-modal-grid-3{grid-template-columns:minmax(0,1fr)}}.edit-modal-preview{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px dashed var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-app)}.edit-modal-preview-name{flex:1;min-width:0;overflow:hidden;color:var(--text-primary);font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.edit-modal-changed{flex:none;padding:2px 8px;border-radius:999px;background:#f2c14e24;color:var(--accent);font-size:11px;font-weight:700;animation:edit-modal-pop .22s ease-out}@keyframes edit-modal-pop{0%{opacity:0;transform:scale(.8)}}.edit-modal-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:-6px}.edit-modal-chip{padding:4px 10px;border:1px solid var(--border-hairline);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:border-color .15s,color .15s,background-color .15s,scale .12s ease}.edit-modal-chip:hover{border-color:var(--text-faint);color:var(--text-primary)}.edit-modal-chip.is-active{border-color:var(--accent);background:#f2c14e1f;color:var(--accent)}.edit-modal-textarea{width:100%;height:76px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;line-height:1.45;resize:none;transition:border-color .15s}.edit-modal-textarea:hover{border-color:var(--text-faint)}.edit-modal-textarea:focus{outline:none;border-color:var(--accent)}.edit-modal-textarea::placeholder{color:var(--text-faint);opacity:1}.edit-modal-error{margin:12px 18px 0}.edit-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 18px 16px;border-top:1px solid var(--border-hairline)}.edit-modal-hint{color:var(--text-faint);font-size:11.5px}.edit-modal-hint kbd{display:inline-block;min-width:18px;padding:1px 5px;border:1px solid var(--border-hairline);border-bottom-width:2px;border-radius:4px;background:var(--bg-panel-raised);color:var(--text-secondary);font-family:var(--font-mono);font-size:10.5px;text-align:center}.edit-modal-actions{display:flex;gap:8px}.edit-modal-actions .btn{min-width:110px}@media (max-width: 560px){.edit-modal-hint{display:none}.edit-modal-actions{flex:1}.edit-modal-actions .btn{flex:1;min-width:0}}.edit-modal .datepicker-trigger{height:40px;padding:0 12px;background:var(--bg-panel);font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.edit-modal .datepicker-value,.edit-modal .datepicker-value *,.edit-modal .select-trigger-label{color:var(--text-primary)!important;font-family:var(--font-mono)!important;font-size:13px!important;font-weight:400!important;letter-spacing:0!important}.edit-modal .select-trigger-label .datepicker-placeholder,.edit-modal .datepicker-placeholder{color:var(--text-faint)!important;font-family:var(--font-mono)!important;font-size:13px!important;font-weight:400!important}.edit-modal .field input{height:40px}.cal-modal.edit-modal-person{max-width:640px}.edit-modal-preview-rank{flex:none;padding:2px 8px;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px}.edit-modal-preview-psevdo{color:var(--text-faint);font-weight:500}.edit-modal .subunit-trigger.edit-modal-subunit-trigger{height:40px;padding:0 12px;border-radius:var(--radius-md);background:var(--bg-panel)}.edit-modal .subunit-trigger.edit-modal-subunit-trigger:hover{background:var(--bg-panel);border-color:var(--text-faint)}.edit-modal-note{margin-top:-4px;color:var(--text-faint);font-size:11.5px}.cal-modal.backups-modal{max-width:560px;padding:0}.backups-head{border-bottom:1px solid var(--border-hairline)}.backups-body{display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px}.backups-status{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-app);color:var(--text-secondary);font-size:12.5px}.backups-status>span:nth-child(2){flex:1;min-width:0}.backups-status-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.backups-status.is-ok .backups-status-dot{background:#8fdca6;box-shadow:0 0 0 4px #8fdca624}.backups-status .btn.backups-create{flex:none}.backups-list{display:flex;flex-direction:column;max-height:46vh;overflow-y:auto;border:1px solid var(--border-hairline);border-radius:var(--radius-md)}.backups-row{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 12px;border-top:1px solid var(--border-hairline-soft);transition:background-color .4s ease}.backups-row:first-child{border-top:none}.backups-row.is-fresh{background:#8fdca614}.backups-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.backups-row-date{color:var(--text-primary);font-family:var(--font-mono);font-size:12.5px}.backups-row-kind{padding:1px 8px;border-radius:999px;background:var(--bg-panel-raised);color:var(--text-faint);font-size:11px}.backups-row-kind.is-manual{background:var(--accent-bg);color:var(--accent)}.backups-row-size{color:var(--text-faint);font-family:var(--font-mono);font-size:12px}.backups-help{color:var(--text-faint);font-size:12px;line-height:1.5}.backups-help summary{cursor:pointer;color:var(--text-secondary);font-weight:600}.backups-help pre{margin:6px 0;padding:8px 10px;overflow-x:auto;border-radius:var(--radius-sm);background:var(--bg-app);color:var(--text-primary);font-size:12px}.backups-help p{margin:6px 0}@media (max-width: 560px){.backups-status{flex-wrap:wrap}.backups-status .btn.backups-create{width:100%}}.topbar-readonly-badge{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;background:#6fa8dc29;color:#8fbfe8;font-size:10px;font-weight:700;line-height:15px;vertical-align:1px}html.is-readonly :is([title^=Редагувати],[data-mo-tip^=Редагувати],[title^=Видалити],[data-mo-tip^=Видалити],[title^=Відновити],[data-mo-tip^=Відновити],[title^=Перетягн],[data-mo-tip^=Перетягн],[title^=Додати],[data-mo-tip^=Додати],[title^="Нова задача"],[data-mo-tip^="Нова задача"],[title^="Створити копію"],[data-mo-tip^="Створити копію"],[title^=Перенести],[data-mo-tip^=Перенести],[title^="Налаштувати категорії"],[data-mo-tip^="Налаштувати категорії"],[title^="Категорії позицій"],[data-mo-tip^="Категорії позицій"],.icon-button-danger,.tab-add-button,.roster-add-plus,.home-header-btn,.position-edit-button,.position-delete-button,.position-drag-handle,.position-select-checkbox,.roster-drag-handle,.roster-check-cell>*,.roster-select-all-link,.payroll-value-picker,.cal-new-btn,.cal-wcol-add,.cal-mcell-add,.cal-qa,.cal-checklist-add,.cal-comment-del){display:none!important}html.is-readonly :is(.position-note-input,.subunit-trigger,.roster-subunit-trigger){pointer-events:none}.admin-user-tag-viewer{background:#6fa8dc24;color:#8fbfe8;border-color:transparent}.admin-role-picker{display:flex;flex-direction:column;gap:4px;min-width:0}.admin-role-options{display:inline-flex;padding:3px;border:1px solid var(--border-hairline);border-radius:9px;background:var(--bg-app)}.admin-role-option{padding:5px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s,scale .12s ease}.admin-role-option:hover{color:var(--text-primary)}.admin-role-option.is-active{background:var(--bg-panel-raised);color:var(--text-primary)}.admin-role-option.is-active.role-admin{color:var(--accent)}.admin-role-option.is-active.role-viewer{color:#8fbfe8}.admin-role-hint{color:var(--text-faint);font-size:11px}.admin-role-picker.is-compact .admin-role-option{padding:4px 8px;font-size:11px}.admin-user-row:has(.admin-user-inline-form){flex-wrap:wrap}.admin-user-inline-form{flex-wrap:wrap}.admin-user-row:has(.admin-user-inline-form) .admin-user-inline-form{width:100%;margin-left:0;margin-top:8px}.admin-user-row:has(.admin-user-inline-form) .admin-user-inline-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:6px}.admin-user-inline-form .admin-role-picker{grid-column:1 / -1;grid-row:2}html.is-readonly .position-note-input::placeholder{color:transparent}html.is-readonly .position-category-empty{font-size:0}html.is-readonly .position-category-empty:after{content:"Порожньо";font-size:12px}html.is-readonly .admin-restore-slot{visibility:hidden}.payroll-quick-row{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 12px}.payroll-quick-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border-hairline);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background-color .15s,scale .12s ease}.payroll-quick-chip:hover{border-color:var(--text-faint);color:var(--text-primary)}.payroll-quick-chip.is-active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.payroll-quick-count{color:var(--text-faint);font-weight:400}.payroll-quick-chip.is-active .payroll-quick-count{color:var(--accent);opacity:.75}.payroll-scroll{border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel)}.payroll-scroll .payroll-grid{font-size:12.5px}.payroll-scroll .payroll-grid-header,.payroll-scroll .payroll-grid-cell{border-bottom:1px solid var(--border-hairline-soft)}.payroll-scroll .payroll-grid-header{min-height:40px;background:var(--bg-panel);color:var(--text-faint);font-size:11.5px;font-weight:700;border-bottom-color:var(--border-hairline)}.payroll-scroll .payroll-grid-cell{height:35px;box-sizing:border-box;background:var(--bg-panel)}.payroll-scroll .payroll-grid-cell.payroll-sticky-col,.payroll-scroll .payroll-grid-cell.payroll-sticky-first-col{background:var(--bg-panel)}.payroll-scroll .payroll-row-number{color:var(--text-dim)}.payroll-rank-cell{color:var(--text-secondary)}.payroll-name-cell{gap:7px;overflow:hidden}.payroll-name-text{overflow:hidden;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis}.payroll-psevdo-inline{flex:none;color:var(--text-faint);font-size:11px}.payroll-name-header .payroll-name-header-psevdo{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding-left:10px;color:var(--text-dim);font-weight:600}.payroll-id-cell-highlighted .payroll-name-text,.payroll-id-cell-highlighted .payroll-psevdo-inline,.payroll-sum-cell.payroll-id-cell-highlighted{color:var(--accent)}.payroll-scroll .payroll-day-header-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.1;border-radius:6px}.payroll-day-num{color:var(--text-secondary);font-size:11.5px;font-weight:700}.payroll-day-wd{color:var(--text-dim);font-size:9px;font-weight:400}.payroll-day-header-highlighted .payroll-day-header-btn{background:var(--accent-bg)}.payroll-day-header-highlighted .payroll-day-num,.payroll-day-header-highlighted .payroll-day-wd{color:var(--accent)}.payroll-scroll .payroll-cell{padding:0 1px;border:none}.payroll-scroll .payroll-cell:hover{background:var(--bg-panel)}.payroll-scroll .payroll-grid-cell:not(.payroll-group-header-row){contain:strict}.payroll-tile{display:inline-flex;align-items:center;justify-content:center;width:calc(100% - 6px);max-width:32px;height:23px;border-radius:6px;font-family:var(--font-mono);font-size:10.5px;font-weight:700}.payroll-tile-0{color:var(--text-dim);font-weight:400}.payroll-tile-10{background:#6fa8dc29;box-shadow:inset 0 0 0 1px #6fa8dc66;color:#6fa8dc}.payroll-tile-30{background:#0a53a8;color:#000}.payroll-tile-100{background:#fbbc04;color:#2a1f00}.payroll-tile-100.payroll-tile-100n{background:#00f;color:#fff}.payroll-value-picker-note{max-width:180px;padding:4px 6px;border-radius:var(--radius-sm);background:#f08a241f;color:#f5b06a;font-size:11.5px;line-height:1.3;overflow-wrap:anywhere}.payroll-scroll .payroll-cell:hover .payroll-tile{box-shadow:inset 0 0 0 1px #ffffff52}.payroll-scroll .payroll-cell:hover .payroll-tile-0{background:var(--bg-panel-raised)}.payroll-scroll .payroll-cell-selected{outline:none;background:#f2c14e14}.payroll-cell-selected .payroll-tile,.payroll-scroll .payroll-cell-selected:hover .payroll-tile{box-shadow:0 0 0 2px var(--accent)}.payroll-cell-selected .payroll-tile-10{box-shadow:inset 0 0 0 1px #6fa8dc66,0 0 0 2px var(--accent)}.payroll-scroll .payroll-cell-overridden{box-shadow:none}.payroll-scroll .payroll-cell-checked .payroll-tile-100{background:#0f0;color:#000}.payroll-scroll .payroll-cell-checked .payroll-tile-30{background:#3c78d8;color:#000}.payroll-scroll .payroll-cell-checked .payroll-tile-10{background:#000;box-shadow:none;color:#fff}.payroll-scroll .payroll-cell-checked.payroll-cell-selected .payroll-tile-10{box-shadow:0 0 0 2px var(--accent)}.payroll-scroll .payroll-cell-overridden .payroll-tile-100,.payroll-scroll .payroll-cell-overridden .payroll-tile-0,.payroll-scroll .payroll-cell-overridden:hover .payroll-tile-0{background:#e5484d;color:#2a0506}.payroll-scroll .payroll-cell-overridden .payroll-tile-30{background:#e5484d24;box-shadow:inset 0 0 0 1.5px #ff6b70;color:#ffb3b5}.payroll-scroll .payroll-cell-overridden.payroll-cell-selected .payroll-tile-30{box-shadow:inset 0 0 0 1.5px #ff6b70,0 0 0 2px var(--accent)}.payroll-tail-first{border-left:1px solid var(--border-hairline)}.payroll-count-cell{color:var(--text-secondary);font-family:var(--font-mono)}.payroll-count-cell.is-zero{color:var(--text-dim)}.payroll-sum-header{justify-content:flex-end!important;padding-right:12px!important}.payroll-sum-cell{justify-content:flex-end!important;padding-right:12px!important;color:var(--text-primary);font-family:var(--font-mono);font-size:12.5px;font-weight:700;white-space:nowrap}.payroll-scroll .payroll-group-header-row{justify-content:space-between;height:32px;padding:0 12px 0 0;background:#1f1e29;color:var(--text-secondary);font-size:11.5px;font-weight:700;letter-spacing:.04em}.payroll-group-label{position:sticky;left:12px;padding-left:12px}.payroll-group-sum{color:var(--accent);font-family:var(--font-mono);letter-spacing:0}.payroll-value-picker-option{display:flex;align-items:center;justify-content:center}.payroll-value-picker-option .payroll-tile{width:40px;max-width:none}.payroll-scroll .payroll-group-header-row{text-transform:none}.payroll-group-name{text-transform:uppercase}.payroll-sticky-right{position:sticky;z-index:3}.payroll-grid-header.payroll-sticky-right{z-index:11}.payroll-scroll .payroll-grid-cell.payroll-sticky-right{background:var(--bg-panel)}.payroll-tail-first.payroll-sticky-right{box-shadow:-10px 0 12px -10px #0009}.payroll-sticky-right~.payroll-group-header-row .payroll-group-sum,.payroll-group-sum{position:sticky;right:12px}.payroll-scroll .payroll-group-header-row{overflow:visible}.backups-delete{color:var(--text-faint);transition:color .15s,background-color .15s,width .2s ease}.backups-delete:hover{color:#f08c8c}.backups-delete.is-confirm{width:auto;padding:0 10px;background:#f08c8c29;color:#f08c8c}.backups-delete-confirm{font-size:12px;font-weight:700;white-space:nowrap}.field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.field-head-label{font-size:11.5px;font-weight:600;letter-spacing:.01em;color:var(--text-faint)}.paste-btn{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 8px;border:1px solid var(--border-hairline);border-radius:999px;background:var(--bg-panel-raised);color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s,scale .12s ease}.paste-btn:hover{color:var(--accent);border-color:var(--accent-bg);background:var(--accent-bg)}.paste-btn:active{scale:.96}.paste-btn-icon{display:inline-flex}.paste-btn-icon svg{width:14px;height:14px}.paste-btn.is-done{color:#8fdca6;border-color:#8fdca659;background:#8fdca61a}.event-duplicate-text{margin-top:4px;color:var(--text-secondary);font-size:12px;font-weight:400}.payroll-scroll .payroll-grid-cell,.payroll-scroll .payroll-grid-cell *{transition:none!important}.home-occupancy-limit{opacity:.7;font-weight:700}.home-occupancy-item.limit-full .home-occupancy-count{background:#8fdca624;color:#8fdca6}.home-occupancy-item.limit-over .home-occupancy-count{background:#f08c8c29;color:#f08c8c}.home-occupancy-item.is-empty.has-limit .home-occupancy-count{background:var(--bg-panel-raised);color:var(--text-faint)}.position-limit{flex:none;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--accent-bg);color:var(--accent);font-family:var(--font-mono);font-size:12.5px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.position-limit.limit-full{background:#8fdca624;color:#8fdca6}.position-limit.limit-over{background:#f08c8c29;color:#f08c8c}.limit-field{display:flex;align-items:center;gap:6px}.edit-modal .limit-field .limit-input{width:110px;text-align:center;font-variant-numeric:tabular-nums}.limit-step{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--bg-panel-raised);color:var(--text-primary);font-family:var(--font-ui);font-size:17px;font-weight:700;cursor:pointer}.limit-step:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.limit-step:disabled{opacity:.4;cursor:default}.limit-clear{margin-left:4px;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:12px;cursor:pointer}.limit-clear:hover{color:#f08c8c}.edit-modal-preview-limit{padding:1px 8px;border-radius:999px;background:var(--accent-bg);color:var(--accent);font-size:11.5px;font-weight:700}.position-list-button.has-limit-col{flex-basis:236px}.roster-v2-head{flex-wrap:wrap;row-gap:10px;margin-bottom:16px}.roster-v2-head .screen-title{margin-bottom:0}.roster-v2-search{width:320px;max-width:100%;margin-left:auto}.roster-unproc-pill{display:inline-flex;align-items:center;gap:7px;margin-left:6px;padding:4px 5px 4px 10px;border:1px solid rgba(242,193,78,.45);border-radius:999px;background:#f2c14e14;color:var(--accent);font-family:var(--font-ui);font-size:12.5px;font-weight:700;cursor:pointer}.roster-unproc-pill:hover{background:#f2c14e29}.roster-unproc-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:roster-unproc-pulse 1.8s ease-in-out infinite}@keyframes roster-unproc-pulse{0%,to{box-shadow:0 0 #f2c14e8c}50%{box-shadow:0 0 0 4px #f2c14e00}}.roster-unproc-count{min-width:20px;padding:1px 7px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:11.5px;font-weight:800;text-align:center}.roster-unproc-pill.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.roster-unproc-pill.is-active .roster-unproc-dot{background:var(--accent-ink);animation:none}.roster-unproc-pill.is-active .roster-unproc-count{background:var(--accent-ink);color:var(--accent)}.roster-unproc-pill.is-done{border-color:#8fdca673;background:#8fdca61f;color:#8fdca6}.roster-unproc-pill.is-done .roster-unproc-dot,.roster-unproc-pill.is-done .roster-unproc-count{background:#8fdca6;color:#10301c;animation:none}.roster-unproc-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.roster-unproc-head .back-link{margin:0}.roster-unproc-hint{color:var(--text-faint);font-size:12.5px}.roster-v2-card{border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel);overflow:hidden}.roster-v2{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.roster-v2-col-drag{width:26px}.roster-v2-col-check{width:34px}.roster-v2-col-person{width:440px}.roster-v2-col-actions{width:160px}.roster-v2 thead th{padding:11px 10px;border-bottom:1px solid var(--border-hairline);color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase}.roster-v2-group-row td{height:38px;padding:0 12px 0 8px;background:#1f1e29;border-top:1px solid var(--border-hairline)}.roster-v2-group:first-of-type .roster-v2-group-row td{border-top:none}.roster-v2-group.is-drag-over .roster-v2-group-row td{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent)}.roster-v2-group-inner{display:flex;align-items:center;gap:12px;min-width:0}.roster-v2-group-toggle{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:4px 6px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);cursor:pointer}.roster-v2-group-toggle:hover{background:#ffffff0a}.roster-v2-chevron{display:inline-flex;color:var(--text-faint);transition:transform .2s ease}.roster-v2-chevron svg{width:14px;height:14px}.roster-v2-chevron.is-collapsed{transform:rotate(-90deg)}.roster-v2-group-name{color:var(--text-primary);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.roster-v2-group-count{color:var(--text-faint);font-size:12px;font-weight:600;white-space:nowrap}.roster-v2-sort{display:inline-flex;align-items:center;gap:2px;margin-left:auto;opacity:.55;transition:opacity .15s}.roster-v2-group-row:hover .roster-v2-sort,.roster-v2-sort:focus-within{opacity:1}.roster-v2-sort-label{margin-right:4px;color:var(--text-dim);font-size:11px}.roster-v2-sort-btn{padding:3px 7px;border:none;border-radius:6px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:11.5px;font-weight:700;cursor:pointer}.roster-v2-sort-btn:hover{background:#ffffff0d;color:var(--text-primary)}.roster-v2-sort-btn.is-active{color:var(--accent)}.roster-v2-row td{height:52px;padding:0 10px;border-top:1px solid var(--border-hairline-soft);vertical-align:middle}.roster-v2-row:hover td{background:#ffffff06}.roster-v2-row.is-selected td{background:#f2c14e0f}.roster-v2-row.is-dragging{opacity:.4}.roster-v2-row.drag-over-before td{border-top:2px solid var(--accent)}.roster-v2-row.drag-over-after td{border-bottom:2px solid var(--accent)}.roster-v2-row td.roster-drag-cell{padding:0 0 0 6px}.roster-v2-row .roster-drag-handle{opacity:0;transition:opacity .15s}.roster-v2-row:hover .roster-drag-handle{opacity:.7}.roster-v2-row td.roster-check-cell{padding:0 4px}.roster-v2-person{min-width:0;overflow:hidden}.roster-v2-name{display:block;overflow:hidden;color:var(--text-primary);font-size:13.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.roster-v2-psevdo{display:block;margin-top:2px;color:var(--accent);font-size:12px}.roster-v2-psevdo.is-empty{color:var(--text-dim);font-style:italic}.roster-v2-rank{display:inline-block;max-width:100%;overflow:hidden;padding:3px 9px;border-radius:6px;background:var(--bg-panel-raised);color:var(--text-secondary);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.roster-v2-rank.is-empty{background:transparent;color:var(--text-dim);font-weight:400;font-style:italic}.roster-v2-actions{text-align:right;white-space:nowrap}.roster-v2-actions .icon-button{display:inline-flex;margin-left:4px;background:var(--bg-panel-raised);border-radius:8px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.roster-v2-row:hover .roster-v2-actions .icon-button,.roster-v2-actions:focus-within .icon-button{opacity:1}.roster-v2-actions .roster-copy-btn.is-copied{opacity:1;color:var(--status-arrived, #8fdca6)}@media (hover: none){.roster-v2-actions .icon-button,.roster-v2-row .roster-drag-handle,.roster-v2-sort{opacity:1}}.roster-v2 .roster-select-all-link{font-size:12px}.people-big-search{display:flex;align-items:center;gap:12px;max-width:980px;padding:0 14px 0 18px;border:1.5px solid var(--border-hairline);border-radius:14px;background:var(--bg-panel);transition:border-color .15s,box-shadow .15s}.people-big-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #f2c14e14}.people-big-search-icon{display:inline-flex;color:var(--text-faint)}.people-big-search-icon svg{width:19px;height:19px}.people-big-search input{flex:1;min-width:0;height:54px;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:17px}.people-big-search input::placeholder{color:var(--text-dim)}.people-big-search-spin{width:15px;height:15px;border:2px solid var(--border-hairline);border-top-color:var(--accent);border-radius:50%;animation:people-spin .7s linear infinite}@keyframes people-spin{to{transform:rotate(360deg)}}.people-big-search-clear{display:grid;place-items:center;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--text-faint);cursor:pointer}.people-big-search-clear:hover{background:var(--bg-panel-raised);color:var(--text-primary)}.people-search-hint{margin:9px 2px 16px;color:var(--text-dim);font-size:12px}.people-recent{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;margin-bottom:18px}.people-recent-label{color:var(--text-faint);font-size:12px}.people-recent-chip{padding:5px 11px;border:1px solid var(--border-hairline);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:700;cursor:pointer}.people-recent-chip:hover{border-color:var(--accent);color:var(--accent)}.people-recent-clear{padding:4px 6px;border:none;background:transparent;color:var(--text-dim);font-family:var(--font-ui);font-size:11.5px;cursor:pointer}.people-recent-clear:hover{color:var(--text-secondary)}.people-found{margin-bottom:8px;color:var(--text-faint);font-size:12px}.people-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:8px}.people-card{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 16px;border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel);color:var(--text-primary);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:border-color .12s,background-color .12s}.people-card.is-active{border-color:var(--accent);background:#f2c14e0d}.people-card-rank{flex:none;padding:3px 9px;border-radius:6px;background:var(--bg-panel-raised);color:var(--text-secondary);font-size:11.5px;font-weight:700;white-space:nowrap}.people-card-rank.is-empty{background:transparent;color:var(--text-dim);font-weight:400;font-style:italic}.people-card-name{flex:1;min-width:0;overflow:hidden;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.people-card-psevdo{flex:none;color:var(--accent);font-size:12.5px;font-weight:600}.people-card-psevdo.is-empty{color:var(--text-dim);font-weight:400;font-style:italic}.people-hit{padding:0 1px;border-radius:3px;background:#f2c14e47;color:inherit}.admin-v2-head{flex-wrap:wrap;row-gap:10px;margin-bottom:16px}.admin-v2-head .screen-title{margin-bottom:0}.admin-v2-search{width:380px;max-width:100%;margin-left:auto}.admin-v2-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.admin-v2-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px}.admin-v2-chips{display:flex;flex-wrap:wrap;gap:6px}.admin-v2-chip{padding:5px 12px;border:1px solid var(--border-hairline);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12.5px;font-weight:700;cursor:pointer}.admin-v2-chip:hover{border-color:var(--text-faint);color:var(--text-primary)}.admin-v2-chip.is-active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.admin-v2-chip.is-danger.is-active{border-color:#f08c8c99;background:#f08c8c1f;color:#f08c8c}.admin-v2-period{display:inline-flex;flex-wrap:wrap;gap:2px;margin-left:auto;padding:3px;border:1px solid var(--border-hairline);border-radius:10px;background:var(--bg-app)}.admin-v2-period-btn{padding:5px 11px;border:none;border-radius:7px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:12px;font-weight:700;cursor:pointer}.admin-v2-period-btn:hover{color:var(--text-primary)}.admin-v2-period-btn.is-active{background:var(--bg-panel-raised);color:var(--text-primary)}.admin-adv-filters{margin-bottom:14px;padding:12px 14px;border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel)}.admin-feed-day{margin-bottom:14px}.admin-feed-day-title{display:flex;align-items:center;gap:8px;margin:4px 0 8px;color:var(--text-faint);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.admin-feed-day-title span{font-weight:600;letter-spacing:0;text-transform:none}.admin-feed-day-title:after{content:"";flex:1;height:1px;background:var(--border-hairline)}.admin-feed-card{border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel);overflow:hidden}.admin-feed-check{display:inline-flex;flex:none;width:0;overflow:hidden;opacity:0;transition:width .15s ease,opacity .15s ease}.admin-feed.can-select .admin-feed-item:hover .admin-feed-check,.admin-feed.is-selecting .admin-feed-check,.admin-feed-check:focus-within{width:22px;opacity:1}.admin-feed-item.is-selected .admin-feed-row,.admin-feed-item.is-selected:hover .admin-feed-row{background:var(--accent-bg)}.admin-feed-day-check{display:inline-flex;flex:none}.admin-feed-day-check.is-partial .cal-check-ring{stroke:var(--accent)}.admin-feed-day-check.is-partial .cal-check:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:2px;border-radius:1px;background:var(--accent);transform:translate(-50%,-50%)}.admin-feed-day-check .cal-check{position:relative}.admin-feed-day-sel{padding:1px 8px;border-radius:999px;background:var(--accent-bg);color:var(--accent)!important;font-weight:700!important}@media (hover: none){.admin-feed.can-select .admin-feed-check{width:22px;opacity:1}}.admin-feed-item+.admin-feed-item{border-top:1px solid var(--border-hairline-soft)}.admin-feed-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px 8px 14px}.admin-feed-item:hover .admin-feed-row{background:#ffffff06}.admin-feed-time{flex:none;width:42px;color:var(--text-faint);font-family:var(--font-mono);font-size:12px}.admin-feed-icon{display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:9px}.admin-feed-icon svg{width:14px;height:14px}.admin-feed-icon.is-create{background:#8fdca624;color:#8fdca6}.admin-feed-icon.is-update{background:#f2c14e24;color:var(--accent)}.admin-feed-icon.is-delete{background:#f08c8c24;color:#f08c8c}.admin-feed-text{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0;padding:0;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-ui);text-align:left;cursor:pointer}.admin-feed-title{font-size:13px;line-height:1.35}.admin-feed-title b{font-weight:700}.admin-feed-sub{color:var(--text-faint);font-size:11.5px}.admin-feed-actor{flex:none;padding:2px 9px;border-radius:999px;background:var(--bg-panel-raised);color:var(--text-secondary);font-size:11.5px;font-weight:600}.admin-feed-actions{display:inline-flex;flex:none;align-items:center;gap:4px}.admin-feed-undo{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:none;border-radius:8px;background:transparent;color:var(--accent);font-family:var(--font-ui);font-size:12px;font-weight:700;cursor:pointer;opacity:0;transition:opacity .15s,background-color .15s}.admin-feed-undo svg{width:13px;height:13px}.admin-feed-item:hover .admin-feed-undo,.admin-feed-undo:focus-visible{opacity:1}.admin-feed-undo:hover{background:var(--accent-bg)}.admin-feed-actions .icon-button-danger{opacity:0;transition:opacity .15s}.admin-feed-item:hover .admin-feed-actions .icon-button-danger{opacity:1}.admin-feed-chevron svg{transition:transform .2s ease}.admin-feed-chevron.is-open svg{transform:rotate(180deg)}.admin-feed-item.is-undone .admin-feed-text,.admin-feed-item.is-undone .admin-feed-icon,.admin-feed-item.is-undone .admin-feed-time{opacity:.45}.admin-feed-item.is-undone .admin-feed-title{text-decoration:line-through}.admin-feed .admin-grid-expanded{margin:0 14px 12px 110px}@media (hover: none){.admin-feed-undo,.admin-feed-actions .icon-button-danger{opacity:1}}.admin-v2-side{position:sticky;top:0;display:flex;flex-direction:column;gap:12px}.admin-v2-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-v2-stat{padding:11px 14px;border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel)}.admin-v2-stat>span{color:var(--text-faint);font-size:11px;font-weight:700}.admin-v2-stat b{display:block;margin-top:4px;font-family:var(--font-mono);font-size:21px}.admin-v2-stat b small{color:var(--text-faint);font-size:12px;font-weight:400}.admin-v2-tools{border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel);overflow:hidden}.admin-v2-tools-title{padding:12px 14px 8px;color:var(--text-faint);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.admin-tool{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:none;border-top:1px solid var(--border-hairline-soft);background:transparent;color:var(--text-primary);font-family:var(--font-ui);text-align:left;cursor:pointer}.admin-tool:hover:not(:disabled){background:#ffffff08}.admin-tool:disabled{cursor:default;opacity:.45}.admin-tool-icon{display:grid;flex:none;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--bg-panel-raised);color:var(--text-secondary)}.admin-tool-icon svg{width:16px;height:16px}.admin-tool-aa{font-size:12px;font-weight:800}.admin-tool-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.admin-tool-text b{font-size:13px}.admin-tool-text small{overflow:hidden;color:var(--text-faint);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.admin-tool-text small.is-ok{color:#8fdca6}.admin-tool-go{color:var(--text-faint);font-size:18px}.admin-user-seen{display:inline-flex;align-items:center;gap:6px;margin-left:6px;color:var(--text-faint);font-size:12px;white-space:nowrap}.admin-user-seen.is-online{color:#8fdca6}.admin-user-seen-dot{width:7px;height:7px;border-radius:50%;background:#8fdca6;box-shadow:0 0 0 3px #8fdca62e}.tab-button-add{color:var(--accent)}.tab-button-add svg{width:14px;height:14px}.add-center-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:14px}.add-seg{display:inline-flex;padding:3px;border:1px solid var(--border-hairline);border-radius:11px;background:var(--bg-app)}.add-seg-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:none;border-radius:8px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:13px;font-weight:700;cursor:pointer}.add-seg-btn svg{width:15px;height:15px}.add-seg-btn.is-active{background:var(--bg-panel-raised);color:var(--text-primary)}.add-center-hint{color:var(--text-faint);font-size:12.5px}.add-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.add-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px 18px;border:1px solid var(--border-hairline);border-radius:14px;background:var(--bg-panel)}.add-editor-head{display:flex;align-items:center;gap:10px;min-height:28px}.add-label{color:var(--text-primary);font-size:13px;font-weight:700}.add-editor-tools{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.add-clear-btn{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px;border:none;border-radius:999px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer}.add-clear-btn svg{width:12px;height:12px}.add-clear-btn:hover{color:#f08c8c}.add-detect{padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}.add-detect.is-idle{background:var(--bg-panel-raised);color:var(--text-dim)}.add-detect.is-checking{background:var(--bg-panel-raised);color:var(--text-faint)}.add-detect.is-ok{background:#8fdca621;color:#8fdca6}.add-detect.is-warn{background:#f2c14e24;color:var(--accent)}.add-detect.is-error{background:#f08c8c21;color:#f08c8c}.add-textarea{min-height:300px;font-family:var(--font-mono);line-height:1.6}.add-option-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.add-option-label{color:var(--text-faint);font-size:12px;font-weight:700}.add-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.add-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border-hairline);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12.5px;font-weight:700;cursor:pointer}.add-chip small{color:var(--text-faint);font-weight:400}.add-chip:hover{border-color:var(--text-faint);color:var(--text-primary)}.add-chip.is-active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.add-chip-new{border-style:dashed;color:var(--text-faint)}.add-chip-input input{width:150px;height:30px;padding:0 10px;border:1px solid var(--accent);border-radius:999px;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui);font-size:12.5px;outline:none}.add-date-other{display:inline-block;width:170px}.add-date-other.is-active .date-picker-trigger,.add-date-other.is-active button{border-color:var(--accent)}.add-preview{position:sticky;top:0;min-height:300px}.add-preview-title{color:var(--text-faint);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.add-empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:180px;padding:10px 24px;color:var(--text-faint);font-size:13px;line-height:1.5;text-align:center}.add-empty-icons{display:flex;gap:8px}.add-empty-icons span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bg-panel-raised);color:var(--text-faint)}.add-checking{display:flex;align-items:center;gap:10px;color:var(--text-faint);font-size:13px}.add-preview-body{display:flex;flex-direction:column;gap:12px;transition:opacity .15s}.add-preview-body.is-stale{opacity:.55}.add-error-note{margin-top:6px;color:var(--text-secondary);font-size:12px}.add-rot,.add-ev{display:flex;flex-direction:column;gap:10px}.add-rot-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px}.add-pf{padding:2px 7px;border:1px solid rgba(242,193,78,.55);border-radius:6px;color:var(--accent);font-size:11px;font-weight:700}.add-pos-big{font-size:18px}.add-rot-meta{color:var(--text-faint);font-family:var(--font-mono);font-size:12.5px}.add-rot-counts{display:inline-flex;gap:5px;margin-left:auto}.add-rot-counts span{padding:1px 8px;border-radius:999px;font-family:var(--font-mono);font-size:12px;font-weight:700}.add-rot-counts .is-in{background:#4cc06d1f;color:#8fdca6}.add-rot-counts .is-out{background:#d850501f;color:#f0a0a0}.add-rot-list{border-top:1px solid var(--border-hairline-soft)}.add-rot-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-hairline-soft);font-size:13px}.add-rank{padding:2px 8px;border-radius:6px;background:var(--bg-panel-raised);color:var(--text-secondary);font-size:11.5px;font-weight:700}.add-rot-name{font-weight:700}.add-psevdo{color:var(--accent);font-size:12.5px}.add-unit{margin-left:auto;color:var(--text-faint);font-size:12px}.add-ok-line{color:#8fdca6;font-size:12.5px}.add-ev-type{padding:2px 9px;border-radius:999px;background:#8c78e629;color:#b9a7ff;font-size:12px;font-weight:700}.add-ev-grid{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px 12px;align-items:baseline;font-size:13px}.add-ev-grid>span{color:var(--text-faint);font-size:12px}.add-ev-grid .mono{font-family:var(--font-mono)}.add-ev-note{color:var(--text-secondary);line-height:1.5}.add-ev-people{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border-hairline);border-radius:10px;background:var(--bg-app)}.add-ev-people-h{margin-bottom:4px;color:var(--text-faint);font-size:11.5px;font-weight:700}.add-ev-person{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:5px 0;border-top:1px solid var(--border-hairline-soft);font-size:13px}.add-ev-person:first-of-type{border-top:none}.add-ev-100{display:inline-flex;align-items:center;justify-content:center;height:20px;margin-left:auto;align-self:center;padding:0 8px;line-height:1;text-box:trim-both cap alphabetic;border-radius:6px;background:#fbbc04;color:#2a1f00;font-family:var(--font-mono);font-size:11px;font-weight:700}.add-ev-person-rank{padding:1px 7px;border-radius:6px;background:var(--bg-panel-raised);color:var(--text-secondary);font-size:11.5px;font-weight:700}.add-ev-person-ps{color:var(--accent);font-size:12.5px}.add-ev-state{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700}.add-ev-state:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.add-ev-state.is-green{background:#8fdca61f;color:#8fdca6}.add-ev-state.is-yellow{background:#f2c14e24;color:#f2c14e}.add-ev-state.is-red{background:#f08a8a24;color:#f08a8a}.add-ev-state.is-black{background:#ffffff0f;color:#c9c4cf}.add-ev-state.is-black:before{background:#0b0a0f;box-shadow:0 0 0 1px #c9c4cf}.add-saved{margin:0}.add-save-row{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:4px}.add-save-btn{min-width:190px}.add-kbd{color:var(--text-dim);font-size:12px}.add-type-chip{gap:0;padding:0;overflow:hidden}.add-type-chip button{padding:5px 4px 5px 12px;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.add-type-chip .add-type-del{padding:5px 10px 5px 6px;color:var(--text-dim);font-weight:400}.add-type-chip .add-type-del:hover{color:#f08c8c}.add-name-input{height:32px;padding:0 12px;border:1px solid var(--border-hairline);border-radius:999px;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui);font-size:12.5px;outline:none}.add-type-new{display:inline-flex;align-items:center;max-width:100%;height:32px;padding:0 3px 0 0;border:1px dashed var(--border-hairline);border-radius:999px;background:var(--bg-app);transition:border-color .15s}.add-type-new:focus-within,.add-type-new.is-active{border-style:solid;border-color:var(--accent)}.add-type-input{min-width:0;height:100%;padding:0 12px;border:0;background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:12.5px;outline:none}.add-type-new.is-active .add-type-input{color:var(--accent)}.add-type-add{flex:none;height:24px;padding:0 11px;border:0;border-radius:999px;background:var(--accent);color:#1a1a1a;font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer;animation:add-type-pop .15s ease-out}.add-type-add:hover{filter:brightness(1.08)}@keyframes add-type-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.add-name-input{width:100%;height:44px;border-radius:10px;font-size:15px}.add-name-input:focus{border-color:var(--accent)}.add-similar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text-faint);font-size:12px}.add-similar-chip{padding:2px 9px;border-radius:999px;background:var(--bg-panel-raised);color:var(--text-secondary)}.pos-v2-head{height:auto!important;flex-wrap:wrap;row-gap:10px;margin-bottom:16px!important}.pos-v2-head .screen-title{margin-bottom:0}.pos-v2-search{width:320px;max-width:100%;margin-left:auto}.pos-v2-card{border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel);overflow:hidden}.pos-v2-row{display:grid;grid-template-columns:28px minmax(150px,220px) minmax(110px,150px) minmax(110px,150px) minmax(150px,1fr) 76px 40px;align-items:center;column-gap:8px;padding-right:6px}@media (min-width: 761px){.pos-v2-item>.pos-v2-drag{grid-column:1}.pos-v2-item>.pos-v2-name{grid-column:2}.pos-v2-item>.pos-v2-ev{grid-column:3}.pos-v2-item>.pos-v2-sub{grid-column:4}.pos-v2-item>.pos-v2-note{grid-column:5}.pos-v2-item>.pos-v2-actions{grid-column:6}.pos-v2-item>.pos-v2-check{grid-column:7}}@media (min-width: 761px){.pos-v2-card.has-tech .pos-v2-row{grid-template-columns:28px minmax(150px,220px) minmax(110px,150px) minmax(150px,220px) minmax(110px,150px) minmax(150px,1fr) 76px 40px}.pos-v2-card.has-tech.no-events .pos-v2-row{grid-template-columns:28px minmax(150px,220px) 0 minmax(150px,220px) minmax(110px,150px) minmax(160px,1fr) 76px 40px}.pos-v2-card.has-tech .pos-v2-item>.pos-v2-techcell{grid-column:4}.pos-v2-card.has-tech .pos-v2-item>.pos-v2-sub{grid-column:5}.pos-v2-card.has-tech .pos-v2-item>.pos-v2-note{grid-column:6}.pos-v2-card.has-tech .pos-v2-item>.pos-v2-actions{grid-column:7}.pos-v2-card.has-tech .pos-v2-item>.pos-v2-check{grid-column:8}}.pos-v2-card.has-tech .pos-v2-th>span:nth-child(5){padding-left:0}.pos-v2-card.has-tech .pos-v2-th>span:nth-child(6){padding-left:12px}.pos-v2-techcell{display:flex;align-items:center;min-width:0;overflow:hidden}.pos-v2-card.no-events .pos-v2-row{grid-template-columns:28px minmax(150px,220px) 0 minmax(110px,150px) minmax(160px,1fr) 76px 40px}.pos-v2-card.no-events .pos-v2-ev{display:none}.pos-v2-ev{min-width:0;overflow:hidden;padding-left:6px;font-size:12.5px;white-space:nowrap;text-overflow:ellipsis}.pos-v2-ev-last{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;overflow:hidden}.pos-v2-ev-time{color:var(--text-primary);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-variant-numeric:tabular-nums}.pos-v2-ev-dot{color:var(--text-faint)}.pos-v2-ev-type{overflow:hidden;color:var(--text-secondary);font-weight:600;text-overflow:ellipsis}.pos-v2-ev-type.is-shelling{color:#f08a8a}.pos-v2-ev-type.is-drone{color:#f0a868}.pos-v2-ev-type.is-fire{color:#8fbfe8}.pos-v2-ev-none{color:var(--text-faint)}.pos-v2-th{height:40px;border-bottom:1px solid var(--border-hairline);color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pos-v2-th>span:nth-child(2){padding-left:6px}.pos-v2-th>span:nth-child(3){padding-left:6px}.pos-v2-th>span:nth-child(5){padding-left:12px}.pos-v2-group-row{display:flex;align-items:center;gap:12px;height:38px;padding:0 6px 0 8px;background:#1f1e29;border-top:1px solid var(--border-hairline)}.pos-v2-group:first-of-type .pos-v2-group-row,.pos-v2-th+.pos-v2-group .pos-v2-group-row{border-top:none}.pos-v2-group.is-drag-over .pos-v2-group-row{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent)}.pos-v2-group-check{margin-left:auto;width:40px;justify-content:center}.pos-v2-item{position:relative;min-height:50px;border-top:1px solid var(--border-hairline-soft)}.pos-v2-item:hover{background:#ffffff06}.pos-v2-item.is-selected{background:#f2c14e0f}.pos-v2-item.is-dragging{opacity:.4}.pos-v2-item.drag-over-before{box-shadow:inset 0 2px 0 var(--accent)}.pos-v2-item.drag-over-after{box-shadow:inset 0 -2px 0 var(--accent)}@media (hover: none){.pos-v2-item{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.pos-v2-item input,.pos-v2-item textarea{-webkit-user-select:text;user-select:text}}.pos-v2-item.is-touch-hold:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--accent-bg, rgba(242, 193, 78, .12));transform-origin:left center;transform:scaleX(0);animation:pos-touch-hold .8s linear .2s forwards}@keyframes pos-touch-hold{to{transform:scaleX(1)}}html.is-touch-dragging,html.is-touch-dragging body{-webkit-user-select:none;user-select:none;overscroll-behavior:none}.pos-touch-ghost{position:fixed;left:0;top:0;z-index:10000;max-width:70vw;padding:8px 14px;border:1px solid var(--accent, #f2c14e);border-radius:10px;background:var(--bg-panel-raised, #23262c);color:var(--text-primary, #fff);font-family:var(--font-ui);font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 10px 28px #00000073;pointer-events:none;will-change:transform}@media (prefers-reduced-motion: reduce){.pos-v2-item.is-touch-hold:after{animation-duration:.01s;animation-delay:.99s}}.pos-v2-drag{justify-self:center;opacity:0;transition:opacity .15s}.pos-v2-item:hover .pos-v2-drag{opacity:.7}.pos-v2-name{display:flex;align-items:center;gap:10px;min-width:0;height:50px;padding:0 6px;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-ui);text-align:left;cursor:pointer}.pos-v2-name .position-name{font-weight:700}.pos-v2-name:hover .position-name{color:var(--accent)}.pos-v2-name .position-limit{margin-left:0}.pos-v2-sub{min-width:0}.pos-v2-sub .subunit-trigger{max-width:100%}.pos-v2-card .pos-v2-note{width:100%;margin:0;padding:7px 12px;font-family:var(--font-ui);font-size:12.5px}.pos-v2-actions{display:flex;justify-content:flex-end;gap:4px}.pos-v2-card .pos-v2-actions .position-edit-button,.pos-v2-card .pos-v2-actions .position-delete-button{position:static;transform:none;width:30px;height:30px;border-radius:8px;background:var(--bg-panel-raised);opacity:0;transition:opacity .15s,background-color .15s,color .15s}.pos-v2-item:hover .pos-v2-actions .position-edit-button,.pos-v2-item:hover .pos-v2-actions .position-delete-button,.pos-v2-actions:focus-within button{opacity:1}.pos-v2-check{display:flex;justify-content:center;margin:0;opacity:0;transition:opacity .15s}.pos-v2-item:hover .pos-v2-check,.pos-v2-group-row:hover .pos-v2-check,.pos-v2-card.is-selecting .pos-v2-check,.pos-v2-check:focus-within{opacity:1}.pos-v2-empty{margin:8px 10px}@media (hover: none){.pos-v2-drag,.pos-v2-check,.pos-v2-card .pos-v2-actions .position-edit-button,.pos-v2-card .pos-v2-actions .position-delete-button{opacity:1}}.pos-v2-group-row .pos-v2-group-check{margin-left:auto}.payroll-title-row.archive-title-row{align-items:center;margin-bottom:14px}.archive-title-row .screen-title{margin-bottom:0}@media (min-width: 761px){.cal-modal-backdrop:has(>.cal-modal.add-modal){padding-top:24px;padding-bottom:24px}}.cal-modal.add-modal{width:min(1240px,calc(100vw - 48px));max-width:none;max-height:100%;display:flex;flex-direction:column;padding:0;overflow:hidden}.add-modal-head{display:flex;align-items:center;gap:14px;padding:16px 20px 12px;border-bottom:1px solid var(--border-hairline)}.add-modal-head h3{display:flex;align-items:center;gap:10px;margin:0;font-size:17px}.add-modal-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent-bg);color:var(--accent)}.add-modal-icon svg{width:15px;height:15px}.add-modal-keys{margin-left:auto;color:var(--text-faint);font-size:12px}.add-modal-keys kbd{padding:1px 6px;border:1px solid var(--border-hairline);border-radius:5px;background:var(--bg-app);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.add-modal-body{flex:1;min-height:0;padding:16px 20px 20px;overflow-y:auto}.add-modal .add-preview{top:0}.add-modal .add-textarea{min-height:320px}.payroll-value-picker{align-items:stretch}.payroll-value-picker-actions{display:flex;gap:4px;margin-bottom:4px}.payroll-value-picker-action{display:inline-flex;align-items:center;justify-content:center;flex:1;height:28px;padding:0;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--bg-panel-raised);color:var(--text-secondary);font-size:12px;font-weight:600;white-space:nowrap}.payroll-value-picker-action:hover,.payroll-value-picker-action:active{border-color:var(--accent);color:var(--accent)}.payroll-value-picker .payroll-value-picker-option{width:auto}.payroll-scroll{container-type:inline-size}.payroll-scroll .payroll-group-header-row{position:sticky;top:40px;z-index:9;justify-content:flex-start;padding:0}.payroll-scroll .payroll-group-header-row .payroll-group-label{position:sticky;left:0;box-sizing:border-box;width:100cqw;padding:0 12px;text-align:center}.cal-modal.admin-users-modal{max-width:760px}.admin-users-head,.admin-user-row{display:grid;grid-template-columns:minmax(90px,1.1fr) minmax(120px,1fr) minmax(120px,1.2fr) 92px 64px;align-items:center;column-gap:12px}.admin-users-head{padding:4px 0 8px;border-bottom:1px solid var(--border-hairline);color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.admin-user-row{gap:0 12px;padding:11px 0}.admin-user-row .admin-user-name{display:flex;align-items:center;gap:6px;min-width:0;font-family:var(--font-body, inherit);font-size:13.5px;font-weight:600}.admin-user-row .admin-user-seen{margin-left:0;color:var(--text-secondary);font-size:12.5px}.admin-user-row .admin-user-seen.is-online{color:#8fdca6}.admin-user-role{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--bg-app);border:1px solid var(--border-hairline);color:var(--text-secondary);font-size:11px;font-weight:600;white-space:nowrap}.admin-user-role-admin{background:var(--accent-bg);border-color:transparent;color:var(--accent)}.admin-user-role-viewer{background:#6fa8dc24;border-color:transparent;color:#8fbfe8}.admin-user-created{color:var(--text-faint);font-family:var(--font-mono);font-size:12px}.admin-user-row .admin-user-actions{margin-left:0;justify-content:flex-end}.admin-user-row .admin-user-inline-form{grid-column:1 / -1;margin-left:0}.admin-user-row:has(.admin-user-inline-form) .admin-user-inline-form{width:100%}@media (max-width: 760px){.admin-users-head,.admin-user-row{grid-template-columns:minmax(70px,1fr) minmax(0,1fr) 64px;row-gap:4px}.admin-users-head>:nth-child(3),.admin-users-head-created,.admin-user-created{display:none}.admin-user-row .admin-user-seen{grid-column:1 / 3;grid-row:2}.admin-user-row .admin-user-actions{grid-column:3;grid-row:1 / 3}}.evl-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px}.evl-periods{display:flex;gap:4px}.evl-link{padding:5px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:12.5px;font-weight:600;cursor:pointer}.evl-link:hover{color:var(--text-primary);background:#ffffff0a}.evl-link.is-active{color:var(--accent);font-weight:700}.evl-custom{display:flex;align-items:center;gap:6px}.evl-custom .datepicker-trigger{min-width:130px;height:30px}.evl-dash{color:var(--text-faint)}.evl-sep{width:1px;height:18px;background:var(--border-hairline)}.evl-select-wrap{display:inline-flex;align-items:center;gap:4px;color:var(--text-faint);font-size:12.5px;font-weight:600}.evl-select{display:inline-flex;align-items:center;max-width:220px;padding:4px 6px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:12.5px;font-weight:700;cursor:pointer}.evl-select:hover{background:#ffffff0d}.evl-select .select-trigger-label{color:var(--text-primary);font-size:12.5px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.evl-select .datepicker-placeholder{color:var(--text-primary);font-size:12.5px;font-weight:700}.evl-select:after{content:"▾";margin-left:4px;color:var(--text-faint)}.evl-search.roster-search-input{width:300px;max-width:100%;margin-left:auto}.evl-box,.parc-box{border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel);overflow:hidden}.evl-day,.parc-group{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 14px;border:none;border-top:1px solid var(--border-hairline);background:#1f1e29;color:var(--text-primary);font-family:var(--font-ui);font-size:12px;font-weight:800;letter-spacing:.05em;text-align:left;text-transform:uppercase;cursor:pointer}.evl-box>.evl-day:first-child,.parc-head+.parc-group{border-top:none}.evl-day:hover,.parc-group:hover{background:#242331}.evl-day small,.parc-group small{color:var(--text-faint);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}.evl-row,.parc-row{display:grid;align-items:center;column-gap:14px;min-height:40px;padding:0 14px 0 36px;border-top:1px solid var(--border-hairline-soft);font-size:13px}.evl-row{grid-template-columns:112px 130px minmax(140px,200px) minmax(0,1fr) 70px}.evl-row:hover,.parc-row:not(.parc-head):hover{background:#ffffff06}.evl-time{color:var(--text-primary);font-family:var(--font-mono);font-size:12.5px;white-space:nowrap}.evl-type{display:inline-flex;align-items:center;gap:7px;min-width:0;color:var(--type-color);font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evl-type i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--type-color)}.evl-pos,.parc-name{min-width:0;overflow:hidden;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis}.evl-prefix,.parc-prefix{display:inline-block;margin-right:6px;padding:0 5px;border:1px solid rgba(242,193,78,.55);border-radius:5px;color:var(--accent);font-size:10.5px;font-weight:700;line-height:16px}.evl-note{min-width:0;overflow:hidden;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis}.evl-actions,.parc-actions{display:flex;justify-content:flex-end;gap:2px;opacity:0;transition:opacity .12s ease}.evl-row:hover .evl-actions,.evl-row:focus-within .evl-actions,.parc-row:hover .parc-actions,.parc-row:focus-within .parc-actions{opacity:1}@media (hover: none){.evl-actions,.parc-actions{opacity:1}}.evl-more{padding:10px 14px;border-top:1px solid var(--border-hairline-soft);color:var(--text-faint);font-size:12px}.parc-row{grid-template-columns:minmax(160px,1.3fr) minmax(90px,1fr) minmax(0,1.4fr) 80px 96px 104px}.parc-head{min-height:38px;border-top:none;border-bottom:1px solid var(--border-hairline);color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.parc-muted{min-width:0;overflow:hidden;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis}.parc-date{font-family:var(--font-mono);font-size:12px}.parc-row.is-archived .parc-name,.parc-row.is-archived .parc-muted:not(.parc-date){color:var(--text-faint)}.parc-count{font-family:var(--font-mono);font-size:12px}.parc-count.is-zero{color:var(--text-faint)}.parc-count.has-people{color:var(--text-primary);font-weight:700}.parc-count.position-limit{margin-left:0}.home-occ-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px 28px;align-items:start}.home-occ-col-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 8px 7px;border-bottom:1px solid var(--border-hairline);color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.home-occ-col-total{color:var(--text-primary);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0}.home-occ-col-total .home-occupancy-limit,.home-occ-count .home-occupancy-limit{color:var(--text-faint);font-weight:400;opacity:1}.home-occ-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:34px;padding:0 8px;border:none;border-bottom:1px solid var(--border-hairline-soft);background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;text-align:left;cursor:pointer}.home-occ-row:hover{border-radius:var(--radius-sm);background:var(--bg-panel-raised)}.home-occ-name{min-width:0;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.home-occ-count{flex:none;font-family:var(--font-mono);font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}.home-occ-row.limit-full .home-occ-count{color:#8fdca6}.home-occ-row.limit-under .home-occ-count{color:var(--accent)}.home-occ-row.limit-over .home-occ-count{color:#f08c8c}.home-occ-row.is-empty .home-occ-name{color:var(--text-faint);font-weight:500}.home-occ-row.is-empty .home-occ-count{color:var(--text-faint)}.evl-row.evl-row-nopos{grid-template-columns:112px 150px minmax(0,1fr) 70px}.pcp-summary{margin-bottom:10px;color:var(--text-faint);font-size:12.5px;font-weight:600}.pcp-row{display:grid;grid-template-columns:34px 150px minmax(0,1.6fr) minmax(0,1fr) minmax(0,.8fr) 220px 40px;align-items:center;column-gap:14px;min-height:44px;padding:0 14px 0 36px;border-top:1px solid var(--border-hairline-soft);font-size:13px}.pcp-row:not(.pcp-head):hover{background:#ffffff06}.pcp-head{min-height:38px;border-top:none;border-bottom:1px solid var(--border-hairline);color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pcp-head+.evl-day{border-top:none}.pcp-num{color:var(--text-faint);font-family:var(--font-mono);font-size:12px}.pcp-rank{display:inline-block;max-width:100%;padding:3px 8px;border-radius:6px;background:var(--bg-panel-raised);color:var(--text-secondary);font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.pcp-name{min-width:0;overflow:hidden;color:var(--text-primary);font-weight:700;white-space:nowrap;text-overflow:ellipsis}.pcp-psevdo{min-width:0;overflow:hidden;color:var(--accent);white-space:nowrap;text-overflow:ellipsis}.pcp-faint{color:var(--text-faint)}.pcp-nopsevdo{font-style:italic;font-size:12px}.pcp-muted{min-width:0;overflow:hidden;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis}.pcp-when{color:var(--text-primary);font-family:var(--font-mono);font-size:12.5px;white-space:nowrap}.pcp-time{color:var(--text-secondary)}.pcp-days{color:var(--text-faint);font-family:var(--font-ui);font-size:12px}.pcp-actions{display:flex;justify-content:flex-end;opacity:0;transition:opacity .12s ease}.pcp-row:hover .pcp-actions,.pcp-row:focus-within .pcp-actions{opacity:1}@media (hover: none){.pcp-actions{opacity:1}}.cal-modal.pcp-rotation-modal{width:min(760px,calc(100vw - 32px));max-width:760px}.pcp-modal-sub{color:var(--text-faint);font-size:13px;font-weight:500}.pcp-modal-body .unprocessed-body{padding:0;border-top:none;animation:none}.pcp-modal-body{padding:0 0 4px;max-height:calc(100vh - 160px);overflow-y:auto}.roster-v2-col-rank{width:170px}.roster-v2-col-person{width:400px}.roster-v2-psevdo-cell .roster-v2-psevdo{display:inline;margin-top:0;font-size:12.5px}.admin-evl-chips{margin-bottom:10px}.admin-evl-chips{align-items:center}.admin-reset-filters{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 8px 5px 6px;border:1px solid rgba(240,140,140,.35);border-radius:999px;background:#f08c8c14;color:#f08c8c;font-family:var(--font-ui);font-size:12.5px;font-weight:700;cursor:pointer;transform-origin:right center;animation:admin-reset-in .26s cubic-bezier(.2,.9,.3,1.25) both;transition:background .16s ease,border-color .16s ease,transform .16s ease}.admin-reset-filters:hover{background:#f08c8c29;border-color:#f08c8c99}.admin-reset-filters:active{transform:scale(.96)}.admin-reset-filters.is-closing{animation:admin-reset-out .22s ease both;pointer-events:none}.admin-reset-filters-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#f08c8c2e;transition:transform .26s ease}.admin-reset-filters-icon svg{width:11px;height:11px}.admin-reset-filters:hover .admin-reset-filters-icon{transform:rotate(90deg)}.admin-reset-filters-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#f08c8c;color:var(--bg-app);font-size:11px;font-weight:800;animation:admin-reset-count .24s ease both}@keyframes admin-reset-in{0%{opacity:0;transform:translate(8px) scale(.85)}to{opacity:1;transform:none}}@keyframes admin-reset-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(8px) scale(.85)}}@keyframes admin-reset-count{0%{transform:scale(.5)}60%{transform:scale(1.2)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.admin-reset-filters,.admin-reset-filters.is-closing,.admin-reset-filters-count{animation-duration:1ms}}.admin-reset-filters{box-sizing:border-box;height:26px;padding:0 7px 0 4px;line-height:1}.admin-reset-filters-icon{width:16px;height:16px}.admin-reset-filters-icon svg{width:10px;height:10px}.admin-reset-filters-count{min-width:16px;height:16px;padding:0 4px;font-size:10.5px}.admin-evl-chips .admin-v2-chip{box-sizing:border-box;height:26px}.admin-reset-filters.is-placeholder{visibility:hidden;pointer-events:none;animation:none}.evl-filters .admin-reset-filters.evl-reset{margin-left:0}.people-card-badge{flex:none;padding:2px 8px;border:1px dashed var(--border-hairline);border-radius:999px;color:var(--text-faint);font-size:11px;font-weight:600;white-space:nowrap}.people-card.is-roster-only .people-card-name{color:var(--text-secondary)}.roster-only-modal{width:min(520px,calc(100vw - 32px))}.roster-only-modal .cal-modal-head h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;line-height:1.3}.roster-only-rank{padding:3px 9px;border-radius:6px;background:var(--bg-panel-raised);color:var(--text-secondary);font-size:12px;font-weight:700}.roster-only-psevdo{color:var(--accent)}.roster-only-body{display:flex;flex-direction:column;gap:14px;padding:4px 20px 20px}.roster-only-facts{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 12px;margin:0;font-size:13px}.roster-only-facts dt{color:var(--text-faint);font-weight:600}.roster-only-facts dd{margin:0;color:var(--text-primary);font-weight:600}.roster-only-note{padding:10px 12px;border:1px solid var(--border-hairline);border-radius:10px;background:var(--bg-app);color:var(--text-secondary);font-size:12.5px;line-height:1.5}.roster-only-note b{color:var(--text-primary)}.roster-only-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.roster-only-actions .btn{display:inline-flex;align-items:center;gap:7px}.roster-only-actions .btn svg{width:15px;height:15px}@media (max-width: 760px){.roster-only-actions .btn{flex:1 1 100%;justify-content:center}}.roster-only-modal{width:min(580px,calc(100vw - 32px))}.roster-only-body{padding:4px 0 0}.roster-only-actions .btn{white-space:nowrap}.payroll-vspacer{grid-column:1 / -1;padding:0;border:0;pointer-events:none}.add-chips .add-chip,.add-chip-input input{box-sizing:border-box;height:28px;line-height:1}.add-chip-input{display:inline-flex;overflow:hidden;width:150px;border-radius:999px;animation:add-other-open .2s cubic-bezier(.2,.8,.2,1) both}.add-chip-input input{width:150px;min-width:150px}.add-chip-input.is-closing{animation:add-other-close .18s ease both;pointer-events:none}.add-chips .add-chip-new{animation:add-other-btn-in .18s ease both}@keyframes add-other-open{0%{width:64px;opacity:.4}to{width:150px;opacity:1}}@keyframes add-other-close{0%{width:150px;opacity:1}to{width:64px;opacity:0}}@keyframes add-other-btn-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.add-chip-draggable{touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.add-chips.is-reordering .add-chip-draggable{cursor:grabbing}.add-chips{position:relative}.add-chip.is-dragging{position:relative;z-index:5;border-color:var(--accent);background:var(--bg-panel-raised);box-shadow:0 8px 22px #00000080;cursor:grabbing;will-change:transform}@media (prefers-reduced-motion: reduce){.add-chip-input,.add-chip-input.is-closing,.add-chips .add-chip-new{animation-duration:1ms}}.rotation-row .roster-v2-psevdo.rotation-psevdo{display:inline;margin-top:0;font-weight:600}.rotation-row .rotation-cell-name{min-width:0}.rotation-day-head{display:flex;align-items:center;gap:10px;margin:0 4px -4px;font-family:var(--font-ui);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.rotation-day-head:not(:first-child){margin-top:12px}.rotation-day-head:after{content:"";flex:1;height:1px;background:var(--border-hairline)}.rotation-day-count{margin-left:-6px;color:inherit}.rotation-day-count:before{content:"· "}.rotation-group-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.rotation-group-chips{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.rotation-chip{display:inline-flex;align-items:center;padding:3px 10px;border:1px solid var(--border-hairline);border-radius:999px;background:#ffffff05;color:var(--text-secondary);font-family:var(--font-ui);font-size:12.5px;font-weight:500;line-height:1.3;white-space:nowrap}button.rotation-chip-position{cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .12s ease}button.rotation-chip-position:hover,button.rotation-chip-position:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);outline:none}button.rotation-chip-position:active{transform:scale(.96)}.rotation-chip-position.is-static{border-style:dashed;color:var(--text-faint)}.rotation-chip.rotation-chip-battery{padding-left:0;padding-right:0;border-color:transparent;background:transparent;color:var(--text-faint);font-weight:400}.rotation-copy-button.is-copied,.rotation-copy-button.is-copied:hover{background:var(--status-arrived-bg);color:var(--status-arrived)}.rotation-copy-button svg{animation:rotation-copy-pop .22s var(--mo-ease, ease)}@keyframes rotation-copy-pop{0%{transform:scale(.6);opacity:0}}@media (prefers-reduced-motion: reduce){.rotation-copy-button svg{animation:none}}.rre{gap:14px}.rre-section,.rre-col{display:flex;flex-direction:column;gap:8px;min-width:0}.rre-label{color:var(--text-faint);font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.rre-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.rre-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;align-items:start}.rre-textarea{width:100%;box-sizing:border-box;min-height:220px;padding:12px 14px;border-radius:10px;line-height:1.65}.rre-textarea:focus{box-shadow:0 0 0 3px #f2c14e14}.rre-state{display:inline-flex;align-items:center;gap:6px;min-height:16px;font-family:var(--font-ui);font-size:12px;font-weight:700;color:var(--text-faint);transition:color .2s ease}.rre-state i{width:7px;height:7px;border-radius:50%;background:currentColor}.rre-state.is-idle i{display:none}.rre-state.is-ok{color:var(--status-arrived)}.rre-state.is-ok i{box-shadow:0 0 0 3px #8fdca626}.rre-state.is-error{color:var(--status-departed)}.rre-state.is-checking i{animation:rre-pulse .9s ease-in-out infinite}@keyframes rre-pulse{50%{opacity:.3}}.rre-preview{display:flex;flex-direction:column;padding:12px 14px 4px;border:1px solid var(--border-hairline);border-radius:10px;background:#ffffff04;transition:opacity .2s ease}.rre-preview.is-stale{opacity:.45}.rre-preview-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:10px}.rre-when{margin-right:4px;color:var(--text-primary);font-family:var(--font-ui);font-size:13.5px;font-weight:700}.rre-row{display:grid;grid-template-columns:70px minmax(90px,auto) minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border-hairline-soft);font-family:var(--font-ui);font-size:13px}.rre-row{grid-template-areas:"status rank name psevdo"}.rre-row>:nth-child(1){grid-area:status}.rre-meta{display:contents}.rre-row .rre-rank{grid-area:rank}.rre-row .rre-name{grid-area:name}.rre-row .rre-psevdo{grid-area:psevdo}.rre-row .status-pill{display:inline-block;text-align:center}.rre-rank{color:var(--text-secondary)}.rre-name{min-width:0;overflow:hidden;color:var(--text-primary);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.rre-psevdo{color:var(--accent);font-size:12.5px;font-weight:600;white-space:nowrap}.rre-psevdo.is-empty{color:var(--text-faint);font-style:italic;font-weight:400}.rre-error{padding:10px 12px;border:1px solid var(--status-departed-border);border-radius:10px;background:var(--status-departed-bg);color:var(--status-departed);font-family:var(--font-ui);font-size:12.5px;line-height:1.5}.rre-diff{display:flex;flex-direction:column;gap:4px;padding:9px 12px;border:1px solid rgba(242,193,78,.3);border-radius:10px;background:#f2c14e0f;font-family:var(--font-ui);font-size:12.5px}.rre-diff-title{color:var(--accent);font-weight:700}.rre-diff-line{font-weight:600}.rre-diff-line small{color:var(--text-faint);font-weight:400}.rre-diff-line.is-added{color:var(--status-arrived)}.rre-diff-line.is-removed{color:var(--status-departed)}.rre .rot-logic{margin:0}.rre-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rre-hint{flex:1 1 260px;color:var(--text-faint);font-family:var(--font-ui);font-size:12px}.rre-hint kbd{padding:1px 6px;border:1px solid var(--border-hairline);border-radius:5px;background:var(--bg-panel-raised);color:var(--text-secondary);font-family:var(--font-ui);font-size:11px;font-weight:700}.rre-foot .btn{flex:none;width:auto;min-width:0;padding-left:16px;padding-right:16px}.rre-foot .rre-cancel{border-color:transparent;background:transparent;color:var(--text-faint)}.rre-foot .rre-cancel:hover{color:var(--text-primary)}.rre-preview{container-type:inline-size}@container (max-width: 470px){.rre-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"status name" "status meta";row-gap:3px}.rre-row>:nth-child(1){align-self:start}.rre-meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:8px}.rre-row .rre-rank,.rre-row .rre-psevdo{grid-area:auto;font-size:12px}}.field-head-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.field-head-tools>span:first-child{flex:1 1 auto;min-width:0;font-size:11.5px;font-weight:600;letter-spacing:.01em;color:var(--text-faint)}.field-tools{display:inline-flex;align-items:center;gap:6px;margin-left:auto}@media (hover: hover) and (pointer: fine){.tab-key-btn{display:none}}.roster-v2-head{align-items:center}.gen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px;align-items:start}.gen-steps{gap:18px}.gen-step{display:flex;flex-direction:column;gap:9px;min-width:0}.gen-step-h{display:flex;align-items:baseline;gap:10px;color:var(--text-primary);font-family:var(--font-ui);font-size:13.5px;font-weight:700}.gen-step-h small{margin-left:auto;color:var(--text-faint);font-size:11.5px;font-weight:600;text-align:right}.gen-n{color:var(--text-dim);font-family:var(--font-ui);font-size:22px;font-weight:300;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;transition:color .25s ease}.gen-n.is-current{color:var(--accent)}.gen-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.gen-input{box-sizing:border-box;height:32px;padding:0 12px;border:1px solid var(--border-hairline);border-radius:8px;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:600;outline:none}.gen-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f2c14e14}.gen-input::placeholder{color:var(--text-faint);font-weight:500;opacity:1}.gen-time{display:inline-flex;align-items:center;gap:8px;margin-left:6px}.gen-time-input{width:96px;font-variant-numeric:tabular-nums;color-scheme:dark}.gen-link{padding:0;border:none;background:none;color:var(--accent-dim);font-family:var(--font-ui);font-size:12px;font-weight:700;cursor:pointer}.gen-link:hover{color:var(--accent)}.gen-link.is-muted{color:var(--text-faint)}.gen-link.is-muted:hover{color:var(--text-primary)}.gen-position{flex:0 1 260px;min-width:200px}.gen-extra{flex:1 1 160px;min-width:140px}.gen-list{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-hairline);border-radius:10px}.gen-li{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;border-top:1px solid var(--border-hairline-soft);background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:600;text-align:left}.gen-li:first-child{border-top:none}button.gen-li{cursor:pointer}button.gen-li:hover{background:#ffffff06}.gen-li.is-off .gen-name{color:var(--text-faint)}.gen-cb{position:relative;width:16px;height:16px;box-sizing:border-box;border:1.5px solid var(--text-dim);border-radius:5px;transition:background-color .15s ease,border-color .15s ease}.gen-cb.is-on.is-out{border-color:var(--status-departed);background:var(--status-departed)}.gen-cb.is-on.is-in{border-color:var(--status-arrived);background:var(--status-arrived)}.gen-cb.is-on:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--bg-app);border-width:0 2px 2px 0;transform:rotate(45deg)}.gen-name{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;min-width:0}.gen-rank{color:var(--text-secondary);font-weight:500}.gen-unit{display:inline-flex;align-self:center}.gen-unit .gen-unit-trigger{min-width:110px;max-width:170px;height:24px;padding:0 8px;font-size:12px;font-weight:500}.gen-ps{color:var(--accent);font-size:12.5px;white-space:nowrap}.gen-ps.is-empty{color:var(--text-faint);font-style:italic;font-weight:400}.gen-warn{color:var(--accent);font-size:11.5px;font-weight:600}.gen-x{display:inline-flex;padding:2px;border:none;background:none;color:var(--text-dim);cursor:pointer}.gen-x:hover{color:var(--status-departed)}.gen-x svg{width:14px;height:14px}.gen-search{position:relative}.gen-search-input{width:100%}.gen-sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;max-height:300px;overflow-y:auto;padding:4px;border:1px solid var(--cal-line-strong, #363343);border-radius:10px;background:var(--bg-panel-raised);box-shadow:0 12px 32px #00000080;animation:expand-open .16s ease-out}.gen-sg{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:600;text-align:left;cursor:pointer}.gen-sg.is-active{background:var(--accent-bg)}.gen-sg-meta{color:var(--text-faint);font-size:12px;font-weight:500;white-space:nowrap}.gen-sg.gen-sg-unit{grid-template-columns:minmax(0,1fr) auto;color:var(--accent)}.gen-sg.gen-sg-unit b{color:var(--text-primary)}.gen-sugg-empty{padding:10px;color:var(--text-faint);font-family:var(--font-ui);font-size:12.5px}.gen-out-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.gen-lbl{color:var(--text-faint);font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.gen-pre{margin:0;padding:14px 16px;border:1px solid var(--border-hairline);border-radius:10px;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-mono);font-size:12.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.gen-auto{padding:0 2px;border-radius:4px;background:#f2c14e1a;color:var(--accent)}.gen-empty{padding:26px 18px;border:1px dashed var(--border-hairline);border-radius:10px;color:var(--text-faint);font-family:var(--font-ui);font-size:13px;line-height:1.5;text-align:center}.gen-note{color:var(--text-faint);font-family:var(--font-ui);font-size:12px;line-height:1.5}.gen-recognized{display:flex;flex-direction:column;gap:8px}.gen-out .rot-logic{margin:0}.gen-btns{display:flex;gap:8px}.gen-btns .btn{flex:1 1 0}.gen-foot{display:flex;justify-content:center;align-items:center;gap:8px;min-height:16px}.gen-dot{color:var(--text-dim)}.gen-time-input{width:74px;text-align:center}.gen-input.is-invalid{border-color:var(--status-departed-border)}.gen-group{display:flex;align-items:baseline;gap:6px;width:100%;padding:7px 12px;border:none;border-top:1px solid var(--border-hairline-soft);background:#ffffff06;color:var(--text-primary);font-family:var(--font-ui);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left;cursor:pointer}.gen-group:first-child{border-top:none}.gen-group small{color:var(--text-faint);font-weight:600}.gen-group-all{margin-left:auto;color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;opacity:0;transition:opacity .15s ease}.gen-group:hover .gen-group-all,.gen-group:focus-visible .gen-group-all{opacity:1}@media (hover: none){.gen-group-all{opacity:1}}.gen-out-h .rre-state{margin-left:auto}.gen-reset{flex:none;color:var(--text-faint)}.gen-reset svg{width:15px;height:15px}.gen-steps .add-date-other{position:relative;display:inline-flex;align-items:center}.gen-date-clear{position:absolute;right:6px;top:50%;display:inline-flex;padding:3px;border:none;border-radius:6px;background:var(--bg-panel-raised);color:var(--text-faint);transform:translateY(-50%);cursor:pointer}.gen-date-clear:hover{color:var(--status-departed)}.gen-date-clear svg{width:13px;height:13px}.gen-when{gap:10px}.gen-dayseg{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border-hairline);border-radius:11px;background:var(--bg-app)}.gen-dayseg>button,.gen-dayseg .datepicker-trigger{display:inline-flex;align-items:baseline;gap:6px;width:auto;height:32px;padding:0 12px;border:none;border-radius:8px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:12.5px;font-weight:700;line-height:32px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.gen-dayseg>button small{color:var(--text-dim);font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.gen-dayseg>button:hover,.gen-dayseg .datepicker-trigger:hover{color:var(--text-primary)}.gen-dayseg>button.is-active,.gen-dayseg-other.is-active .datepicker-trigger{background:var(--accent-bg);color:var(--accent)}.gen-dayseg>button.is-active small{color:var(--accent-dim)}.gen-dayseg .datepicker-placeholder{color:inherit}.gen-dayseg-other{position:relative;display:inline-flex;align-items:center}.gen-dayseg-other.is-active .datepicker-trigger{padding-right:30px;font-variant-numeric:tabular-nums}.gen-dayseg-other .gen-date-clear{right:5px;background:transparent;color:var(--accent-dim)}.gen-timebox{display:inline-flex;align-items:center;gap:6px;height:40px;box-sizing:border-box;padding:0 4px 0 11px;border:1px solid var(--border-hairline);border-radius:11px;background:var(--bg-app);color:var(--text-faint);cursor:text;transition:border-color .15s ease,box-shadow .15s ease}.gen-timebox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #f2c14e14}.gen-timebox.is-invalid{border-color:var(--status-departed-border)}.gen-timebox svg{width:15px;height:15px}.gen-timebox .gen-time-input{width:54px;height:30px;padding:0;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:16px;font-weight:700;letter-spacing:.02em;text-align:center;font-variant-numeric:tabular-nums;outline:none;box-shadow:none}.gen-now{height:30px;padding:0 10px;border:none;border-radius:8px;background:var(--bg-panel-raised);color:var(--text-faint);font-family:var(--font-ui);font-size:11.5px;font-weight:700;cursor:pointer;transition:color .15s ease,background-color .15s ease}.gen-now:hover{background:var(--accent-bg);color:var(--accent)}.gen-hint{color:var(--text-faint);font-family:var(--font-ui);font-size:12.5px}.rot-editor{gap:12px}.rot-editor-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.rot-editor-close{margin-left:auto}.rot-editor-note{color:var(--text-faint);font-family:var(--font-ui);font-size:12px}.rot-editor .unprocessed-body.is-embedded{padding:0;border-top:none;animation:none}.gen-grid.is-edit .add-card{background:var(--bg-app)}.gen-group.is-this{color:var(--status-departed)}.gen-edit-fallback{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.gen-edit-loading{padding:18px 4px}.gen-li.is-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.gen-li.is-clickable:hover{background:#ffffff06}.gen-li.is-clickable:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}.gen-li.is-off .gen-warn,.gen-li.is-off .gen-rank{opacity:.55}.parc-row.is-clickable{cursor:pointer}.parc-row.is-clickable:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}.parc-row.is-clickable:hover .parc-name{color:var(--accent)}.position-archived-badge{display:inline-flex;align-items:center;margin-left:10px;padding:2px 8px;border:1px solid var(--border-hairline);border-radius:999px;color:var(--text-secondary);font-size:11.5px;font-weight:600;vertical-align:middle}.gen-out-h .gen-copy{flex:none;width:26px;height:26px;margin-left:-4px;color:var(--text-faint)}.gen-out-h .gen-copy:hover{color:var(--text-primary)}.gen-out-h .gen-copy svg{width:14px;height:14px}.gen-out-h .gen-copy.is-copied{color:var(--status-arrived)}.roster-v2 col.roster-v2-col-person{width:30%}.roster-v2-col-placed{width:28%}.roster-v2-col-rank{width:150px}.roster-v2-col-person{width:auto}.roster-v2-col-psevdo{width:15%}.roster-v2-psevdo-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 761px){.roster-v2-card{overflow-x:auto}table.roster-v2{min-width:860px}}.roster-v2-placed-cell{min-width:0}.roster-v2-placed{display:block;overflow:hidden;color:var(--text-secondary);font-size:12.5px;white-space:nowrap;text-overflow:ellipsis}.roster-v2-placed.is-empty{color:var(--text-dim);font-style:italic}.roster-v2-placed-pos{padding:0;border:none;background:none;color:var(--text-primary);font:inherit;font-weight:600;cursor:pointer}.roster-v2-placed-pos:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.roster-v2-placed-pos.is-inactive{color:var(--text-faint);text-decoration:line-through}.roster-v2-placed-when{color:var(--text-faint);font-family:var(--font-mono);font-size:11.5px}.person-history-editor{margin:2px 0 8px}.person-history-row.is-editing .person-history-row-actions .icon-button.is-active{color:var(--accent)}.admin-user-row.is-editing{border-bottom-color:transparent}.admin-user-row.is-editing .admin-user-actions .icon-button.is-active{background:var(--accent-bg);color:var(--accent)}.admin-user-edit{display:flex;flex-direction:column;gap:14px;margin:0 0 12px;padding:16px;border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-app)}.admin-user-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.admin-user-edit-field{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-user-edit-label{color:var(--text-faint);font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.admin-user-edit-input.web-login-input{width:100%;margin:0;box-sizing:border-box}.admin-user-edit-pass{position:relative;display:block}.admin-user-edit-pass .admin-user-edit-input{padding-right:40px}.admin-user-edit-eye{position:absolute;top:50%;right:6px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:none;border-radius:7px;background:transparent;color:var(--text-faint);transform:translateY(-50%);cursor:pointer}.admin-user-edit-eye:hover{background:#ffffff0d;color:var(--text-primary)}.admin-user-edit-eye svg{width:16px;height:16px}.admin-user-edit-note.is-warn{color:var(--accent)}.admin-user-edit .admin-role-picker{align-items:flex-start}.admin-user-edit-error{margin:0}.admin-user-edit-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--border-hairline-soft)}.admin-user-edit-keys{margin-right:auto;color:var(--text-faint);font-size:11.5px}.admin-user-edit-foot .btn{flex:none;width:auto;min-width:120px}@media (max-width: 760px){.admin-user-edit-grid{grid-template-columns:minmax(0,1fr)}.admin-user-edit-keys{display:none}.admin-user-edit-foot .btn{flex:1}}.admin-user-edit .web-login-input{background:var(--bg-panel)}.rdiff{display:flex;flex-direction:column;gap:2px;padding:10px 12px 8px;border:1px solid var(--border-hairline);border-radius:10px;background:#ffffff05;font-family:var(--font-ui);font-size:12.5px}.rdiff-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.rdiff-title{display:inline-flex;align-items:center;gap:7px;color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.rdiff-title:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.rdiff-count{padding:1px 8px;border-radius:999px;background:var(--accent-bg);color:var(--accent);font-size:11px;font-weight:700;white-space:nowrap}.rdiff-row{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:10px;min-height:28px;padding:3px 0;border-top:1px solid var(--border-hairline-soft)}.rdiff-head+.rdiff-row{border-top:none}.rdiff-label{display:inline-flex;align-items:center;gap:5px;color:var(--text-faint);font-size:11.5px;font-weight:600}.rdiff-values{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.rdiff-old{color:var(--text-faint);text-decoration:line-through;text-decoration-color:#ffffff40}.rdiff-arrow{color:var(--text-dim)}.rdiff-new{color:var(--text-primary);font-weight:700}.rdiff-person{display:flex;align-items:center;gap:8px;min-width:0}.rdiff-person .status-pill{flex:none}.rdiff-name{overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.rdiff-sign{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;font-size:12px;font-weight:800;line-height:1}.rdiff-row.is-added .rdiff-sign{background:var(--status-arrived-bg);color:var(--status-arrived)}.rdiff-row.is-added .rdiff-name{color:var(--text-primary)}.rdiff-row.is-removed .rdiff-sign{background:var(--status-departed-bg);color:var(--status-departed)}.rdiff-row.is-removed .rdiff-name{color:var(--text-faint);text-decoration:line-through;text-decoration-color:#ffffff40}.home-gsadn-row{align-items:flex-start;min-width:0}.home-gsadn-total-group{flex:none;min-width:64px}.home-gsadn-breakdown{flex:1;display:grid;grid-template-columns:repeat(auto-fill,62px);justify-content:start;min-width:0;gap:12px 6px;padding-top:4px}.home-gsadn-group{display:flex;flex-direction:column;align-items:center;min-width:0}.home-gsadn-group-label{max-width:100%;text-align:center;font-size:10.5px;line-height:1.25;overflow-wrap:normal}.home-columns{grid-template-columns:1fr 1fr 300px}.home-gsadn-row{gap:12px}@scope (html.perm-ro-rotations [data-perm="rotations"]) to ([data-perm]){:is([title^=Редагувати],[data-mo-tip^=Редагувати],[title^=Видалити],[data-mo-tip^=Видалити],[title^=Відновити],[data-mo-tip^=Відновити],[title^=Перетягн],[data-mo-tip^=Перетягн],[title^=Додати],[data-mo-tip^=Додати],[title^="Нова задача"],[data-mo-tip^="Нова задача"],[title^="Створити копію"],[data-mo-tip^="Створити копію"],[title^=Перенести],[data-mo-tip^=Перенести],[title^="Налаштувати категорії"],[data-mo-tip^="Налаштувати категорії"],[title^="Категорії позицій"],[data-mo-tip^="Категорії позицій"],.icon-button-danger,.tab-add-button,.roster-add-plus,.position-edit-button,.position-delete-button,.position-drag-handle,.position-select-checkbox,.roster-drag-handle,.roster-check-cell>*,.roster-select-all-link,.payroll-value-picker,.cal-new-btn,.cal-wcol-add,.cal-mcell-add,.cal-qa,.cal-checklist-add,.cal-comment-del,.cal-comment-form,.admin-restore-slot){display:none!important}:is(.position-note-input,.subunit-trigger,.roster-subunit-trigger,.cal-check){pointer-events:none}}@scope (html.perm-ro-events [data-perm="events"]) to ([data-perm]){:is([title^=Редагувати],[data-mo-tip^=Редагувати],[title^=Видалити],[data-mo-tip^=Видалити],[title^=Відновити],[data-mo-tip^=Відновити],[title^=Перетягн],[data-mo-tip^=Перетягн],[title^=Додати],[data-mo-tip^=Додати],[title^="Нова задача"],[data-mo-tip^="Нова задача"],[title^="Створити копію"],[data-mo-tip^="Створити копію"],[title^=Перенести],[data-mo-tip^=Перенести],[title^="Налаштувати категорії"],[data-mo-tip^="Налаштувати категорії"],[title^="Категорії позицій"],[data-mo-tip^="Категорії позицій"],.icon-button-danger,.tab-add-button,.roster-add-plus,.position-edit-button,.position-delete-button,.position-drag-handle,.position-select-checkbox,.roster-drag-handle,.roster-check-cell>*,.roster-select-all-link,.payroll-value-picker,.cal-new-btn,.cal-wcol-add,.cal-mcell-add,.cal-qa,.cal-checklist-add,.cal-comment-del,.cal-comment-form,.admin-restore-slot){display:none!important}:is(.position-note-input,.subunit-trigger,.roster-subunit-trigger,.cal-check){pointer-events:none}}@scope (html.perm-ro-positions [data-perm="positions"]) to ([data-perm]){:is(.pos-v2-empty,[title^=Редагувати],[data-mo-tip^=Редагувати],[title^=Видалити],[data-mo-tip^=Видалити],[title^=Відновити],[data-mo-tip^=Відновити],[title^=Перетягн],[data-mo-tip^=Перетягн],[title^=Додати],[data-mo-tip^=Додати],[title^="Нова задача"],[data-mo-tip^="Нова задача"],[title^="Створити копію"],[data-mo-tip^="Створити копію"],[title^=Перенести],[data-mo-tip^=Перенести],[title^="Налаштувати категорії"],[data-mo-tip^="Налаштувати категорії"],[title^="Категорії позицій"],[data-mo-tip^="Категорії позицій"],.icon-button-danger,.tab-add-button,.roster-add-plus,.position-edit-button,.position-delete-button,.position-drag-handle,.position-select-checkbox,.roster-drag-handle,.roster-check-cell>*,.roster-select-all-link,.payroll-value-picker,.cal-new-btn,.cal-wcol-add,.cal-mcell-add,.cal-qa,.cal-checklist-add,.cal-comment-del,.cal-comment-form,.admin-restore-slot){display:none!important}:is(.position-note-input,.subunit-trigger,.roster-subunit-trigger,.cal-check){pointer-events:none}}@scope (html.perm-ro-roster [data-perm="roster"]) to ([data-perm]){:is([title^=Редагувати],[data-mo-tip^=Редагувати],[title^=Видалити],[data-mo-tip^=Видалити],[title^=Відновити],[data-mo-tip^=Відновити],[title^=Перетягн],[data-mo-tip^=Перетягн],[title^=Додати],[data-mo-tip^=Додати],[title^="Нова задача"],[data-mo-tip^="Нова задача"],[title^="Створити копію"],[data-mo-tip^="Створити копію"],[title^=Перенести],[data-mo-tip^=Перенести],[title^="Налаштувати категорії"],[data-mo-tip^="Налаштувати категорії"],[title^="Категорії позицій"],[data-mo-tip^="Категорії позицій"],.icon-button-danger,.tab-add-button,.roster-add-plus,.position-edit-button,.position-delete-button,.position-drag-handle,.position-select-checkbox,.roster-drag-handle,.roster-check-cell>*,.roster-select-all-link,.payroll-value-picker,.cal-new-btn,.cal-wcol-add,.cal-mcell-add,.cal-qa,.cal-checklist-add,.cal-comment-del,.cal-comment-form,.admin-restore-slot){display:none!important}:is(.position-note-input,.subunit-trigger,.roster-subunit-trigger,.cal-check){pointer-events:none}}@scope (html.perm-ro-payroll [data-perm="payroll"]) to ([data-perm]){:is([title^=Редагувати],[data-mo-tip^=Редагувати],[title^=Видалити],[data-mo-tip^=Видалити],[title^=Відновити],[data-mo-tip^=Відновити],[title^=Перетягн],[data-mo-tip^=Перетягн],[title^=Додати],[data-mo-tip^=Додати],[title^="Нова задача"],[data-mo-tip^="Нова задача"],[title^="Створити копію"],[data-mo-tip^="Створити копію"],[title^=Перенести],[data-mo-tip^=Перенести],[title^="Налаштувати категорії"],[data-mo-tip^="Налаштувати категорії"],[title^="Категорії позицій"],[data-mo-tip^="Категорії позицій"],.icon-button-danger,.tab-add-button,.roster-add-plus,.position-edit-button,.position-delete-button,.position-drag-handle,.position-select-checkbox,.roster-drag-handle,.roster-check-cell>*,.roster-select-all-link,.payroll-value-picker,.cal-new-btn,.cal-wcol-add,.cal-mcell-add,.cal-qa,.cal-checklist-add,.cal-comment-del,.cal-comment-form,.admin-restore-slot){display:none!important}:is(.position-note-input,.subunit-trigger,.roster-subunit-trigger,.cal-check){pointer-events:none}}@scope (html.perm-ro-calendar [data-perm="calendar"]) to ([data-perm]){:is([title^=Редагувати],[data-mo-tip^=Редагувати],[title^=Видалити],[data-mo-tip^=Видалити],[title^=Відновити],[data-mo-tip^=Відновити],[title^=Перетягн],[data-mo-tip^=Перетягн],[title^=Додати],[data-mo-tip^=Додати],[title^="Нова задача"],[data-mo-tip^="Нова задача"],[title^="Створити копію"],[data-mo-tip^="Створити копію"],[title^=Перенести],[data-mo-tip^=Перенести],[title^="Налаштувати категорії"],[data-mo-tip^="Налаштувати категорії"],[title^="Категорії позицій"],[data-mo-tip^="Категорії позицій"],.icon-button-danger,.tab-add-button,.roster-add-plus,.position-edit-button,.position-delete-button,.position-drag-handle,.position-select-checkbox,.roster-drag-handle,.roster-check-cell>*,.roster-select-all-link,.payroll-value-picker,.cal-new-btn,.cal-wcol-add,.cal-mcell-add,.cal-qa,.cal-checklist-add,.cal-comment-del,.cal-comment-form,.admin-restore-slot){display:none!important}:is(.position-note-input,.subunit-trigger,.roster-subunit-trigger,.cal-check){pointer-events:none}}@scope (html.perm-ro-admin [data-perm="admin"]) to ([data-perm]){:is([title^=Редагувати],[data-mo-tip^=Редагувати],[title^=Видалити],[data-mo-tip^=Видалити],[title^=Відновити],[data-mo-tip^=Відновити],[title^=Перетягн],[data-mo-tip^=Перетягн],[title^=Додати],[data-mo-tip^=Додати],[title^="Нова задача"],[data-mo-tip^="Нова задача"],[title^="Створити копію"],[data-mo-tip^="Створити копію"],[title^=Перенести],[data-mo-tip^=Перенести],[title^="Налаштувати категорії"],[data-mo-tip^="Налаштувати категорії"],[title^="Категорії позицій"],[data-mo-tip^="Категорії позицій"],.icon-button-danger,.tab-add-button,.roster-add-plus,.position-edit-button,.position-delete-button,.position-drag-handle,.position-select-checkbox,.roster-drag-handle,.roster-check-cell>*,.roster-select-all-link,.payroll-value-picker,.cal-new-btn,.cal-wcol-add,.cal-mcell-add,.cal-qa,.cal-checklist-add,.cal-comment-del,.cal-comment-form,.admin-restore-slot){display:none!important}:is(.position-note-input,.subunit-trigger,.roster-subunit-trigger,.cal-check){pointer-events:none}}@scope (html.perm-no-edit-rotations [data-perm="rotations"]) to ([data-perm]){:is(.icon-button[title^=Редагувати],[data-mo-tip^=Редагувати],.rotation-group-actions [title=Редагувати],.position-edit-button){display:none!important}}@scope (html.perm-no-delete-rotations [data-perm="rotations"]) to ([data-perm]){:is([title^=Видалити],[data-mo-tip^=Видалити],.icon-button-danger){display:none!important}}@scope (html.perm-no-edit-events [data-perm="events"]) to ([data-perm]){:is(.icon-button[title^=Редагувати],[data-mo-tip^=Редагувати],.rotation-group-actions [title=Редагувати],.position-edit-button){display:none!important}}@scope (html.perm-no-delete-events [data-perm="events"]) to ([data-perm]){:is([title^=Видалити],[data-mo-tip^=Видалити],.icon-button-danger){display:none!important}}@scope (html.perm-no-edit-positions [data-perm="positions"]) to ([data-perm]){:is(.position-edit-button,[title^=Редагувати]){display:none!important}}@scope (html.perm-no-note-positions [data-perm="positions"]) to ([data-perm]){:is(.position-note-input){pointer-events:none}}@scope (html.perm-no-subunit-positions [data-perm="positions"]) to ([data-perm]){:is(.subunit-trigger){pointer-events:none}}@scope (html.perm-no-reorder-positions [data-perm="positions"]) to ([data-perm]){:is(.position-drag-handle,[title^=Перетягн],.pos-v2-empty){display:none!important}}.perm-item-ro :is([title^=Редагувати],[data-mo-tip^=Редагувати],[title^=Видалити],[data-mo-tip^=Видалити],[title^=Перетягн],[data-mo-tip^=Перетягн],[title^=Додати],[data-mo-tip^=Додати],.icon-button-danger,.roster-add-plus,.position-edit-button,.position-delete-button,.position-drag-handle,.position-select-checkbox,.roster-drag-handle,.roster-check-cell>*){display:none!important}.perm-item-ro :is(.position-note-input,.subunit-trigger,.roster-subunit-trigger){pointer-events:none}@scope (html.perm-no-manage-positions [data-perm="positions"]) to ([data-perm]){:is(.position-delete-button,[title^=Видалити],[title^=Відновити],.icon-button-danger,.position-select-checkbox){display:none!important}}@scope (html.perm-no-add-roster [data-perm="roster"]) to ([data-perm]){:is(.roster-add-plus,[title^=Додати]){display:none!important}}@scope (html.perm-no-edit-roster [data-perm="roster"]) to ([data-perm]){:is([title=Редагувати]){display:none!important}}@scope (html.perm-no-delete-roster [data-perm="roster"]) to ([data-perm]){:is(.icon-button-danger,[title^=Видалити],.roster-check-cell>*,.roster-select-all-link){display:none!important}}@scope (html.perm-no-move-roster [data-perm="roster"]) to ([data-perm]){:is(.roster-subunit-trigger){pointer-events:none}}@scope (html.perm-no-reorder-roster [data-perm="roster"]) to ([data-perm]){:is(.roster-drag-handle){display:none!important}}@scope (html.perm-no-edit-payroll [data-perm="payroll"]) to ([data-perm]){:is(.payroll-value-picker){display:none!important}}@scope (html.perm-no-create-calendar [data-perm="calendar"]) to ([data-perm]){:is(.cal-new-btn,.cal-wcol-add,.cal-mcell-add,.cal-qa,[title^="Нова задача"],[title^="Створити копію"]){display:none!important}}@scope (html.perm-no-edit-calendar [data-perm="calendar"]) to ([data-perm]){:is([title^=Перенести],.cal-checklist-add){display:none!important}}@scope (html.perm-no-done-calendar [data-perm="calendar"]) to ([data-perm]){:is(.cal-check){pointer-events:none}}@scope (html.perm-no-comment-calendar [data-perm="calendar"]) to ([data-perm]){:is(.cal-comment-form){display:none!important}}@scope (html.perm-no-delete-calendar [data-perm="calendar"]) to ([data-perm]){:is(.icon-button-danger,[title^=Видалити],.cal-comment-del){display:none!important}}@scope (html.perm-no-categories-calendar [data-perm="calendar"]) to ([data-perm]){:is([title^="Налаштувати категорії"]){display:none!important}}@scope (html.perm-no-undo-admin [data-perm="admin"]) to ([data-perm]){:is(.admin-restore-slot){display:none!important}}html.perm-none-rotations [data-home=rotations],html.perm-none-events [data-home=events],html.perm-none-roster [data-home=roster],html.perm-none-positions [data-home=positions]{display:none!important}.cal-modal.admin-users-modal.is-perms{max-width:1080px}.admin-users-tabs{margin-left:14px;margin-right:auto}.admin-users-tabs .add-seg-btn{padding:5px 12px;font-size:12.5px}.admin-user-role-custom{background:#ffffff0d;border-color:transparent;color:var(--text-primary)}.admin-user-lock{width:13px;height:13px;flex:none;color:var(--text-faint)}.admin-user-nolock{display:inline-grid;place-items:center;width:30px;height:30px;color:var(--text-faint);cursor:help}.admin-user-nolock svg{width:14px;height:14px}.admin-role-option:disabled{cursor:not-allowed;opacity:.4}.admin-user-edit-note{color:var(--text-faint);font-size:11.5px}.uperm{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.uperm.has-card{grid-template-columns:minmax(0,1fr) 380px}.uperm-table-wrap{min-width:0;overflow-x:auto}.uperm-table{width:100%;min-width:540px;border-collapse:collapse;font-size:13px}.uperm-table th{padding:0 3px 10px;border-bottom:1px solid var(--border-hairline);color:var(--text-faint);font-size:10px;font-weight:700;letter-spacing:.05em;text-align:center;text-transform:uppercase;white-space:nowrap}.uperm-table th:first-child{padding-left:8px;text-align:left}.uperm-table td{padding:7px 3px;border-bottom:1px solid var(--border-hairline-soft);text-align:center}.uperm-table td:first-child{padding-left:8px;text-align:left}.uperm-table tbody tr{cursor:pointer}.uperm-table tbody tr:hover td{background:#ffffff05}.uperm-table tbody tr.is-selected td{background:var(--accent-bg)}.uperm-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.uperm-table tbody tr.is-locked{cursor:default}.uperm-table tbody tr.is-locked:hover td{background:transparent}.uperm-user{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600;white-space:nowrap}.uperm-name{overflow:hidden;text-overflow:ellipsis}.uperm-ava{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--bg-panel-raised);color:var(--text-secondary);font-size:10.5px;font-weight:800}.uperm-lock{width:13px;height:13px;flex:none;color:var(--text-faint)}.uperm-mini{display:none}.uperm-cell{position:relative;display:inline-grid;place-items:center;width:34px;height:26px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;cursor:pointer;transition:box-shadow .2s}.uperm-cell svg{width:14px;height:14px}.uperm-cell.is-edit{border-color:#f2c14e40;background:var(--accent-bg);color:var(--accent)}.uperm-cell.is-view{border-color:#8fbfe833;background:#6fa8dc24;color:#8fbfe8}.uperm-cell.is-none{border:1px dashed var(--border-hairline);color:var(--text-dim)}.uperm-cell.is-fixed{cursor:default}.uperm-table .uperm-cell.is-fixed{opacity:.45}.uperm-cell.is-part:after{content:"";position:absolute;top:-3px;right:-3px;width:8px;height:8px;border:2px solid var(--bg-panel);border-radius:50%;background:var(--text-secondary)}.uperm-cell.is-flash{box-shadow:0 0 0 2px var(--accent)}.uperm-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-hairline-soft);color:var(--text-faint);font-size:12px}.uperm-legend>span{display:inline-flex;align-items:center;gap:7px}.uperm-card{overflow:hidden;min-width:0;border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-app)}.uperm-card-h{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-bottom:1px solid var(--border-hairline-soft)}.uperm-card-h b{font-size:14px}.uperm-card-x{margin-left:auto}.uperm-presets{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px;border-bottom:1px solid var(--border-hairline-soft)}.uperm-chip{padding:5px 11px;border:1px solid var(--border-hairline);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer}.uperm-chip:hover{color:var(--text-primary)}.uperm-chip.is-on{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.uperm-chip.is-static{cursor:default}.uperm-chip.is-small{padding:3px 9px;font-size:11.5px}.uperm-note{padding:12px 14px;border-bottom:1px solid var(--border-hairline-soft);color:var(--text-faint);font-size:12px;line-height:1.45}.uperm-sec{border-bottom:1px solid var(--border-hairline-soft)}.uperm-sec:last-child{border-bottom:none}.uperm-sec-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 12px 9px 8px}.uperm-chev{display:grid;place-items:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-faint);cursor:pointer}.uperm-chev:hover:not(:disabled){background:#ffffff0d;color:var(--text-primary)}.uperm-chev svg{width:14px;height:14px;transform:rotate(-90deg);transition:transform .18s}.uperm-sec.is-open .uperm-chev svg{transform:none}.uperm-chev:disabled{opacity:.25;cursor:default}.uperm-sec-name{display:flex;flex-direction:column;min-width:0}.uperm-sec-name b{font-size:13px}.uperm-sec-name small{overflow:hidden;color:var(--text-faint);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.uperm-sec-name small.is-part{color:var(--text-secondary)}.uperm-seg{display:inline-flex;padding:2px;border:1px solid var(--border-hairline);border-radius:8px;background:var(--bg-panel)}.uperm-seg button{display:grid;place-items:center;width:30px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.uperm-seg button svg{width:14px;height:14px}.uperm-seg button:hover:not(:disabled){color:var(--text-primary)}.uperm-seg button:disabled{cursor:default;opacity:.45}.uperm-seg button.is-on.is-none{background:var(--bg-panel-raised);color:var(--text-secondary)}.uperm-seg button.is-on.is-view{background:#6fa8dc24;color:#8fbfe8}.uperm-seg button.is-on.is-edit{background:var(--accent-bg);color:var(--accent)}.uperm-det{display:flex;flex-direction:column;gap:2px;padding:0 14px 12px 40px}.uperm-tg{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--border-hairline-soft);color:var(--text-secondary);font-size:12.5px}.uperm-tg:first-child{border-top:none}.uperm-tg small{display:block;color:var(--text-faint);font-size:11px}.uperm-sw{position:relative;flex:none;width:32px;height:18px;padding:0;border:1px solid var(--border-hairline);border-radius:999px;background:var(--bg-panel-raised);cursor:pointer}.uperm-sw:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-faint);transition:left .15s}.uperm-sw.is-on{border-color:#f2c14e73;background:var(--accent-bg)}.uperm-sw.is-on:after{left:16px;background:var(--accent)}.uperm-scope{display:flex;flex-direction:column;gap:6px;padding:2px 0 8px}.uperm-lbl{color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.uperm-scope-chips{display:flex;flex-wrap:wrap;gap:5px}.uperm-group{display:flex;flex-direction:column;gap:4px;padding:6px 0 8px;border-bottom:1px solid var(--border-hairline-soft)}.uperm-group .uperm-tg:first-of-type{border-top:none}.uperm-chips{display:flex;flex-wrap:wrap;gap:5px}.uperm-tg.is-disabled{opacity:.5}.uperm-sw:disabled{cursor:default}.uperm-scope{padding:8px 0;border-bottom:1px solid var(--border-hairline-soft)}.uperm-scope:last-child{border-bottom:none}.uperm-scope-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.uperm-mode{display:inline-flex;padding:2px;border:1px solid var(--border-hairline);border-radius:8px;background:var(--bg-panel)}.uperm-mode button{padding:3px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font:inherit;font-size:11.5px;cursor:pointer}.uperm-mode button.is-on{background:var(--accent-bg);color:var(--accent);font-weight:600}.uperm-scope-note{color:var(--text-faint);font-size:11.5px}.uperm-scope-tools{display:flex;align-items:center;gap:8px}.uperm-scope-search{flex:1;min-width:0;height:28px;padding:0 9px;border:1px solid var(--border-hairline);border-radius:7px;background:var(--bg-panel);color:var(--text-primary);font:inherit;font-size:12px}.uperm-scope-bulk{display:inline-flex;align-items:center;gap:3px;margin-left:auto;color:var(--text-faint);font-size:11px}.uperm-scope-bulk button{display:grid;place-items:center;width:24px;height:22px;padding:0;border:1px solid var(--border-hairline);border-radius:6px;background:var(--bg-panel);color:var(--text-dim);cursor:pointer}.uperm-scope-bulk button svg{width:12px;height:12px}.uperm-scope-bulk button:hover{color:var(--text-primary)}.uperm-scope-list{display:flex;flex-direction:column;max-height:240px;overflow-y:auto;border:1px solid var(--border-hairline-soft);border-radius:8px}.uperm-scope-empty{padding:10px;color:var(--text-faint);font-size:12px;text-align:center}.uperm-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 6px 4px 10px;border-top:1px solid var(--border-hairline-soft);font-size:12.5px}.uperm-item:first-child{border-top:none}.uperm-item-name{min-width:0;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.uperm-item.is-none .uperm-item-name{color:var(--text-faint)}.uperm-item.is-edit .uperm-item-name{color:var(--text-primary)}.uperm-seg.is-small button{width:26px;height:20px}.uperm-seg.is-small button svg{width:12px;height:12px}.uperm-rest{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;color:var(--text-faint);font-size:11.5px}.uperm-card-f{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--border-hairline-soft);background:#ffffff04;color:var(--text-faint);font-size:11.5px}.uperm-saved{display:inline-flex;align-items:center;gap:6px;color:var(--status-arrived);font-weight:700}.uperm-saved i{width:6px;height:6px;border-radius:50%;background:var(--status-arrived)}@media (min-width: 901px){.uperm.has-card .uperm-table-wrap{position:sticky;top:0}}@media (max-width: 900px){.uperm.has-card{grid-template-columns:minmax(0,1fr)}}@media (max-width: 760px){.uperm-table{min-width:0}.uperm-table thead,.uperm-table td:not(:first-child){display:none}.uperm-table td:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 8px}.uperm-mini{display:inline-flex;gap:3px}.uperm-mini i{width:8px;height:8px;border-radius:2px;background:var(--border-hairline)}.uperm-mini i.is-edit{background:var(--accent)}.uperm-mini i.is-view{background:#8fbfe8}.uperm-legend>span:nth-child(4){display:none}}@media (prefers-reduced-motion: reduce){.uperm-chev svg,.uperm-sw:after{transition:none}}:root{--veh-teal: #7fd0c4;--veh-teal-bg: rgba(127, 208, 196, .12);--veh-teal-line: rgba(127, 208, 196, .45)}.veh-muted{color:var(--text-faint);font-weight:500}.veh-state{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:800;white-space:nowrap;vertical-align:middle}.veh-state i{width:7px;height:7px;border-radius:50%;background:currentColor}.veh-state.is-ok{background:var(--status-arrived-bg, rgba(143, 220, 166, .12));color:var(--status-arrived, #8fdca6)}.veh-state.is-bad{background:var(--status-departed-bg, rgba(240, 138, 138, .13));color:var(--status-departed, #f08a8a)}.veh-plate{display:inline-flex;align-items:center;height:22px;padding:0 7px;border:1px solid var(--border-hairline);border-radius:5px;background:var(--bg-app, #14131a);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.03em;white-space:nowrap;vertical-align:middle}.veh-seg{display:inline-flex;flex:none;padding:2px;border:1px solid var(--border-hairline);border-radius:9px;background:var(--bg-app, #14131a)}.veh-seg button{height:26px;padding:0 11px;border:none;border-radius:7px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s}.veh-seg button:not(.is-on):not(:disabled):hover{color:var(--text-primary)}.veh-seg button.is-ok.is-on{background:var(--status-arrived-bg, rgba(143, 220, 166, .14));color:var(--status-arrived, #8fdca6)}.veh-seg button.is-bad.is-on{background:var(--status-departed-bg, rgba(240, 138, 138, .15));color:var(--status-departed, #f08a8a)}.veh-seg button.is-on{cursor:default}.veh-state-cell{display:inline-flex;align-items:center;gap:6px;min-width:0}.veh-state-since{flex:none;padding:2px 4px;border:none;border-radius:5px;background:transparent;color:var(--text-faint);font-family:var(--font-mono);font-size:11.5px;white-space:nowrap}button.veh-state-since{cursor:pointer}button.veh-state-since:hover,button.veh-state-since:focus-visible{background:var(--bg-hover, rgba(255, 255, 255, .06));color:var(--text-primary)}.veh-seg.is-lg button{height:32px;padding:0 16px;font-size:13px}.veh-sum{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.veh-sum .veh-state{height:20px;padding:0 7px;font-size:11px}.veh-sum-cnt,.veh-sum.is-empty{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-weight:700;white-space:nowrap}.veh-sum.is-empty{color:var(--text-faint);font-weight:600}.veh-sum svg{width:14px;height:14px;color:var(--veh-teal)}.pos-v2-depot-kind{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--veh-teal-bg);color:var(--veh-teal);font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:none;white-space:nowrap}.pos-v2-depot-kind svg{width:12px;height:12px}.pos-v2-item.is-depot .position-prefix{border-color:var(--veh-teal-line);color:var(--veh-teal)}.pos-v2-tech{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:30px;padding:3px 6px 3px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font-family:var(--font-ui);text-align:left;cursor:pointer;transition:background-color .15s,border-color .15s}.pos-v2-tech:hover,.pos-v2-tech.is-open{border-color:var(--veh-teal-line);background:var(--veh-teal-bg)}.pos-v2-tech-chev{display:inline-grid;place-items:center;color:var(--text-faint);transition:transform .18s var(--mo-ease, ease)}.pos-v2-tech-chev svg{width:13px;height:13px}.pos-v2-tech.is-open .pos-v2-tech-chev{transform:rotate(180deg);color:var(--veh-teal)}.pos-v2-item.is-depot-open{background:#7fd0c40d}.pos-v2-depot-inline{padding:8px 14px 14px 44px;background:#7fd0c409;border-top:1px solid var(--border-hairline-soft)}.pos-v2-sub.has-tech{display:flex;align-items:center;gap:6px;min-width:0}.pos-v2-sub.has-tech>:first-child{min-width:0}.pos-v2-tech.is-compact{flex:none;padding:2px 4px 2px 6px}.veh-sum.is-compact{flex-wrap:nowrap;gap:4px}.veh-dot{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}.veh-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.veh-dot.is-ok{color:var(--status-arrived, #8fdca6)}.veh-dot.is-bad{color:var(--status-departed, #f08a8a)}.pos-v2-tech-add{display:inline-flex;flex:none;align-items:center;gap:5px;height:26px;padding:0 8px;border:1px dashed transparent;border-radius:7px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer;opacity:.6;transition:opacity .15s,border-color .15s,color .15s}.pos-v2-tech-add svg{width:14px;height:14px}.pos-v2-item:hover .pos-v2-tech-add,.pos-v2-tech-add:focus-visible,.pos-v2-tech-add.is-open{opacity:1}.pos-v2-tech-add:hover,.pos-v2-tech-add.is-open{border-color:var(--veh-teal-line);color:var(--veh-teal)}@media (hover: none){.pos-v2-tech-add{opacity:.85}}.veh-depot.is-inline .veh-list{max-width:820px;border:1px solid var(--border-hairline);border-radius:10px;background:var(--bg-app, #14131a);overflow:hidden}.veh-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:44px;padding:4px 8px 4px 12px;border-top:1px solid var(--border-hairline-soft);font-size:13px}.veh-list-row:first-child{border-top:none}.veh-type{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-width:0;color:var(--text-primary);font-weight:700}.veh-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px}.veh-actions .icon-button{opacity:.75}.veh-actions .icon-button:hover{opacity:1}.veh-add-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:12px}.veh-add-btn{display:inline-flex;align-items:center;gap:6px}.veh-empty-line{padding:10px 2px;color:var(--text-faint);font-size:13px}.veh-table-wrap{display:inline-block;max-width:100%;vertical-align:top;overflow-x:auto;border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel)}.veh-table{width:auto;min-width:0;border-collapse:collapse;font-size:13px}.veh-table th,.veh-table td{white-space:nowrap}.veh-table td.veh-type{display:table-cell;min-width:140px;vertical-align:middle}.veh-table td.veh-note{min-width:120px;max-width:260px;white-space:nowrap}.veh-table th{height:36px;padding:0 12px;border-bottom:1px solid var(--border-hairline);color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase}.veh-table td{padding:8px 12px;border-top:1px solid var(--border-hairline-soft);vertical-align:middle}.veh-table tbody tr:first-child td{border-top:none}.veh-table tbody tr:hover{background:#ffffff06}.veh-since{color:var(--text-faint);font-family:var(--font-mono);font-size:12px;white-space:nowrap}.veh-note{max-width:220px;overflow:hidden;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis}.veh-actions-cell{width:1%;white-space:nowrap;text-align:right}.veh-panel{display:flex;flex-direction:column;gap:12px}.veh-panel-hint{margin:0;font-size:12.5px}.veh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;max-width:560px}.veh-stat{padding:10px 12px;border:1px solid var(--border-hairline);border-radius:10px;background:var(--bg-panel)}.veh-stat b{display:block;color:var(--text-primary);font-size:22px;font-variant-numeric:tabular-nums}.veh-stat span{color:var(--text-faint);font-size:11.5px}.veh-stat.is-ok b{color:var(--status-arrived, #8fdca6)}.veh-stat.is-bad b{color:var(--status-departed, #f08a8a)}.position-depot-badge{display:inline-flex;align-items:center;margin-left:10px;padding:2px 8px;border:1px solid var(--veh-teal-line);border-radius:999px;color:var(--veh-teal);font-size:11.5px;font-weight:700;vertical-align:middle}.cal-modal.edit-modal.veh-modal{max-width:500px}.veh-two{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.veh-number-input{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase}.veh-number-input::placeholder{text-transform:none}.veh-type-chips{margin-top:-4px}.veh-type-chips small{color:var(--text-faint);font-weight:600}.veh-when{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px}.veh-move-path{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--border-hairline);border-radius:10px;background:var(--bg-app, #14131a);color:var(--text-primary);font-size:13px;font-weight:700}.veh-move-arrow{color:var(--veh-teal)}.cal-modal.edit-modal.veh-history-modal{max-width:820px}.vht-chips{margin-bottom:10px}.vht-table{border:1px solid var(--border-hairline);border-radius:10px;overflow:hidden}.vht-row{display:grid;grid-template-columns:92px 104px minmax(0,1fr) 110px;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--border-hairline-soft);font-size:12.5px}.vht-table.has-vehicle .vht-row{grid-template-columns:92px 92px minmax(130px,170px) minmax(0,1fr) 100px}.vht-head{border-top:none;background:var(--bg-panel-raised);color:var(--text-faint);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.vht-when{color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;white-space:nowrap}.vht-tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11.5px;font-weight:700;white-space:nowrap}.vht-tag.is-add{color:var(--accent);background:#f2c14e24}.vht-tag.is-move{color:#7fb3e8;background:#7fb3e824}.vht-tag.is-in{color:#4fbf7f;background:#4fbf7f24}.vht-tag.is-out{color:#ff8a8d;background:#e5484d24}.vht-tag.is-state{color:#c9c2ba;background:#ffffff12}.vht-tag.is-edit{color:var(--accent);background:#f2c14e24}.vht-tag.is-event{color:#f7a072;background:#f7a07224}.vht-veh{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.vht-type{font-weight:700}.vht-details{min-width:0;color:var(--text-primary)}.vht-diff{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.vht-from{color:var(--text-secondary)}.vht-arrow{color:var(--text-faint)}.vht-sub{margin-top:2px;color:var(--text-faint);font-size:11.5px}.vht-who{overflow:hidden;color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap}.vht-none{padding:12px}.veh-history-modal .edit-modal-titles h3{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.veh-history-modal .edit-modal-subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.veh-history-modal .edit-modal-body{max-height:min(64vh,640px);overflow-y:auto}.veh-restore{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-hairline-soft);font-size:13px}.veh-restore{flex-direction:column;align-items:stretch}.veh-restore-title{color:var(--text-primary);font-weight:700}.veh-restore .field{margin:0}.veh-restore .btn{display:inline-flex;flex:none;align-items:center;align-self:flex-start;gap:6px}.veh-tl{display:flex;flex-direction:column}.veh-tl-item{--c: var(--text-faint);display:grid;grid-template-columns:86px 22px minmax(0,1fr);gap:8px}.veh-tl-item.is-move{--c: var(--veh-teal)}.veh-tl-item.is-ok{--c: var(--status-arrived, #8fdca6)}.veh-tl-item.is-bad{--c: var(--status-departed, #f08a8a)}.veh-tl-item.is-edit{--c: #8fbfe8}.veh-tl-item.is-add{--c: var(--accent)}.veh-tl-item.is-event{--c: #f0a868}.veh-tl-date{padding-top:2px;color:var(--text-faint);font-family:var(--font-mono);font-size:11.5px;line-height:1.35;text-align:right}.veh-tl-rail{position:relative;display:flex;justify-content:center}.veh-tl-rail:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--border-hairline)}.veh-tl-item:first-child .veh-tl-rail:before{top:8px}.veh-tl-item:last-child .veh-tl-rail:before{bottom:calc(100% - 10px)}.veh-tl-rail span{position:relative;box-sizing:border-box;width:12px;height:12px;margin-top:4px;border:2px solid var(--c);border-radius:50%;background:var(--bg-panel)}.veh-tl-body{padding-bottom:14px;color:var(--text-secondary);font-size:13px;line-height:1.5}.veh-tl-kind{color:var(--c);font-weight:800}.veh-tl-body .veh-plate{height:20px;font-size:11.5px}.veh-diff{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;margin-right:8px}.veh-diff s{color:var(--text-faint)}.veh-diff b{color:var(--text-primary)}.veh-diff-arrow{color:var(--text-faint)}.veh-tl-who{color:var(--text-faint);font-size:11.5px}.varc-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.varc-toolbar .roster-search-input{flex:1 1 240px}.varc-chips{display:flex;flex-wrap:wrap;gap:4px}.varc-chip{height:30px;padding:0 11px;border:1px solid var(--border-hairline);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}.varc-chip:hover{color:var(--text-primary)}.varc-chip.is-on{border-color:var(--accent-dim, rgba(242, 193, 78, .45));background:var(--accent-bg);color:var(--accent)}.varc-add,.veh-add-btn{display:inline-flex;flex:none;align-items:center;gap:6px;width:auto;padding:6px 12px;white-space:nowrap}.veh-add-btn svg{width:13px;height:13px}.varc-box{margin-top:12px;border:1px solid var(--border-hairline);border-radius:12px;background:var(--bg-panel);overflow:hidden}.varc-row{display:grid;grid-template-columns:minmax(120px,180px) 110px 90px minmax(140px,200px) minmax(160px,230px) 76px minmax(0,1fr);align-items:center;column-gap:12px;min-height:42px;padding:0 14px 0 36px;border-top:1px solid var(--border-hairline-soft);font-size:13px}.varc-row.is-clickable{cursor:pointer}.varc-row.is-clickable:hover{background:#ffffff06}.varc-row.is-gone{opacity:.65}.varc-head{min-height:38px;border-top:none;border-bottom:1px solid var(--border-hairline);color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.varc-type{min-width:0;overflow:hidden;color:var(--text-primary);font-weight:700;white-space:nowrap;text-overflow:ellipsis}.varc-where,.varc-last{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:12.5px;white-space:nowrap;text-overflow:ellipsis}.varc-last{color:var(--text-faint)}.varc-actions{display:inline-flex;justify-content:flex-start;gap:2px}.varc-actions .icon-button{opacity:.7}.varc-row:hover .varc-actions .icon-button,.varc-actions .icon-button:focus-visible{opacity:1}.varc-group{display:flex;align-items:center;gap:8px;min-height:36px;padding-right:10px;border-top:1px solid var(--border-hairline);background:#1f1e29}.varc-head+.varc-group{border-top:none}.varc-group-toggle{display:flex;flex:0 1 auto;align-items:center;gap:8px;min-width:0;height:36px;padding:0 14px;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:12.5px;font-weight:800;text-align:left;cursor:pointer}.varc-group-toggle small{color:var(--text-faint);font-size:12px;font-weight:600}.varc-group.is-gone .varc-group-toggle{color:var(--text-secondary)}.varc-group-hist{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--border-hairline);border-radius:7px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:700;cursor:pointer}.varc-group-hist:hover{border-color:var(--veh-teal-line);color:var(--veh-teal)}.varc-group-hist svg{width:13px;height:13px}.veh-audit-table{width:100%;max-width:620px;border-collapse:collapse;border:1px solid var(--border-hairline);border-radius:10px;background:var(--bg-app, #14131a);font-size:12.5px;overflow:hidden}.veh-audit-table th{padding:7px 10px;border-bottom:1px solid var(--border-hairline);color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase}.veh-audit-table td{padding:7px 10px;border-top:1px solid var(--border-hairline-soft)}.veh-audit-table td.is-was{color:var(--text-faint);text-decoration:line-through}.veh-audit-table td.is-now{color:var(--text-primary);font-weight:700}.veh-audit-table tr.is-same td{color:var(--text-faint)}.veh-audit-foot{margin-top:8px}.position-catm-depot{display:inline-flex;flex:none;align-items:center;gap:5px;height:26px;padding:0 7px;border:1px solid var(--border-hairline);border-radius:7px;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:11.5px;font-weight:700;cursor:pointer}.position-catm-depot svg{width:14px;height:14px}.position-catm-depot:hover{color:var(--text-primary)}.position-catm-depot.is-on{border-color:var(--veh-teal-line);background:var(--veh-teal-bg);color:var(--veh-teal)}@media (max-width: 760px){.pos-v2-depot-inline{padding:8px 8px 12px}.veh-list-row{grid-template-columns:minmax(0,1fr) auto}.veh-list-row .veh-actions{grid-column:1 / -1;justify-content:flex-start;margin-top:-4px}.veh-tl-item{grid-template-columns:62px 18px minmax(0,1fr);gap:6px}.varc-box{overflow-x:auto}.varc-row,.varc-group{min-width:760px}.veh-two{grid-template-columns:1fr}}@media (hover: none){.veh-actions .icon-button{opacity:1}}@media (prefers-reduced-motion: reduce){.pos-v2-tech-chev,.veh-seg button{transition:none}.add-type-add{animation:none}}.pos-v2-tech.is-detail{min-width:0;max-width:100%;padding:4px 6px 4px 8px;border-color:var(--border-hairline-soft)}.veh-cell-list{display:flex;flex-direction:column;gap:3px;min-width:0}.veh-cell-item{display:flex;align-items:center;gap:6px;min-width:0;font-size:12.5px;line-height:1.3;white-space:nowrap}.veh-cell-dot{flex:none;width:8px;height:8px;border-radius:50%}.veh-cell-dot.is-ok{background:var(--status-arrived, #8fdca6)}.veh-cell-dot.is-bad{background:var(--status-departed, #f08a8a)}.veh-cell-type{min-width:0;overflow:hidden;color:var(--text-primary);font-weight:700;text-overflow:ellipsis}.veh-cell-num{flex:none;padding:0 5px;border:1px solid var(--border-hairline);border-radius:4px;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;font-weight:700}.veh-depot.is-inline .veh-list-row{grid-template-columns:minmax(0,1fr) auto auto auto}.veh-since-inline{color:var(--text-faint);font-family:var(--font-mono);font-size:11.5px;white-space:nowrap}@media (max-width: 760px){.veh-depot.is-inline .veh-list-row{grid-template-columns:minmax(0,1fr) auto}.veh-depot.is-inline .veh-since-inline{grid-column:1;grid-row:2}.pos-v2-tech.is-detail{max-width:210px}}.add-type-chip .add-type-veh{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:-2px;padding:0;border:none;border-radius:5px;background:transparent;cursor:pointer}.add-type-chip .add-type-veh svg{width:13px;height:13px}.add-type-chip .add-type-veh.is-on{color:var(--veh-teal, #7fd0c4)}.add-type-chip .add-type-veh.is-off{color:var(--text-faint);opacity:.45}.add-type-chip .add-type-veh:hover{background:var(--bg-panel-raised);opacity:1}.add-type-hint{margin-top:6px;color:var(--text-faint);font-size:11.5px}@media (min-width: 761px){.parc-box.has-tech .parc-row{grid-template-columns:minmax(160px,1.2fr) minmax(150px,1fr) minmax(90px,.9fr) minmax(0,1.3fr) 80px 96px 104px}}.parc-tech{min-width:0;overflow:hidden}.pos-v2-place .position-name.pos-v2-place-name{font-weight:700}.pos-v2-group-tools{display:inline-flex;align-items:center;gap:6px;min-width:0}.pos-v2-group-tool{display:inline-flex;flex:none;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--border-hairline);border-radius:7px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.pos-v2-group-tool:hover{border-color:var(--accent, #f2c14e);background:#f2c14e14;color:var(--text-primary)}.pos-v2-group-tool svg{width:13px;height:13px}.cal-modal.edit-modal.veh-place-modal{max-width:440px}.pos-v2-place .pos-v2-name{cursor:pointer}.payroll-scroll .payroll-grid-cell.payroll-row-gone,.payroll-grid-cell.payroll-row-gone{background:linear-gradient(#f08a8a12,#f08a8a12),var(--bg-panel)}.payroll-row-gone .payroll-name-text{color:var(--text-secondary);text-decoration:line-through;text-decoration-color:#f08a8a99}.payroll-gone-tag{display:inline-flex;align-items:center;flex:none;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--status-departed-bg, rgba(240, 138, 138, .13));color:var(--status-departed, #f08a8a);font-family:var(--font-ui);font-size:10.5px;font-weight:800;white-space:nowrap}.payroll-grid-cell.payroll-cell-gone{padding:0 1px;cursor:default;-webkit-user-select:none;user-select:none}.payroll-grid-cell.payroll-cell-gone:hover{background:transparent}.payroll-tile.payroll-tile-gone{width:calc(100% - 12px);max-width:22px;height:15px;border-radius:4px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 3px,transparent 3px 6px);box-shadow:inset 0 0 0 1px #ffffff0d}.roster-removed-head td{padding:0;border-top:1px dashed var(--border-hairline)}.roster-removed-toggle{display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 12px;border:none;background:transparent;color:var(--text-faint);font-family:var(--font-ui);font-size:12px;font-weight:700;text-align:left;cursor:pointer}.roster-removed-toggle:hover{color:var(--text-primary)}.roster-removed-hint{font-weight:500}.roster-removed-row td{padding:6px 8px;border-top:1px solid var(--border-hairline-soft);color:var(--text-secondary);font-size:12.5px;opacity:.85}.roster-removed-name b{color:var(--text-secondary);text-decoration:line-through;text-decoration-color:#f08a8a99}.roster-removed-ps{color:var(--text-faint)}.roster-removed-info{white-space:normal}.roster-removed-when{display:inline-block;margin:2px 10px 2px 0;color:var(--status-departed, #f08a8a);font-size:12px;font-weight:700}.roster-removed-restore.btn{display:inline-flex;flex:none;align-items:center;gap:6px;padding:4px 10px;font-size:12px}.roster-removed-restore svg{width:13px;height:13px}.cal-modal.edit-modal.roster-remove-modal{max-width:480px}.add-chip.add-type-none:not(.is-active){border-style:dashed}.add-place-kind{margin-left:10px;color:var(--text-faint);font-size:12px;font-weight:600}@media (hover: hover) and (pointer: fine){.pos-v2-group-row .pos-v2-group-tools{opacity:0;pointer-events:none;transition:opacity .15s ease}.pos-v2-group-row:hover .pos-v2-group-tools,.pos-v2-group-tools:has(.pos-v2-group-tool:focus-visible){opacity:1;pointer-events:auto}}@media (hover: hover) and (pointer: fine){.varc-group .varc-group-hist{opacity:0;pointer-events:none;transition:opacity .15s ease}.varc-group:hover .varc-group-hist,.varc-group .varc-group-hist:focus-visible{opacity:1;pointer-events:auto}}.veh-restore{padding-bottom:18px}.veh-since-field .veh-prec-chips{margin:0 0 8px}.veh-year-input{width:140px;font-family:var(--font-mono)}.veh-since-none{padding:4px 0 2px;font-size:12.5px}.veh-month-year{grid-template-columns:minmax(0,1.3fr) 120px}.veh-month-year .veh-year-input{width:100%}.payroll-scroll .payroll-grid-header:not(.payroll-tail-first){box-shadow:0 -3px 0 0 var(--bg-panel),0 2px 0 0 var(--bg-panel)}.subunit-row.is-drag-over-after{box-shadow:inset 0 -2px 0 var(--accent)}.subunit-drop-end{height:6px;border-radius:4px;transition:height .12s ease}.subunit-popover.is-sorting .subunit-drop-end{height:22px}.subunit-drop-end.is-drag-over{box-shadow:inset 0 2px 0 var(--accent)}.pos-v2-sub .subunit-trigger{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0;max-width:170px;height:27px;padding:0 10px 0 11px;border:1px solid var(--border-hairline);border-radius:999px;background:var(--bg-panel-raised);color:var(--text-primary);font-family:var(--font-ui);font-size:12px;font-weight:600;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.pos-v2-sub .subunit-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-v2-sub .subunit-trigger:after{content:"";flex:none;width:5px;height:5px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:.55;transform:rotate(45deg);transition:transform .15s ease}.pos-v2-sub .subunit-trigger.is-open:after{margin-top:3px;transform:rotate(225deg)}.pos-v2-sub .subunit-trigger.is-empty{border-style:dashed;background:transparent;color:var(--text-faint);font-weight:500}.pos-v2-sub .subunit-trigger.is-empty .datepicker-placeholder{color:inherit;font-family:var(--font-ui)}.pos-v2-sub .subunit-trigger:hover,.pos-v2-sub .subunit-trigger.is-open{border-color:var(--accent);border-style:solid;background:var(--accent-bg);color:var(--accent)}.pos-v2-ev .pos-v2-ev-type,.pos-v2-ev .pos-v2-ev-type[class*=ev-]{color:var(--text-primary)!important}.add-type-chip.add-type-none button{display:inline-flex;align-items:center;height:100%;padding:5px 13px;line-height:1}.people-section-gone{grid-column:1 / -1;display:flex;align-items:center;gap:10px;margin:10px 0 2px;color:var(--text-faint);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.people-section-gone:after{content:"";flex:1;border-top:1px dashed var(--border-hairline)}.people-card.is-gone{flex-wrap:wrap;row-gap:5px;background:linear-gradient(#f08a8a0b,#f08a8a0b),var(--bg-panel);opacity:.86}.people-card.is-gone.is-active,.people-card.is-gone:hover{opacity:1}.people-card.is-gone .people-card-name{color:var(--text-secondary);text-decoration:line-through;text-decoration-color:#f08a8a8c}.people-card-gone-pill{flex:none;padding:2px 9px;border-radius:999px;background:var(--status-departed-bg, rgba(240, 138, 138, .13));color:var(--status-departed, #f08a8a);font-size:11px;font-weight:800;white-space:nowrap}.people-card-gone-note{flex:1 1 100%;min-width:0;overflow:hidden;color:var(--text-faint);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.person-departed-banner{display:flex;align-items:flex-start;gap:10px;margin:4px 0 14px;padding:11px 13px;border:1px solid rgba(240,138,138,.35);border-radius:10px;background:#f08a8a14;font-size:13.5px}.person-departed-banner b{color:var(--status-departed, #f08a8a)}.person-departed-sub{color:var(--text-secondary)}.person-departed-banner small{display:block;margin-top:3px;color:var(--text-secondary);font-size:12.5px}.person-departed-ico{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#f08a8a2e;color:var(--status-departed, #f08a8a);font-size:13px;font-weight:900}.roster-only-body .person-departed-banner{margin-top:0}.person-history-gone-row{position:relative;display:flex;align-items:center;gap:12px;min-height:40px;padding:8px 14px;border:1px dashed rgba(240,138,138,.4);border-radius:10px;background:#f08a8a0d;font-size:13px}.mo-timeline-dot.is-gone{background:var(--status-departed, #f08a8a);box-shadow:0 0 0 3px var(--bg-app),0 0 0 5px #f08a8a59}.phg-date{flex:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:12.5px}.phg-text{min-width:0;color:var(--status-departed, #f08a8a);font-weight:700}.phg-reason{color:var(--text-secondary);font-weight:500}.roster-only-page-facts{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 6px;color:var(--text-primary);font-size:13.5px}.roster-only-page-label{color:var(--text-faint)}.roster-only-page-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}.roster-only-page-actions .btn{display:inline-flex;flex:none;align-items:center;gap:7px}.roster-only-page-actions .btn svg{width:15px;height:15px}.veh-add-inline .add-editor.veh-modal{display:flex;flex-direction:column;gap:12px}.veh-add-inline .add-editor .field{margin:0}.veh-add-preview-line{display:flex;align-items:center;gap:6px}.person-subunit-chip{display:inline-flex;align-items:center;margin-left:10px;padding:3px 10px;border:1px solid var(--border-hairline);border-radius:999px;background:var(--bg-panel-raised);color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.02em;vertical-align:middle;white-space:nowrap}.payroll-scroll .payroll-grid{transition:grid-template-columns .28s cubic-bezier(.2,.8,.2,1)}.payroll-scroll .payroll-grid-cell.payroll-id-anim,.payroll-scroll .payroll-grid-header.payroll-id-anim{transition:opacity .2s ease .08s,left .28s cubic-bezier(.2,.8,.2,1),padding .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s!important}.payroll-scroll .payroll-grid-cell.payroll-id-anim.is-hidden,.payroll-scroll .payroll-grid-header.payroll-id-anim.is-hidden{opacity:0;visibility:hidden;padding-left:0;padding-right:0;pointer-events:none;transition:opacity .14s ease,left .28s cubic-bezier(.2,.8,.2,1),padding .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear .28s!important}@media (prefers-reduced-motion: reduce){.payroll-scroll .payroll-grid{transition:none}.payroll-scroll .payroll-grid-cell.payroll-id-anim,.payroll-scroll .payroll-grid-header.payroll-id-anim,.payroll-scroll .payroll-grid-cell.payroll-id-anim.is-hidden,.payroll-scroll .payroll-grid-header.payroll-id-anim.is-hidden{transition:none!important}}.payroll-scroll .payroll-grid-cell.payroll-sticky-first-col{z-index:4}.payroll-scroll .payroll-grid-header.payroll-sticky-first-col{z-index:12}.payroll-scroll .payroll-grid-cell.payroll-sticky-col{box-shadow:-3px 0 0 0 var(--bg-panel)}.payroll-scroll .payroll-grid-cell.payroll-sticky-col.payroll-row-gone{box-shadow:-3px 0 #292129}.payroll-scroll .payroll-grid-header.payroll-sticky-col{box-shadow:0 -3px 0 0 var(--bg-panel),0 2px 0 0 var(--bg-panel),-3px 0 0 0 var(--bg-panel)}:root{--mo-ease: cubic-bezier(.22, 1, .36, 1);--mo-ease-soft: cubic-bezier(.2, .8, .2, 1)}.mo-slider{position:absolute;left:0;top:0;pointer-events:none;opacity:0;will-change:transform,width}.mo-slider.is-visible{opacity:1}.mo-slider.is-animated{transition:transform .38s var(--mo-ease),width .38s var(--mo-ease),height .38s var(--mo-ease),opacity .2s ease}.mo-slider-pill{z-index:0;border-radius:var(--radius-md);background:var(--accent-bg)}.mo-slider-underline{z-index:1;border-radius:1px;background:var(--accent)}.topbar-nav.has-mo-slider{position:relative;isolation:isolate}.topbar-nav.has-mo-slider .topbar-link{position:relative;z-index:1}.topbar-nav.has-mo-slider .topbar-link:before{display:none}.split-pane-tabs.has-mo-slider{position:relative;isolation:isolate}.split-pane-tabs.has-mo-slider .split-pane-tab{z-index:1}.split-pane-tabs.has-mo-slider .split-pane-tab:before{display:none}.split-pane-tabs.has-mo-slider>.mo-slider-pill{border-radius:var(--radius-sm)}.tab-bar.has-mo-slider{position:relative}.tab-bar.has-mo-slider .tab-group:after,.tab-bar.has-mo-slider>.tab-button:after{display:none}.mo-tab-content{animation:mo-fade-rise .28s var(--mo-ease-soft)}@keyframes mo-fade-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes mo-fade{0%{opacity:0}to{opacity:1}}.mo-fade-in{animation:mo-fade .25s ease}.mo-stagger{animation:mo-fade-rise .42s var(--mo-ease) both;animation-delay:calc(min(var(--i, 0),14)*35ms)}tr.mo-stagger{animation:none}tr.mo-stagger>td{animation:mo-fade-rise .42s var(--mo-ease) both;animation-delay:calc(min(var(--i, 0),14)*35ms)}@keyframes mo-row-new{0%{background-color:#f2c14e47}35%{background-color:#f2c14e2e}to{background-color:transparent}}tr.mo-row-new>td{animation:mo-row-new 2.6s ease-out}tr.mo-row-leaving>td{transition:opacity .22s ease,transform .22s ease;opacity:0;transform:translate(-14px);pointer-events:none}@keyframes mo-bump{0%{transform:scale(1)}35%{transform:scale(1.28)}to{transform:scale(1)}}.mo-bump{display:inline-block;animation:mo-bump .38s var(--mo-ease)}.mo-countup{font-variant-numeric:tabular-nums}@keyframes mo-shake{0%,to{transform:translate(0)}18%{transform:translate(-7px)}36%{transform:translate(6px)}54%{transform:translate(-4px)}72%{transform:translate(3px)}88%{transform:translate(-1px)}}.mo-shake{animation:mo-shake .42s ease}@keyframes mo-error-flash{0%{box-shadow:0 0 #d8505000;border-color:var(--status-departed-border)}25%{box-shadow:0 0 0 3px #d8505047;border-color:var(--status-departed-border)}to{box-shadow:0 0 #d8505000}}.mo-error-flash{animation:mo-error-flash 1.4s ease-out}.form-error,.form-ok,.form-warning{animation:mo-fade-rise .26s var(--mo-ease-soft)}.mo-btn-success{position:relative}.mo-btn-success>.mo-btn-label{opacity:0}.mo-btn-check{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:6px;pointer-events:none;animation:mo-fade .15s ease}.mo-btn-check svg path{stroke-dasharray:16 30;stroke-dashoffset:17;animation:mo-draw .32s var(--mo-ease) .05s forwards}@keyframes mo-draw{to{stroke-dashoffset:0}}@keyframes mo-reveal{0%{opacity:0;transform:translateY(-6px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}.mo-reveal{animation:mo-reveal .38s var(--mo-ease)}@keyframes mo-slide-from-right{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes mo-slide-from-left{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.mo-slide-next{animation:mo-slide-from-right .34s var(--mo-ease)}.mo-slide-prev{animation:mo-slide-from-left .34s var(--mo-ease)}.mo-slide-switch .dashboard-section-pane{animation:none}@keyframes mo-cell-pop{0%{transform:scale(.82)}60%{transform:scale(1.08)}to{transform:scale(1)}}.mo-cell-pop{animation:mo-cell-pop .3s var(--mo-ease)}.mo-lock{display:inline-flex;align-items:center;gap:5px;margin-left:10px;padding:2px 8px;border-radius:999px;background:var(--bg-panel-raised);color:var(--text-faint);font-size:11.5px;font-weight:600;vertical-align:middle;animation:mo-fade-rise .3s var(--mo-ease)}.mo-lock svg{width:11px;height:11px}.mo-lock svg .mo-lock-shackle{transform-origin:11px 9px;animation:mo-lock-close .5s var(--mo-ease) .1s both}@keyframes mo-lock-close{0%{transform:translateY(-2.5px)}to{transform:none}}.mo-timeline-rows{position:relative;display:flex;flex-direction:column;gap:6px;padding-left:20px}.mo-timeline-rows:before{content:"";position:absolute;left:5px;top:14px;bottom:14px;width:2px;border-radius:1px;background:var(--border-hairline);transform-origin:top;animation:mo-line-draw .7s var(--mo-ease) both}@keyframes mo-line-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.mo-timeline-head{margin-left:20px}.mo-timeline-rows>.person-history-row{position:relative}.mo-timeline-dot{position:absolute;left:-21px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--text-dim);box-shadow:0 0 0 3px var(--bg-app);animation:mo-dot-pop .36s var(--mo-ease) both;animation-delay:calc(min(var(--i, 0),14)*35ms + 80ms)}.mo-timeline-dot.is-arrived{background:var(--status-arrived)}.mo-timeline-dot.is-departed{background:var(--status-departed)}@keyframes mo-dot-pop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}.mo-toast-stack{position:fixed;z-index:2000;top:62px;left:50%;display:flex;flex-direction:column;align-items:center;width:max-content;max-width:min(520px,calc(100vw - 32px));transform:translate(-50%);pointer-events:none}.mo-toast-slot{display:grid;grid-template-rows:1fr;animation:mo-slot-open .3s var(--mo-ease)}.mo-toast-slot.is-leaving{grid-template-rows:0fr;transition:grid-template-rows .26s ease .06s}.mo-toast-slot-inner{min-height:0;padding-bottom:8px;display:flex;justify-content:center}@keyframes mo-slot-open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}.mo-toast-action{position:relative;z-index:1;flex:none;margin:-4px -8px -4px 4px;height:28px;padding:0 12px;border:none;border-radius:999px;background:transparent;color:var(--accent);font-family:var(--font-ui);font-size:13px;font-weight:700;cursor:pointer;pointer-events:auto}.mo-toast-action:hover{background:var(--accent-bg)}.mo-copied-toast.has-action{cursor:default}.mo-skeleton{animation:mo-fade .3s ease .12s both}.mo-skeleton-bar{display:block;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--bg-panel-raised) 0%,rgba(255,255,255,.07) 40%,var(--bg-panel-raised) 80%);background-size:300% 100%;animation:mo-shimmer 1.5s ease-in-out infinite}.mo-skeleton-bar.is-head{height:8px;opacity:.6}.mo-skeleton-bar.is-big{height:22px}@keyframes mo-shimmer{0%{background-position:100% 0}to{background-position:-50% 0}}.mo-skeleton-table{display:flex;flex-direction:column;border-top:1px solid var(--border-hairline)}.mo-skeleton-row{display:flex;align-items:center;gap:18px;padding:13px 4px;border-bottom:1px solid var(--border-hairline-soft)}.mo-skeleton-row>.mo-skeleton-bar{flex:1;max-width:260px}.mo-skeleton-row>.mo-skeleton-bar:first-child{flex:none}.mo-skeleton-row.is-head{padding:10px 4px}.mo-skeleton-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.mo-skeleton-card{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--border-hairline);border-radius:var(--radius-lg);background:var(--bg-panel)}.mo-skeleton-text{display:flex;flex-direction:column;gap:10px;padding:6px 0}@media (prefers-reduced-motion: reduce){.mo-slider.is-animated{transition:none}.mo-tab-content,.mo-fade-in,.mo-stagger,tr.mo-stagger>td,tr.mo-row-new>td,.mo-bump,.mo-shake,.mo-error-flash,.form-error,.form-ok,.form-warning,.mo-btn-check,.mo-reveal,.mo-slide-next,.mo-slide-prev,.mo-cell-pop,.mo-lock,.mo-lock svg .mo-lock-shackle,.mo-timeline-dot,.mo-timeline-rows:before,.mo-skeleton,.mo-skeleton-bar{animation:none}.mo-btn-check svg path{animation:none;stroke-dashoffset:0}tr.mo-row-leaving>td{transition:none}}.mo-copied{position:fixed;z-index:2000;transform:translate(-50%,-100%);pointer-events:none}.mo-copied-right{transform:translateY(-50%)}.mo-copied-right .mo-copied-inner{transform-origin:0 50%}.mo-copied-inner{position:relative;display:flex;align-items:center;gap:9px;overflow:hidden;padding:8px 16px 8px 9px;border:1px solid rgba(242,193,78,.45);border-radius:999px;background:#1e1c26;box-shadow:0 12px 30px #00000080,0 0 0 4px #f2c14e0f;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:600;white-space:nowrap;transform-origin:50% 100%;animation:mo-copied-in .42s cubic-bezier(.34,1.56,.64,1)}.mo-copied-toast{pointer-events:auto;cursor:pointer}.mo-copied-toast .mo-copied-inner{transform-origin:50% 0;animation-name:mo-copied-in-top}.mo-copied-toast.is-leaving .mo-copied-inner{animation:mo-copied-out .22s ease forwards}@keyframes mo-copied-in-top{0%{opacity:0;transform:translateY(-10px) scale(.6)}to{opacity:1;transform:none}}.mo-copied-toast .mo-copied-inner{max-width:min(520px,calc(100vw - 32px));border-radius:22px;white-space:normal;line-height:1.4}.mo-copied-badge.is-warn{background:var(--accent)}.mo-copied-badge.is-error{background:var(--status-departed);color:#2a0f0f}.mo-copied-badge.is-error:before{border-color:var(--status-departed)}.mo-note-error .mo-copied-inner{border-color:#f0a0a073;box-shadow:0 12px 30px #00000080,0 0 0 4px #d8505014}.mo-copied-inner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.13) 50%,transparent 70%);transform:translate(-120%);pointer-events:none;animation:mo-copied-shine .9s ease .18s forwards}.mo-copied-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--accent-ink);animation:mo-copied-badge .46s cubic-bezier(.34,1.56,.64,1) .05s both}.mo-copied-badge:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:mo-copied-ring .7s ease-out .18s}.mo-copied-badge path{stroke-dasharray:16 30;stroke-dashoffset:17;animation:mo-draw .3s var(--mo-ease) .22s forwards}.mo-copied-text{animation:mo-copied-text .36s var(--mo-ease) .08s both}.mo-copied.is-closing .mo-copied-inner{animation:mo-copied-out .26s ease forwards}@keyframes mo-copied-in{0%{opacity:0;transform:translateY(8px) scale(.6)}to{opacity:1;transform:none}}@keyframes mo-copied-out{to{opacity:0;transform:translateY(-10px) scale(.92)}}@keyframes mo-copied-badge{0%{transform:scale(0) rotate(-45deg)}to{transform:none}}@keyframes mo-copied-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}@keyframes mo-copied-text{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@keyframes mo-copied-shine{to{transform:translate(120%)}}@media (prefers-reduced-motion: reduce){.mo-copied-inner,.mo-copied-inner:after,.mo-copied-badge,.mo-copied-badge:before,.mo-copied-text,.mo-toast-slot,.mo-copied.is-closing .mo-copied-inner,.mo-copied-toast .mo-copied-inner,.mo-copied-toast.is-leaving .mo-copied-inner{animation:none}.mo-toast-slot.is-leaving{transition:none}.mo-copied-badge path{animation:none;stroke-dashoffset:0}.mo-copied.is-closing{display:none}}.mo-selbar{position:fixed;z-index:1500;left:50%;bottom:24px;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 8px;border:1px solid rgba(242,193,78,.45);border-radius:999px;background:#1e1c26;box-shadow:0 16px 38px #0000008c,0 0 0 4px #f2c14e0f;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:600;white-space:nowrap;transform:translate(-50%);animation:mo-selbar-in .38s cubic-bezier(.34,1.56,.64,1)}.mo-selbar.is-closing{animation:mo-selbar-out .22s ease forwards}@keyframes mo-selbar-in{0%{opacity:0;transform:translate(-50%,18px) scale(.85)}to{opacity:1;transform:translate(-50%)}}@keyframes mo-selbar-out{to{opacity:0;transform:translate(-50%,14px) scale(.92)}}.mo-selbar-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:800;font-variant-numeric:tabular-nums}.mo-selbar-label{color:var(--text-secondary)}.mo-selbar-divider{width:1px;height:18px;background:var(--border-hairline)}.mo-selbar-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border:none;border-radius:999px;background:var(--bg-panel-raised);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:600;cursor:pointer}.mo-selbar-btn.is-danger{color:var(--status-departed)}.mo-selbar-btn.is-danger:hover{background:var(--status-departed-bg)}.mo-selbar-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:transparent;color:var(--text-faint);cursor:pointer}.mo-selbar-close:hover{background:var(--bg-panel-raised);color:var(--text-primary)}@media (prefers-reduced-motion: reduce){.mo-selbar,.mo-selbar.is-closing{animation:none}}.mo-issues{position:relative;margin:4px 0 20px;padding:14px 14px 12px;border:1px solid rgba(242,193,78,.28);border-radius:var(--radius-lg);background:linear-gradient(180deg,#f2c14e0d,#f2c14e00 70px),var(--bg-panel);box-shadow:0 10px 28px #00000040;font-family:var(--font-ui);animation:mo-reveal .38s var(--mo-ease)}.mo-issues.is-closing{animation:mo-issues-out .24s ease forwards}@keyframes mo-issues-out{to{opacity:0;transform:translateY(-6px)}}.mo-issues-head{display:flex;align-items:center;gap:12px;padding:0 2px 12px}.mo-issues-head .mo-copied-badge{width:28px;height:28px}.mo-issues-head .mo-copied-badge svg{width:15px;height:15px}.mo-issues-titles{flex:1;min-width:0}.mo-issues-title{color:var(--text-primary);font-size:15px;font-weight:700}.mo-issues-sub{margin-top:2px;color:var(--text-faint);font-size:12px}.mo-issues-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border:none;border-radius:50%;background:transparent;color:var(--text-faint);cursor:pointer}.mo-issues-close:hover{background:var(--bg-panel-raised);color:var(--text-primary)}.mo-issues-close svg{width:15px;height:15px}.mo-issues-list{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto}.mo-issues-person{padding:10px 12px;border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-app)}.mo-issues-person-head{display:flex;align-items:center;gap:10px}.mo-issues-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--accent-bg);color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.02em}.mo-issues-person-name{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}.mo-issues-rank{color:var(--text-faint);font-size:11.5px}.mo-issues-fullname{color:var(--text-primary);font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mo-issues-open{display:inline-flex;align-items:center;gap:6px;flex:none;height:28px;padding:0 12px;border:1px solid var(--border-hairline);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer}.mo-issues-open:hover{border-color:var(--accent-dim);background:var(--accent-bg);color:var(--accent)}.mo-issues-open svg{width:14px;height:14px}.mo-issues-items{display:flex;flex-direction:column;gap:6px;margin:10px 0 0;padding:0 0 0 40px;list-style:none}.mo-issues-item{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;color:var(--text-secondary);font-size:12.5px;line-height:1.5}.mo-issues-chip{flex:none;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.mo-issues-chip.is-warn{background:var(--accent-bg);color:var(--accent)}.mo-issues-chip.is-error{background:var(--status-departed-bg);color:var(--status-departed)}.mo-issues-when{flex:none;color:var(--text-faint);font-family:var(--font-mono);font-size:12px;white-space:nowrap}.mo-issues-text b{color:var(--text-primary);font-weight:600}@media (prefers-reduced-motion: reduce){.mo-issues,.mo-issues.is-closing{animation:none}}.rot-logic{margin:10px 0;padding:10px 12px;border:1px solid rgba(242,193,78,.3);border-radius:var(--radius-md);background:#f2c14e0f;font-family:var(--font-ui)}.rot-logic-head{display:flex;align-items:center;gap:10px;color:var(--text-primary);font-size:13px;font-weight:700}.rot-logic-list{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding:0 0 0 30px;list-style:none}.rot-logic-list li{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;color:var(--text-secondary);font-size:12.5px;line-height:1.5}.rot-logic-text b{color:var(--text-primary);font-weight:600}.rot-logic-note{margin:8px 0 0 30px;color:var(--text-faint);font-size:11.5px}.rot-logic.is-saved{border-color:#f2c14e73;background:#f2c14e17}.rot-logic-title{flex:1;min-width:0}.rot-logic-close{flex:none;width:24px;height:24px;display:grid;place-items:center;border:none;border-radius:6px;background:transparent;color:var(--text-faint);font-size:18px;line-height:1;cursor:pointer}.rot-logic-close:hover{background:var(--bg-hover, rgba(255, 255, 255, .06));color:var(--text-primary)}.rot-logic-btn{flex:none;width:26px;height:26px;display:inline-grid;place-items:center;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-faint);cursor:pointer;transition:background-color .15s,color .15s,opacity .15s}.rot-logic-btn:hover{background:var(--bg-hover, rgba(255, 255, 255, .06));color:var(--text-primary)}.rot-logic-btn.is-copied,.rot-logic-btn.is-copied:hover{color:var(--status-arrived, #8fdca6)}.cal-modal.cmdk-modal{max-width:620px;padding:0;overflow:hidden;display:flex;flex-direction:column}.cmdk-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.cmdk-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-hairline);color:var(--text-faint)}.cmdk-input-row>svg{flex:none;width:18px;height:18px}.cmdk-input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:15px}.cmdk-input::placeholder{color:var(--text-dim)}.cmdk-spinner{flex:none;width:14px;height:14px;border:2px solid var(--border-hairline);border-top-color:var(--accent);border-radius:50%;animation:cmdk-spin .7s linear infinite}@keyframes cmdk-spin{to{transform:rotate(360deg)}}.cmdk-list{max-height:min(56vh,460px);overflow-y:auto;padding:6px 8px 8px}.cmdk-group{padding-top:6px}.cmdk-group-title{padding:6px 10px 4px;color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.cmdk-item{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:6px 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:13.5px;text-align:left;cursor:pointer}.cmdk-item.is-active{background:var(--accent-bg);color:var(--text-primary)}.cmdk-item-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:7px;background:var(--bg-panel-raised);color:var(--text-faint)}.cmdk-item.is-active .cmdk-item-icon{color:var(--accent)}.cmdk-item-icon svg{width:14px;height:14px}.cmdk-prefix{color:var(--accent);font-size:9.5px;font-weight:800}.cmdk-item-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.cmdk-item-pre{flex:none;margin-right:-4px;color:var(--text-secondary);font-size:12.5px;white-space:nowrap}.cmdk-item-post{flex:none;margin-left:-4px;color:var(--accent);font-size:12.5px;font-weight:600;white-space:nowrap}.cmdk-item-sub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint);font-size:12px}.cmdk-item-hint{margin-left:auto}.cmdk-empty{padding:22px 10px;color:var(--text-faint);font-size:13px;text-align:center}.cmdk-foot{display:flex;gap:16px;padding:9px 16px;border-top:1px solid var(--border-hairline);color:var(--text-faint);font-size:11.5px}.cal-modal.hotkeys-modal{max-width:560px}.hotkeys-groups{display:flex;flex-direction:column;gap:10px}.hotkeys-row{display:flex;align-items:center;gap:12px;padding:5px 10px;border-radius:var(--radius-sm);font-size:13px}.hotkeys-row:hover{background:var(--bg-panel-raised)}.hotkeys-keys{display:inline-flex;align-items:center;gap:4px;flex:none;min-width:96px}.hotkeys-plus{color:var(--text-dim);font-size:11px}.hotkeys-text{color:var(--text-secondary)}@media (prefers-reduced-motion: reduce){.cmdk-spinner{animation-duration:2s}}.mo-roll{display:inline-grid;overflow:hidden;vertical-align:bottom;line-height:inherit}.mo-roll>span{grid-area:1 / 1}.mo-roll-in.is-up{animation:mo-roll-in-up .32s var(--mo-ease)}.mo-roll-in.is-down{animation:mo-roll-in-down .32s var(--mo-ease)}.mo-roll-out.is-up{animation:mo-roll-out-up .32s var(--mo-ease) forwards}.mo-roll-out.is-down{animation:mo-roll-out-down .32s var(--mo-ease) forwards}@keyframes mo-roll-in-up{0%{transform:translateY(100%);opacity:0}}@keyframes mo-roll-in-down{0%{transform:translateY(-100%);opacity:0}}@keyframes mo-roll-out-up{to{transform:translateY(-100%);opacity:0}}@keyframes mo-roll-out-down{to{transform:translateY(100%);opacity:0}}@keyframes mo-remote-flash{0%{background-color:#78aaff3d;box-shadow:inset 3px 0 #8cb9ffe6}60%{background-color:#78aaff1f}to{background-color:transparent;box-shadow:inset 3px 0 #8cb9ff00}}tr.mo-row-remote>td:first-child{animation:mo-remote-flash 2.2s ease-out}tr.mo-row-remote>td{animation:mo-remote-cell 2.2s ease-out}@keyframes mo-remote-cell{0%{background-color:#78aaff33}to{background-color:transparent}}.mo-flash-remote{animation:mo-remote-cell 2.2s ease-out}.payroll-cell.mo-cell-remote{animation:mo-remote-cell-strong 2s ease-out}@keyframes mo-remote-cell-strong{0%{box-shadow:inset 0 0 0 2px #8cb9fff2;background-color:#78aaff40}to{box-shadow:inset 0 0 0 2px #8cb9ff00}}.mo-tooltip{position:fixed;z-index:3000;max-width:300px;padding:6px 10px;border:1px solid var(--border-hairline);border-radius:8px;background:#24222e;box-shadow:0 10px 26px #00000080;color:var(--text-primary);font-family:var(--font-ui);font-size:12px;font-weight:500;line-height:1.45;white-space:pre-line;pointer-events:none;opacity:0}.mo-tooltip.is-shown{animation:mo-tip-in .16s ease forwards}.mo-tooltip.is-above{--mo-tip-from: 4px}.mo-tooltip.is-below{--mo-tip-from: -4px}@keyframes mo-tip-in{0%{opacity:0;transform:translateY(var(--mo-tip-from, -4px)) scale(.97)}to{opacity:1;transform:none}}:where(button:not(:disabled)):active{scale:.96}.cal-check:active{scale:none}.mo-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 16px 44px;text-align:center;animation:mo-fade-rise .4s var(--mo-ease)}.mo-empty.is-compact{padding:22px 12px 24px}.mo-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:8px;border-radius:50%;background:var(--bg-panel-raised);color:var(--text-faint);box-shadow:0 0 0 8px #ffffff05}.mo-empty.is-compact .mo-empty-icon{width:46px;height:46px}.mo-empty-accent .mo-empty-icon{background:var(--accent-bg);color:var(--accent)}.mo-empty-ok .mo-empty-icon{background:var(--status-arrived-bg);color:var(--status-arrived)}.mo-empty-title{color:var(--text-primary);font-family:var(--font-ui);font-size:15px;font-weight:700}.mo-empty-text{max-width:420px;color:var(--text-faint);font-family:var(--font-ui);font-size:13px;line-height:1.5}.mo-empty-action{margin-top:10px;height:32px;padding:0 16px;border:1px solid rgba(242,193,78,.45);border-radius:999px;background:var(--accent-bg);color:var(--accent);font-family:var(--font-ui);font-size:13px;font-weight:700;cursor:pointer}.mo-empty-action:hover{background:#f2c14e38}.mo-collapse{display:grid;grid-template-rows:1fr;animation:mo-collapse-open .26s var(--mo-ease)}.mo-collapse.is-closing{grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s ease,opacity .2s ease}.mo-collapse-inner{min-height:0;overflow:hidden}.mo-collapse.is-settled>.mo-collapse-inner{overflow:visible}@keyframes mo-collapse-open{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}.topbar-title .mo-sync{margin-left:4px;vertical-align:middle}.mo-sync{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border-radius:50%;cursor:default}.mo-sync:hover{background:var(--bg-panel-raised)}.mo-sync-dot{position:relative;width:9px;height:9px;border-radius:50%;background:var(--status-arrived);box-shadow:0 0 0 3px var(--status-arrived-bg);transition:background-color .3s ease,box-shadow .3s ease}.mo-sync-busy .mo-sync-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.mo-sync-busy .mo-sync-dot:after,.mo-sync-error .mo-sync-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid currentColor;animation:mo-sync-pulse 1.1s ease-out infinite}.mo-sync-busy .mo-sync-dot:after{color:var(--accent)}.mo-sync-error .mo-sync-dot{background:var(--status-departed);box-shadow:0 0 0 3px var(--status-departed-bg)}.mo-sync-error .mo-sync-dot:after{color:var(--status-departed);animation-duration:1.6s}@keyframes mo-sync-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion: reduce){.mo-roll-in,.mo-roll-out,tr.mo-row-remote>td,tr.mo-row-remote>td:first-child,.mo-flash-remote,.payroll-cell.mo-cell-remote,.mo-tooltip.is-shown,.mo-empty,.mo-collapse,.mo-sync-busy .mo-sync-dot:after,.mo-sync-error .mo-sync-dot:after{animation:none}.mo-tooltip.is-shown{opacity:1}.mo-roll-out{display:none}.mo-collapse.is-closing{transition:none}:where(button:not(:disabled)):active{scale:none}}.admin-grid-expanded-collapse{grid-column:1 / -1}.admin-grid-expanded-collapse .admin-grid-expanded{animation:none}.cal-unsaved{position:absolute;left:50%;bottom:28px;z-index:2;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 24px);padding:10px 10px 10px 16px;border:1px solid rgba(242,193,78,.45);border-radius:14px;background:var(--bg-panel-raised);box-shadow:0 18px 50px #0009;color:var(--text-secondary);font-family:var(--font-ui);font-size:13px;transform:translate(-50%);animation:cal-unsaved-in .22s cubic-bezier(.2,.9,.3,1.2)}.cal-unsaved b{color:var(--text-primary)}.cal-unsaved-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #f2c14e2e}.cal-unsaved-actions{display:flex;gap:6px}.cal-unsaved-btn{padding:7px 12px;border:1px solid var(--border-hairline);border-radius:8px;background:var(--bg-panel);color:var(--text-primary);font-family:var(--font-ui);font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer}.cal-unsaved-btn:hover{border-color:var(--text-faint)}.cal-unsaved-btn.is-danger{color:#f0a0a0}.cal-unsaved-btn.is-danger:hover{border-color:#b84343;background:#d850501f}.cal-unsaved-btn.is-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}@keyframes cal-unsaved-in{0%{opacity:0;transform:translate(-50%,14px) scale(.96)}}.cal-modal.is-nudged{animation:cal-modal-nudge .36s ease}@keyframes cal-modal-nudge{0%,to{transform:none}25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@media (max-width: 560px){.cal-unsaved{left:12px;right:12px;bottom:16px;flex-wrap:wrap;width:auto;transform:none;animation-name:cal-unsaved-in-mobile}.cal-unsaved-text{flex:1}.cal-unsaved-actions{width:100%}.cal-unsaved-btn{flex:1;padding:10px 8px}}@keyframes cal-unsaved-in-mobile{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion: reduce){.cal-unsaved,.cal-modal.is-nudged{animation:none}}.mo-collapse.no-appear{animation:none}.mo-collapse:not(.is-closing){transition:grid-template-rows .26s var(--mo-ease),opacity .2s ease}tr.mo-tr-out{opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease}tr.mo-tr-in{animation:mo-tr-in .32s var(--mo-ease) both;animation-delay:calc(var(--mo-i, 0) * 16ms)}@keyframes mo-tr-in{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){tr.mo-tr-in{animation:none}tr.mo-tr-out{transition:none}.mo-collapse:not(.is-closing){transition:none}}.mo-selbar-selectall{max-width:280px;min-width:0}.mo-selbar-selectall svg{flex:none}.mo-selbar-selectall-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mnav{position:fixed;left:0;right:0;bottom:0;z-index:800;display:grid;grid-template-columns:repeat(var(--mnav-count, 8),minmax(0,1fr));padding:8px 8px calc(10px + env(safe-area-inset-bottom));background:#1a1922f0;border-top:1px solid var(--border-hairline);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.mnav-item{display:flex;align-items:center;justify-content:center;min-width:0;height:58px;padding:0;border:none;border-radius:14px;background:transparent;color:var(--text-faint);cursor:pointer;-webkit-tap-highlight-color:transparent}.mnav-icon{display:grid;place-items:center;width:100%;max-width:62px;height:44px;border-radius:14px;transition:background-color .2s ease,color .2s ease,transform .15s ease}.mnav-icon svg{width:26px;height:26px}.mnav-item:active .mnav-icon{transform:scale(.92)}.mnav-item.is-active{color:var(--accent)}.mnav-item.is-active .mnav-icon{background:var(--accent-bg)}@keyframes msheet-up{0%{transform:translateY(100%)}}@keyframes msheet-down{to{transform:translateY(100%)}}@media (max-width: 760px){html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%}.dashboard{height:100dvh}.topbar{gap:10px;height:50px;padding:0 14px;padding-top:env(safe-area-inset-top);box-sizing:content-box}.topbar-nav,.topbar-split-switcher{display:none!important}.topbar-disconnect-group{display:flex;gap:10px;margin-left:auto;padding-left:0;border-left:none}.topbar-disconnect{width:40px;height:40px;border-radius:12px}.topbar-disconnect svg{width:20px;height:20px}html:has(.dashboard.is-mobile),html:has(.dashboard.is-mobile) body{height:100%;overflow:hidden;overscroll-behavior:none}.dashboard-panes,.dashboard-panes.direction-columns,.dashboard-panes.direction-rows{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.dashboard-panes>.dashboard-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.dashboard-content{padding:16px 14px calc(92px + env(safe-area-inset-bottom));scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}.screen-title{font-size:19px;margin-bottom:14px}input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important}.icon-button{min-width:36px;min-height:36px}.btn{min-height:40px}.mo-tooltip{display:none!important}.home-header-row{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.home-header-titles{flex-wrap:wrap;gap:2px 10px}.home-header-titles .screen-title{font-size:24px}.home-header-actions{display:grid;gap:6px}.home-header-btn{flex-direction:column;justify-content:center;gap:4px;padding:10px 4px;font-size:11.5px;white-space:normal;text-align:center}.home-columns{grid-template-columns:minmax(0,1fr);gap:22px}.home-column{padding-left:0;border-left:none}.tab-bar{flex-wrap:nowrap;gap:2px;overflow:visible}.tab-bar>.tab-group,.tab-bar>.tab-button{flex:1 1 0;min-width:0;justify-content:center}.tab-group{gap:2px;padding:0 0 2px}.tab-group>.tab-button{flex:1 1 auto;min-width:0;justify-content:center}.tab-button{gap:5px;padding:12px 4px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-bar .tab-button>svg{display:none}.tab-bar>.tab-button:after{left:6px;right:6px}.tab-add-button{width:26px;height:26px}.tab-badge{flex:none}.filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field-filter{flex:none;min-width:0}.filter-actions{grid-column:1 / -1}.filter-actions .btn{flex:1;width:auto}.roster-search-row,.form-card{max-width:none}.login-actions{flex-wrap:wrap}.data-table:not(.roster-main-table){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.position-list-item{flex-wrap:wrap;padding-right:76px}.position-drag-handle{display:none}.position-list-button{flex:1 1 auto;height:46px;padding:0 10px}.position-list-item .position-divider{display:none}.position-list-item>.subunit-trigger,.position-list-item>.subunit-menu,.position-list-item>:has(>.subunit-trigger){order:9;margin:0 0 8px 10px}.position-note-input{flex:1 1 0;order:10;margin:0 10px 8px 6px;min-width:0;height:32px}.position-list-item:after{content:"";order:8;flex-basis:100%}.position-spacer{display:none}.roster-v2-head .roster-v2-search{flex:1 1 100%;width:100%;margin-left:0}.roster-v2,.roster-v2 tbody{display:block;width:100%}.roster-v2 thead,.roster-v2 colgroup{display:none}.roster-v2-group-row,.roster-v2-group-row td{display:block}.roster-v2-group-row td{height:auto;padding:6px 10px 6px 6px}.roster-v2-sort-label{display:none}.roster-v2-row{display:grid;grid-template-columns:34px auto minmax(0,1fr) auto;grid-template-areas:"check rank person actions" "check psevdo psevdo actions" "check placed placed actions";align-items:center;column-gap:6px;row-gap:4px;padding:10px 8px 10px 4px;border-top:1px solid var(--border-hairline-soft)}.roster-v2-row td{display:block;height:auto;padding:0!important;border:none!important;min-width:0}.roster-v2-row td.roster-drag-cell{display:none}.roster-v2-row td.roster-check-cell{grid-area:check}.roster-v2-person{grid-area:person}.roster-v2-person .roster-v2-psevdo.is-empty{display:none}.roster-v2-rank-cell{grid-area:rank}.roster-v2-psevdo-cell{grid-area:psevdo}.roster-v2-psevdo-cell .roster-v2-psevdo.is-empty{display:none}.roster-v2-placed-cell{grid-area:placed}.roster-v2-placed{white-space:normal}.roster-v2-placed.is-empty{display:none}.roster-v2-row td.roster-v2-actions{grid-area:actions;display:grid;grid-template-columns:repeat(2,auto);align-content:center;gap:4px}.roster-v2-actions .icon-button{margin-left:0;opacity:1}.roster-v2-row.drag-over-before{border-top:2px solid var(--accent)}.payroll-header-3col{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title month" "search search";row-gap:10px;padding-right:0!important}.payroll-header-3col .payroll-title-row{grid-area:title;align-items:center}.payroll-header-3col .payroll-title-row .screen-title{margin:0;font-size:17px;line-height:1.15}.payroll-header-3col .payroll-month-switch{grid-area:month}.payroll-header-3col .payroll-search-input{grid-area:search;justify-self:stretch;width:100%}.payroll-month-label{min-width:108px;font-size:13px}.payroll-col-loose{position:static!important}.payroll-grid-header.payroll-col-loose{position:sticky!important;left:auto!important}.payroll-screen-root .admin-log-scroll{max-height:calc(100dvh - 250px);margin:0 -14px;padding:0;border-left:0;border-right:0}.payroll-grid{font-size:12px}.payroll-grid-header,.payroll-grid-cell{padding:6px 5px}.admin-header .payroll-title-row{flex-wrap:wrap}.admin-header .payroll-title-row .screen-title{flex:1 1 100%;margin-bottom:4px}.admin-log-scroll{max-height:none}.cal-modal-backdrop{align-items:flex-end;padding:0}.cal-modal{max-width:none!important;width:100%;max-height:92dvh;border-radius:18px 18px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom));animation-name:msheet-up}.cal-modal.edit-modal,.cal-modal.backups-modal{padding-bottom:env(safe-area-inset-bottom)}.cal-modal-backdrop.is-closing .cal-modal{animation:msheet-down .18s ease forwards}.edit-modal-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-modal-grid-3>:first-child{grid-column:1 / -1}.edit-modal-person .edit-modal-grid-3>:first-child{grid-column:auto}.edit-modal-person .edit-modal-grid-3,.edit-modal-grid-2{grid-template-columns:minmax(0,1fr)}.edit-modal-chips{flex-wrap:nowrap;overflow-x:auto;margin-left:-18px;margin-right:-18px;padding:2px 18px 4px;scrollbar-width:none}.edit-modal-chips::-webkit-scrollbar{display:none}.edit-modal-chip{flex:none;padding:7px 12px}.mo-toast-stack{top:calc(56px + env(safe-area-inset-top));max-width:calc(100vw - 20px)}.mo-selbar{bottom:calc(76px + env(safe-area-inset-bottom))!important;gap:6px;max-width:calc(100vw - 16px);padding:5px 5px 5px 6px}.mo-selbar-label,.mo-selbar-selectall-text{display:none}.mo-selbar-btn{flex:0 1 auto;min-width:0;padding:0 10px;overflow:hidden;font-size:12.5px;text-overflow:ellipsis}.mo-selbar-count,.mo-selbar-close{flex:none}.rotation-group-header{align-items:flex-start;gap:10px}.rotation-group-icon{display:none}.rotation-group-title{flex:1 1 auto;min-width:0;line-height:1.35}.rotation-group-body{padding:0 14px 10px 18px}.rotation-row-header{display:none!important}.rotation-row{grid-template-columns:22px auto auto auto minmax(0,1fr);grid-template-areas:"num status name name name" "num status rank psevdo unit";column-gap:8px;row-gap:3px;padding:10px 0}.rotation-row>:nth-child(1){grid-area:num;align-self:start}.rotation-row>:nth-child(2){grid-area:status;align-self:start;display:flex;align-items:center;min-height:20px}.rotation-row>:nth-child(3){grid-area:rank;color:var(--text-faint);font-size:12px}.rotation-row>:nth-child(4){grid-area:name;min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.rotation-row>:nth-child(5){grid-area:psevdo;color:var(--text-secondary);font-size:12px}.rotation-row>:nth-child(6){grid-area:unit;min-width:0;overflow:hidden;color:var(--text-faint);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.rotation-row>:nth-child(5):not(.text-faint):before,.rotation-row>:nth-child(6):not(.text-faint):before{content:"· ";color:var(--text-dim)}.rotation-row>.text-faint:nth-child(n+3){visibility:hidden}.person-history-row-header{display:none!important}.person-history-row:not(.person-history-row-header){grid-template-columns:auto auto auto minmax(0,1fr) auto;grid-template-areas:"status date time . actions" "status pos pos pos actions";column-gap:10px;row-gap:4px;padding:10px 10px 10px 12px}.person-history-row>:nth-child(2){display:none}.person-history-row>:nth-child(3){grid-area:date}.person-history-row>:nth-child(4){grid-area:time;color:var(--text-secondary)}.person-history-row>:nth-child(5){grid-area:status;align-self:center;justify-self:start}.person-history-row>:nth-child(6){grid-area:pos;min-width:0;overflow:hidden;font-family:var(--font-ui);text-overflow:ellipsis;white-space:nowrap}.person-history-row>.person-history-battery{display:none}.person-history-battery.is-inline{display:inline}.person-history-row>.person-history-row-actions{grid-area:actions;align-self:center}.mo-timeline-head{display:none!important}.back-link{font-size:14px}.people-cards{grid-template-columns:minmax(0,1fr)}.people-card{flex-wrap:wrap;row-gap:6px}.people-card-name{flex:1 1 100%;order:-1;white-space:normal}.people-search-hint{display:none}.admin-v2-layout{grid-template-columns:minmax(0,1fr)}.admin-v2-side{position:static;order:-1}.admin-v2-search{flex:1 1 100%;width:100%;margin-left:0}.admin-v2-period{margin-left:0}.admin-feed-row{flex-wrap:wrap;row-gap:6px}.admin-feed-text{flex:1 1 calc(100% - 100px)}.admin-feed-actions{margin-left:auto}.admin-feed .admin-grid-expanded{margin:0 10px 10px}.add-grid{grid-template-columns:minmax(0,1fr)}.add-preview{position:static;min-height:0}.add-textarea{min-height:220px}.add-center-hint,.add-kbd{display:none}.add-save-btn{flex:1}.tab-bar .tab-add-button{display:none}.tab-bar>.tab-group-add{flex:0 0 auto}.tab-bar .tab-button-add>svg{display:inline-block;width:18px;height:18px}.tab-button-add{padding:12px}.tab-add-label{display:none}.pos-v2-search{flex:1 1 100%;width:100%;margin-left:0}.pos-v2-th{display:none}.pos-v2-item{grid-template-columns:auto minmax(0,1fr) auto 40px;grid-template-areas:"name name actions check" "ev ev ev ev" "sub note note note";row-gap:4px;padding:6px 4px 8px}.pos-v2-item .pos-v2-drag{display:none}.pos-v2-item .pos-v2-name{grid-area:name;height:40px}.pos-v2-item .pos-v2-ev{grid-area:ev;padding-left:8px}.pos-v2-item .pos-v2-ev:before{content:"Події: ";color:var(--text-faint)}.pos-v2-card.no-events .pos-v2-item{grid-template-areas:"name name actions check" "sub note note note"}.pos-v2-card.has-tech .pos-v2-item{grid-template-areas:"name tech actions check" "ev ev ev ev" "sub note note note"}.pos-v2-card.has-tech.no-events .pos-v2-item{grid-template-areas:"name tech actions check" "sub note note note"}.pos-v2-item .pos-v2-techcell{grid-area:tech;justify-content:flex-end}.pos-v2-tech-th{display:none}.pos-v2-item .pos-v2-sub{grid-area:sub;padding-left:6px}.pos-v2-item .pos-v2-note{grid-area:note;height:34px}.pos-v2-item .pos-v2-actions{grid-area:actions}.pos-v2-item .pos-v2-check{grid-area:check}.cal-modal.add-modal{width:100%;max-height:94dvh}.add-modal-keys{display:none}.add-modal-head .cal-icon-btn{margin-left:auto}.add-modal-body{padding:12px 12px calc(16px + env(safe-area-inset-bottom))}.add-modal .add-textarea{min-height:200px}}@media (max-width: 760px){.evl-filters{gap:6px 10px}.evl-sep{display:none}.evl-search.roster-search-input{width:100%;margin-left:0}.evl-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"time type actions" "pos pos actions" "note note note";row-gap:3px;padding:8px 12px}.evl-time{grid-area:time}.evl-type{grid-area:type}.evl-pos{grid-area:pos}.evl-note{grid-area:note;white-space:normal}.evl-actions{grid-area:actions;align-self:start}.parc-head{display:none}.parc-row{grid-template-columns:minmax(0,1fr) auto auto;row-gap:3px;padding:8px 12px}.parc-row>:nth-child(1){grid-column:1;grid-row:1}.parc-row>:nth-child(4){grid-column:2;grid-row:1}.parc-row>:nth-child(6){grid-column:3;grid-row:1}.parc-row>:nth-child(2),.parc-row>:nth-child(3),.parc-row>:nth-child(5){grid-column:1 / -1;font-size:12px}.parc-row>:nth-child(5):empty{display:none}.parc-row>.is-empty{display:none}.parc-date:before{content:"видалено ";font-family:var(--font-ui)}.parc-box.has-tech .parc-row>:nth-child(4),.parc-box.has-tech .parc-row>:nth-child(6){grid-column:1 / -1;grid-row:auto;font-size:12px}.parc-box.has-tech .parc-row>:nth-child(5){grid-column:2;grid-row:1;font-size:inherit}.parc-box.has-tech .parc-row>:nth-child(7){grid-column:3;grid-row:1}.parc-box.has-tech .parc-row>:nth-child(6):empty{display:none}}@media (max-width: 760px){.evl-row.evl-row-nopos{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"time type actions" "note note note"}}@media (max-width: 760px){.home-occ-cols{grid-template-columns:1fr}}@media (max-width: 760px){.pcp-head{display:none}.pcp-row{grid-template-columns:auto minmax(0,1fr);row-gap:3px;padding:8px 12px}.pcp-num{display:none}.pcp-row>:nth-child(2){grid-column:1;grid-row:1}.pcp-name{grid-column:2;grid-row:1}.pcp-row>:nth-child(4){grid-column:1 / -1}.pcp-row>:nth-child(5){display:none}.pcp-row{grid-template-columns:auto minmax(0,1fr) auto}.pcp-actions{grid-column:3;grid-row:1}.pcp-when{grid-column:1 / -1;font-size:12px}}@keyframes cmdk-drop-in{0%{transform:translateY(-100%)}}@keyframes cmdk-drop-out{to{transform:translateY(-100%)}}@media (max-width: 760px){.cal-modal-backdrop.cmdk-backdrop{align-items:flex-start}.cal-modal-backdrop.cmdk-backdrop .cal-modal.cmdk-modal{max-height:62dvh;border-radius:0 0 18px 18px;padding-top:env(safe-area-inset-top);padding-bottom:0;animation-name:cmdk-drop-in}.cal-modal-backdrop.cmdk-backdrop.is-closing .cal-modal.cmdk-modal{animation:cmdk-drop-out .18s ease forwards}}@media (max-width: 760px){.rotation-group-title{gap:6px}.rotation-group-when{flex:1 1 100%}.rotation-chip{padding:2px 9px;font-size:12px}.rotation-day-head{margin-left:2px;margin-right:2px}}@media (max-width: 760px){.rre-hint{display:none}.rre-foot .btn{flex:1 1 0}.rre-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"status name" "status meta";row-gap:3px}.rre-row>:nth-child(1){align-self:start}.rre-meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.rre-row .rre-rank,.rre-row .rre-psevdo{grid-area:auto;font-size:12px}}@media (max-width: 760px){.gen-grid{grid-template-columns:minmax(0,1fr)}.gen-step-h{flex-wrap:wrap}.gen-step-h small{flex:1 1 100%;margin-left:0;text-align:left}.gen-position{flex:1 1 100%}.gen-time{margin-left:0}.gen-sg{grid-template-columns:minmax(0,1fr) auto}.gen-sg-meta{grid-column:1 / -1}}@media (max-width: 760px){.roster-removed-head,.roster-removed-head td{display:block;width:100%}.roster-removed-toggle{flex-wrap:wrap;height:auto;min-height:36px;padding:8px 10px;row-gap:2px}.roster-removed-hint{flex-basis:100%;padding-left:22px;font-size:11.5px}.roster-removed-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"rank name" "ps ps" "info info";align-items:center;column-gap:8px;row-gap:4px;padding:10px 10px 10px 12px;border-top:1px solid var(--border-hairline-soft)}.roster-removed-row td{display:block;padding:0!important;border:none!important;min-width:0}.roster-removed-row td:empty{display:none}.roster-removed-rank{grid-area:rank}.roster-removed-name{grid-area:name}.roster-removed-ps{grid-area:ps}.roster-removed-ps.is-empty{display:none!important}.roster-removed-info{grid-area:info;display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 10px}.roster-removed-when{margin:0}}@media (max-width: 760px){.pos-v2-group-row.has-tools{flex-wrap:wrap;height:auto;min-height:38px;row-gap:4px;padding-bottom:8px}.pos-v2-group-row.has-tools .pos-v2-group-tools{order:3;flex-basis:100%;padding-left:28px}.pos-v2-group-tool{height:30px;padding:0 9px}.pos-v2-group-tool svg{width:15px;height:15px}}@media (max-width: 760px){.pos-v2-place .pos-v2-ev{display:none}}@media (max-width: 760px){.person-history-gone-row{flex-wrap:wrap;row-gap:2px;padding:9px 12px}.phg-text{flex:1 1 100%}}@media (max-width: 760px){.subunit-row .subunit-option.subunit-rename-input{padding-top:6px;padding-bottom:6px}}@media (max-width: 760px){.vht-head{display:none!important}.vht-row,.vht-table.has-vehicle .vht-row{grid-template-columns:auto auto minmax(0,1fr);gap:4px 8px}.vht-row>.vht-veh,.vht-row>.vht-details{grid-column:1 / -1}.vht-row>.vht-who{grid-column:3;grid-row:1;text-align:right}}
