@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--font-sans: "IBM Plex Sans", ui-sans-serif, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-micro: 11px;--text-mini: 12px;--text-ui: 13px;--text-md: 14px;--text-body: 15px;--text-lg: 17px;--text-h4: 20px;--text-h3: 24px;--text-h2: 32px;--text-h1: 44px;--text-display: 62px;--leading-tight: 1.12;--leading-snug: 1.28;--leading-ui: 1.45;--leading-body: 1.62;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--tracking-display: -.028em;--tracking-heading: -.018em;--tracking-ui: -.006em;--tracking-caps: .09em;--space-0: 0px;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 12px;--space-6: 16px;--space-7: 20px;--space-8: 24px;--space-9: 32px;--space-10: 40px;--space-11: 48px;--space-12: 64px;--space-13: 96px;--control-h-sm: 24px;--control-h-md: 28px;--control-h-lg: 34px;--sidebar-w: 232px;--topbar-h: 44px;--page-max: 1120px;--radius-xs: 3px;--radius-sm: 5px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-snap: cubic-bezier(.16, 1, .3, 1);--dur-instant: 60ms;--dur-fast: .11s;--dur-base: .18s;--dur-slow: .32s;--dur-slower: .56s;--transition-control: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-instant) var(--ease-out);--blue-50: oklch(.974 .018 238);--blue-100: oklch(.942 .038 238);--blue-200: oklch(.898 .064 238);--blue-300: oklch(.84 .092 238);--blue-400: oklch(.772 .118 240);--blue-500: oklch(.702 .14 242);--blue-600: oklch(.618 .152 246);--blue-700: oklch(.52 .14 250);--blue-800: oklch(.412 .112 252);--blue-900: oklch(.308 .08 252);--blue-950: oklch(.226 .052 252);--hue-danger: 25;--hue-warning: 78;--hue-info: 268}@media(prefers-reduced-motion:reduce){:root{--dur-instant: 0ms;--dur-fast: 0ms;--dur-base: 0ms;--dur-slow: 0ms;--dur-slower: 0ms}}:root,[data-theme=dark]{color-scheme:dark;--canvas: oklch(.168 .011 245);--surface-1: oklch(.196 .012 245);--surface-2: oklch(.228 .013 245);--surface-3: oklch(.268 .014 245);--surface-inset: oklch(.148 .01 245);--overlay-scrim: oklch(.1 .01 245 / .66);--border-subtle: oklch(.278 .012 245);--border: oklch(.33 .014 245);--border-strong: oklch(.42 .018 245);--text-1: oklch(.962 .006 242);--text-2: oklch(.762 .012 242);--text-3: oklch(.605 .013 242);--text-4: oklch(.492 .013 242);--accent: var(--blue-400);--accent-hover: var(--blue-300);--accent-active: var(--blue-500);--accent-fg: oklch(.192 .042 250);--accent-quiet: oklch(.772 .118 240 / .14);--accent-quiet-hover: oklch(.772 .118 240 / .22);--accent-border: oklch(.772 .118 240 / .34);--accent-text: var(--blue-300);--success: oklch(.76 .14 152);--warning: oklch(.8 .13 var(--hue-warning));--danger: oklch(.68 .17 var(--hue-danger));--info: oklch(.74 .098 var(--hue-info));--success-quiet: oklch(.76 .14 152 / .15);--warning-quiet: oklch(.8 .13 78 / .15);--danger-quiet: oklch(.68 .17 25 / .16);--info-quiet: oklch(.74 .098 268 / .16);--focus-ring: oklch(.772 .118 240 / .85);--selection: oklch(.772 .118 240 / .28);--control-bg: oklch(.228 .013 245);--control-bg-hover: oklch(.262 .014 245);--control-bg-active: oklch(.292 .014 245);--field-bg: oklch(.196 .012 245);--shadow-none: none;--shadow-hairline: 0 0 0 1px var(--border-subtle);--shadow-sm: 0 1px 2px oklch(0 0 0 / .28);--shadow-md: 0 4px 12px -2px oklch(0 0 0 / .32), 0 1px 2px oklch(0 0 0 / .24);--shadow-lg: 0 16px 40px -8px oklch(0 0 0 / .44), 0 2px 6px oklch(0 0 0 / .28);--shadow-glow: 0 0 0 1px var(--accent-border), 0 6px 24px -8px oklch(.772 .118 240 / .45);--ring: 0 0 0 1.5px var(--focus-ring);--blur-panel: saturate(140%) blur(14px)}[data-theme=light]{color-scheme:light;--canvas: oklch(.986 .003 242);--surface-1: oklch(1 0 0);--surface-2: oklch(.966 .005 242);--surface-3: oklch(.938 .007 242);--surface-inset: oklch(.958 .006 242);--overlay-scrim: oklch(.3 .012 245 / .3);--border-subtle: oklch(.922 .006 242);--border: oklch(.884 .008 242);--border-strong: oklch(.812 .011 242);--text-1: oklch(.242 .014 245);--text-2: oklch(.442 .014 245);--text-3: oklch(.578 .013 242);--text-4: oklch(.672 .012 242);--accent: var(--blue-600);--accent-hover: oklch(.578 .152 246);--accent-active: oklch(.53 .142 248);--accent-fg: oklch(.995 .008 238);--accent-quiet: oklch(.618 .152 246 / .1);--accent-quiet-hover: oklch(.618 .152 246 / .16);--accent-border: oklch(.618 .152 246 / .3);--accent-text: var(--blue-700);--success: oklch(.56 .132 152);--warning: oklch(.64 .14 var(--hue-warning));--danger: oklch(.56 .19 var(--hue-danger));--info: oklch(.56 .12 var(--hue-info));--success-quiet: oklch(.56 .132 152 / .12);--warning-quiet: oklch(.64 .14 78 / .14);--danger-quiet: oklch(.56 .19 25 / .1);--info-quiet: oklch(.56 .12 268 / .1);--focus-ring: oklch(.618 .152 246 / .75);--selection: oklch(.618 .152 246 / .2);--control-bg: oklch(1 0 0);--control-bg-hover: oklch(.966 .005 242);--control-bg-active: oklch(.938 .007 242);--field-bg: oklch(1 0 0);--shadow-sm: 0 1px 2px oklch(.3 .012 245 / .08);--shadow-md: 0 4px 12px -2px oklch(.3 .012 245 / .1), 0 1px 2px oklch(.3 .012 245 / .06);--shadow-lg: 0 16px 40px -8px oklch(.3 .012 245 / .16), 0 2px 6px oklch(.3 .012 245 / .08)}@keyframes vd-spin{to{transform:rotate(360deg)}}@keyframes vd-fade{0%{opacity:0}to{opacity:1}}@keyframes vd-rise{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes vd-pulse{0%,to{opacity:1}50%{opacity:.45}}:root{--bg: var(--canvas);--text: var(--text-1);--text-secondary: var(--text-2);--text-muted: var(--text-3);--accent-dim: var(--accent-quiet);--bg-accent: var(--accent-quiet);--text-accent: var(--accent-text);--text-warning: var(--warning);--bg-warning: var(--warning-quiet);--border-warning: color-mix(in oklab, var(--warning) 45%, transparent);--radius: var(--radius-md)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;background:transparent;color:inherit}input,select,textarea{font-family:inherit;color:var(--text)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--surface-3) 85%,transparent) 50%,transparent 100%);animation:vd-shimmer 1.25s var(--ease-in-out, ease) infinite}@keyframes vd-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none;display:none}}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:16px;height:46px;padding:0 18px;border-bottom:1px solid var(--border);background:var(--surface-1);flex-shrink:0}.topbar .brand{font-weight:600;font-size:13px;letter-spacing:.01em}.topbar nav{display:flex;gap:4px}.topbar nav a{color:var(--text-secondary);text-decoration:none;font-size:12px;padding:5px 9px;border-radius:var(--radius)}.topbar nav a:hover{color:var(--text);background:var(--surface-2)}.topbar nav a.active{color:var(--text);background:var(--surface-2)}.topbar .spacer{flex:1}.topbar .disclaimer{font-size:11px;line-height:1.3;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);padding:4px 9px;white-space:nowrap}.topbar .disclaimer strong{color:var(--text-secondary);font-weight:600}.icon-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius);height:28px;padding:0 9px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.main{flex:1;overflow:hidden;display:flex;min-height:0}.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 7px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);white-space:nowrap}.chip.accent{background:var(--bg-accent);color:var(--text-accent);border-color:transparent}.chip.warning{background:var(--bg-warning);color:var(--text-warning);border-color:transparent}.chip.status-DRAFT{color:var(--text-muted)}.chip.status-IN_REVIEW{color:var(--text-warning);border-color:var(--border-warning)}.chip.status-APPROVED,.chip.status-PUBLISHED{color:var(--text-accent);border-color:transparent;background:var(--bg-accent)}.tbd{color:var(--text-warning)}.unassigned{color:var(--text-muted)}.btn{border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);border-radius:var(--radius);font-size:12px;padding:5px 11px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover{color:var(--text);border-color:var(--text-muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger:hover{color:var(--danger);border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.field-label{font-size:11px;color:var(--text-muted);letter-spacing:.02em;margin-bottom:5px;display:block}.input,.textarea,.select{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:7px 9px;font-size:13px;outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:68px;line-height:1.5}.scroll{overflow-y:auto;min-height:0}.scroll::-webkit-scrollbar{width:10px}.scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:3px solid var(--bg)}.row-hover{transition:background .08s ease}.row-hover:hover{background:var(--surface-2)!important}.row-actions{opacity:0;transition:opacity .08s ease}.row-hover:hover .row-actions,.task-row:hover .row-actions,.section-header:hover .row-actions{opacity:1}.section-header{border-radius:var(--radius)}.section-header:hover{background:var(--surface-2)}@keyframes slideIn{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.task-row{transition:background .08s ease}.task-row:hover{background:var(--surface-2)}.task-row .grip{opacity:0;cursor:grab;color:var(--text-muted)}.task-row:hover .grip{opacity:1}.task-row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.cell-edit{cursor:text;border-radius:3px;padding:2px 4px;margin:-2px -4px}.cell-edit:hover{background:var(--accent-dim)}.login-page{position:relative;height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(70ch 60ch at 50% -10%,var(--accent-dim) 0%,transparent 70%),var(--bg)}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(60ch 40ch at 50% 40%,#000 0%,transparent 75%);mask-image:radial-gradient(60ch 40ch at 50% 40%,#000 0%,transparent 75%);opacity:.5;pointer-events:none}.login-card{position:relative;width:100%;max-width:380px;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:32px 30px 24px;text-align:center;animation:loginIn .28s cubic-bezier(.22,1,.36,1)}@keyframes loginIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.login-mark{width:40px;height:40px;margin:0 auto 16px;border-radius:10px;background:var(--accent);color:var(--accent-fg);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;letter-spacing:.02em}.login-title{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.login-sub{margin:6px 0 22px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.login-boxes{display:flex;gap:10px;justify-content:center}.login-box{width:54px;height:62px;text-align:center;font-family:var(--font-mono);font-size:24px;font-weight:500;text-transform:uppercase;caret-color:var(--accent);background:var(--bg);border:1px solid var(--border-strong);border-radius:8px;outline:none;transition:border-color .12s ease,background .12s ease,transform .12s ease}.login-box.filled{border-color:var(--accent);background:var(--bg-accent)}.login-box:focus{border-color:var(--accent);transform:translateY(-1px)}.login-box.wrong{border-color:var(--danger);background:transparent}.login-msg{margin-top:14px;font-size:11px;min-height:16px;color:var(--text-muted)}.login-msg.wrong{color:var(--danger)}.login-foot{margin-top:20px;padding-top:14px;border-top:1px solid var(--border);font-size:10px;line-height:1.5;color:var(--text-muted)}.shake{animation:shake .42s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}@media(prefers-reduced-motion:reduce){.login-card,.shake{animation:none}}.richtext p{margin:0 0 6px}.richtext p:last-child{margin-bottom:0}.richtext ul,.richtext ol{margin:4px 0;padding-left:20px}.richtext li{margin:2px 0}.richtext b,.richtext strong{font-weight:600}
