@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap";:root{--bg-base:oklch(14% .012 260);--bg-surface:oklch(18% .01 260);--bg-elevated:oklch(22% .008 260);--bg-hover:oklch(24% .009 260);--border-subtle:oklch(26% .007 260);--border:oklch(30% .006 260);--text-primary:oklch(93% 0 0);--text-secondary:oklch(65% .005 260);--text-muted:oklch(48% .005 260);--accent:oklch(72% .16 80);--accent-soft:oklch(35% .06 80);--success:oklch(65% .16 145);--success-soft:oklch(25% .06 145);--danger:oklch(62% .19 22);--danger-soft:oklch(25% .05 22);--warning:oklch(70% .14 75);--info:oklch(62% .1 245);--font-display:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--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;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration:.2s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{min-height:100vh;display:flex}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);width:220px;padding:var(--space-6) var(--space-4);gap:var(--space-8);flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand{font-family:var(--font-display);letter-spacing:-.3px;color:var(--text-primary);padding:0 var(--space-3);align-items:center;gap:var(--space-2);font-size:18px;font-weight:700;display:flex}.sidebar-brand .mark{background:var(--accent);border-radius:2px;width:8px;height:8px}.sidebar-nav{gap:var(--space-1);flex-direction:column;display:flex}.sidebar-nav a{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--duration) var(--ease-out), color var(--duration) var(--ease-out);font-size:13px;font-weight:500;text-decoration:none;display:flex}.sidebar-nav a:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.sidebar-nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar-section{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);padding:var(--space-2) var(--space-3);margin-top:var(--space-2);font-size:10px}.main{padding:var(--space-8) var(--space-10) var(--space-10) var(--space-10);flex:1;max-width:1300px}.page-header{margin-bottom:var(--space-8)}.page-header h1{font-family:var(--font-display);letter-spacing:-.4px;color:var(--text-primary);margin-bottom:var(--space-1);font-size:26px;font-weight:600}.page-header .subtitle{color:var(--text-muted);font-size:13px}.btn{font-family:var(--font-body);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration) var(--ease-out);border:none;font-size:12px;font-weight:500}.btn-primary{background:var(--accent);color:var(--bg-base)}.btn-primary:hover{filter:brightness(1.1)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-hover)}.badge{border-radius:10px;padding:2px 8px;font-size:10px;font-weight:500}.badge-todo{background:var(--bg-elevated);color:var(--text-muted)}.badge-progress{color:var(--info);background:oklch(25% .05 245)}.badge-done{background:var(--success-soft);color:var(--success)}.badge-blocked{background:var(--danger-soft);color:var(--danger)}.tag{border-radius:10px;padding:1px 7px;font-size:10px;font-weight:500}.tag-high,.tag-urgent{background:var(--danger-soft);color:var(--danger)}.tag-medium{background:var(--accent-soft);color:var(--accent)}.tag-low,.tag-date{background:var(--bg-hover);color:var(--text-secondary)}.modal-overlay{z-index:100;background:oklch(0% 0 0/.6);justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);scrollbar-width:thin;scrollbar-color:var(--border) transparent;width:480px;max-width:90vw;max-height:85vh;overflow-y:auto}.modal h2{font-family:var(--font-display);margin-bottom:var(--space-5);font-size:18px;font-weight:600}.form-group{margin-bottom:var(--space-4)}.form-group label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-bottom:var(--space-1);font-size:11px;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:var(--space-2) var(--space-3);font-size:13px;font-family:var(--font-body);color:var(--text-primary);resize:vertical}.form-group textarea{min-height:80px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);outline:none}.form-actions{gap:var(--space-2);margin-top:var(--space-5);justify-content:flex-end;display:flex}.form-actions .btn-danger{background:var(--danger-soft);color:var(--danger);margin-right:auto}.form-actions .btn-danger:hover{background:var(--danger);color:#fff}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important}}.sidebar-logout{margin-top:auto;padding:0}.sidebar-logout button{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);font:inherit;padding:var(--space-2) var(--space-3);cursor:pointer;text-align:left;background:0 0;font-size:13px}.sidebar-logout button:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-select{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:12px;font-family:var(--font-body);color:var(--text-secondary);cursor:pointer}.filter-select:hover{background:var(--bg-hover)}.filter-select:focus{border-color:var(--accent);outline:none}
