:root{--font-sans:"Plus Jakarta Sans","Segoe UI","Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono","SFMono-Regular",Menlo,Monaco,Consolas,monospace;--bg:#f5f7fb;--bg-elevated:#fff;--bg-muted:#eef2fb;--surface:hsla(0,0%,100%,.85);--surface-strong:#fff;--text:#0f172a;--text-soft:#475569;--border:#d6deeb;--border-strong:#bfcbdf;--accent:#0f766e;--accent-soft:#d4f3ef;--accent-contrast:#fff;--danger:#be123c;--danger-soft:#ffe4ec;--warning:#b45309;--success:#15803d;--shadow:0 24px 70px -28px rgba(15,23,42,.35);--radius:18px;--radius-sm:12px;--container:1220px;--hero-grad-a:#d8f6f3;--hero-grad-b:#f3f8ff;--hero-grad-c:#fbe6ef}:root[data-theme=dark]{--bg:#071019;--bg-elevated:#0f1b2e;--bg-muted:#122239;--surface:rgba(15,27,46,.82);--surface-strong:#102039;--text:#e5edf7;--text-soft:#9fb1ca;--border:#263955;--border-strong:#3b5172;--accent:#29b8ab;--accent-soft:rgba(41,184,171,.2);--accent-contrast:#021412;--danger:#fb7185;--danger-soft:rgba(251,113,133,.2);--warning:#f59e0b;--success:#22c55e;--shadow:0 26px 75px -35px rgba(2,6,23,.9);--hero-grad-a:#0e2f36;--hero-grad-b:#101f38;--hero-grad-c:#2a1231}*{box-sizing:border-box}#__next,body,html{min-height:100%}html{color-scheme:light}:root[data-theme=dark] html{color-scheme:dark}body{margin:0;font-family:var(--font-sans);line-height:1.5;color:var(--text);background:radial-gradient(circle at 8% 0,var(--hero-grad-a),transparent 38%),radial-gradient(circle at 95% 18%,var(--hero-grad-b),transparent 41%),radial-gradient(circle at 48% 110%,var(--hero-grad-c),transparent 48%),var(--bg)}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}p{color:var(--text-soft)}h1,h2,h3,h4{color:var(--text);line-height:1.2}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.btn,.input,.nav-link,.select,.table-row,.textarea,.top-nav-link,button{transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(41,184,171,.35)}.page{min-height:100vh;display:flex;flex-direction:column}.container{width:min(100% - 2.5rem,var(--container));margin-inline:auto}.section{padding:3.5rem 0}.section-tight{padding:2rem 0}.hero{padding:4.75rem 0 4rem}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:1.75rem;gap:1.75rem}.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.4rem .75rem;color:var(--text-soft);font-size:.86rem}.gradient-text{background:linear-gradient(120deg,#0f766e 5%,#0ea5e9 40%,#fb7185 80%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-panel{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:calc(var(--radius) + 8px);background:linear-gradient(140deg,var(--surface),color-mix(in srgb,var(--surface) 80%,transparent));box-shadow:var(--shadow);padding:1.6rem}.hero-panel:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 18%,hsla(0,0%,100%,.2) 0,transparent 36%),radial-gradient(circle at 88% 80%,rgba(15,118,110,.2) 0,transparent 36%);pointer-events:none}.header{position:-webkit-sticky;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-row{min-height:74px;display:flex;justify-content:space-between;gap:1.2rem}.header-row,.logo{align-items:center}.logo{display:inline-flex;gap:.7rem;font-weight:700;color:var(--text)}.logo-badge{width:1.85rem;height:1.85rem;border-radius:.7rem;background:linear-gradient(140deg,var(--accent),#0ea5e9);box-shadow:0 10px 22px -15px rgba(15,118,110,.7)}.top-nav{display:flex;align-items:center;gap:.4rem}.top-nav-link{color:var(--text-soft);padding:.5rem .8rem;border-radius:10px;font-size:.95rem}.top-nav-link.active,.top-nav-link:hover{background:var(--bg-muted);color:var(--text)}.header-actions{display:flex;align-items:center;gap:.6rem}.btn{border:1px solid var(--border-strong);border-radius:12px;padding:.62rem .92rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;color:var(--text);background:var(--bg-elevated);cursor:pointer;font-weight:600;min-height:42px}.btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 40%,var(--border-strong));transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{border-color:color-mix(in srgb,var(--accent) 55%,#000 5%);color:var(--accent-contrast);background:linear-gradient(130deg,var(--accent),#0ea5e9 90%)}.btn-primary:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 40%,#000 35%)}.btn-secondary{background:var(--bg-muted);border-color:transparent}.btn-ghost{background:transparent;color:var(--text-soft)}.btn-danger,.btn-ghost{border-color:transparent}.btn-danger{color:#fff;background:linear-gradient(130deg,#e11d48,#be123c)}.btn-block{width:100%}.icon-only{width:42px;padding-inline:0}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow)}.card-light{box-shadow:none;background:var(--surface)}.card-body{padding:1.1rem 1.15rem}.card-header{padding:1rem 1.15rem;border-bottom:1px solid var(--border)}.card-title{margin:0;font-size:1.02rem}.card-subtitle{margin:.3rem 0 0;font-size:.94rem;color:var(--text-soft)}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.input,.select,.textarea{width:100%;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);border-radius:12px;padding:.62rem .75rem;min-height:42px}.input::placeholder,.textarea::placeholder{color:color-mix(in srgb,var(--text-soft) 80%,transparent)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:108px}.label{display:inline-flex;align-items:center;margin-bottom:.35rem;font-size:.89rem;font-weight:600}.field{display:flex;flex-direction:column;gap:.35rem}.field-hint{margin:0;font-size:.82rem;color:var(--text-soft)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.24rem .56rem;border-radius:999px;font-size:.78rem;border:1px solid transparent;font-weight:600}.badge-neutral{color:var(--text-soft);background:var(--bg-muted);border-color:var(--border)}.badge-accent{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.badge-success{color:var(--success);background:color-mix(in srgb,var(--success) 18%,transparent);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.badge-warning{color:var(--warning);background:color-mix(in srgb,var(--warning) 18%,transparent);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.badge-danger{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.alert{border:1px solid var(--border);border-radius:13px;padding:.72rem .85rem;display:flex;align-items:flex-start;gap:.56rem;background:var(--bg-elevated)}.alert-title{margin:0;font-weight:700}.alert-message{margin:0;color:var(--text-soft)}.alert-danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger-soft) 50%,var(--bg-elevated))}.alert-success{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.alert-warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}.table-wrap{overflow:auto;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated)}table.table{width:100%;border-collapse:collapse;min-width:700px}table.table td,table.table th{text-align:left;font-size:.91rem;padding:.72rem .78rem;border-bottom:1px solid var(--border);vertical-align:top}table.table thead th{color:var(--text-soft);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}table.table tbody tr:hover{background:var(--bg-muted)}.tabs{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:.2rem;background:var(--surface);gap:.2rem}.tab{border:none;background:transparent;color:var(--text-soft);border-radius:999px;padding:.45rem .9rem;min-height:36px;cursor:pointer;font-weight:600}.tab.active{background:var(--bg-elevated);color:var(--text);box-shadow:0 1px 4px rgba(15,23,42,.08)}.skeleton{position:relative;overflow:hidden;border-radius:10px;background:color-mix(in srgb,var(--bg-muted) 80%,var(--bg-elevated))}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,#fff 55%,transparent),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translateX(100%)}}.toast-root{position:fixed;right:1rem;bottom:1rem;z-index:80;display:grid;grid-gap:.5rem;gap:.5rem}.toast{min-width:260px;max-width:380px;border-radius:12px;padding:.72rem .82rem;border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow)}.toast-title{margin:0;font-size:.9rem;font-weight:700}.toast-message{margin:.2rem 0 0;font-size:.84rem;color:var(--text-soft)}.toast-success{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.toast-warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}.toast-danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.dialog-backdrop{position:fixed;inset:0;z-index:70;background:rgba(8,15,30,.5);display:flex;align-items:center;justify-content:center;padding:1rem}.dialog-panel{width:min(520px,100%);border-radius:16px;border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow)}.dialog-head{padding:.95rem 1rem;border-bottom:1px solid var(--border)}.dialog-body{padding:1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.55rem;padding:.95rem 1rem;border-top:1px solid var(--border)}.dropdown{position:relative}.dropdown-menu{position:absolute;z-index:60;right:0;top:calc(100% + .5rem);min-width:200px;border-radius:12px;border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow);overflow:hidden}.dropdown-item{width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;padding:.68rem .8rem;cursor:pointer}.dropdown-item:last-child{border-bottom:0}.dropdown-item:hover{background:var(--bg-muted)}.dropdown-item-danger{color:var(--danger)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 0 0,var(--hero-grad-a),transparent 34%),radial-gradient(circle at 100% 0,var(--hero-grad-b),transparent 35%),radial-gradient(circle at 100% 100%,var(--hero-grad-c),transparent 35%),var(--bg);position:relative;overflow:hidden}.auth-shell:before{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:22px 22px}.auth-card{width:min(100%,440px);position:relative;z-index:1;border:1px solid var(--border);border-radius:28px;background:var(--surface-strong);box-shadow:var(--shadow);padding:1.7rem}.auth-title{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.auth-subtitle{margin:.55rem 0 0;font-size:.97rem}.auth-footer{margin-top:1.05rem;font-size:.8rem;color:var(--text-soft)}.google-button-icon{width:20px;height:20px}.app-shell{min-height:100vh;display:grid;grid-template-columns:265px minmax(0,1fr)}.app-sidebar{border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;display:flex;flex-direction:column;gap:.8rem}.sidebar-section-title{margin:.45rem 0 .4rem;color:var(--text-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.nav-link{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid transparent;border-radius:10px;color:var(--text-soft);padding:.56rem .62rem}.nav-link.active,.nav-link:hover{color:var(--text);background:var(--bg-muted);border-color:var(--border)}.app-main{min-width:0}.app-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:15;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 75%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-topbar-row{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.app-content{padding:1.3rem 1.25rem 2rem}.page-head{display:flex;justify-content:space-between;gap:.9rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem}.page-title{margin:0;font-size:clamp(1.3rem,2.2vw,1.7rem)}.page-subtitle{margin:.28rem 0 0;color:var(--text-soft);max-width:74ch}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.kpi-value{margin:.1rem 0 0;font-size:clamp(1.4rem,3vw,1.85rem);font-weight:700}.toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.empty-state{text-align:center;padding:1.6rem;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-soft)}.mono{font-family:var(--font-mono);font-size:.87em}.muted{color:var(--text-soft)}.stack-sm{display:grid;grid-gap:.4rem;gap:.4rem}.stack-md{display:grid;grid-gap:.8rem;gap:.8rem}.stack-lg{display:grid;grid-gap:1.2rem;gap:1.2rem}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}@media (max-width:1090px){.grid-4,.hero-grid,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell{grid-template-columns:1fr}.app-sidebar{border-right:0;border-bottom:1px solid var(--border);padding-bottom:.7rem}}@media (max-width:760px){.container{width:min(100% - 1.35rem,var(--container))}.app-topbar-row,.header-row{min-height:66px}.hero{padding-top:3rem}.filter-grid,.grid-2,.grid-3,.grid-4,.hero-grid,.kpi-grid{grid-template-columns:1fr}.top-nav{display:none}.app-content{padding-inline:.85rem}table.table{min-width:640px}}