@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--brand-600: #00A651;--brand-700: #007A3D;--brand-50: #E8F7F0;--brand-100: #D4F4E7;--gray-50: #f8f9fa;--gray-100: #f1f3f4;--gray-200: #e8eaed;--gray-300: #dadce0;--gray-400: #bdc1c6;--gray-500: #80868b;--gray-600: #5f6368;--gray-700: #3c4043;--gray-900: #1a1a1a;--green-500: #34a853;--green-50: #e6f4ea;--yellow-500: #fbbc04;--yellow-50: #fef9e7;--orange-500: #ea8600;--orange-50: #fef3e2;--red-500: #ea4335;--red-50: #fce8e6;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow: 0 2px 6px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--sidebar-width: 240px;--main-max-width: 1200px;--main-padding: 32px 40px;--transition-fast: .15s;--transition-base: .2s;--easing: ease;--focus-ring: 0 0 0 3px rgba(0, 166, 81, .12)}:root{--fg-primary: var(--gray-900);--fg-secondary: var(--gray-700);--fg-muted: var(--gray-500);--fg-disabled: var(--gray-400);--fg-on-brand: #fff;--bg-page: var(--gray-50);--bg-surface: #fff;--bg-subtle: var(--gray-50);--bg-hover: var(--gray-100);--border-subtle: var(--gray-200);--border-input: var(--gray-300);--border-strong: var(--gray-400);--accent: var(--brand-600);--accent-hover: var(--brand-700);--accent-tint: var(--brand-50);--success: var(--green-500);--warning: var(--orange-500);--danger: var(--red-500)}*{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--font);background:var(--bg-page);color:var(--fg-primary);line-height:1.5}h1{font-size:1.75rem;font-weight:600;color:var(--gray-900);line-height:1.25}h2{font-size:1.375rem;font-weight:600;color:var(--gray-900);line-height:1.3}h3{font-size:1.125rem;font-weight:600;color:var(--gray-900)}h4{font-size:1rem;font-weight:600;color:var(--gray-700)}p{color:var(--gray-700)}a{color:var(--brand-600);text-decoration:none}a:hover{text-decoration:underline}.text-body{font-size:.9rem;line-height:1.5}.text-small{font-size:.8rem}.text-meta{font-size:.75rem;color:var(--gray-500)}.text-muted{font-size:.85rem;color:var(--gray-500)}.eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-500)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;line-height:1;white-space:nowrap;font-family:var(--font);background:#fff;color:var(--gray-700);border-color:var(--gray-300)}.btn:hover{background:var(--gray-100);border-color:var(--gray-400)}.btn-primary{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700)}.btn-ghost{background:transparent;color:var(--gray-600);border-color:transparent}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-900)}.btn-danger{background:var(--red-50);color:var(--red-500);border-color:transparent}.btn-danger:hover{background:#fbd5d2}.btn-sm{padding:5px 10px;font-size:.8rem}.btn-lg{padding:11px 22px;font-size:.95rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-hover{cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .1s}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300);transform:translateY(-1px)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:.72rem;font-weight:600;white-space:nowrap;letter-spacing:.2px}.badge-brand{background:var(--brand-50);color:var(--brand-600)}.badge-muted{background:var(--gray-100);color:var(--gray-600)}.badge-success{background:var(--green-50);color:var(--green-500)}.badge-warning{background:var(--orange-50);color:var(--orange-500)}.badge-danger{background:var(--red-50);color:var(--red-500)}.badge-yellow{background:var(--yellow-50);color:var(--orange-500)}.badge-outline{background:#fff;border:1px dashed var(--gray-300);color:var(--gray-500)}.checkbox{width:16px;height:16px;flex-shrink:0;border:1.5px solid var(--gray-400);border-radius:3px;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.checkbox.on{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.checkbox svg{width:12px;height:12px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f7f0,#f8fdfb)}.login-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:48px 40px;width:100%;max-width:380px;text-align:center}.login-logo{font-size:2rem;font-weight:700;color:var(--brand-600);letter-spacing:-1px;margin-bottom:4px}.login-subtitle{font-size:.875rem;color:var(--gray-500);margin-bottom:36px}.magic-link-input{display:block;width:100%;padding:12px 14px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.9rem;font-family:var(--font);color:var(--gray-900);background:#fff;transition:border-color .15s,box-shadow .15s;margin-bottom:10px}.magic-link-input:focus{outline:none;border-color:var(--brand-600);box-shadow:var(--focus-ring)}.magic-link-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:12px;border:none;border-radius:var(--radius);background:var(--brand-600);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s;font-family:var(--font)}.magic-link-btn:hover{background:var(--brand-700)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.spinner{width:36px;height:36px;border:3px solid var(--gray-200);border-top-color:var(--brand-600);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
