@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--text-main: #141B2D;--text-secondary: #414A5C;--text-labels: #8A8578;--bg-page: #FBFAF8;--bg-subtle: #F2F1EE;--border-hairline: #E3E0DA;--accent-brass: #9A7B3F;--accent-wash: #FAF6EE;--accent-line: #E8DFC9;--state-overdue: #B3462F;--state-done: #4A7C59;--bg-card: #FFFFFF;--ink-900: #141B2D;--ink-700: #414A5C;--ink-500: #8A8578;--ink-400: #8A8578;--ink-300: #E3E0DA;--ink-200: #E3E0DA;--ink-150: #E3E0DA;--ink-100: #F2F1EE;--ink-50: #FBFAF8;--brand-600: #9A7B3F;--brand-700: #836733;--brand-800: #6C5428;--brand-50: #FAF6EE;--brand-200: #E8DFC9;--success-600: #4A7C59;--success-50: #F0F7F2;--danger-600: #B3462F;--danger-50: #FDF2F0;--bg-primary: var(--bg-page);--bg-secondary: #ffffff;--bg-tertiary: var(--bg-subtle);--text-primary: var(--text-main);--text-muted: var(--text-labels);--accent-primary: var(--accent-brass);--accent-blue: var(--accent-brass);--accent-blue-light: var(--accent-wash);--border: var(--border-hairline);--border-hover: var(--accent-line);--success: var(--state-done);--danger: var(--state-overdue);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}html{font-size:100%;-webkit-text-size-adjust:100%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--ink-50);color:var(--ink-900);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.8125rem;line-height:1.5}.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid var(--brand-200)!important;outline-offset:2px!important}.type-display{font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.type-h1{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.type-h2{font-size:1rem;font-weight:700;line-height:1.4;color:var(--ink-900)}.type-h3{font-size:.9375rem;font-weight:600;line-height:1.4;color:var(--ink-900)}.type-body{font-size:.8125rem;font-weight:400;line-height:1.5;color:var(--ink-900)}.type-caption{font-size:.75rem;font-weight:500;line-height:1.4;color:var(--ink-500)}.type-badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.font-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.card{background:var(--bg-card);border:1px solid var(--ink-150);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);transition:box-shadow .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);font-weight:600;font-size:.8125rem;cursor:pointer;border:none;transition:all .12s cubic-bezier(.4,0,.2,1);font-family:var(--font-family);line-height:1;white-space:nowrap}.btn-primary,.btn-brand{background:var(--brand-600);color:#fff}.btn-primary:hover,.btn-brand:hover{background:var(--brand-700);box-shadow:var(--shadow-sm)}.btn-primary:active,.btn-brand:active{background:var(--brand-800)}.btn-secondary,.btn-outline{background:#fff;border:1px solid var(--ink-200);color:var(--ink-700)}.btn-secondary:hover,.btn-outline:hover{background:var(--ink-100);border-color:var(--ink-300)}.btn-danger{background:var(--danger-600);color:#fff}.btn-danger:hover{background:#b91c1c}.form-control{width:100%;padding:8px 10px;background:#fff;border:1.5px solid var(--ink-200);border-radius:var(--radius-sm);color:var(--ink-900);font-size:.8125rem;font-family:var(--font-family);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.form-control:focus{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-200)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--radius-xs);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor}.badge-urgent{background:var(--danger-50);color:var(--danger-600)}.badge-high{background:var(--warning-50);color:var(--warning-600)}.badge-medium{background:var(--info-50);color:var(--info-600)}.badge-low{background:var(--ink-100);color:var(--ink-500)}.app-layout{display:flex;min-height:100vh;background-color:var(--ink-50)}.sidebar{width:220px;height:100vh;position:sticky;top:0;background:#fff;border-right:1px solid var(--ink-150);padding:12px 10px;display:flex;flex-direction:column;overflow-y:auto;z-index:100;flex-shrink:0}.main-wrapper{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:48px;background:#fff;border-bottom:1px solid var(--ink-150);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:90;flex-shrink:0}.content-area{padding:20px 24px;flex:1;overflow-y:auto}.kanban-board{display:flex;gap:12px;margin-top:8px;overflow-x:auto;padding-bottom:16px;align-items:flex-start}.kanban-column{background:var(--ink-100);border-radius:var(--radius-md);border:1px solid var(--ink-150);display:flex;flex-direction:column;max-height:82vh}.kanban-column-header{padding:8px 12px;background:var(--ink-100);border-bottom:1px solid var(--ink-150);border-radius:var(--radius-md) var(--radius-md) 0 0;font-weight:600;font-size:.8125rem;display:flex;justify-content:space-between;align-items:center;color:var(--ink-900)}.kanban-column-body{padding:6px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:6px}.kanban-card{background:#fff;border:1px solid var(--ink-150);border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .15s cubic-bezier(.4,0,.2,1)}.kanban-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.custom-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--ink-150);box-shadow:var(--shadow-sm)}.custom-table th,.custom-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--ink-150);font-size:.8125rem}.custom-table th{background:var(--ink-100);color:var(--ink-500);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:10}.custom-table tbody tr{transition:background-color .12s ease}.custom-table tbody tr:hover{background-color:var(--brand-50)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:#172b4d73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:20px}.modal-content{background:#fff;border:1px solid var(--ink-150);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto;margin:auto;color:var(--ink-900);animation:modalIn .18s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.text-muted{color:var(--ink-400)}.text-sm{font-size:.8125rem}.text-xs{font-size:.75rem}
