@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400..800&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans+Thai:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans+Thai:wght@300;400;500;600;700&display=swap";:root,[data-theme=light]{color-scheme:light;--paper: #f4f4ef;--surface: #ffffff;--surface-2: #fbfbf8;--sunken: #ecece6;--border: #e6e6de;--border-strong: #d4d4c9;--line: #eeeee7;--ink: #1b1b17;--ink-2: #43433d;--muted: #76766d;--faint: #a2a299;--brand: #0e7a57;--brand-ink: #ffffff;--brand-soft: #e3f2ec;--brand-strong: #0a5c42;--clay: #c2410c;--clay-soft: #fbeadf;--st-pending: #946100;--st-pending-bg: #fbf1d6;--st-active: #1f5fbf;--st-active-bg: #e4edfb;--st-done: #0e7a57;--st-done-bg: #e3f2ec;--st-overdue: #b42318;--st-overdue-bg: #fbe7e4;--pri-low: #5b6470;--pri-low-bg: #edeff2;--pri-med: #946100;--pri-med-bg: #fbf1d6;--pri-high: #b42318;--pri-high-bg: #fbe7e4;--shadow-sm: 0 1px 2px rgba(20, 20, 16, .04), 0 1px 3px rgba(20, 20, 16, .06);--shadow-md: 0 6px 16px rgba(20, 20, 16, .06), 0 2px 6px rgba(20, 20, 16, .05);--shadow-lg: 0 24px 50px rgba(20, 20, 16, .12), 0 8px 18px rgba(20, 20, 16, .06);--scrim: rgba(24, 24, 20, .42)}[data-theme=dark]{color-scheme:dark;--paper: #0d0f0c;--surface: #171a15;--surface-2: #1e221c;--sunken: #101310;--border: #2a2e27;--border-strong: #3b4138;--line: #23271f;--ink: #f1f3ec;--ink-2: #d3d6cc;--muted: #9fa195;--faint: #6c6e63;--brand: #34d8a0;--brand-ink: #06271c;--brand-soft: #14352a;--brand-strong: #5ce6b8;--clay: #f0915e;--clay-soft: #33200f;--st-pending: #ecc05a;--st-pending-bg: #2c2310;--st-active: #8fb2f2;--st-active-bg: #15223a;--st-done: #34d8a0;--st-done-bg: #14352a;--st-overdue: #f2978b;--st-overdue-bg: #341712;--pri-low: #a6aeb9;--pri-low-bg: #22262b;--pri-med: #ecc05a;--pri-med-bg: #2c2310;--pri-high: #f2978b;--pri-high-bg: #341712;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 8px 22px rgba(0, 0, 0, .52);--shadow-lg: 0 26px 60px rgba(0, 0, 0, .62);--scrim: rgba(0, 0, 0, .58)}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-base: 15px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 44px;--text-4xl: 60px;--lh-tight: 1.1;--lh-snug: 1.25;--lh-normal: 1.5;--lh-relaxed: 1.55;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 12px;--radius-pill: 999px;--dur-fast: .12s;--dur: .2s;--dur-slow: .28s;--ease: cubic-bezier(.2, .8, .2, 1);--control-h: 44px;--control-h-sm: 36px;--tap: 44px;--sidebar-w: 240px;--rail-w: 76px;--maxw: 1320px;--font-sans: "IBM Plex Sans Thai", "Bricolage Grotesque", system-ui, sans-serif;--font-display: "Bricolage Grotesque", "IBM Plex Sans Thai", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-relaxed);font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}button,input,select,textarea{font:inherit;font-synthesis:none;-webkit-font-smoothing:inherit;-moz-osx-font-smoothing:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--brand);color:var(--brand-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:var(--radius-pill);background:var(--border-strong);background-clip:content-box}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand strong,.metric-card strong{font-family:var(--font-display);letter-spacing:0}h1{margin-bottom:0;font-size:clamp(var(--text-xl),3vw,var(--text-2xl));line-height:var(--lh-tight)}h2{margin-bottom:0;font-size:var(--text-lg);line-height:var(--lh-snug)}h3{margin-bottom:var(--space-1);font-size:var(--text-base)}.muted{color:var(--muted);font-size:var(--text-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-page{display:grid;place-items:center;min-height:100vh;padding:var(--space-6);background:radial-gradient(circle at top left,color-mix(in srgb,var(--brand-soft) 75%,transparent),transparent 34rem),radial-gradient(circle at bottom right,color-mix(in srgb,var(--clay-soft) 55%,transparent),transparent 30rem),var(--paper)}.auth-card{width:min(430px,100%);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:fade-up var(--dur-slow) var(--ease) both}.auth-brand{padding:0 0 var(--space-5)}.auth-copy{margin-bottom:var(--space-5)}.auth-copy h1{margin-bottom:var(--space-2)}.auth-copy p{margin-bottom:0;color:var(--muted)}.auth-submit{width:100%}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--space-1);height:100vh;padding:var(--space-4) var(--space-3);border-right:1px solid var(--border);background:var(--sunken);color:var(--ink)}.workspace{min-width:0;width:min(var(--maxw),100%);margin-inline:auto;padding:var(--space-5) clamp(var(--space-4),2.5vw,var(--space-8)) var(--space-12)}.brand,.user-pill,.topbar,.topbar-actions,.panel-header,.task-title,.profile-card,.user-row,.request-row,.task-viewbar,.task-editor-heading,.task-editor-actions,.subtask-heading,.subtask-row,.subtask-row label,.subtask-form,.quick-add,.workload-row,.approval-actions{display:flex;align-items:center}.brand{gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-4)}.brand-mark{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:var(--radius-md);background:var(--brand);color:var(--brand-ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;box-shadow:var(--shadow-sm)}.brand strong,.user-pill strong{display:block;line-height:var(--lh-snug)}.brand span,.user-pill span,.scope-list span,.compact-list span,.file-card span,.file-card small,.user-row span,.request-row span,.okr-item span{color:var(--muted);font-size:var(--text-md)}.branch-switcher{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:var(--control-h);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left;transition:border-color var(--dur) var(--ease)}.branch-switcher:hover{border-color:var(--border-strong)}.branch-switcher small,.nav-group-title{display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.branch-switcher strong{display:block;font-size:var(--text-md)}.nav-list{display:grid;gap:var(--space-3);overflow-y:auto;padding-right:2px}.nav-group{display:grid;gap:2px}.nav-group-title{padding:var(--space-2) var(--space-2) var(--space-1)}.nav-item{position:relative;display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-2);font-size:var(--text-md);text-align:left;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-item:hover{background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--ink)}.nav-item.active{background:var(--brand);color:var(--brand-ink);font-weight:700;box-shadow:var(--shadow-sm)}.nav-item b,.bottom-nav b{display:grid;place-items:center;min-width:21px;height:21px;margin-left:auto;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--st-overdue-bg);color:var(--st-overdue);font-size:var(--text-xs);line-height:1}.nav-item.active b{background:color-mix(in srgb,var(--brand-ink) 22%,transparent);color:var(--brand-ink)}.sidebar-footer{gap:var(--space-3);margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border)}.user-pill{gap:var(--space-3);min-width:0;flex:1}.avatar,.large-avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--clay);color:var(--brand-ink);font-weight:800}.avatar{width:36px;height:36px}.large-avatar{width:56px;height:56px;font-size:var(--text-xl)}.topbar{position:sticky;top:0;z-index:20;justify-content:space-between;gap:var(--space-4);margin:calc(var(--space-5) * -1) calc(clamp(var(--space-4),2.5vw,var(--space-8))*-1) var(--space-4);padding:var(--space-2) clamp(var(--space-4),2.5vw,var(--space-8));border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.eyebrow{margin:0 0 var(--space-1);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.topbar-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.search-box{display:flex;align-items:center;gap:var(--space-2);width:min(330px,100%);height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--sunken);color:var(--muted);transition:border-color var(--dur) var(--ease)}.topbar-primary-label{white-space:nowrap}.search-box:hover{border-color:var(--border-strong)}.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}kbd{min-width:30px;padding:2px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);text-align:center}.bottom-nav,.mobile-more-button,.mobile-more-overlay{display:none}.mobile-more-panel{width:min(480px,100%);max-height:min(620px,calc(100vh - var(--space-8)));overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:sheet-up var(--dur-slow) var(--ease) both}.mobile-more-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--line)}.mobile-more-head h2{margin:0}.mobile-more-list{display:grid;max-height:min(520px,calc(100vh - 180px));overflow-y:auto;padding:var(--space-2)}.mobile-more-list button{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink);text-align:left}.mobile-more-list button span{min-width:0;flex:1}.mobile-more-list button b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--st-overdue-bg);color:var(--st-overdue);font-size:var(--text-xs)}.mobile-more-list button.active,.mobile-more-list button:hover{background:var(--brand-soft);color:var(--brand-strong)}.notification-popover{position:fixed;top:70px;right:clamp(var(--space-4),2.5vw,var(--space-8));z-index:60;width:min(420px,calc(100vw - var(--space-8)));overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:sheet-up var(--dur) var(--ease) both}.notification-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--line)}.notification-head strong,.notification-head span{display:block}.notification-head span{color:var(--muted);font-size:var(--text-sm)}.notification-list{display:grid;max-height:min(460px,calc(100vh - 160px));overflow-y:auto;padding:var(--space-2)}.notification-item{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:start;gap:var(--space-3);width:100%;padding:var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink);text-align:left}.notification-item:hover{background:var(--surface-2)}.notification-item strong,.notification-item small{display:block}.notification-item small,.notification-item time{color:var(--muted);font-size:var(--text-sm)}.notification-item time{white-space:nowrap}.field{display:grid;gap:var(--space-2);margin-bottom:var(--space-4)}.field span{color:var(--ink-2);font-size:var(--text-sm);font-weight:700}.field input,.field select,.field textarea,.subtask-form input,select{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);outline:0;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field input:focus,.field select:focus,.field textarea:focus,.subtask-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.field input,.subtask-form input,select{height:var(--control-h);padding:0 var(--space-3)}.field textarea{min-height:88px;padding:var(--space-3);resize:vertical}.field input:disabled,.field select:disabled{background:var(--sunken);color:var(--muted)}select,.icon-button,.primary-button,.secondary-button,.danger-button,.text-button{min-height:var(--control-h);border-radius:var(--radius-md)}.icon-button{position:relative;display:grid;place-items:center;width:var(--control-h);border:1px solid var(--border);background:var(--surface);color:var(--ink-2);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.icon-button:hover{border-color:var(--border-strong);color:var(--ink)}.badge-button span{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--st-overdue);color:var(--brand-ink);font-size:var(--text-xs);line-height:18px}.primary-button,.secondary-button,.danger-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:0;font-size:var(--text-md);font-weight:700;transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease)}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.text-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.danger-button:active,.text-button:active{transform:translateY(0)}.primary-button{padding:0 var(--space-4);background:var(--brand);color:var(--brand-ink);box-shadow:var(--shadow-sm)}.primary-button:hover{background:var(--brand-strong);box-shadow:var(--shadow-md)}.secondary-button{padding:0 var(--space-4);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink)}.secondary-button:hover{border-color:var(--brand);color:var(--brand)}.text-button{padding:0 var(--space-3);background:var(--brand-soft);color:var(--brand-strong)}.danger,.danger-button{color:var(--st-overdue)}.danger-button,.text-button.danger{background:var(--st-overdue-bg)}.icon-button.small{min-height:var(--control-h-sm);width:var(--control-h-sm)}.form-error,.inline-message{margin-bottom:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:700}.form-error{border:1px solid var(--st-overdue);background:var(--st-overdue-bg);color:var(--st-overdue)}.inline-message{border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand-strong)}.system-strip{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--muted);font-size:var(--text-md)}.system-strip strong{color:var(--ink-2)}.dot,.status-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%}.dot.ok,.status-dot.done{background:var(--st-done)}.dot.warn,.status-dot.pending{background:var(--st-pending)}.status-dot.active{background:var(--st-active)}.status-dot.overdue{background:var(--st-overdue)}.metric-card,.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.metric-card{min-height:108px;padding:var(--space-4);border-left:3px solid var(--st-active);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.metric-card span{color:var(--muted);font-size:var(--text-sm);font-weight:700}.metric-card strong{display:block;margin-top:var(--space-2);font-size:var(--text-2xl);line-height:1}.metric-card.green{border-left-color:var(--brand)}.metric-card.amber{border-left-color:var(--st-pending)}.metric-card.violet{border-left-color:var(--clay)}.metric-card.red{border-left-color:var(--st-overdue)}.metric-card.blue{border-left-color:var(--st-active)}.panel{min-width:0;padding:var(--space-5)}.create-panel{padding:0;overflow:hidden}.create-panel-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;min-height:58px;padding:var(--space-4) var(--space-5);border:0;background:var(--surface);color:var(--ink);text-align:left}.create-panel-toggle:hover{background:var(--surface-2)}.create-panel-toggle span{display:grid;gap:2px;min-width:0}.create-panel-toggle strong{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:0;line-height:var(--lh-snug)}.create-panel-toggle small{color:var(--muted);font-size:var(--text-md)}.create-panel-toggle b{flex:0 0 auto;min-height:32px;padding:6px var(--space-3);border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-strong);font-size:var(--text-sm)}.create-panel-body{padding:0 var(--space-5) var(--space-5)}.wide{grid-column:span 1}.panel-header{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.table-wrap{overflow-x:auto;border-radius:var(--radius-md)}table{width:100%;min-width:640px;border-collapse:collapse}th,td{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);text-align:left;font-size:var(--text-md);white-space:nowrap}th{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}tbody tr{transition:background var(--dur-fast) var(--ease)}tbody tr:hover{background:var(--surface-2)}.task-title{gap:var(--space-2);color:var(--ink);font-weight:700}.task-title small{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--brand-soft);color:var(--brand-strong);font-size:var(--text-xs)}.priority,.status{display:inline-flex;align-items:center;gap:var(--space-1);min-height:26px;padding:0 var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.status-select{min-height:32px;border:0;border-radius:var(--radius-pill);padding:0 28px 0 var(--space-3);font-size:var(--text-sm);font-weight:700}.status-select.pending,.status.pending{background:var(--st-pending-bg);color:var(--st-pending)}.status-select.active,.status.active{background:var(--st-active-bg);color:var(--st-active)}.status-select.done,.status.done,.status.approved{background:var(--st-done-bg);color:var(--st-done)}.status-select.overdue,.status.overdue,.status.rejected{background:var(--st-overdue-bg);color:var(--st-overdue)}.priority.low{background:var(--pri-low-bg);color:var(--pri-low)}.priority.medium{background:var(--pri-med-bg);color:var(--pri-med)}.priority.high{background:var(--pri-high-bg);color:var(--pri-high)}.check-field{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-h);color:var(--ink-2);font-size:var(--text-md);font-weight:700}.check-field input{width:18px;height:18px;accent-color:var(--brand)}.segmented{display:inline-flex;padding:3px;border-radius:var(--radius-md);background:var(--sunken)}.segmented button{min-height:var(--control-h-sm);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:var(--text-sm);font-weight:700;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.progress{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:var(--space-2);min-width:0}.progress.compact{display:block;height:8px;margin-top:var(--space-3);border-radius:var(--radius-pill);background:var(--sunken);overflow:hidden}.progress-track{height:10px;overflow:hidden;border-radius:var(--radius-pill);background:var(--sunken)}.progress.compact .progress-track{height:100%;background:transparent}.progress-track span{display:block;height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand-strong));transition:width var(--dur-slow) var(--ease)}.progress-value{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;line-height:1;text-align:right}.state-block{display:grid;gap:var(--space-2);place-items:center;min-height:160px;padding:var(--space-6);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);text-align:center}.state-block .state-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:var(--space-1);border-radius:var(--radius-md);background:var(--sunken);color:var(--muted)}.state-block strong{font-size:var(--text-base)}.state-block.compact{min-height:auto;padding:var(--space-3);grid-auto-flow:row;place-items:start;text-align:left}.state-block span{color:var(--muted);font-size:var(--text-md);max-width:44ch}.state-block .state-cta{margin-top:var(--space-2)}.state-block.error{border-style:solid;border-color:var(--st-overdue);background:var(--st-overdue-bg);color:var(--st-overdue)}.state-block.error .state-icon{background:color-mix(in srgb,var(--st-overdue) 16%,transparent);color:var(--st-overdue)}.state-block.error span{color:color-mix(in srgb,var(--st-overdue) 88%,var(--ink))}.state-block.permission{border-style:solid;background:var(--sunken)}.state-block.loading{border-style:solid;border-color:var(--border)}.skeleton-list{display:grid;gap:var(--space-2)}.skeleton-list span,.skeleton{display:block;height:15px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--sunken),var(--surface-2),var(--sunken));background-size:800px 100%;animation:shimmer 1.4s infinite linear}.skeleton-list span:nth-child(1){width:76%}.skeleton-list span:nth-child(3){width:58%}.skeleton-card{min-height:108px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--sunken),var(--surface-2),var(--sunken));background-size:800px 100%;animation:shimmer 1.4s infinite linear}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;padding:var(--space-4);background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:overlay-in var(--dur) var(--ease) both}.overlay.center{place-items:center}.overlay.top{place-items:start center;padding-top:clamp(var(--space-8),12vh,140px)}.dialog{width:min(440px,100%);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:sheet-up var(--dur-slow) var(--ease) both}.dialog h2{margin-bottom:var(--space-2)}.dialog p{margin-bottom:var(--space-5);color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.toast-stack{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:100;display:grid;gap:var(--space-2);width:min(380px,calc(100% - var(--space-8)))}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg);animation:sheet-up var(--dur) var(--ease) both}.toast.error{border-left-color:var(--st-overdue)}.toast .toast-body{flex:1;min-width:0;font-size:var(--text-md)}.toast .toast-body small{display:block;color:var(--muted)}.toast .toast-undo{flex:0 0 auto;padding:var(--space-1) var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-strong);font-weight:700;font-size:var(--text-sm)}.command-panel{width:min(560px,100%);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:sheet-up var(--dur-slow) var(--ease) both}.command-input{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--line)}.command-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:var(--text-lg)}.command-list{max-height:50vh;overflow-y:auto;padding:var(--space-2)}.command-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink);font-size:var(--text-md);text-align:left}.command-item small{margin-left:auto;color:var(--faint);font-family:var(--font-mono);font-size:var(--text-xs)}.command-item.active,.command-item:hover{background:var(--brand-soft);color:var(--brand-strong)}.command-empty{padding:var(--space-6);color:var(--muted);text-align:center;font-size:var(--text-md)}.content-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);gap:var(--space-4);align-items:start}.content-grid.single{grid-template-columns:1fr}.metric-grid{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.task-command-panel{display:grid;gap:var(--space-3)}.task-viewbar{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.task-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);align-items:end}.task-form .field,.task-filter-form .field,.task-editor-grid .field{margin-bottom:0}.task-form .form-error,.task-filter-form .form-error,.task-editor-grid .form-error{grid-column:1 / -1;margin-bottom:0}.span-2{grid-column:span 2}.task-filter-form,.task-editor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);align-items:end}.quick-add{gap:var(--space-3);min-height:var(--control-h);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--brand) 38%,var(--border));border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand-strong)}.quick-add input{flex:1;min-width:180px;border:0;outline:0;background:transparent;color:var(--brand-strong)}.quick-add input::placeholder{color:color-mix(in srgb,var(--brand-strong) 60%,transparent)}.task-card-list{display:grid;gap:var(--space-4)}.task-editor-card{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);transition:box-shadow var(--dur) var(--ease)}.task-editor-card:hover{box-shadow:var(--shadow-sm)}.task-editor-heading{justify-content:space-between;gap:var(--space-4);align-items:flex-start}.task-editor-heading p{margin:var(--space-2) 0 0}.task-editor-actions{justify-content:flex-end;gap:var(--space-3)}.subtask-panel{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.subtask-heading{justify-content:space-between;color:var(--ink-2);font-size:var(--text-md);font-weight:700}.subtask-heading span{display:inline-flex;align-items:center;gap:var(--space-2)}.subtask-heading small{color:var(--muted)}.subtask-row{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2)}.subtask-row label{gap:var(--space-2);min-width:0;color:var(--ink-2);font-size:var(--text-md);font-weight:600}.subtask-row label span{overflow:hidden;text-overflow:ellipsis}.subtask-form{gap:var(--space-2)}.subtask-form input{min-width:0;flex:1}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(200px,1fr));gap:var(--space-3);overflow-x:auto}.kanban-column{display:grid;align-content:start;gap:var(--space-3);min-height:220px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.kanban-column.drop-target{border-color:var(--brand);background:var(--brand-soft)}.kanban-heading{display:flex;align-items:center;gap:var(--space-2);color:var(--ink-2);font-size:var(--text-md);font-weight:700}.kanban-heading small{margin-left:auto;color:var(--faint)}.kanban-stack{display:grid;gap:var(--space-2)}.board-task-card{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-left:3px solid var(--pri-med);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.board-task-card[draggable=true]{cursor:grab}.board-task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.board-task-card.dragging{opacity:.5;cursor:grabbing}.priority-border-low{border-left-color:var(--pri-low)}.priority-border-medium{border-left-color:var(--pri-med)}.priority-border-high{border-left-color:var(--pri-high)}.board-card-title,.board-card-meta,.quick-status-row{display:flex;align-items:center;gap:var(--space-2)}.board-card-title{justify-content:space-between}.board-task-card p,.board-card-meta{margin:0;color:var(--muted);font-size:var(--text-sm)}.board-card-meta{justify-content:space-between}.quick-status-row{flex-wrap:wrap}.quick-status-row button{min-height:30px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:700;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.quick-status-row button:hover{background:var(--brand-soft);color:var(--brand-strong)}.kanban-empty{display:grid;place-items:center;min-height:70px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--faint);font-size:var(--text-sm)}.calendar-shell{display:grid;gap:var(--space-4)}.calendar-toolbar,.calendar-actions,.calendar-board-head,.calendar-cell-head,.calendar-event-chip,.agenda-item,.meeting-meta-grid span,.flow-strip span{display:flex;align-items:center}.calendar-toolbar{justify-content:space-between;gap:var(--space-3)}.calendar-toolbar .panel-header{margin-bottom:0}.calendar-actions{gap:var(--space-2)}.calendar-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.34fr);gap:var(--space-4);align-items:start}.calendar-board,.calendar-agenda{min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.calendar-board{overflow:hidden}.calendar-board-head{justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--line)}.calendar-board-head strong{font-size:var(--text-lg)}.calendar-board-head span,.calendar-agenda>div:first-child span{color:var(--muted);font-size:var(--text-sm);font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr))}.calendar-weekday{padding:var(--space-3);border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;text-align:center;text-transform:uppercase}.calendar-cell{display:grid;align-content:start;gap:var(--space-2);min-height:132px;padding:var(--space-3);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.calendar-cell:nth-child(7n+7){border-right:0}.calendar-cell:hover{background:var(--surface-2)}.calendar-cell.outside{color:var(--faint);background:var(--surface-2)}.calendar-cell.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand) 48%,transparent)}.calendar-cell.selected{background:var(--brand-soft)}.calendar-cell-head{justify-content:space-between;gap:var(--space-2)}.calendar-cell-head small{min-width:20px;height:20px;border-radius:var(--radius-pill);background:var(--brand);color:var(--brand-ink);font-size:var(--text-xs);font-weight:800;line-height:20px;text-align:center}.calendar-cell-events{display:grid;gap:5px;min-width:0}.calendar-event-chip{gap:5px;min-width:0;min-height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--sunken);color:var(--ink-2);font-size:var(--text-xs)}.calendar-event-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-chip.done,.calendar-event-chip.meeting{background:var(--st-done-bg);color:var(--st-done)}.calendar-event-chip.active{background:var(--st-active-bg);color:var(--st-active)}.calendar-event-chip.pending{background:var(--st-pending-bg);color:var(--st-pending)}.calendar-event-chip.overdue{background:var(--st-overdue-bg);color:var(--st-overdue)}.calendar-cell-events em{color:var(--muted);font-size:var(--text-xs);font-style:normal;font-weight:700}.calendar-agenda{display:grid;gap:var(--space-3);padding:var(--space-4)}.calendar-agenda>div:first-child{display:grid;gap:var(--space-1)}.calendar-agenda>div:first-child strong{line-height:var(--lh-snug)}.agenda-list{display:grid;gap:var(--space-2)}.agenda-item{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.agenda-item div{min-width:0}.agenda-item small{display:block;color:var(--muted)}.calendar-list{display:grid;gap:var(--space-3)}.calendar-day{display:grid;grid-template-columns:160px minmax(0,1fr);gap:var(--space-4);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.calendar-day>div:first-child span{display:block;color:var(--muted);font-size:var(--text-sm)}.calendar-items{display:grid;gap:var(--space-2)}.calendar-items article{display:grid;grid-template-columns:10px minmax(160px,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface)}.calendar-items small{color:var(--muted)}.profile-card{gap:var(--space-3);margin-bottom:var(--space-4)}.profile-card p{margin-bottom:0;color:var(--muted)}.scope-list{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center}.okr-list,.request-list,.compact-list,.user-table,.okr-item{display:grid;gap:var(--space-3)}.okr-item.expanded{grid-template-columns:minmax(0,1fr) minmax(240px,.4fr) auto;align-items:center}.okr-item strong,.okr-item span{display:block}.compact-list span{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2)}.team-grid,.card-grid,.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.team-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.workload-list{display:grid;gap:var(--space-3)}.workload-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.workload-card.overload{border-color:color-mix(in srgb,var(--st-overdue) 55%,var(--border))}.workload-card.light{border-color:color-mix(in srgb,var(--brand) 55%,var(--border))}.workload-card-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:var(--space-3);align-items:center}.workload-person{display:grid;gap:var(--space-1);min-width:0}.workload-person span,.workload-next span,.workload-next small{color:var(--muted);font-size:var(--text-sm)}.workload-stats{display:flex;flex-wrap:wrap;gap:var(--space-2)}.workload-stats>span{display:inline-flex;align-items:baseline;gap:5px;min-height:30px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);font-size:var(--text-sm)}.workload-stats strong{color:var(--ink)}.workload-tag{border-radius:var(--radius-pill);padding:3px var(--space-3);font-size:var(--text-xs);font-weight:700}.workload-tag.overload{background:var(--st-overdue-bg);color:var(--st-overdue)}.workload-tag.light{background:var(--brand-soft);color:var(--brand-strong)}.workload-next{display:grid;gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--line)}.workload-next span{font-weight:800}.attendance-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.attendance-status-card{display:grid;gap:var(--space-2);min-height:116px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.attendance-status-card strong{font-size:var(--text-xl);line-height:1}.attendance-status-card small{color:var(--muted)}.attendance-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:end}.attendance-form .field,.attendance-form .form-error{margin-bottom:0}.attendance-form .form-error{grid-column:1 / -1}.attendance-actions{display:flex;gap:var(--space-2)}.timeline-list{display:grid;gap:var(--space-3)}.timeline-row{display:grid;grid-template-columns:40px minmax(220px,1fr) minmax(120px,.24fr) minmax(180px,.32fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.timeline-row div{min-width:0}.timeline-row strong,.timeline-row span{overflow:hidden;text-overflow:ellipsis}.timeline-row div span,.timeline-meta{color:var(--muted);font-size:var(--text-sm)}.timeline-meta{display:inline-flex;align-items:center;gap:var(--space-1)}.project-card{display:grid;gap:var(--space-4)}.project-card-head,.meeting-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.project-card-head div,.meeting-card-head div{min-width:0}.project-card-head h2,.meeting-card-head h2{overflow:hidden;text-overflow:ellipsis}.project-card p{margin-bottom:0;color:var(--muted)}.project-stats,.okr-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.project-stats span,.okr-numbers span{display:grid;gap:2px;min-width:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);color:var(--muted);font-size:var(--text-sm)}.project-stats strong,.okr-numbers strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.flow-strip{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.flow-strip span{gap:var(--space-2);min-height:34px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);font-weight:800}.okr-card-list{display:grid;gap:var(--space-3)}.okr-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.7fr);gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.okr-card .progress,.okr-card .okr-update,.okr-card .form-error{grid-column:1 / -1}.okr-card-main{display:grid;gap:var(--space-1);min-width:0}.okr-card-main>span{color:var(--brand);font-size:var(--text-sm);font-weight:800}.okr-card-main strong{font-size:var(--text-lg);line-height:var(--lh-snug)}.okr-card-main p{margin:0;color:var(--muted)}.okr-update{display:grid;grid-template-columns:minmax(180px,.32fr) auto;gap:var(--space-3);align-items:end;padding-top:var(--space-3);border-top:1px solid var(--line)}.okr-update .field{margin-bottom:0}.meeting-card{display:grid;gap:var(--space-4)}.meeting-meta-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.meeting-meta-grid span{gap:var(--space-2);min-height:30px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);font-size:var(--text-sm);font-weight:700}.meeting-minutes{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);color:var(--muted)}.meeting-minutes p{margin-bottom:0}.meeting-action-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.5fr) minmax(140px,.34fr) auto;gap:var(--space-2)}.meeting-action-form input{width:100%;height:var(--control-h);min-width:0;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);outline:0}.request-workspace{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);min-height:360px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg)}.request-queue{display:grid;align-content:start;border-right:1px solid var(--border);background:var(--surface-2)}.request-queue-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;transition:background var(--dur) var(--ease)}.request-queue-item:hover{background:var(--sunken)}.request-queue-item.active{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.request-queue-item small{display:block;color:var(--muted)}.request-detail{display:grid;align-content:start;gap:var(--space-3);padding:var(--space-5)}.request-detail h2{font-size:var(--text-xl)}.request-context{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2)}.request-context span{color:var(--muted)}.approval-actions{gap:var(--space-2);flex-wrap:wrap}.decision-note{display:grid;gap:var(--space-2);margin:var(--space-4) 0}.decision-note span{color:var(--ink-2);font-size:var(--text-sm);font-weight:700}.decision-note textarea{width:100%;min-height:96px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);outline:0;resize:vertical}.decision-note textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.request-row{justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md)}.row-actions{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.request-row div{min-width:0;flex:1}.request-row strong,.request-row span{display:block}.audit-list{display:grid;gap:var(--space-3)}.audit-row{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.audit-row div{min-width:0}.audit-row strong,.audit-row span{display:block;overflow-wrap:anywhere}.audit-row div span{color:var(--muted);font-size:var(--text-sm)}.file-upload-form{display:grid;gap:var(--space-4)}.file-drop{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2)}.file-drop.has-file{border-color:var(--brand);background:var(--brand-soft)}.file-drop svg{color:var(--brand)}.file-drop div{display:grid;gap:var(--space-1);min-width:0}.file-drop span,.file-meta-card span,.file-card small{color:var(--muted);font-size:var(--text-sm)}.file-picker{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--brand);color:var(--brand-ink);font-size:var(--text-md);font-weight:800;cursor:pointer;transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.file-picker:hover{background:var(--brand-strong);transform:translateY(-1px)}.file-meta-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.file-meta-card div{display:grid;gap:2px;min-width:0}.file-meta-card strong,.file-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-form-grid{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);gap:var(--space-3)}.file-form-grid .field{margin-bottom:0}.file-actions{display:flex;justify-content:flex-end}.file-card{display:grid;gap:var(--space-2);min-height:150px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.file-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.file-card svg{color:var(--brand)}.user-row{display:grid;grid-template-columns:36px minmax(220px,1fr) minmax(140px,.32fr) minmax(130px,.28fr) 44px;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md)}.user-row div{min-width:0}.user-row strong,.user-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row .status,.user-row .priority{max-width:100%;justify-content:center}.rbac-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg)}.rbac-table{min-width:1120px}.rbac-table th,.rbac-table td{vertical-align:middle}.rbac-table tr.inactive{opacity:.58}.rbac-user{display:flex;align-items:center;gap:var(--space-3);min-width:220px}.rbac-user span:last-child{display:grid;gap:2px;min-width:0}.rbac-user strong,.rbac-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbac-user small{color:var(--muted)}.permission-check{display:grid;place-items:center}.permission-check input,.permission-grid input{width:18px;height:18px;accent-color:var(--brand)}.permission-editor{display:grid;gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2) var(--space-3)}.row-actions.nowrap{flex-wrap:nowrap}.user-dialog{width:min(760px,100%)}@media(max-width:1024px){.app-shell{grid-template-columns:var(--rail-w) minmax(0,1fr)}.brand div:not(.brand-mark),.branch-switcher span,.nav-item span,.nav-group-title,.sidebar-footer .user-pill div{display:none}.sidebar{padding-inline:var(--space-3)}.brand,.nav-item,.branch-switcher,.sidebar-footer{justify-content:center}.nav-item b{position:absolute;top:4px;right:6px;margin-left:0}.metric-grid,.task-form,.task-filter-form,.task-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.calendar-workspace,.attendance-form{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(7,minmax(88px,1fr))}.team-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban-board{grid-template-columns:repeat(3,minmax(200px,1fr))}.request-workspace{grid-template-columns:1fr}.request-queue{border-right:0;border-bottom:1px solid var(--border)}}@media(max-width:640px){.app-shell{display:block;padding-bottom:88px}.sidebar{display:none}.workspace{width:100%;padding:var(--space-4) var(--space-4) var(--space-6)}.topbar{align-items:stretch;flex-direction:column;margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-4);padding:var(--space-3) var(--space-4)}.topbar-actions{display:grid;grid-template-columns:1fr repeat(4,var(--control-h));gap:var(--space-2);justify-content:stretch}.search-box{grid-column:1 / -1;width:100%}.topbar-actions>.icon-button,.topbar-actions>.secondary-button,.topbar-actions>.primary-button,.topbar-actions>.mobile-more-button{width:var(--control-h);min-width:var(--control-h);padding-inline:0}.topbar-primary-label,.mobile-more-button span{display:none}.mobile-more-button{display:inline-flex}.mobile-more-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75;display:grid;place-items:end center;padding:var(--space-4) var(--space-3) calc(88px + var(--space-3));background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:overlay-in var(--dur) var(--ease) both}.notification-popover{top:138px;right:var(--space-3);left:var(--space-3);width:auto}.metric-grid,.task-form,.task-filter-form,.task-editor-grid{grid-template-columns:1fr}.task-form .primary-button,.task-form .secondary-button,.task-form .danger-button,.task-filter-form .primary-button,.task-filter-form .secondary-button,.task-filter-form .danger-button,.task-editor-grid .primary-button,.task-editor-grid .secondary-button,.task-editor-grid .danger-button,.dialog-actions .primary-button,.dialog-actions .secondary-button,.dialog-actions .danger-button{width:100%}.permission-grid,.team-grid,.card-grid,.file-grid,.team-summary-grid,.attendance-summary,.project-stats,.okr-numbers,.file-form-grid,.okr-card,.okr-update,.meeting-action-form,.audit-row{grid-template-columns:1fr}.system-strip,.workload-card-head,.timeline-row,.file-drop,.calendar-day,.calendar-items article,.calendar-toolbar,.project-card-head,.meeting-card-head{align-items:flex-start;grid-template-columns:1fr;flex-wrap:wrap}.calendar-actions,.attendance-actions,.file-actions,.task-editor-actions{width:100%}.calendar-actions .secondary-button,.attendance-actions .primary-button,.attendance-actions .secondary-button,.file-actions .primary-button{flex:1}.calendar-board{overflow-x:auto}.calendar-grid{min-width:700px}.calendar-cell{min-height:112px}.okr-item.expanded,.user-row{grid-template-columns:1fr}.span-2{grid-column:span 1}.quick-add{align-items:stretch;flex-wrap:wrap}.quick-add input{flex-basis:100%}.quick-status-row button,.status-select,.segmented button,.icon-button.small,.request-queue-item{min-height:var(--tap)}.kanban-board{grid-template-columns:1fr;overflow-x:visible}.bottom-nav{position:fixed;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);z-index:50;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav button{position:relative;display:grid;place-items:center;gap:2px;min-height:54px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--muted);font-size:var(--text-xs);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.bottom-nav button.active{background:var(--brand-soft);color:var(--brand-strong);font-weight:700}.bottom-nav-add{margin-top:-22px;background:var(--brand)!important;color:var(--brand-ink)!important;box-shadow:var(--shadow-md)}.bottom-nav b{position:absolute;top:4px;right:10px;margin-left:0}.toast-stack{right:var(--space-3);left:var(--space-3);bottom:96px;width:auto}.dialog{padding:var(--space-5)}}@media(max-width:420px){.metric-grid{grid-template-columns:1fr}.workspace{padding:var(--space-3) var(--space-3) var(--space-6)}}/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"IBM Plex Sans Thai", "Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--radius-sm:2px;--radius-md:3px;--radius-lg:4px;--radius-xl:6px;--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"IBM Plex Sans Thai", "Inter", system-ui, sans-serif;--default-mono-font-family:"IBM Plex Mono", ui-monospace, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{border-color:var(--border)}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}::selection{background:var(--brand);color:var(--brand-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:content-box;border:3px solid #0000;border-radius:9999px}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{inset-inline:0}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:0}.top-1{top:var(--spacing)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-full{top:100%}.-right-1{right:calc(var(--spacing) * -1)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.left-3{left:calc(var(--spacing) * 3)}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-\[80\]{z-index:80}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-1{margin-bottom:var(--spacing)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-28{height:calc(var(--spacing) * 28)}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[70vh\]{max-height:70vh}.min-h-44{min-height:calc(var(--spacing) * 44)}.min-h-\[88px\]{min-height:88px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-28{width:calc(var(--spacing) * 28)}.w-40{width:calc(var(--spacing) * 40)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[1320px\]{max-width:1320px}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[560px\]{min-width:560px}.min-w-\[720px\]{min-width:720px}.min-w-\[920px\]{min-width:920px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.resize-y{resize:vertical}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(220px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-px{gap:1px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line>:not(:last-child)){border-color:var(--line)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--border)}.border-border-strong{border-color:var(--border-strong)}.border-brand,.border-brand\/30{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.border-brand\/30{border-color:color-mix(in oklab,var(--brand) 30%,transparent)}}.border-current{border-color:currentColor}.border-line{border-color:var(--line)}.border-st-overdue\/25{border-color:var(--st-overdue)}@supports (color:color-mix(in lab,red,red)){.border-st-overdue\/25{border-color:color-mix(in oklab,var(--st-overdue) 25%,transparent)}}.border-st-overdue\/40{border-color:var(--st-overdue)}@supports (color:color-mix(in lab,red,red)){.border-st-overdue\/40{border-color:color-mix(in oklab,var(--st-overdue) 40%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-brand{border-left-color:var(--brand)}.border-l-faint{border-left-color:var(--faint)}.border-l-st-active{border-left-color:var(--st-active)}.border-l-st-overdue{border-left-color:var(--st-overdue)}.border-l-st-pending{border-left-color:var(--st-pending)}.bg-\[var\(--scrim\)\]{background-color:var(--scrim)}.bg-brand{background-color:var(--brand)}.bg-brand-soft{background-color:var(--brand-soft)}.bg-clay-soft{background-color:var(--clay-soft)}.bg-faint{background-color:var(--faint)}.bg-line{background-color:var(--line)}.bg-paper{background-color:var(--paper)}.bg-pri-high{background-color:var(--pri-high)}.bg-pri-high-bg{background-color:var(--pri-high-bg)}.bg-pri-low{background-color:var(--pri-low)}.bg-pri-low-bg{background-color:var(--pri-low-bg)}.bg-pri-med{background-color:var(--pri-med)}.bg-pri-med-bg{background-color:var(--pri-med-bg)}.bg-st-active{background-color:var(--st-active)}.bg-st-active-bg{background-color:var(--st-active-bg)}.bg-st-done{background-color:var(--st-done)}.bg-st-done-bg{background-color:var(--st-done-bg)}.bg-st-overdue{background-color:var(--st-overdue)}.bg-st-overdue-bg,.bg-st-overdue-bg\/40{background-color:var(--st-overdue-bg)}@supports (color:color-mix(in lab,red,red)){.bg-st-overdue-bg\/40{background-color:color-mix(in oklab,var(--st-overdue-bg) 40%,transparent)}}.bg-st-overdue\/15{background-color:var(--st-overdue)}@supports (color:color-mix(in lab,red,red)){.bg-st-overdue\/15{background-color:color-mix(in oklab,var(--st-overdue) 15%,transparent)}}.bg-st-pending{background-color:var(--st-pending)}.bg-st-pending-bg{background-color:var(--st-pending-bg)}.bg-sunken,.bg-sunken\/60{background-color:var(--sunken)}@supports (color:color-mix(in lab,red,red)){.bg-sunken\/60{background-color:color-mix(in oklab,var(--sunken) 60%,transparent)}}.bg-surface{background-color:var(--surface)}.bg-surface-2{background-color:var(--surface-2)}.bg-surface\/90{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\/90{background-color:color-mix(in oklab,var(--surface) 90%,transparent)}}.bg-surface\/95{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\/95{background-color:color-mix(in oklab,var(--surface) 95%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-\[10vh\]{padding-top:10vh}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-1{padding-bottom:var(--spacing)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:IBM Plex Mono,ui-monospace,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-brand{color:var(--brand)}.text-brand-ink{color:var(--brand-ink)}.text-brand-strong{color:var(--brand-strong)}.text-clay{color:var(--clay)}.text-faint{color:var(--faint)}.text-ink{color:var(--ink)}.text-ink-2{color:var(--ink-2)}.text-muted{color:var(--muted)}.text-pri-high{color:var(--pri-high)}.text-pri-low{color:var(--pri-low)}.text-pri-med{color:var(--pri-med)}.text-st-active{color:var(--st-active)}.text-st-done{color:var(--st-done)}.text-st-overdue{color:var(--st-overdue)}.text-st-pending{color:var(--st-pending)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.accent-brand{accent-color:var(--brand)}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-brand\/30{--tw-ring-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.ring-brand\/30{--tw-ring-color:color-mix(in oklab, var(--brand) 30%, transparent)}}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-faint::placeholder{color:var(--faint)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-0:before{content:var(--tw-content);inset-block:0}.before\:left-0:before{content:var(--tw-content);left:0}.before\:w-\[3px\]:before{content:var(--tw-content);width:3px}.before\:bg-brand:before{content:var(--tw-content);background-color:var(--brand)}.before\:bg-clay:before{content:var(--tw-content);background-color:var(--clay)}.before\:bg-faint:before{content:var(--tw-content);background-color:var(--faint)}.before\:bg-st-active:before{content:var(--tw-content);background-color:var(--st-active)}.before\:bg-st-overdue:before{content:var(--tw-content);background-color:var(--st-overdue)}.before\:bg-st-pending:before{content:var(--tw-content);background-color:var(--st-pending)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media(hover:hover){.hover\:border-border-strong:hover{border-color:var(--border-strong)}.hover\:border-brand:hover{border-color:var(--brand)}.hover\:bg-brand-soft:hover{background-color:var(--brand-soft)}.hover\:bg-brand-strong:hover{background-color:var(--brand-strong)}.hover\:bg-brand\/15:hover{background-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-brand\/15:hover{background-color:color-mix(in oklab,var(--brand) 15%,transparent)}}.hover\:bg-st-overdue-bg:hover{background-color:var(--st-overdue-bg)}.hover\:bg-st-overdue\/15:hover{background-color:var(--st-overdue)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-st-overdue\/15:hover{background-color:color-mix(in oklab,var(--st-overdue) 15%,transparent)}}.hover\:bg-sunken:hover,.hover\:bg-sunken\/70:hover{background-color:var(--sunken)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sunken\/70:hover{background-color:color-mix(in oklab,var(--sunken) 70%,transparent)}}.hover\:bg-surface-2:hover{background-color:var(--surface-2)}.hover\:text-ink:hover{color:var(--ink)}.hover\:text-st-overdue:hover{color:var(--st-overdue)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-brand:focus{border-color:var(--brand)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-brand\/20:focus{--tw-ring-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-brand\/20:focus{--tw-ring-color:color-mix(in oklab, var(--brand) 20%, transparent)}}.focus\:ring-brand\/30:focus{--tw-ring-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-brand\/30:focus{--tw-ring-color:color-mix(in oklab, var(--brand) 30%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-brand\/40:focus-visible{--tw-ring-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-brand\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--brand) 40%, transparent)}}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-surface:focus-visible{--tw-ring-offset-color:var(--surface)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-sunken:disabled{background-color:var(--sunken)}.disabled\:text-muted:disabled{color:var(--muted)}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-4{gap:calc(var(--spacing) * 4)}}@media(min-width:48rem){.md\:w-80{width:calc(var(--spacing) * 80)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}}@media(min-width:64rem){.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[15rem_minmax\(0\,1fr\)\]{grid-template-columns:15rem minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.6fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.lg\:p-6{padding:calc(var(--spacing) * 6)}.lg\:pb-0{padding-bottom:0}}@media(min-width:80rem){.xl\:w-80{width:calc(var(--spacing) * 80)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(22rem\,0\.75fr\)\]{grid-template-columns:minmax(0,1fr) minmax(22rem,.75fr)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.animate-fade-up{animation:.2s cubic-bezier(.2,.8,.2,1) both fade-up}.animate-overlay-in{animation:.18s both overlay-in}@media(prefers-reduced-motion:reduce){.animate-fade-up,.animate-overlay-in{animation:none}}}:root,[data-theme=light]{color-scheme:light;--paper:#f6f7f9;--surface:#fff;--surface-2:#f8fafc;--sunken:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--line:#eef1f5;--ink:#0f172a;--ink-2:#334155;--muted:#64748b;--faint:#94a3b8;--brand:#0e7a57;--brand-ink:#fff;--brand-soft:#e7f3ee;--brand-strong:#0a5c42;--clay:#c2410c;--clay-soft:#fbeadf;--st-pending:#b45309;--st-pending-bg:#fef3c7;--st-active:#1d4ed8;--st-active-bg:#dbeafe;--st-done:#0e7a57;--st-done-bg:#e7f3ee;--st-overdue:#b91c1c;--st-overdue-bg:#fee2e2;--pri-low:#475569;--pri-low-bg:#f1f5f9;--pri-med:#b45309;--pri-med-bg:#fef3c7;--pri-high:#b91c1c;--pri-high-bg:#fee2e2;--shadow-sm:0 1px 2px #0f172a0d, 0 1px 1px #0f172a0a;--shadow-md:0 4px 12px #0f172a12, 0 2px 4px #0f172a0a;--shadow-lg:0 18px 40px #0f172a24, 0 6px 14px #0f172a0f;--scrim:#0f172a73}[data-theme=dark]{color-scheme:dark;--paper:#0b0f17;--surface:#0f1623;--surface-2:#15202f;--sunken:#0b1220;--border:#1f2a3c;--border-strong:#334155;--line:#1a2436;--ink:#e8edf4;--ink-2:#cbd5e1;--muted:#93a2b8;--faint:#64748b;--brand:#34d8a0;--brand-ink:#052e1f;--brand-soft:#123026;--brand-strong:#5fe6b8;--clay:#f0915e;--clay-soft:#33200f;--st-pending:#f0c75e;--st-pending-bg:#3a2e10;--st-active:#93b4f4;--st-active-bg:#16233c;--st-done:#34d8a0;--st-done-bg:#123026;--st-overdue:#f59e8c;--st-overdue-bg:#3a1714;--pri-low:#aab6c6;--pri-low-bg:#1c2636;--pri-med:#f0c75e;--pri-med-bg:#3a2e10;--pri-high:#f59e8c;--pri-high-bg:#3a1714;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 8px 20px #0000008c;--shadow-lg:0 24px 56px #0000009e;--scrim:#02060c99}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
