@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_2fbad08d-module__Y6qpBa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_2fbad08d-module__Y6qpBa__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--brand:#1fa855;--brand-hover:#1c984d;--brand-active:#18843f;--brand-subtle:#1fa8551a;--brand-ring:#1fa8554d;--brand-contrast:#fff;--accent:var(--brand);--accent-hover:var(--brand-hover);--accent-light:var(--brand-subtle);--accent-bg:var(--brand-subtle);--accent-subtle:var(--brand-subtle);--bg-base:#f4f5f7;--bg-surface:#fff;--bg-raised:#fff;--bg-sunken:#eef0f3;--bg-primary:var(--bg-surface);--bg-secondary:var(--bg-base);--bg-tertiary:var(--bg-sunken);--bg-sidebar:#fbfbfc;--bg-hover:#1118270a;--bg-active:#11182712;--bg-elevated:var(--bg-raised);--bg-overlay:#11182773;--text-primary:#0a0e16;--text-secondary:#4a525f;--text-muted:#828b99;--text-inverse:#fff;--text-accent:var(--brand);--border:#d7dbe2;--border-light:#e6e9ee;--border-strong:#b9c0cb;--border-focus:var(--brand);--danger:#e5484d;--danger-hover:#d13438;--danger-bg:#fef1f1;--danger-text:#b42026;--warning:#f0a020;--warning-bg:#fef6e7;--warning-text:#93590a;--success:#1fa855;--success-bg:#ecf8f0;--success-text:#137a3c;--info:#3b82f6;--info-bg:#eef4ff;--info-text:#1d4ed8;--shadow-xs:none;--shadow-sm:none;--shadow-md:0 0 0 1px var(--border), 4px 4px 0 -1px var(--border-strong);--shadow-lg:0 0 0 1px var(--border), 8px 8px 0 -1px var(--border-strong);--shadow-xl:0 16px 48px -12px #0a0e164d;--shadow-focus:0 0 0 2px var(--brand);--btn-shadow:3px 3px 0 0 var(--border-strong);--btn-shadow-hover:4px 4px 0 0 var(--border-strong);--btn-shadow-brand:3px 3px 0 0 var(--brand-active);--btn-shadow-brand-hover:4px 4px 0 0 var(--brand-active);--btn-shadow-danger:3px 3px 0 0 var(--danger-hover);--btn-shadow-danger-hover:4px 4px 0 0 var(--danger-hover);--radius-xs:0;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-full:9999px;--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;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:46px;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.6;--leading-relaxed:1.7;--tracking-tight:-.025em;--tracking-tighter:-.04em;--tracking-normal:0;--tracking-wide:.02em;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--transition-fast:.12s cubic-bezier(.4, 0, .2, 1);--transition:.18s cubic-bezier(.4, 0, .2, 1);--transition-slow:.28s cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:264px;--sidebar-collapsed:72px;--header-height:60px;--content-max:1280px;--z-base:0;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-toast:50}[data-theme=dark]{--brand:#2cc463;--brand-hover:#38d06f;--brand-active:#25a854;--brand-subtle:#2cc46324;--brand-ring:#2cc46359;--brand-contrast:#06210f;--bg-base:#0c0d10;--bg-surface:#16181d;--bg-raised:#1d2026;--bg-sunken:#101216;--bg-primary:var(--bg-surface);--bg-secondary:var(--bg-base);--bg-tertiary:var(--bg-sunken);--bg-sidebar:#111317;--bg-hover:#ffffff0d;--bg-active:#ffffff17;--bg-elevated:var(--bg-raised);--bg-overlay:#000000a6;--text-primary:#f8fafc;--text-secondary:#aab2bf;--text-muted:#6b7280;--text-inverse:#0c0d10;--text-accent:var(--brand);--border:#32373f;--border-light:#232830;--border-strong:#454c57;--border-focus:var(--brand);--danger:#f2555a;--danger-hover:#f87171;--danger-bg:#2a1416;--danger-text:#fca5a5;--warning:#fbbf24;--warning-bg:#2c2310;--warning-text:#fde68a;--success:#2cc463;--success-bg:#0f2e1c;--success-text:#6ee7a8;--info:#60a5fa;--info-bg:#14213d;--info-text:#93c5fd;--shadow-xs:none;--shadow-sm:none;--shadow-md:0 0 0 1px var(--border), 4px 4px 0 -1px var(--border-strong);--shadow-lg:0 0 0 1px var(--border), 8px 8px 0 -1px var(--border-strong);--shadow-xl:0 16px 48px -12px #000000bf;--shadow-focus:0 0 0 2px var(--brand)}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);line-height:var(--leading-normal);font-size:var(--text-base);min-height:100vh}a{color:var(--text-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--brand-hover)}img{max-width:100%;display:block}::selection{background:var(--brand-subtle);color:var(--text-primary)}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);outline:none}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}.app-shell{background:var(--bg-base);min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);height:100vh;transition:margin-left var(--transition-slow);flex-direction:column;flex:1;display:flex;overflow-y:auto}.mobile-top-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:100;display:none;position:sticky;top:0}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:999;animation:fadeIn var(--transition) ease;display:none;position:fixed;inset:0}.app-shell.sidebar-is-collapsed .main-content{margin-left:var(--sidebar-collapsed)}.page-header{padding:var(--space-4) var(--space-8);background:color-mix(in srgb, var(--bg-surface) 80%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--border);z-index:var(--z-sticky);min-height:var(--header-height);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.page-title{font-size:var(--text-xl);font-weight:var(--font-extrabold);letter-spacing:var(--tracking-tighter);color:var(--text-primary);line-height:var(--leading-tight)}.page-body{padding:var(--space-8);max-width:var(--content-max);flex:1;width:100%}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:var(--z-sticky);transition:width var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{padding:var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--header-height);flex-shrink:0;display:flex;overflow:hidden}.sidebar-toggle-btn{color:var(--text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-logo{font-size:var(--text-lg);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);align-items:center;gap:var(--space-2);display:flex}.sidebar-logo svg{width:24px;height:24px;color:var(--brand);flex-shrink:0}.sidebar.collapsed .sidebar-logo{opacity:0;width:0;display:none}.sidebar-nav{min-height:0;padding:var(--space-3);flex-direction:column;flex:auto;gap:3px;display:flex;overflow-y:auto}.nav-item{align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition);white-space:nowrap;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar.collapsed .nav-item{justify-content:center;padding:10px}.sidebar.collapsed .nav-item .nav-text{display:none}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.nav-item.active{background:var(--brand-subtle);color:var(--brand);font-weight:var(--font-semibold)}.nav-item.active:before{content:"";background:var(--brand);border-radius:var(--radius-full);width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar.collapsed .nav-item.active:before{display:none}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;display:flex}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--border);gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.sidebar-user{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition);display:flex}.sidebar-user:hover{background:var(--bg-hover)}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user-email{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-signout{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar.collapsed .sidebar-user{padding:var(--space-3) 0;justify-content:center}.sidebar.collapsed .sidebar-user-info,.sidebar.collapsed .sidebar-signout{display:none}.sidebar-signout:hover{background:var(--danger-bg);color:var(--danger)}.auth-page{background:radial-gradient(1200px 600px at 50% -10%, var(--brand-subtle), transparent 60%), var(--bg-base);min-height:100vh;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-10);border:1px solid var(--border);width:100%;max-width:432px}.auth-logo{align-items:center;gap:var(--space-3);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-2);display:flex}.auth-logo svg{width:30px;height:30px;color:var(--brand)}.auth-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-8)}.auth-divider{align-items:center;gap:var(--space-4);margin:var(--space-6) 0;color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-footer{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--text-secondary)}.auth-error{background:var(--danger-bg);color:var(--danger-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);display:flex}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.setup-page{background:radial-gradient(1200px 600px at 50% -10%, var(--brand-subtle), transparent 60%), var(--bg-base);min-height:100vh;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.setup-card{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-10);border:1px solid var(--border);width:100%;max-width:560px}.setup-step-indicator{align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);display:flex}.setup-step{width:34px;height:34px;font-size:var(--text-xs);font-weight:var(--font-semibold);border:1px solid var(--border-strong);color:var(--text-muted);background:var(--bg-surface);transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.setup-step.active{border-color:var(--brand);background:var(--brand);color:var(--brand-contrast);box-shadow:var(--shadow-focus)}.setup-step.done{border-color:var(--brand);background:var(--brand-subtle);color:var(--brand)}.setup-step-line{background:var(--border);height:2px;transition:background var(--transition);flex:1}.setup-step-line.done{background:var(--brand)}.dashboard-grid{gap:var(--space-5);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}@media (max-width:768px){.dashboard-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:center;gap:var(--space-2);border:1px solid #0000;display:flex}.alert-success{background:var(--success-bg);color:var(--success-text);border-color:color-mix(in srgb, var(--success) 25%, transparent)}.alert-danger{background:var(--danger-bg);color:var(--danger-text);border-color:color-mix(in srgb, var(--danger) 25%, transparent)}.alert-warning{background:var(--warning-bg);color:var(--warning-text);border-color:color-mix(in srgb, var(--warning) 25%, transparent)}.alert-info{background:var(--info-bg);color:var(--info-text);border-color:color-mix(in srgb, var(--info) 25%, transparent)}.btn-google{justify-content:center;align-items:center;gap:var(--space-3);width:100%;padding:11px var(--space-5);background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition);display:flex}.btn-google:hover{background:var(--bg-hover);border-color:var(--text-muted)}.loading-page{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:22px;height:22px;animation:.6s linear infinite spin}.spinner-lg{border-width:3px;width:38px;height:38px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.mobile-top-bar{display:flex}.sidebar-overlay{display:block}.sidebar{transition:transform var(--transition-slow);z-index:1000;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-xl);transform:translate(0)}.main-content,.app-shell.sidebar-is-collapsed .main-content{margin-left:0}.page-body{padding:var(--space-5)}.auth-card,.setup-card{padding:var(--space-6)}}
