:root{--bg: #F7F7F8;--surface: #FFFFFF;--surface-2: #FAFAFB;--surface-3: #F2F2F4;--text: #1D1D1F;--text-muted: #6B7280;--text-faint: #9CA3AF;--border: #ECECEE;--border-strong: #DEDEE2;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 0 rgba(16, 24, 40, .02);--shadow-lift: 0 4px 16px rgba(16, 24, 40, .08);--cta: #1D1D1F;--red: #DC2626;--red-soft: #FEF2F2;--status-brief: #94A3B8;--status-shoot: #F4B942;--status-edit: #5B8DEF;--status-review: #FF5A5F;--status-ready: #22C55E;--status-published: #1F8A5B;--r-sm: 8px;--r: 10px;--r-md: 12px;--r-lg: 14px;--sidebar-w: 260px;--topbar-h: 64px;--ease: cubic-bezier(.2, .8, .2, 1);--dur: .18s}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,SF Pro Display,SF Pro Text,Inter,system-ui,sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#00000038}::-webkit-scrollbar-track{background:transparent}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 12px;border-radius:var(--r);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn:hover{background:var(--surface-3)}.btn.primary{background:var(--cta);color:#fff;border-color:var(--cta)}.btn.primary:hover{opacity:.9;background:var(--cta)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-3)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border-radius:999px;background:var(--surface-3);color:var(--text)}.chip.dot:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.status-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 9px;border-radius:999px;border:1px solid;white-space:nowrap}.status-chip:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.deadline-overdue,.deadline-today{color:var(--red)}.deadline-tomorrow{color:#f59e0b}.deadline-soon,.deadline-future,.deadline-none{color:var(--text-muted)}
