@import "https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--blue-500:#3d7ffb;--blue-600:#2e6be6;--blue-400:#5e9aff;--blue-100:#e8f0fe;--ink-900:#171c26;--ink-600:#5a6472;--ink-400:#8b94a3;--green-500:#34c77b;--amber-500:#ffb020;--red-500:#f5533d;--cyan-500:#2fd3e0;--tag-blue:#3d8bfd;--tag-orange:#ff7a45;--tag-lime:#d7f651;--tag-purple:#9b8afb;--tag-cyan:#2fd3e0;--tag-yellow:#ffd660;--tag-red:#ff5c33;--col-indigo:#5e6499;--col-sage:#5f7a62;--col-slate:#6a6e88;--col-teal:#4e7887;--col-periwinkle:#5c6ca8;--bg-app:#f2f3f6;--bg-sunken:#e9ebef;--surface-card:#fff;--surface-inset:#f5f6f8;--surface-overlay:#fff;--border-subtle:#e7e9ee;--border-strong:#d5d9e2;--text-1:#171c26;--text-2:#5a6472;--text-3:#8b94a3;--text-invert:#fff;--accent:#3d7ffb;--accent-hover:#2e6be6;--accent-soft:#e8f0fe;--on-accent:#fff;--ok:#1fa968;--ok-soft:#e3f7ed;--warn:#b77400;--warn-soft:#fff3da;--danger:#de3d28;--danger-soft:#fdeae6;--info:#0fa8b5;--info-soft:#e0f9fb;--focus-ring:#3d7ffb59;--stat-dark-bg:#171c26;--stat-dark-text:#f2f5fa;--stat-dark-muted:#f2f5faa6}[data-theme=dark]{--bg-app:#10151f;--bg-sunken:#0b0f17;--surface-card:#1a2130;--surface-inset:#141a26;--surface-overlay:#202839;--border-subtle:#ffffff14;--border-strong:#ffffff26;--text-1:#f2f5fa;--text-2:#9aa5b5;--text-3:#66707f;--text-invert:#171c26;--accent:#3d8bfd;--accent-hover:#5e9aff;--accent-soft:#3d8bfd29;--on-accent:#fff;--ok:#3fd68b;--ok-soft:#34c77b29;--warn:#ffc148;--warn-soft:#ffb02029;--danger:#ff6b54;--danger-soft:#f5533d29;--info:#4adee9;--info-soft:#2fd3e029;--focus-ring:#3d8bfd73;--stat-dark-bg:#0b0f17;--stat-dark-text:#f2f5fa;--stat-dark-muted:#f2f5faa6}:root{--font-ui:"Instrument Sans", -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--fs-num-xl:38px;--lh-num-xl:1.05;--fs-num-lg:26px;--lh-num-lg:1.1;--fs-h1:22px;--lh-h1:1.2;--fs-h2:17px;--lh-h2:1.25;--fs-h3:14px;--lh-h3:1.3;--fs-body:13px;--lh-body:1.45;--fs-caption:12px;--lh-caption:1.35;--fs-micro:11px;--lh-micro:1.3;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--track-tight:-.02em;--track-caps:.04em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:48px;--sp-10:64px;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:999px;--control-h-sm:28px;--control-h-md:36px;--control-h-lg:44px;--sidebar-w:76px;--panel-gap:16px;--shadow-card:0 1px 2px #171c260a, 0 4px 16px #171c260f;--shadow-pop:0 8px 32px #171c2629;--shadow-accent:0 4px 14px #3d7ffb59;--blur-glass:20px;--ease-out:cubic-bezier(.2, .8, .3, 1);--dur-fast:.12s;--dur-med:.22s;--divider-dotted:1px dotted var(--border-strong)}[data-theme=dark]{--shadow-card:0 1px 2px #0000004d, 0 8px 24px #00000040;--shadow-pop:0 12px 40px #00000080;--shadow-accent:0 4px 16px #3d8bfd66}body{font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-1);background:var(--bg-app);-webkit-font-smoothing:antialiased;margin:0}*{box-sizing:border-box}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-soft)}h1,h2,h3,h4,p{margin:0}button{font-family:inherit}.ops-btn{font-family:var(--font-ui);font-weight:var(--fw-semibold);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;display:inline-flex}.ops-btn:active:not(:disabled){transform:scale(.98)}.ops-btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.ops-btn:disabled{opacity:.45;cursor:not-allowed}.ops-btn--primary{background:var(--accent);color:var(--on-accent)}.ops-btn--primary:hover:not(:disabled){background:var(--accent-hover)}.ops-btn--secondary{background:var(--surface-card);color:var(--text-1);border-color:var(--border-strong)}.ops-btn--secondary:hover:not(:disabled){background:var(--surface-inset);border-color:var(--text-3)}.ops-btn--ghost{color:var(--text-2);background:0 0}.ops-btn--ghost:hover:not(:disabled){background:var(--surface-inset);color:var(--text-1)}.ops-btn--danger{background:var(--danger);color:#fff}.ops-btn--danger:hover:not(:disabled){filter:brightness(1.08)}.ops-btn--sm{height:var(--control-h-sm);font-size:var(--fs-caption);padding:0 12px}.ops-btn--md{height:var(--control-h-md);font-size:var(--fs-body);padding:0 16px}.ops-btn--lg{height:var(--control-h-lg);font-size:var(--fs-h3);padding:0 22px}.ops-ibtn{border-radius:var(--r-full);border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-2);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex;position:relative}.ops-ibtn:hover:not(:disabled){color:var(--text-1);border-color:var(--border-strong);background:var(--surface-inset)}.ops-ibtn:active:not(:disabled){transform:scale(.94)}.ops-ibtn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.ops-ibtn:disabled{opacity:.45;cursor:not-allowed}.ops-ibtn--active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ops-ibtn--active:hover:not(:disabled){background:var(--accent-hover);color:#fff;border-color:var(--accent-hover)}.ops-ibtn--ghost{background:0 0;border-color:#0000}.ops-ibtn--ghost.ops-ibtn--active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ops-ibtn--ghost.ops-ibtn--active:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.ops-ibtn--sm{width:var(--control-h-sm);height:var(--control-h-sm)}.ops-ibtn--md{width:var(--control-h-md);height:var(--control-h-md)}.ops-ibtn--lg{width:var(--control-h-lg);height:var(--control-h-lg)}.ops-ibtn-dot{background:var(--accent);border:2px solid var(--surface-card);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.ops-field{font-family:var(--font-ui);flex-direction:column;gap:6px;display:flex}.ops-field-label{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--text-2)}.ops-input-wrap{height:var(--control-h-md);background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-3);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);align-items:center;gap:8px;padding:0 12px;display:flex}.ops-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);background:var(--surface-card)}.ops-input-wrap input,.ops-input-wrap textarea{font:inherit;font-size:var(--fs-body);color:var(--text-1);background:0 0;border:0;outline:0;flex:1;min-width:0}.ops-input-wrap input::placeholder,.ops-input-wrap textarea::placeholder{color:var(--text-3)}.ops-input-wrap--pill{border-radius:var(--r-full)}.ops-input-err{border-color:var(--danger)!important}.ops-field-hint{font-size:var(--fs-micro);color:var(--text-3)}.ops-field-hint--err{color:var(--danger)}.ops-select-wrap{height:var(--control-h-md);background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--r-sm);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);align-items:center;display:flex;position:relative}.ops-select-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.ops-select-wrap select{appearance:none;font:inherit;font-size:var(--fs-body);color:var(--text-1);cursor:pointer;background:0 0;border:0;outline:0;width:100%;height:100%;padding:0 30px 0 12px}.ops-select-wrap select option{color:#171c26;background:#fff}.ops-select-chev{pointer-events:none;color:var(--text-3);display:flex;position:absolute;right:10px}.ops-select-lead{align-items:center;margin-left:12px;display:flex}.ops-check{cursor:pointer;font-family:var(--font-ui);font-size:var(--fs-body);color:var(--text-1);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex;position:relative}.ops-check input{opacity:0;width:0;height:0;position:absolute}.ops-check-box{border-radius:var(--r-xs);border:1.5px solid var(--border-strong);background:var(--surface-card);color:#fff;width:18px;height:18px;transition:all var(--dur-fast) var(--ease-out);flex:none;justify-content:center;align-items:center;display:inline-flex}.ops-check-box svg{opacity:0;transition:all var(--dur-fast) var(--ease-out);transform:scale(.6)}.ops-check input:checked+.ops-check-box{background:var(--accent);border-color:var(--accent)}.ops-check input:checked+.ops-check-box svg{opacity:1;transform:scale(1)}.ops-check input:focus-visible+.ops-check-box{box-shadow:0 0 0 3px var(--focus-ring)}.ops-check--done{color:var(--text-3);text-decoration:line-through}.ops-check--disabled{opacity:.45;cursor:not-allowed}.ops-radio{cursor:pointer;font-family:var(--font-ui);font-size:var(--fs-body);color:var(--text-1);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex;position:relative}.ops-radio input{opacity:0;width:0;height:0;position:absolute}.ops-radio-dot{border:1.5px solid var(--border-strong);background:var(--surface-card);width:18px;height:18px;transition:all var(--dur-fast) var(--ease-out);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ops-radio-dot:after{content:"";background:var(--on-accent);width:8px;height:8px;transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;transform:scale(0)}.ops-radio input:checked+.ops-radio-dot{background:var(--accent);border-color:var(--accent)}.ops-radio input:checked+.ops-radio-dot:after{transform:scale(1)}.ops-radio input:focus-visible+.ops-radio-dot{box-shadow:0 0 0 3px var(--focus-ring)}.ops-radio--disabled{opacity:.45;cursor:not-allowed}.ops-switch{cursor:pointer;font-family:var(--font-ui);font-size:var(--fs-body);color:var(--text-1);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex;position:relative}.ops-switch input{opacity:0;width:0;height:0;position:absolute}.ops-switch-track{border-radius:var(--r-full);background:var(--border-strong);width:36px;height:21px;transition:background var(--dur-med) var(--ease-out);flex:none;position:relative}.ops-switch-track:after{content:"";width:16px;height:16px;transition:transform var(--dur-med) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2.5px;left:2.5px;box-shadow:0 1px 3px #00000040}.ops-switch input:checked+.ops-switch-track{background:var(--accent)}.ops-switch input:checked+.ops-switch-track:after{transform:translate(15px)}.ops-switch input:focus-visible+.ops-switch-track{box-shadow:0 0 0 3px var(--focus-ring)}.ops-switch--disabled{opacity:.45;cursor:not-allowed}.ops-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-md);box-shadow:var(--shadow-card);font-family:var(--font-ui);color:var(--text-1)}.ops-card--panel{border-radius:var(--r-lg)}.ops-card--inset{background:var(--surface-inset);box-shadow:none}.ops-card--glass{-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));box-shadow:none;background:#ffffff0d}.ops-card--interactive{cursor:pointer;transition:border-color var(--dur-fast), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast)}.ops-card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-pop)}.ops-card--interactive:active{transform:scale(.99)}.ops-card-head{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 0;display:flex}.ops-card-title{font-size:var(--fs-h2);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight);margin:0}.ops-card-actions{align-items:center;gap:6px;display:flex}.ops-card-body{padding:14px 16px}.ops-stat{background:var(--surface-card);color:var(--text-1);border:1px solid var(--border-subtle);border-radius:var(--r-md);box-shadow:var(--shadow-card);font-family:var(--font-ui);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.ops-stat--dark{background:var(--stat-dark-bg);color:var(--stat-dark-text)}.ops-stat-label{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--text-2)}.ops-stat--dark .ops-stat-label,.ops-stat--dark .ops-stat-caption{color:var(--stat-dark-muted)}.ops-stat-row{align-items:baseline;gap:8px;display:flex}.ops-stat-value{font-size:var(--fs-num-xl);line-height:var(--lh-num-xl);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight)}.ops-stat-delta{font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.ops-stat-caption{font-size:var(--fs-caption);color:var(--text-2)}.ops-badge{border-radius:var(--r-full);height:22px;font-family:var(--font-ui);font-size:var(--fs-micro);font-weight:var(--fw-semibold);white-space:nowrap;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.ops-badge-dot{background:currentColor;border-radius:99px;width:6px;height:6px}.ops-tag{border-radius:var(--r-xs);border:1px solid var(--border-strong);height:22px;color:var(--text-2);font-family:var(--font-ui);font-size:var(--fs-micro);font-weight:var(--fw-medium);white-space:nowrap;background:0 0;align-items:center;padding:0 8px;display:inline-flex}.ops-tag--filled{background:var(--surface-inset);border-color:#0000}.ops-tag--colored{border-color:color-mix(in srgb, currentColor 45%, transparent)}.ops-avatar{object-fit:cover;font-family:var(--font-ui);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.ops-avatar-group{align-items:center;display:inline-flex}.ops-avatar-group .ops-avatar{border:2px solid var(--surface-card)}.ops-avatar-extra{font-family:var(--font-ui);font-size:var(--fs-caption);color:var(--text-2);white-space:nowrap;margin-left:6px;font-weight:500}.ops-progress-track{background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:999px;overflow:hidden}.ops-progress-fill{height:100%;transition:width var(--dur-med) var(--ease-out);border-radius:999px}.ops-progress-meta{font-size:var(--fs-caption);color:var(--text-2);justify-content:space-between;margin-top:6px;display:flex}.ops-progress-meta b{color:var(--text-1)}.ops-table{border-collapse:collapse;width:100%;font-size:var(--fs-body);color:var(--text-1)}.ops-table th{text-align:left;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--text-3);border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:12px 14px 8px;font-weight:600}.ops-table td{border-bottom:1px solid var(--border-subtle);padding:10px 14px}.ops-table tr:last-child td{border-bottom:0}.ops-table--selectable tbody tr{cursor:pointer}.ops-table--selectable tbody tr:hover{background:var(--surface-inset)}.ops-table tr.ops-row--selected,.ops-table--selectable tbody tr.ops-row--selected:hover{background:var(--accent-soft)}.ops-table-sub{font-size:var(--fs-micro);color:var(--text-3);display:block}.ops-table-mono{font-family:var(--font-mono)}.ops-empty{color:var(--text-3);text-align:center;font-family:var(--font-ui);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 16px;display:flex}.ops-empty b{color:var(--text-2);font-size:var(--fs-h3);font-weight:var(--fw-semibold)}.ops-empty p{font-size:var(--fs-caption);max-width:320px;margin:0}.ops-divider{border:0;border-top:var(--divider-dotted);margin:0}.ops-rail{width:var(--sidebar-w);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-full);min-height:420px;font-family:var(--font-ui);flex-direction:column;align-items:center;gap:10px;padding:14px 0;display:flex}.ops-rail-spacer{flex:1}.ops-tabs{background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--r-full);font-family:var(--font-ui);gap:2px;padding:3px;display:inline-flex}.ops-tab{color:var(--text-2);font:inherit;font-size:var(--fs-caption);font-weight:var(--fw-medium);border-radius:var(--r-full);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:6px 14px}.ops-tab:hover{color:var(--text-1)}.ops-tab--on{background:var(--surface-card);color:var(--text-1);font-weight:var(--fw-semibold);box-shadow:var(--shadow-card)}.ops-tabs--underline{border:0;border-bottom:1px solid var(--border-subtle);background:0 0;border-radius:0;gap:18px;padding:0}.ops-tabs--underline .ops-tab{border-radius:0;padding:8px 2px 10px;position:relative}.ops-tabs--underline .ops-tab--on{box-shadow:none;background:0 0}.ops-tabs--underline .ops-tab--on:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.ops-dialog-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;animation:ops-fade var(--dur-med) var(--ease-out);background:#0b0f1780;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ops-dialog{background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);min-width:380px;max-width:560px;max-height:calc(100vh - 48px);font-family:var(--font-ui);color:var(--text-1);animation:ops-pop var(--dur-med) var(--ease-out);overflow:auto}.ops-dialog-head{justify-content:space-between;align-items:center;padding:18px 20px 0;display:flex}.ops-dialog-title{font-size:var(--fs-h2);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight);margin:0}.ops-dialog-x{color:var(--text-3);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:0;padding:4px;display:flex}.ops-dialog-x:hover{color:var(--text-1);background:var(--surface-inset)}.ops-dialog-body{border-top:var(--divider-dotted);margin-top:14px;padding:14px 20px}.ops-dialog-foot{border-top:var(--divider-dotted);justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}@keyframes ops-fade{0%{opacity:0}}@keyframes ops-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.ops-toaster{z-index:200;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.ops-toast{background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--r-md);box-shadow:var(--shadow-pop);font-family:var(--font-ui);font-size:var(--fs-body);color:var(--text-1);min-width:260px;max-width:380px;animation:ops-toast-in var(--dur-med) var(--ease-out);align-items:center;gap:10px;padding:11px 14px;display:flex}.ops-toast-bar{border-radius:2px;flex:none;align-self:stretch;width:3px}.ops-toast b{font-weight:var(--fw-semibold)}.ops-toast small{color:var(--text-2);font-size:var(--fs-caption);display:block}@keyframes ops-toast-in{0%{opacity:0;transform:translateY(6px)}}.ops-tip-wrap{display:inline-flex;position:relative}.ops-tip{color:#f2f5fa;font-family:var(--font-ui);font-size:var(--fs-micro);font-weight:var(--fw-medium);border-radius:var(--r-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);z-index:50;background:#171c26;padding:5px 9px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(2px)}.ops-tip:after{content:"";border:4px solid #0000;border-top-color:#171c26;position:absolute;top:100%;left:50%;transform:translate(-50%)}.ops-tip-wrap:hover .ops-tip,.ops-tip-wrap:focus-within .ops-tip{opacity:1;transform:translate(-50%)translateY(0)}.ops-skeleton{background:var(--surface-inset);border-radius:var(--r-sm);position:relative;overflow:hidden}.ops-skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--text-3) 12%, transparent), transparent);animation:ops-shimmer 1.4s var(--ease-out) infinite;position:absolute;inset:0;transform:translate(-100%)}.ops-skeleton--text{border-radius:6px;height:12px}.ops-skeleton--circle{border-radius:50%}@keyframes ops-shimmer{to{transform:translate(100%)}}.ops-spinner{border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:.7s linear infinite ops-spin;display:inline-block}@keyframes ops-spin{to{transform:rotate(360deg)}}.ops-task{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-sm);font-family:var(--font-ui);color:var(--text-1);cursor:pointer;transition:border-color var(--dur-fast), transform var(--dur-fast) var(--ease-out);flex-direction:column;gap:8px;padding:11px 12px;display:flex}.ops-task:hover{border-color:var(--border-strong)}.ops-task:active{transform:scale(.99)}.ops-task--dragging{opacity:.4}.ops-task-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ops-task-title{font-size:var(--fs-h3);font-weight:var(--fw-semibold);margin:0}.ops-task-sub{font-size:var(--fs-caption);color:var(--text-2);display:block}.ops-task-date{font-size:var(--fs-micro);color:var(--text-3);white-space:nowrap}.ops-task-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ops-task-due{font-size:var(--fs-micro);font-weight:var(--fw-semibold);margin-left:auto}.ops-task-foot{border-top:var(--divider-dotted);font-size:var(--fs-micro);color:var(--text-3);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.ops-task-foot-right{align-items:center;gap:8px;display:flex}.ops-board{grid-template-columns:repeat(5,1fr);align-items:start;gap:14px;display:grid}.ops-col{min-width:220px;font-family:var(--font-ui);flex-direction:column;gap:10px;display:flex}.ops-col-head{border-radius:var(--r-sm);color:#fff;padding:9px 12px}.ops-col-head b{font-size:var(--fs-h3);font-weight:var(--fw-semibold);display:block}.ops-col-head span{font-size:var(--fs-micro);opacity:.85}.ops-col-add{color:var(--text-3);font:inherit;font-size:var(--fs-caption);font-weight:var(--fw-medium);border-radius:var(--r-sm);cursor:pointer;transition:all var(--dur-fast);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:8px;display:flex}.ops-col-add:hover{background:var(--surface-inset);color:var(--text-1)}.ops-col--over .ops-col-drop{border-color:var(--accent);background:var(--accent-soft)}.ops-col-drop{border-radius:var(--r-sm);min-height:40px;transition:border-color var(--dur-fast), background var(--dur-fast);border:1.5px dashed #0000;flex-direction:column;gap:10px;display:flex}.ops-event{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-md);font-family:var(--font-ui);color:var(--text-1);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.ops-event-tick{border-radius:2px;height:4px;margin-bottom:2px}.ops-event-title{font-size:var(--fs-h2);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight);margin:0}.ops-event-sub{font-size:var(--fs-caption);color:var(--text-2);margin:0}.ops-event-row{font-size:var(--fs-caption);color:var(--text-2);border-top:var(--divider-dotted);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.ops-event-time{align-items:center;gap:6px;display:flex}.ops-event-dur{font-weight:var(--fw-medium)}.ops-cal-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.ops-cal-dow{font-size:var(--fs-caption);color:var(--text-3);padding:0 4px 4px}.ops-day{border:1px solid var(--border-subtle);border-radius:var(--r-sm);background:var(--surface-card);min-height:86px;font-family:var(--font-ui);color:var(--text-1);cursor:pointer;transition:border-color var(--dur-fast);text-align:left;flex-direction:column;gap:6px;padding:8px 10px;display:flex;overflow:hidden}.ops-day:hover{border-color:var(--border-strong)}.ops-day-num{font-size:var(--fs-h3);font-weight:var(--fw-semibold)}.ops-day--muted{opacity:.45}.ops-day--today{background:linear-gradient(160deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 55%, var(--surface-card)) 100%);border-color:var(--accent);color:#fff}.ops-day--selected{border:1.5px dashed var(--accent)}.ops-day-ev{font-size:var(--fs-micro);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;display:flex;overflow:hidden}.ops-day--today .ops-day-ev{color:#ffffffe6}.ops-day-ev i{border-radius:2px;flex:none;width:3px;height:10px}.ops-gantt{grid-template-columns:260px 1fr;gap:0;display:grid;position:relative}.ops-gantt-dates{border-bottom:1px solid var(--border-subtle);padding-bottom:6px;display:grid}.ops-gantt-date{text-align:center;font-size:var(--fs-micro);color:var(--text-3)}.ops-gantt-date b{border-radius:99px;justify-content:center;align-items:center;width:20px;height:20px;font-weight:400;display:inline-flex}.ops-gantt-date--today b{background:var(--accent);color:#fff;font-weight:600}.ops-gantt-date span{opacity:.7;display:block}.ops-gantt-group{grid-column:1/-1;align-items:center;gap:10px;padding:14px 0 8px;display:flex}.ops-gantt-group b{font-size:var(--fs-h3);font-weight:var(--fw-semibold);color:var(--text-1)}.ops-gantt-label{font-size:var(--fs-body);color:var(--text-2);border-top:var(--divider-dotted);white-space:nowrap;text-overflow:ellipsis;padding:7px 12px 7px 14px;overflow:hidden}.ops-gantt-row{border-top:var(--divider-dotted);align-items:center;min-height:34px;display:grid;position:relative}.ops-gantt-today-line{background:var(--accent);opacity:.5;width:1px;position:absolute;top:0;bottom:0}.ops-gantt-bar{cursor:pointer;border:0;border-radius:99px;height:16px;padding:0;position:relative;overflow:hidden}.ops-gantt-bar:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.ops-gantt-bar-fill{border-radius:99px;position:absolute;inset:0}.ops-shell{background:var(--bg-app);gap:20px;min-height:100vh;padding:20px;display:flex;position:relative}.ops-shell-rail{flex:none;height:calc(100vh - 40px);min-height:480px;position:sticky;top:20px}.ops-shell-rail .ops-rail{height:100%}.ops-shell-main{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.ops-header{align-items:center;gap:16px;display:flex}.ops-header-copy{flex:1;min-width:0}.ops-header-title{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight);color:var(--text-1);margin:0}.ops-header-sub{font-size:var(--fs-body);color:var(--text-2);margin:4px 0 0}.ops-header .ops-field{width:280px}.ops-boot{background:var(--bg-app);min-height:100vh;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.ops-notif-anchor{display:inline-flex;position:relative}.ops-notif-pop{z-index:80;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--r-md);width:340px;box-shadow:var(--shadow-pop);flex-direction:column;gap:8px;max-height:420px;padding:10px;display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:auto}.ops-notif-head{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.ops-notif-head b{font-size:var(--fs-h3);font-weight:var(--fw-semibold);color:var(--text-1)}.ops-notif-pop .ops-toast{box-shadow:none;min-width:0;animation:none}.ops-notif-unread{opacity:1}.ops-notif-read{opacity:.55}.ops-page{flex-direction:column;gap:16px;display:flex}.ops-grid{align-items:start;gap:16px;display:grid}.ops-grid--dash{grid-template-columns:1.1fr 1fr 1fr}.ops-grid--stats{grid-template-columns:repeat(4,1fr);align-items:stretch}.ops-grid--split{grid-template-columns:1.5fr 1fr}.ops-grid--team{grid-template-columns:1.6fr 1fr}.ops-grid--calendar{grid-template-columns:1fr 320px}.ops-grid--reports{grid-template-columns:1.4fr 1fr 1fr}.ops-stack{flex-direction:column;gap:16px;display:flex}.ops-row{align-items:center;gap:10px;display:flex}.ops-flex-1{flex:1;min-width:0}@media (width<=1180px){.ops-grid--dash,.ops-grid--reports{grid-template-columns:1fr 1fr}.ops-grid--stats{grid-template-columns:repeat(2,1fr)}.ops-board{grid-template-columns:repeat(3,minmax(220px,1fr));overflow-x:auto}}@media (width<=860px){.ops-grid--dash,.ops-grid--split,.ops-grid--team,.ops-grid--calendar,.ops-grid--reports{grid-template-columns:1fr}.ops-shell{flex-direction:column}.ops-shell-rail{height:auto;min-height:0;position:static}.ops-shell-rail .ops-rail{flex-direction:row;width:100%;min-height:0;padding:8px 14px}.ops-rail-spacer{display:none}}.ops-sso{background:var(--bg-app);min-height:100vh;color:var(--text-1);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.ops-sso-card{flex-direction:column;align-items:center;gap:14px;max-width:420px;display:flex}.ops-sso-card h1{font-size:var(--fs-h1);letter-spacing:var(--track-tight)}.ops-sso-card p{color:var(--text-2);font-size:var(--fs-body)}.ops-wordmark{font-weight:var(--fw-bold);letter-spacing:var(--track-tight);color:var(--text-1);font-size:20px}.ops-wordmark span{color:var(--accent)}.ops-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ops-form-full{grid-column:1/-1}.ops-member-pick{border:1px solid var(--border-subtle);border-radius:var(--r-sm);background:var(--surface-inset);flex-direction:column;gap:8px;max-height:150px;padding:10px 12px;display:flex;overflow:auto}
