:root{--bg: #f6f5f2;--surface: #ffffff;--surface-2: #faf9f6;--line: #e6e3dc;--line-strong: #d2cec4;--fg: #222326;--muted: #6e6b66;--ink: #2b2c2f;--ink-hover: #3d3e42;--on-ink: #fbfaf7;--bar: #232427;--accent: #b8912f;--accent-soft: #f5edd9;--on-color: #ffffff;--paper: #ffffff;--rose: #a8456a;--rose-soft: #f8e4ec;--ok: #2b2c2f;--ok-bg: #ecebe7;--info: #a37c1e;--info-bg: #f5edd9;--bad: #b3261e;--bad-bg: #f9e3e0;--idle: #625f5a;--idle-bg: #efede9;--warn: #745615;--follow: #2f5d8a;--follow-bg: #e4ecf5;--track: #ebe8e1;--shadow: 0 1px 2px rgb(34 35 38 / .06), 0 2px 8px rgb(34 35 38 / .04);--shadow-lg: 0 12px 40px rgb(34 35 38 / .18);--font-display: "Archivo", "Arial Narrow", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--radius: 10px;--radius-sm: 6px;--gutter-l: max(16px, env(safe-area-inset-left, 0px));--gutter-r: max(16px, env(safe-area-inset-right, 0px));color-scheme:light}:root[data-theme=dark]{--bg: #17181a;--surface: #1f2023;--surface-2: #26272a;--line: #333438;--line-strong: #46474c;--fg: #ecebe8;--muted: #a19e98;--ink: #4a4b50;--ink-hover: #58595f;--on-ink: #fbfaf7;--bar: #111214;--accent: #d4af52;--accent-soft: #3a321f;--ok: #e6e4df;--ok-bg: #2e2f33;--info: #d4af52;--info-bg: #3a321f;--bad: #f28b82;--bad-bg: #3f2220;--idle: #a19e98;--idle-bg: #2a2b2e;--warn: #e0c068;--follow: #8fb6e0;--follow-bg: #1f2a38;--rose: #e59ab5;--rose-soft: #3d2230;--track: #333438;--shadow: 0 1px 2px rgb(0 0 0 / .4);--shadow-lg: 0 12px 40px rgb(0 0 0 / .5);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bar)}h1,h2,h3{font-family:var(--font-display);font-stretch:88%;margin:0;text-wrap:balance;letter-spacing:-.01em}h1{font-size:1.75rem;font-weight:750;line-height:1.15}h2{font-size:1.1rem;font-weight:700}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.82rem}.nowrap{white-space:nowrap}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.text-overdue{color:var(--bad)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stack-lg{display:flex;flex-direction:column;gap:20px}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bar);color:var(--on-ink)}.topbar-inner{max-width:1440px;margin:0 auto;padding-block:10px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand-mark{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;background:var(--accent);color:var(--bar);font-family:var(--font-display);font-weight:800;font-size:17px}.brand-logo{height:28px;width:auto;display:block}.login-hero{width:100%;height:180px;object-fit:cover;border-radius:var(--radius);display:block}.brand-mark-lg{width:46px;height:46px;font-size:26px;border-radius:10px}.brand-name{font-family:var(--font-display);font-weight:800;font-stretch:85%;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase}.brand-name span{font-weight:500;opacity:.75;letter-spacing:.02em;text-transform:none}.nav{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.nav a{padding:7px 10px;border-radius:var(--radius-sm);text-decoration:none;font-weight:500;font-size:.92rem;white-space:nowrap;color:color-mix(in srgb,var(--on-ink) 78%,transparent)}.nav a:hover{color:var(--on-ink);background:#ffffff14}.nav a.active{color:var(--on-ink);background:#ffffff1a;box-shadow:inset 0 -2px 0 var(--accent)}.user-menu{position:relative;flex-shrink:0}.user-chip{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid rgb(255 255 255 / .18);border-radius:999px;padding:3px 12px 3px 3px;cursor:pointer;color:var(--on-ink)}.user-chip:hover{background:#ffffff14}.user-chip-text{display:flex;flex-direction:column;text-align:left;line-height:1.2}.user-chip-name{font-weight:600;font-size:.85rem}.user-chip-role{font-size:.72rem;opacity:.75;text-transform:uppercase;letter-spacing:.06em}.menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column}.menu-header{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px;display:flex;flex-direction:column;font-size:.85rem}.menu button{background:none;border:0;text-align:left;padding:9px 10px;border-radius:var(--radius-sm);cursor:pointer}.menu button:hover{background:var(--surface-2)}.main{max-width:1440px;margin:0 auto;padding-block:28px 64px;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header-text{display:flex;flex-direction:column;gap:4px;min-width:0}.page-header-actions{display:flex;gap:8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head-wrap{flex-wrap:wrap}.count{font-size:.8rem;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:middle}.empty{color:var(--muted);padding:18px 0}.empty-card{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.loading{color:var(--muted);padding:40px 0;text-align:center}.error-note{background:var(--bad-bg);color:var(--bad);border-radius:var(--radius-sm);padding:10px 12px;font-size:.9rem;font-weight:500}.back-link{color:var(--muted);text-decoration:none;font-size:.9rem;align-self:flex-start}.back-link:hover{color:var(--fg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;font-size:.92rem;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:hover:not(:disabled){background:var(--ink-hover)}.btn-secondary{background:var(--surface);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover{color:var(--fg);background:var(--surface-2)}.btn-danger{background:var(--bad);color:var(--on-color)}.btn-sm{padding:6px 11px;font-size:.85rem}.btn-block{width:100%}.icon-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted)}.icon-btn:hover:not(:disabled){color:var(--fg);border-color:var(--line-strong)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn-danger:hover:not(:disabled){color:var(--bad);border-color:var(--bad)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.field .label{font-size:.82rem;font-weight:600;color:var(--muted);letter-spacing:.02em}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:40px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select{cursor:pointer}.segmented{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.segment{border:0;background:transparent;padding:8px 14px;cursor:pointer;font-weight:500;font-size:.9rem;color:var(--muted);min-height:38px}.segment+.segment{border-left:1px solid var(--line-strong)}.segment.is-active{background:var(--ink);color:var(--on-ink)}.progress{background:var(--track);border-radius:999px;overflow:hidden;width:100%}.progress-sm{height:6px}.progress-md{height:8px}.progress-lg{height:12px}.progress-fill{height:100%;border-radius:inherit;background:var(--info);transition:width .35s ease}.progress-done .progress-fill{background:var(--ok)}.progress-cell{display:flex;align-items:center;gap:10px;min-width:130px}.progress-cell .progress{flex:1}.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:600;white-space:nowrap;letter-spacing:.01em}.badge-complete{background:var(--ok-bg);color:var(--ok)}.badge-in_progress{background:var(--info-bg);color:var(--warn)}.badge-overdue{background:var(--bad-bg);color:var(--bad)}.badge-not_started{background:var(--idle-bg);color:var(--idle)}.badge-completed_late{background:var(--follow-bg);color:var(--follow)}.avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;font-weight:700;letter-spacing:.02em;background:hsl(var(--avatar-hue) 35% 86%);color:hsl(var(--avatar-hue) 45% 26%)}.assignee{display:inline-flex;align-items:center;gap:8px}.role-tag{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px;white-space:nowrap}.role-admin,.role-manager{background:var(--accent-soft);color:var(--warn)}.role-member{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.login{min-height:100vh;display:grid;place-items:center;padding-block:32px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);background:radial-gradient(1200px 500px at 20% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),var(--bg)}.login-panel{width:100%;max-width:440px;display:flex;flex-direction:column;gap:20px}.login-brand{display:flex;align-items:center;gap:14px}.login-title{font-family:var(--font-display);font-weight:800;font-stretch:85%;font-size:1.6rem;line-height:1.1}.login-form{display:flex;flex-direction:column;gap:14px;padding:24px}.login-form h1{font-size:1.3rem}.demo-accounts-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}.demo-accounts h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.demo-accounts-head .muted{font-size:.8rem}.demo-accounts ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.demo-account{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px;cursor:pointer;transition:border-color .15s,transform .15s}.demo-account:hover:not(:disabled){border-color:var(--accent);transform:translate(2px)}.demo-account-text{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}.demo-account-text .muted{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);border-top:3px solid var(--line-strong)}button.stat{cursor:pointer}button.stat:hover{border-color:var(--line-strong)}.stat-complete{border-top-color:var(--ok)}.stat-in_progress{border-top-color:var(--info)}.stat-overdue{border-top-color:var(--bad)}.stat-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.stat-value{font-size:2rem;font-weight:500;line-height:1.1}.stat-overdue .stat-value{color:var(--bad)}.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.person{display:flex;gap:12px;align-items:flex-start;text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius);padding:12px;cursor:pointer}.person:hover{border-color:var(--line-strong)}.person.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.person-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.person-top{display:flex;justify-content:space-between;gap:8px}.person-top strong{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-pct{font-family:var(--font-mono);font-size:.9rem}.person-meta{font-size:.78rem}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters select{width:auto;min-width:150px}.table-wrap{position:relative;overflow-x:auto;margin:0 -20px;padding:0 20px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.9rem}tr:last-child td{border-bottom:0}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}.task-link:hover{text-decoration:underline}.col-progress{width:190px}.form-page{max-width:820px}.form-card{display:flex;flex-direction:column;gap:16px}.field-row{display:grid;grid-template-columns:1fr 180px auto;gap:14px;align-items:end}.template-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.template-picker select{width:auto;max-width:100%}.builder{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.builder-row{display:flex;align-items:center;gap:8px}.builder-row input{flex:1;min-width:0}.builder-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.builder-main input{width:100%}.builder-hint{padding-left:4px}.builder-num{width:24px;text-align:right;color:var(--muted);font-size:.8rem;flex-shrink:0}.builder-done{font-size:.72rem;font-weight:600;color:var(--ok);background:var(--ok-bg);padding:2px 7px;border-radius:4px}.builder-actions{display:flex;gap:4px;flex-shrink:0}.error-note .error-retry{margin-left:12px}.builder-add{display:flex;gap:8px;border-top:1px dashed var(--line);padding-top:14px}.builder-add input{flex:1;min-width:0}.form-actions{display:flex;justify-content:flex-end;gap:10px}.detail{max-width:820px}.detail-head{display:flex;flex-direction:column;gap:14px}.detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.detail-title-row h1{font-size:1.55rem}.detail-badges{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.detail-desc{max-width:65ch;color:var(--fg)}.meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 20px;margin:0;padding:14px 0;border-block:1px solid var(--line)}.meta-grid dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;margin-bottom:3px}.meta-grid dd{margin:0;font-size:.9rem}.detail-progress{display:flex;flex-direction:column;gap:8px}.detail-progress-top{display:flex;justify-content:space-between;align-items:baseline}.big-pct{font-size:1.6rem;font-weight:500;line-height:1}.checklist{list-style:none;margin:0;padding:0}.checklist li+li{border-top:1px solid var(--line)}.check-row{display:flex;align-items:center;gap:12px;padding:12px 4px;cursor:pointer;min-height:52px;position:relative}.check-row.is-readonly{cursor:default}.check-row input{position:absolute;opacity:0;width:1px;height:1px}.check-box{width:24px;height:24px;flex-shrink:0;border-radius:6px;border:2px solid var(--line-strong);display:grid;place-items:center;color:var(--on-color);background:var(--surface);transition:background .15s,border-color .15s}.check-row:not(.is-readonly):hover .check-box{border-color:var(--ok)}.check-row input:focus-visible+.check-box{outline:2px solid var(--accent);outline-offset:2px}.is-done .check-box{background:var(--ok);border-color:var(--ok)}.check-label{flex:1;min-width:0}.is-done .check-label{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line-strong)}.check-time{flex-shrink:0}.my-summary{display:flex;flex-direction:column;gap:12px}.my-summary-text{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.my-summary .big-pct{font-size:2.2rem}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}.toggle input{width:18px;height:18px;accent-color:var(--ink)}.task-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.task-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.task-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.task-card h2{font-size:1.05rem;line-height:1.3}.task-card-top{display:flex;justify-content:space-between;align-items:center}.task-card-due{font-size:.85rem}.task-card-progress{display:flex;align-items:center;gap:10px;margin-top:auto}.task-card-overdue{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));box-shadow:inset 4px 0 0 var(--bad),var(--shadow)}.task-card-complete{background:var(--surface-2)}.users-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.user-table{min-width:480px}.user-cell{display:flex;flex-direction:column;line-height:1.3}.add-user{gap:14px}.outbox{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}.outbox-list{list-style:none;margin:0;padding:6px;max-height:72vh;overflow-y:auto}.outbox-item{width:100%;text-align:left;background:none;border:0;border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.outbox-item:hover{background:var(--surface-2)}.outbox-item.is-selected{background:var(--accent-soft)}.outbox-item-top{display:flex;justify-content:space-between;gap:8px;font-size:.88rem}.outbox-subject{font-size:.84rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outbox-message{display:flex;flex-direction:column;gap:16px}.mail-headers{margin:0;display:flex;flex-direction:column;gap:4px;font-size:.88rem;padding-bottom:14px;border-bottom:1px solid var(--line)}.mail-headers div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px}.mail-headers dt{color:var(--muted)}.mail-headers dd{margin:0;overflow-wrap:anywhere}.mail-paper{background:var(--paper);border-radius:var(--radius-sm);padding:24px;border:1px solid var(--line);overflow-x:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141680;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:16px;z-index:50}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:440px;min-width:0;max-height:calc(100vh - 32px);overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:12px}.modal select,.modal input{min-width:0;max-width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.toasts{position:fixed;z-index:60;display:flex;flex-direction:column;gap:8px;align-items:flex-end;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:var(--radius);background:var(--fg);color:var(--bg);box-shadow:var(--shadow-lg);font-weight:500;font-size:.9rem;animation:toast-in .25s ease-out}.toast-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--on-color);font-weight:800}.toast-email .toast-icon{background:var(--accent);color:var(--ink)}.toast-error .toast-icon{background:var(--bad)}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 900px){.users-layout,.outbox{grid-template-columns:minmax(0,1fr)}.outbox-list{max-height:260px}.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.topbar-inner{flex-wrap:wrap;gap:8px 12px}.nav{order:3;flex-basis:100%;margin:0 -4px}.nav.nav-more{-webkit-mask-image:linear-gradient(to right,var(--bar) calc(100% - 48px),transparent);mask-image:linear-gradient(to right,var(--bar) calc(100% - 48px),transparent)}.user-menu{margin-left:auto}.user-chip-text{display:none}.user-chip{padding:3px 8px 3px 3px}.stat-grid{grid-template-columns:repeat(2,1fr)}.field-row{grid-template-columns:1fr 1fr}.field-row .field:last-child{grid-column:1 / -1}.main{padding-block:20px 48px}h1{font-size:1.45rem}.card{padding:16px}.table-wrap{margin:0 -16px;padding:0 16px}.check-time{display:none}.task-cards{grid-template-columns:minmax(0,1fr)}.toasts{left:calc(16px + env(safe-area-inset-left,0px));align-items:stretch}}@media (max-width: 460px){.field-row{grid-template-columns:1fr}.segmented{display:flex}.segment{flex:1}.filters,.filters select{width:100%}.builder-actions .icon-btn{width:28px}.form-actions .btn{flex:1}}.text-followup{color:var(--follow)}.badge-followup{background:var(--follow-bg);color:var(--follow)}.stat-followup{border-top-color:var(--follow)}.stat-followup .stat-value,.text-late{color:var(--follow)}.stat-late{border-top-color:var(--follow)}.stat-late .stat-value{color:var(--follow)}.eyebrow{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--warn)}.avatar-empty{width:22px;height:22px;border-radius:50%;border:1.5px dashed var(--line-strong);flex-shrink:0;display:inline-block}.attention-item .avatar-empty{width:28px;height:28px}.project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.project-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.project-card:hover{border-color:var(--accent);transform:translateY(-1px)}.project-card-main{display:flex;flex-direction:column;gap:8px}.project-card-title{display:flex;flex-direction:column;gap:1px}.project-card-title h2{font-size:1.2rem}.project-card-progress{display:flex;align-items:center;gap:12px}.project-pct{font-size:1.05rem;min-width:3.2ch;text-align:right}.project-card-stats{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--fg)}.auction-chip{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;color:var(--fg)}.auction-chip svg{color:var(--accent);flex-shrink:0}.two-col{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}.attention-list,.team-list,.note-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.attention-list li+li,.note-feed li+li{border-top:1px solid var(--line)}.attention-item{display:flex;align-items:center;gap:12px;padding:10px 0;text-decoration:none}.attention-item:hover strong{text-decoration:underline}.attention-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.attention-text strong{font-size:.92rem;font-weight:600}.team-list{gap:14px}.team-row{display:flex;gap:12px;align-items:flex-start}.team-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.team-top{display:flex;justify-content:space-between;gap:8px;font-size:.92rem}.project-head{display:flex;flex-direction:column;gap:14px}.project-head-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-head-title{display:flex;flex-direction:column;gap:2px;min-width:0}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:4px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.chip-overdue{color:var(--bad)}.chip-late{color:var(--follow)}.chip-idle{color:var(--muted)}.filter-chip:hover{border-color:var(--line-strong)}.filter-chip.is-active{border-color:currentColor;box-shadow:0 0 0 2px var(--accent-soft)}.people-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;padding-top:14px;border-top:1px solid var(--line)}.person-pill{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;align-items:center;text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:9px 11px;cursor:pointer}.person-pill .progress{grid-column:1 / -1}.person-pill:hover{border-color:var(--line-strong)}.person-pill.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.person-pill-text{display:flex;flex-direction:column;line-height:1.25;font-weight:600;font-size:.9rem;min-width:0}.sheet-card{padding-bottom:8px}.group-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:12px}.group-head .project-head-title{margin-right:auto}.group-progress{display:flex;align-items:center;gap:8px;width:160px}.field-row-2{grid-template-columns:1fr 1fr}.sheet{display:flex;flex-direction:column;margin:0 -20px}.sheet-head,.sheet-row{display:grid;grid-template-columns:34px minmax(180px,1fr) 170px 124px 124px 104px 124px 86px 64px;gap:10px;align-items:center;padding-left:20px;padding-right:20px}.sheet-head{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;padding-block:8px;border-bottom:1px solid var(--line)}.sheet-item{border-bottom:1px solid var(--line);box-shadow:inset 3px 0 0 transparent}.sheet-item:last-child{border-bottom:0}.sheet-item.status-overdue{box-shadow:inset 3px 0 0 var(--bad)}.sheet-item.status-complete,.sheet-item.status-completed_late{background:color-mix(in srgb,var(--ok-bg) 45%,transparent)}.sheet-item.is-open{background:var(--surface-2)}.sheet-row{padding-block:8px;min-height:52px}.c-num{color:var(--muted);font-size:.8rem;text-align:right}.c-task{display:flex;flex-direction:column;gap:3px;min-width:0}.task-title{font-weight:500;font-size:.92rem;line-height:1.35}.status-complete .task-title,.status-completed_late .task-title{color:var(--muted)}.task-flags{display:flex;gap:6px;flex-wrap:wrap}.task-flags .badge{font-size:.7rem;padding:1px 7px}.cell-label{display:none}.sheet-row select,.sheet-row input[type=date]{min-height:34px;padding:5px 8px;font-size:.86rem}.assignee-select{display:flex;align-items:center;gap:7px;min-width:0}.assignee-select select{flex:1;min-width:0}select.is-unassigned{color:var(--muted);border-style:dashed}.c-date.is-overdue input,.c-date.is-overdue .date-text{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 50%,var(--line-strong));font-weight:600}.c-date.is-flagged input{color:var(--follow);border-color:color-mix(in srgb,var(--follow) 55%,var(--line-strong));font-weight:600}.c-date span,.c-assignee .assignee{font-size:.88rem}.pct-control{display:flex;flex-direction:column;gap:5px}.pct-select{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pct-select.pct-100{color:var(--fg);font-weight:700}.pct-bar{height:4px;border-radius:999px;background:var(--track);overflow:hidden;display:block}.pct-bar span{display:block;height:100%;background:var(--info);border-radius:inherit;transition:width .3s}.status-complete .pct-bar span,.status-completed_late .pct-bar span{background:var(--ok)}.notes-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:5px 9px;cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:600}.notes-btn:hover{color:var(--fg);border-color:var(--line-strong)}.notes-btn.has-notes{color:var(--warn);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--accent-soft)}.notes-btn[aria-expanded=true]{color:var(--on-ink);background:var(--ink);border-color:var(--ink)}.notes-panel{padding:4px 20px 16px 64px;display:flex;flex-direction:column;gap:12px}.note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.note{display:flex;gap:10px}.note-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.note-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:.86rem}.note-body p,.note-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;max-width:70ch}.note-body p{background:var(--surface);border:1px solid var(--line);border-radius:0 var(--radius) var(--radius) var(--radius);padding:8px 12px;margin-top:2px}.note-form{display:flex;gap:8px;align-items:flex-end}.note-form textarea{flex:1;min-width:0;min-height:44px}.note-feed-item{display:flex;gap:12px;width:100%;text-align:left;background:none;border:0;padding:12px 0;cursor:pointer}.note-feed-item:hover strong{text-decoration:underline}@media (max-width: 1060px){.sheet-head,.sheet-row{grid-template-columns:30px minmax(150px,1fr) 150px 112px 112px 92px 112px 80px 60px;gap:8px}}@media (max-width: 960px){.two-col{grid-template-columns:minmax(0,1fr)}.sheet{margin:0 -16px}.sheet-head{display:none}.sheet-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"task task" "assignee assignee" "assigned deadline" "pct completed" "files notes";gap:10px 12px;padding:14px 16px;align-items:end}.c-num{display:none}.c-task{grid-area:task}.c-assignee{grid-area:assignee}.c-assigned{grid-area:assigned}.c-deadline{grid-area:deadline}.c-completed{grid-area:completed}.c-pct{grid-area:pct}.c-notes{grid-area:notes;justify-self:end}.c-files{grid-area:files}.files-btn{min-height:40px;padding:6px 14px}.cell-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;margin-bottom:4px}.c-assignee,.c-date,.c-pct{display:flex;flex-direction:column;min-width:0}.sheet-row input[type=date],.sheet-row select{min-height:40px;font-size:.92rem}.notes-btn{min-height:40px;padding:6px 14px}.notes-panel{padding:0 16px 16px}}@media (max-width: 460px){.group-progress{width:100%}.note-form{flex-direction:column;align-items:stretch}.project-list{grid-template-columns:minmax(0,1fr)}}.sheet.no-assignee .sheet-head,.sheet.no-assignee .sheet-row{grid-template-columns:34px minmax(200px,1fr) 124px 124px 104px 124px 86px 64px}@media (max-width: 960px){.sheet.no-assignee .sheet-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"task task" "assigned deadline" "pct completed" "files notes"}}.send-bar{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:15;display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:14px 18px}.send-bar-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.send-bar-people{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.88rem}@media (max-width: 460px){.send-bar .btn{width:100%}}.menu-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px}.switch{width:32px;height:18px;border-radius:999px;background:var(--line-strong);position:relative;flex-shrink:0;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);transition:transform .15s}.switch.is-on{background:var(--accent)}.switch.is-on:after{transform:translate(14px)}.type-icon{flex-shrink:0;vertical-align:-2px}.type-eyebrow{display:inline-flex;align-items:center;gap:6px}.type-tag{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;color:var(--warn);background:var(--accent-soft);border-radius:4px;padding:2px 8px;white-space:nowrap}.type-heading{display:inline-flex;align-items:center;gap:8px}.type-heading .type-icon{color:var(--accent)}fieldset.field{border:0;padding:0;margin:0}fieldset.field legend{padding:0;margin-bottom:6px}.type-segments{align-self:flex-start}.segment-radio{position:relative;display:inline-flex;align-items:center;gap:7px}.segment-radio:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.field-row-3{grid-template-columns:1fr 1fr 1fr}.field-error{color:var(--bad);font-size:.82rem;font-weight:500}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad)}.tag-default{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px;white-space:nowrap;background:var(--accent-soft);color:var(--warn)}.tag-inactive{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px;white-space:nowrap;background:var(--idle-bg);color:var(--idle)}.template-warning{color:var(--warn);background:var(--accent-soft);border-radius:var(--radius-sm);padding:10px 12px;font-size:.9rem;font-weight:500}.template-warning a{color:inherit}.notice{background:var(--accent-soft);color:var(--warn);border-radius:var(--radius-sm);padding:10px 12px;font-size:.9rem;font-weight:500}.login-forgot{align-self:center;text-decoration:underline}.agent-picks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.agent-pick{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer;background:var(--surface-2)}.agent-pick input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0}.agent-pick.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.agent-pick-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.agent-pick-text strong{font-size:.9rem}.agent-strip{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 12px}.agent-chip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius);padding:8px 10px}.agent-chip-main{display:flex;align-items:center;gap:9px;text-decoration:none;min-width:0}.agent-chip-main:hover strong{text-decoration:underline}.agent-chip-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.agent-chip-text strong{font-size:.9rem}.contact-buttons{display:inline-flex;gap:6px;flex-wrap:wrap}.contact-btn{background:var(--surface);color:var(--fg)}.contact-btn svg{color:var(--accent)}.agent-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.agent-grid>li{display:flex}.agent-card{display:flex;flex-direction:column;gap:14px;flex:1;min-width:0}.agent-card .contact-buttons{margin-top:auto;min-height:33px}.agent-card-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-card .agent-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.agent-card.is-inactive{opacity:.6}.agent-card-head{display:flex;align-items:center;gap:12px;text-decoration:none}.agent-card-head:hover strong{text-decoration:underline}.agent-card-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.agent-photo{border-radius:50%;object-fit:cover;object-position:50% 8%;flex-shrink:0;display:inline-grid;place-items:center;background:var(--accent-soft);color:var(--warn);font-weight:700;font-family:var(--font-display)}img.agent-photo{border:1px solid var(--line)}.agent-contacts{margin:0;display:flex;flex-direction:column;gap:4px;font-size:.88rem}.agent-contacts div{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px}.agent-contacts dt{color:var(--muted)}.agent-contacts dd{margin:0;overflow-wrap:anywhere}.agent-profile{display:flex;flex-direction:column;gap:16px}.agent-profile-head{display:flex;align-items:center;gap:16px}.agent-profile-title{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.agent-profile-title .role-tag{align-self:flex-start}.agent-active{align-self:end;padding-bottom:10px}.template-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.template-list li+li{border-top:1px solid var(--line)}.template-row{display:flex;align-items:center;gap:12px;padding:10px 0;flex-wrap:wrap}.template-row-main{flex:1;min-width:160px;display:flex;flex-direction:column;text-decoration:none;line-height:1.3}.template-row-main:hover strong{text-decoration:underline}.tpl-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.tpl-row:last-child{border-bottom:0}.tpl-row .builder-num{padding-top:10px}.tpl-fields{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(190px,1fr) 82px;gap:8px 10px;align-items:start}.tpl-expected input{width:100%}.tpl-offset{display:flex;gap:6px}.tpl-offset input{width:72px;flex-shrink:0}.tpl-offset select{flex:1;min-width:0}.tpl-hint{grid-column:1 / -1;padding-left:4px}.tpl-row .builder-actions{padding-top:5px}.user-table{min-width:720px}.user-table tr.is-inactive td{color:var(--muted)}.user-table .row-actions{flex-wrap:nowrap}.user-table td .tag-inactive{margin-left:6px}.user-table .row-actions .btn{white-space:nowrap}.field-help{margin:4px 0 0}.row-actions{display:inline-flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 900px){.field-row-3{grid-template-columns:1fr 1fr}.tpl-fields{grid-template-columns:minmax(0,1fr)}}@media (max-width: 460px){.field-row-3{grid-template-columns:1fr}.type-segments{display:flex;flex-direction:column}.segment+.segment{border-left:0;border-top:1px solid var(--line-strong)}.agent-chip{width:100%}.agent-profile-head{flex-wrap:wrap}}.type-filter{align-self:flex-start}.stat-link{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}.stat-link:hover{border-color:var(--accent);transform:translateY(-1px)}.stat-soon{border-top-color:var(--accent)}.stat-note{line-height:1.2}.empty-actions{display:flex;gap:8px;flex-wrap:wrap}.team-name{text-decoration:none;font-weight:600}.team-name:hover{text-decoration:underline}.skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,var(--track) 25%,var(--surface-2) 50%,var(--track) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.skeleton-text{height:12px;width:60%}.skeleton-text.short{width:35%}.skeleton-title{height:20px;width:70%}.skeleton-value{height:28px;width:40%;margin-top:6px}.skeleton-bar{height:8px;width:100%;border-radius:999px}.skeleton-tile,.skeleton-card{gap:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}.filter-clear{justify-self:start}.all-sheet .sheet-head,.all-sheet .sheet-row{grid-template-columns:150px 30px minmax(170px,1fr) 150px 118px 118px 100px 118px 84px 64px}.project-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:.86rem;font-weight:600;min-width:0}.project-link .type-icon{color:var(--accent)}.project-link:hover{text-decoration:underline}a.task-title{text-decoration:none;color:inherit}a.notes-btn{text-decoration:none}.sheet.is-readonly .sheet-item{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.readonly-banner{background:var(--idle-bg);color:var(--fg);border-left:3px solid var(--idle);border-radius:var(--radius-sm);padding:10px 12px;font-size:.9rem}.project-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.open-lines{margin:0;padding-left:18px;max-height:180px;overflow-y:auto}.archive-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.archive-row{display:grid;grid-template-columns:minmax(0,1fr) 200px auto;gap:16px;align-items:center}.archive-main{display:flex;flex-direction:column;gap:3px;min-width:0}.archive-main h2 a{text-decoration:none}.archive-main h2 a:hover{text-decoration:underline}.archive-progress{display:flex;flex-direction:column;gap:4px}.archive-actions{display:flex;gap:6px}@media (max-width: 1100px){.all-sheet .sheet-head,.all-sheet .sheet-row{grid-template-columns:130px 26px minmax(150px,1fr) 130px 108px 108px 92px 108px 78px 60px;gap:8px}}@media (max-width: 960px){.all-sheet .sheet-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"project project" "task task" "assignee assignee" "assigned deadline" "pct completed" "files notes"}.c-project{grid-area:project}.archive-row{grid-template-columns:minmax(0,1fr)}}@media (max-width: 460px){.type-filter{display:flex;flex-direction:column}.filter-bar{grid-template-columns:1fr 1fr}.page-header-actions{flex-wrap:wrap}}.resource-chips{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:2px}.resource-chip{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:600;color:var(--warn);background:var(--accent-soft);border-radius:4px;padding:1px 7px;text-decoration:none;max-width:100%}.resource-chip:hover{text-decoration:underline}.resource-chip.is-empty{color:var(--muted);background:var(--surface-2)}.link-resources{align-self:flex-start}.pick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.tag-kind{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px;white-space:nowrap;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.tag-kind-document{background:var(--accent-soft);color:var(--warn);border-color:transparent}.library-table{min-width:760px}.usage-list{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.tpl-resources{grid-column:1 / -1}.tpl-resources summary{cursor:pointer;color:var(--muted)}.tpl-resources .pick-list{margin-top:6px;max-height:160px}.catalogue-row{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}.catalogue-control{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.file-pick{cursor:pointer}.file-pick:focus-within{outline:2px solid var(--accent);outline-offset:2px}.doc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.doc-list li+li{border-top:1px solid var(--line)}.doc-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 16px;align-items:center;padding:10px 0}.doc-link{display:flex;flex-direction:column;text-decoration:none;min-width:0;line-height:1.3}.doc-link:hover strong{text-decoration:underline}.doc-upload{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:12px;align-items:end;padding-top:14px;border-top:1px dashed var(--line);margin-top:8px}.status-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 720px){.doc-row,.doc-upload{grid-template-columns:minmax(0,1fr)}}.calendar-toolbar{align-items:flex-start}.legend{display:flex;flex-wrap:wrap;gap:6px}.legend-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:4px 10px 4px 7px;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--fg);min-height:30px}.legend-chip.is-off{color:var(--muted);border-style:dashed}.legend-chip.is-off .legend-dot{opacity:.35}.legend-dot{width:10px;height:10px;border-radius:50%;background:var(--cal-fill, var(--ink));border:1px solid var(--cal-edge, var(--cal-fill, var(--ink)));flex-shrink:0}.cal-cat-auction{--cal-fill: var(--accent);--cal-text: var(--ink)}:root[data-theme=dark] .cal-cat-auction{--cal-text: var(--bg)}.cal-cat-meeting,.cal-cat-other{--cal-fill: var(--ink);--cal-text: var(--on-ink)}.cal-cat-leave{--cal-fill: var(--idle-bg);--cal-text: var(--fg);--cal-edge: var(--line-strong)}.cal-cat-birthday{--cal-fill: var(--rose-soft);--cal-text: var(--rose);--cal-edge: var(--rose)}.cal-cat-holiday{--cal-fill: var(--follow-bg);--cal-text: var(--follow);--cal-edge: var(--follow)}.cal-type-property{--cal-fill: var(--accent)}.cal-type-loose_assets{--cal-fill: var(--warn)}.cal-type-livestock{--cal-fill: var(--accent-soft);--cal-text: var(--warn);--cal-edge: var(--accent)}.cal-masked{--cal-fill: var(--idle-bg);--cal-text: var(--muted);--cal-edge: var(--line-strong);font-style:italic}.calendar-card{position:relative;padding:16px}.cal-skeleton{position:absolute;top:72px;right:16px;bottom:16px;left:16px;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;z-index:2;background:var(--surface)}.cal-skeleton span{display:block;min-height:72px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-2),var(--track),var(--surface-2));background-size:200% 100%;animation:cal-shimmer 1.2s linear infinite}@keyframes cal-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.calendar-card.is-loading .fc{visibility:hidden}.fc{--fc-border-color: var(--line);--fc-page-bg-color: var(--surface);--fc-neutral-bg-color: var(--surface-2);--fc-neutral-text-color: var(--muted);--fc-today-bg-color: var(--accent-soft);--fc-highlight-color: var(--accent-soft);--fc-now-indicator-color: var(--accent);--fc-button-bg-color: var(--surface);--fc-button-border-color: var(--line-strong);--fc-button-text-color: var(--fg);--fc-button-hover-bg-color: var(--surface-2);--fc-button-hover-border-color: var(--line-strong);--fc-button-active-bg-color: var(--ink);--fc-button-active-border-color: var(--ink);--fc-event-bg-color: var(--ink);--fc-event-border-color: var(--ink);--fc-event-text-color: var(--on-ink);--fc-event-selected-overlay-color: transparent;--fc-more-link-bg-color: var(--surface-2);--fc-more-link-text-color: var(--fg);--fc-list-event-hover-bg-color: var(--surface-2);--fc-non-business-color: transparent;--fc-bg-event-color: var(--accent-soft);--fc-small-font-size: .78rem;font-size:.9rem}.fc .fc-toolbar-title{font-family:var(--font-display);font-stretch:88%;font-size:1.2rem;font-weight:700}.fc .fc-button{font:inherit;font-size:.85rem;font-weight:600;border-radius:var(--radius-sm);padding:7px 12px;text-transform:none;box-shadow:none}.fc .fc-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:var(--on-ink)}.fc .fc-button-group>.fc-button{border-radius:0}.fc .fc-button-group>.fc-button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.fc .fc-button-group>.fc-button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.fc .fc-col-header-cell-cushion{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;padding:8px 4px;text-decoration:none}.fc .fc-daygrid-day-number,.fc .fc-list-day-text,.fc .fc-list-day-side-text{font-family:var(--font-mono);font-size:.8rem;text-decoration:none;color:var(--fg)}.fc .fc-day-today .fc-daygrid-day-number{background:var(--accent);color:var(--on-color);border-radius:999px;min-width:24px;text-align:center;margin:3px;padding:1px 6px}.fc .fc-daygrid-day.fc-day-today{background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface))}.fc .fc-event{cursor:pointer}.fc .fc-event:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fc .fc-day-other .fc-daygrid-day-top{opacity:1}.fc .fc-day-other .fc-daygrid-day-number{color:var(--muted)}.fc .fc-daygrid-event,.fc .fc-timegrid-event{border-radius:4px;border:1px solid var(--cal-edge, var(--cal-fill, var(--ink)));background:var(--cal-fill, var(--ink));color:var(--cal-text, var(--on-ink));font-size:.78rem;font-weight:600;padding:1px 2px}.fc .fc-daygrid-event .fc-event-main,.fc .fc-timegrid-event .fc-event-main{color:inherit}.fc .fc-daygrid-dot-event{background:var(--cal-fill, var(--ink))}.fc .fc-list-event:hover td{background:var(--surface-2)}.fc .fc-event .fc-event-title,.fc .fc-event .fc-event-time{font-weight:600}.fc .fc-daygrid-event-dot,.fc .fc-list-event-dot{border-color:var(--cal-fill, var(--ink))}.fc .fc-list-event td{font-size:.88rem}.fc .fc-list-event .fc-list-event-title a{color:var(--fg);text-decoration:none}.fc .fc-list-event.cal-masked .fc-list-event-title{color:var(--muted);font-style:italic}.fc .fc-list-empty{background:var(--surface-2);color:var(--muted)}.fc .fc-timegrid-slot-label-cushion,.fc .fc-timegrid-axis-cushion{font-family:var(--font-mono);font-size:.74rem;color:var(--muted)}.fc .fc-popover{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:var(--radius-sm)}.fc .fc-popover-header{background:var(--surface-2)}.fc .fc-more-link{font-size:.74rem;font-weight:600}.fc .fc-highlight{background:var(--accent-soft)}.fc a{color:inherit}.fc .fc-event.fc-event-mirror{opacity:.7}.month-prefs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;border:0;margin:0;padding:0;min-width:0}.month-prefs legend{float:left;padding:0;margin-right:4px;font-size:.8rem;font-weight:600;color:var(--muted)}.month-pref{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;color:var(--fg);cursor:pointer}.month-pref input{width:16px;height:16px;min-height:0;accent-color:var(--ink)}@media (min-width: 640px){.cal-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cal-edge, var(--cal-fill, var(--ink)));flex-shrink:0;margin-right:5px}.cal-suffix{display:none}.fc-popover .cal-suffix{display:inline}.fc-dayGridMonth-view .fc-daygrid-day-events .cal-time{display:none}.fc-dayGridMonth-view .fc-daygrid-event{margin-block:1px}.fc-dayGridMonth-view .fc-daygrid-day-frame{min-height:112px}.fc-dayGridMonth-view .fc-daygrid-event.cal-low{background:transparent;border-color:transparent;color:var(--fg);font-weight:500;font-size:.74rem}.fc-dayGridMonth-view .fc-daygrid-event.cal-low .fc-event-main{display:flex;align-items:center;min-width:0}.fc-dayGridMonth-view .fc-daygrid-event.cal-cat-leave{font-size:.72rem;font-weight:500;padding:0 2px;line-height:1.2}.fc .fc-popover .fc-event-time{font-family:var(--font-mono);margin-right:4px}.fc .fc-popover .fc-daygrid-event.cal-low{background:transparent;border-color:transparent;color:var(--fg)}.fc .fc-popover .fc-daygrid-event.cal-low .fc-event-main{display:flex;align-items:center}.fc .fc-more-link{color:var(--warn);text-decoration:underline;padding:0 4px}}@media (min-width: 1200px){.main:has(.calendar-page){max-width:none}.calendar-page>.page-header,.calendar-page>.calendar-toolbar,.calendar-page>.error-note{width:100%;max-width:1440px;margin-inline:auto}}@media (max-width: 639px){.fc .fc-toolbar.fc-header-toolbar{flex-wrap:wrap;gap:8px}.fc .fc-toolbar-chunk:nth-child(2){order:-1;flex-basis:100%;text-align:center}.fc .fc-toolbar-title{font-size:1.05rem}.fc .fc-button{padding:6px 9px;font-size:.78rem}.fc .fc-daygrid-day-frame{min-height:52px}.fc .fc-daygrid-day-events{display:flex;flex-wrap:wrap;gap:3px;padding:0 3px 3px}.fc .fc-daygrid-event-harness{width:8px}.fc .fc-daygrid-event-harness .fc-event{width:8px;height:8px;min-height:8px;padding:0;border-radius:50%;overflow:hidden}.fc .fc-daygrid-event-harness .fc-event .fc-event-main{display:none}.fc .fc-daygrid-more-link{font-size:.65rem}.fc .fc-col-header-cell-cushion{font-size:.6rem;letter-spacing:.04em;padding:6px 1px}.calendar-card{padding:10px}.cal-skeleton{top:96px;right:10px;bottom:10px;left:10px}}.event-form{display:flex;flex-direction:column;gap:12px}.event-fields{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:12px}.event-form .field-row-2{grid-template-columns:1fr 1fr}.date-time{display:flex;gap:6px}.date-time input[type=time]{flex:0 0 110px}.toggle-field{min-height:40px}.people-field{border:0;margin:0;padding:0;min-width:0}.people-list{display:flex;flex-wrap:wrap;gap:4px 14px;max-height:160px;overflow-y:auto;padding:4px 0}.clash-note{background:var(--accent-soft);color:var(--warn);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:10px 12px;font-size:.9rem}.event-remove{margin-right:auto}.auction-popover{display:flex;flex-direction:column;gap:12px}.auction-popover .muted svg{vertical-align:-3px}.popover-grid{grid-template-columns:1fr 1fr}@media (max-width: 460px){.event-form .field-row-2{grid-template-columns:1fr}}.recurring-table{min-width:820px}.recurring-table td{vertical-align:top}.recurring-row.is-paused{color:var(--muted)}.recurring-row.is-paused .tag-kind{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.tag-kind-active{background:var(--accent-soft);color:var(--warn);border-color:transparent}.recurring-rule{display:flex;flex-direction:column;gap:2px}.day-picker{display:flex;gap:6px;align-items:center}.day-picker input[type=number]{max-width:110px}.period-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.period-row{display:grid;grid-template-columns:110px auto 48px 1fr;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.period-row:last-child{border-bottom:0}@media (max-width: 720px){.recurring-table{min-width:0}.recurring-table thead{display:none}.recurring-table,.recurring-table tbody,.recurring-table tr,.recurring-table td{display:block}.recurring-table tr{padding:12px 0;border-bottom:1px solid var(--line)}.recurring-table tr:last-child{border-bottom:0}.recurring-table td{padding:3px 0;border:0;display:flex;gap:10px;align-items:baseline}.recurring-table td:before{content:attr(data-label);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);min-width:72px;flex-shrink:0}.recurring-table td[data-label=Actions]:before{content:""}.recurring-table .row-actions{justify-content:flex-start}}.files-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:5px 9px;cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:600;white-space:nowrap}.files-btn:hover{color:var(--fg);border-color:var(--line-strong)}.files-btn.has-files{color:var(--fg)}.files-btn.is-short{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:var(--bad-bg)}.files-btn .badge-short{font-size:.66rem;padding:0 6px}.badge-short{background:var(--bad-bg);color:var(--bad)}.task-files{display:flex;flex-direction:column;gap:14px}.task-files-summary{display:flex;align-items:center;gap:8px;margin:0;font-size:1.05rem}.expected-form .field{gap:4px}.expected-row{display:flex;gap:8px;align-items:center}.expected-row input{width:110px}.attach-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.field-errors{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;width:100%}.confirm-inline{margin-top:14px;padding:12px 14px;border:1px solid var(--bad);border-radius:var(--radius-sm);background:var(--bad-bg);display:flex;flex-direction:column;gap:10px}.confirm-inline p{margin:0;font-size:.92rem}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:4px}.tab{padding:10px 16px;border:0;background:none;color:var(--muted);font-weight:600;font-size:.95rem;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer}.tab:hover{color:var(--fg)}.tab.is-active{color:var(--fg);border-bottom-color:var(--accent)}.tab .count{margin-left:6px}.docs-summary{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;text-decoration:none;color:inherit}.docs-summary:hover .docs-summary-text{text-decoration:underline}.doc-group{border-top:1px solid var(--line);padding:12px 0}.doc-group:first-child{border-top:0}.doc-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:6px}.doc-group-head h3{margin:0;font-size:.98rem;font-weight:600}.doc-group-head .num{color:var(--muted);font-size:.86rem}.doc-skeleton{height:18px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-2) 25%,var(--track) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;margin:10px 0}@media (max-width: 960px){.tabs{margin:0 -4px}.tab{flex:1;text-align:center;padding:10px 8px}.tpl-fields{grid-template-columns:minmax(0,1fr)}}a.files-btn{text-decoration:none}
