@import url("https://fonts.googleapis.com/css2?family=Unbounded:wght@400;500;700;800&family=Onest:wght@400;500;600;700&display=swap");:root{--bg:#FAF8F2;--surface:#FFFFFF;--surface-2:#F2EFE5;--ink:#0E0E10;--ink-2:#2A2A2E;--muted:#6B6862;--border:#E8E4D8;--border-strong:#D4D0C0;--yellow:#FFD23F;--yellow-deep:#F0B400;--yellow-soft:#FFF1B8;--ok:#16A34A;--warn:#F59E0B;--err:#DC2626;--shadow-lg:0 30px 80px -30px rgba(20,20,14,0.18);--shadow-md:0 12px 30px -12px rgba(20,20,14,0.10);--shadow-sm:0 4px 12px -6px rgba(20,20,14,0.08);--r-sm:10px;--r-md:16px;--r-lg:22px;--r-xl:32px;--font-display:"Unbounded",system-ui,sans-serif;--font-body:"Onest",system-ui,sans-serif;--sidebar-w:240px}[data-theme=dark]{--bg:#0A0A0C;--surface:#14141A;--surface-2:#1B1B22;--ink:#F5F0E1;--ink-2:#D4CFC0;--muted:#8A8780;--border:#232328;--border-strong:#2E2E36;--yellow-soft:#3A2F00;--shadow-lg:0 30px 80px -30px rgba(0,0,0,0.6);--shadow-md:0 12px 30px -12px rgba(0,0,0,0.5);--shadow-sm:0 4px 12px -6px rgba(0,0,0,0.4)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100vh;height:100dvh;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}a{color:inherit;text-decoration:none}button{font-family:inherit}::selection{background:var(--yellow);color:#0E0E10}button,input{font-family:var(--font-body)}.auth-shell{display:grid;grid-template-columns:1fr 1fr;height:100vh;height:100dvh}@media (max-width:880px){.auth-shell{grid-template-columns:1fr}}.auth-art{background:var(--ink);color:var(--bg);padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}@media (max-width:880px){.auth-art{display:none}}.auth-art:before{top:-120px;right:-120px;width:460px;height:460px;background:var(--yellow);filter:blur(0)}.auth-art:after,.auth-art:before{content:"";position:absolute;border-radius:50%;z-index:0}.auth-art:after{bottom:-200px;left:-100px;width:360px;height:360px;background:color-mix(in oklab,var(--yellow) 30%,transparent)}.auth-art .brand{font-family:var(--font-display);font-size:24px;font-weight:700;display:inline-flex;align-items:center;gap:10px;position:relative;z-index:1}.auth-art .brand .dot{width:14px;height:14px;border-radius:50%;background:var(--yellow)}.auth-art .quote{position:relative;z-index:1;font-family:var(--font-display);font-size:clamp(28px,3vw,44px);font-weight:600;line-height:1.1;letter-spacing:-.02em;max-width:480px}.auth-art .quote .accent{background:var(--yellow);color:#0E0E10;padding:0 .18em;border-radius:8px;display:inline-block;transform:rotate(-1deg)}.auth-art .meta{position:relative;z-index:1;display:flex;gap:32px;font-size:13px;color:color-mix(in oklab,var(--bg) 65%,transparent)}.auth-art .meta strong{display:block;color:var(--bg);font-size:22px;font-family:var(--font-display)}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:48px;background:var(--bg);position:relative}.auth-form{width:100%;max-width:380px}.auth-form h1{font-family:var(--font-display);font-weight:700;font-size:36px;letter-spacing:-.025em;margin:0 0 8px;color:var(--ink)}.auth-form .sub{color:var(--muted);margin:0 0 32px;font-size:15px}.auth-form .field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.auth-form label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.auth-form input{padding:14px 16px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--ink);font-size:15px;transition:border-color .2s,box-shadow .2s}.auth-form input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--yellow-soft)}.auth-form .btn{width:100%;justify-content:center}.auth-form .small{font-size:12px;color:var(--muted);margin-top:16px;line-height:1.5}.auth-form .small a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}.auth-form .switch{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);font-size:14px;color:var(--muted)}.auth-form .switch a{color:var(--ink);font-weight:600}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;height:100dvh}@media (max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 18px}.sidebar .brand{font-family:var(--font-display);font-size:20px;font-weight:700;display:inline-flex;align-items:center;gap:10px;padding:0 12px 24px;border-bottom:1px solid var(--border)}.sidebar .brand .dot{width:12px;height:12px;border-radius:50%;background:var(--yellow)}.sidebar .brand .grey{color:var(--muted);font-weight:400}.nav-section{margin-top:24px;display:flex;flex-direction:column;gap:4px}.nav-section .label{padding:0 12px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);font-size:14px;font-weight:500;color:var(--ink-2);transition:background .15s,color .15s}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link.active{background:var(--ink);color:var(--bg)}.nav-link.active svg{color:var(--yellow)}.nav-link svg{width:16px;height:16px;flex-shrink:0}.sidebar-bottom{margin-top:auto;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.user-chip{gap:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2)}.user-chip,.user-chip .avatar{display:flex;align-items:center}.user-chip .avatar{width:32px;height:32px;border-radius:50%;background:var(--yellow);justify-content:center;font-family:var(--font-display);font-weight:700;color:#0E0E10;font-size:13px}.user-chip .info{flex:1 1;min-width:0}.user-chip .name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip .role{font-size:11px;color:var(--muted)}.main{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative}.main-header{display:flex;justify-content:space-between;align-items:center;padding:20px 36px;border-bottom:1px solid var(--border);flex-shrink:0}.main-header h1{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0}.main-header .right{display:flex;align-items:center;gap:12px}.theme-toggle{width:38px;height:38px;border:1px solid var(--border-strong);background:var(--surface);border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s,transform .2s}.theme-toggle:hover{border-color:var(--yellow);transform:rotate(15deg)}.theme-toggle svg{width:16px;height:16px}.main-content{flex:1 1;overflow:hidden;padding:24px 36px;display:flex;flex-direction:column;gap:20px}.dash-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:20px;gap:20px;flex:1 1;min-height:0}@media (max-width:1100px){.dash-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;min-height:0}.panel.dark{background:var(--ink);border-color:var(--ink)}.panel.dark,.panel.dark .panel-title{color:var(--bg)}.panel.dark .panel-sub{color:color-mix(in oklab,var(--bg) 65%,transparent)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-shrink:0}.panel-title{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0}.panel-sub{font-size:12px;color:var(--muted);margin:4px 0 0}.panel-body{flex:1 1;overflow:hidden;min-height:0}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}@media (max-width:1280px){.kpi-row{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:18px 20px;position:relative}.kpi .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.kpi .num{font-family:var(--font-display);font-weight:700;font-size:30px;line-height:1;letter-spacing:-.02em}.kpi .num .y{color:var(--yellow-deep)}.kpi .delta{font-size:12px;color:var(--ok);margin-top:6px;display:inline-flex;align-items:center;gap:4px}.children-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:4px}.children-list::-webkit-scrollbar{width:6px}.children-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.child-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--surface-2);border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;transition:border-color .2s,transform .2s}.child-row:hover{border-color:var(--yellow);transform:translateX(2px)}.child-row .av{width:42px;height:42px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:#0E0E10;font-size:14px;flex-shrink:0}.child-row .info{flex:1 1;min-width:0}.child-row .name{font-weight:600;font-size:15px;color:var(--ink);margin-bottom:2px}.child-row .meta{font-size:12px;color:var(--muted);display:flex;gap:14px}.child-row .arrow{color:var(--muted);flex-shrink:0}.empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:14px}.empty .big{font-family:var(--font-display);font-size:64px;line-height:1;color:var(--yellow);margin-bottom:12px}.sub-card{flex:1 1;display:flex;flex-direction:column}.sub-status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.sub-status.active{background:var(--yellow);color:#0E0E10}.sub-status.none{background:var(--surface-2);color:var(--muted)}.sub-card .price-big{font-family:var(--font-display);font-weight:800;font-size:56px;line-height:1;letter-spacing:-.03em;margin:24px 0 4px}.sub-card .price-big .cur{font-size:22px;opacity:.7;margin-left:4px;font-weight:600}.sub-card .when{font-size:13px;color:var(--muted)}.sub-card .desc{font-size:14px;color:var(--muted);margin:16px 0 0;line-height:1.5;flex:1 1}.sub-card .actions{margin-top:16px;display:flex;gap:10px}.sub-card .actions .btn{flex:1 1}.no-sub-cta{flex:1 1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px}.no-sub-cta .big{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--bg)}.no-sub-cta .desc{font-size:13px;color:color-mix(in oklab,var(--bg) 70%,transparent);max-width:240px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:600;border:none;border-radius:999px;cursor:pointer;background:var(--ink);color:var(--bg);transition:transform .15s,box-shadow .15s,background .15s}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-yellow{background:var(--yellow);color:#0E0E10}.btn-yellow:hover{background:var(--yellow-deep)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--border-strong)}.btn-ghost:hover{background:var(--surface);border-color:var(--ink)}.btn-sm{padding:8px 16px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.alert{padding:12px 16px;border-radius:var(--r-md);font-size:14px;margin-bottom:16px}.alert-err{background:color-mix(in oklab,var(--err) 12%,transparent);color:var(--err);border:1px solid color-mix(in oklab,var(--err) 30%,transparent)}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--yellow);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh}