@font-face{font-family:Libre Caslon Condensed;src:url(/fonts/libre-caslon-condensed/LibreCaslonCondensed-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Libre Caslon Condensed;src:url(/fonts/libre-caslon-condensed/LibreCaslonCondensed-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--color-bg: #020202;--color-surface: #171717;--color-surface-elevated: #1E1E1E;--color-text: #F2F2F2;--color-text-secondary: #B2B2B2;--color-text-muted: #727272;--color-border: #2A2A2A;--color-border-strong: #363636;--color-bg-alt: #0A0A0A;--color-primary: #FFD500;--color-primary-hover: #E6C000;--color-accent: #FFD500;--color-accent-soft: rgba(255, 213, 0, .15);--color-link: #FFD500;--color-link-hover: #E6C000;--color-tag: #FFD500;--color-tag-bg: rgba(255, 213, 0, .25);--color-error: #FF4444;--color-success: #22C55E;--font-display: "Libre Caslon Condensed", Georgia, serif;--font-sans: "Public Sans", system-ui, sans-serif;--font-tag: "Roboto Mono", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-card: 20px;--radius-button: 42px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow: 0 4px 12px -2px rgba(0, 0, 0, .5), 0 2px 6px -2px rgba(0, 0, 0, .3);--shadow-md: 0 12px 24px -4px rgba(0, 0, 0, .6), 0 4px 8px -4px rgba(0, 0, 0, .3);--card-glow: inset 0px 0px 48px 0px rgba(255, 255, 255, .15);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:16px;line-height:150%;letter-spacing:-.32px;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:120%;color:var(--color-text)}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}p{color:var(--color-text-secondary);margin-bottom:var(--space-4)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-link-hover)}.label,.tag-text{font-family:var(--font-tag);font-size:12px;font-weight:500;letter-spacing:.96px;text-transform:uppercase;color:var(--color-primary)}.card{border-radius:var(--radius-card);border:1px solid var(--color-border);box-shadow:var(--card-glow);background:var(--color-surface);padding:var(--space-6)}.card-elevated{background:var(--color-surface-elevated)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-size:14px;font-weight:600;border:none;cursor:pointer;transition:background var(--transition),transform var(--transition),opacity var(--transition);text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{border-radius:var(--radius-button);background:var(--color-primary);color:#020202;padding:.75rem 1.5rem}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{border-radius:var(--radius-button);background:transparent;color:var(--color-text);padding:.75rem 1.5rem;border:1px solid var(--color-border-strong)}.btn-secondary:hover{background:var(--color-surface-elevated);border-color:var(--color-text-muted)}.btn-ghost{border-radius:var(--radius);background:transparent;color:var(--color-text-secondary);padding:var(--space-2) var(--space-3)}.btn-ghost:hover{background:var(--color-surface);color:var(--color-text)}.btn-danger{border-radius:var(--radius-button);background:var(--color-error);color:#fff;padding:.75rem 1.5rem}.btn-danger:hover{background:#c33}.btn-sm{padding:var(--space-2) var(--space-4);font-size:13px}.btn-icon{padding:var(--space-2);border-radius:var(--radius);background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition)}.btn-icon:hover{background:var(--color-surface);color:var(--color-text)}input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=date],input[type=search],textarea,select{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:var(--font-sans);font-size:14px;line-height:1.5;transition:border-color var(--transition),box-shadow var(--transition);outline:none}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=url]:focus,input[type=number]:focus,input[type=date]:focus,input[type=search]:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-accent-soft)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.form-group{margin-bottom:var(--space-6)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.form-error{color:var(--color-error);font-size:13px;margin-top:var(--space-1)}table{width:100%;border-collapse:collapse}th{text-align:left;font-family:var(--font-tag);font-size:11px;font-weight:500;letter-spacing:.96px;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:14px;color:var(--color-text-secondary)}tr:nth-child(2n){background:var(--color-surface)}tr:hover{background:var(--color-surface-elevated)}.badge{display:inline-flex;align-items:center;font-family:var(--font-tag);font-size:11px;font-weight:500;letter-spacing:.96px;text-transform:uppercase;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--color-tag-bg);color:var(--color-tag)}.badge-success{background:#22c55e26;color:var(--color-success)}.badge-error{background:#ff444426;color:var(--color-error)}.badge-neutral{background:#72727233;color:var(--color-text-secondary)}.overdue{color:var(--color-error)}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:9999;display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.toast{pointer-events:auto;padding:var(--space-4) var(--space-6);border-radius:var(--radius);background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text);font-size:14px;box-shadow:var(--shadow-md);animation:toast-slide-in .3s ease forwards;max-width:400px}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-error)}.toast-info{border-left:3px solid var(--color-primary)}.toast-exit{animation:toast-slide-out .3s ease forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.kanban-board{display:flex;gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-4);min-height:60vh}.kanban-column{flex:0 0 320px;background:var(--color-bg-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border);display:flex;flex-direction:column;max-height:calc(100vh - 180px)}.kanban-column-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.kanban-column-body{padding:var(--space-3);flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.kanban-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);cursor:grab;transition:box-shadow var(--transition),border-color var(--transition)}.kanban-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow)}.kanban-card.dragging{opacity:.5;cursor:grabbing}.kanban-card-over{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.nav{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);height:56px;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.nav-brand{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--color-text);text-decoration:none}.nav-links{display:flex;align-items:center;gap:var(--space-1);list-style:none}.nav-link{display:block;padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-size:14px;font-weight:500;text-decoration:none;border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition)}.nav-link:hover{color:var(--color-text)}.nav-link.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.page{max-width:1400px;margin:0 auto;padding:var(--space-8)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}.page-title{font-family:var(--font-display);font-size:1.75rem;font-weight:400}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:13px}.text-xs{font-size:11px}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) var(--color-bg)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8)}.login-card{width:100%;max-width:400px}.login-title{font-family:var(--font-display);font-size:2rem;font-weight:400;text-align:center;margin-bottom:var(--space-8);color:var(--color-text)}.empty-state{text-align:center;padding:var(--space-16) var(--space-8);color:var(--color-text-muted)}.empty-state h3{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-8)}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-md);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:var(--space-8)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-8)}
