:root,[data-theme=dark]{--bg: #0b0d14;--bg-elev: #11141d;--bg-card: #161a25;--border: #232936;--text: #e7eaf2;--text-2: #8b93a7;--primary: #6366f1;--primary-2: #a855f7;--green: #10b981;--red: #ef4444;--amber: #f59e0b;--blue: #0ea5e9;--shadow: 0 8px 24px rgba(0,0,0,.4);--row-hover: rgba(99,102,241,.04);--chart-grid: #232936;--chart-text: #8b93a7;--tooltip-bg: #161a25;--pill-pro-bg: rgba(16,185,129,.15);--pill-pro-bd: rgba(16,185,129,.3);--pill-red-bg: rgba(239,68,68,.15);--pill-red-bd: rgba(239,68,68,.3);--pill-amber-bg: rgba(245,158,11,.15);--pill-amber-bd: rgba(245,158,11,.3);--pill-blue-bg: rgba(14,165,233,.15);--pill-blue-bd: rgba(14,165,233,.3);--pill-purple-bg: rgba(168,85,247,.15);--pill-purple-bd: rgba(168,85,247,.3);--error-bg: rgba(239,68,68,.1);--error-bd: rgba(239,68,68,.3)}[data-theme=light]{--bg: #f7f8fa;--bg-elev: #ffffff;--bg-card: #ffffff;--border: #e5e7eb;--text: #1f2937;--text-2: #6b7280;--primary: #4f46e5;--primary-2: #9333ea;--green: #059669;--red: #dc2626;--amber: #d97706;--blue: #0284c7;--shadow: 0 4px 16px rgba(15,23,42,.08);--row-hover: rgba(79,70,229,.05);--chart-grid: #e5e7eb;--chart-text: #6b7280;--tooltip-bg: #ffffff;--pill-pro-bg: rgba(5,150,105,.12);--pill-pro-bd: rgba(5,150,105,.3);--pill-red-bg: rgba(220,38,38,.1);--pill-red-bd: rgba(220,38,38,.25);--pill-amber-bg: rgba(217,119,6,.12);--pill-amber-bd: rgba(217,119,6,.3);--pill-blue-bg: rgba(2,132,199,.1);--pill-blue-bd: rgba(2,132,199,.25);--pill-purple-bg: rgba(147,51,234,.1);--pill-purple-bd: rgba(147,51,234,.25);--error-bg: rgba(220,38,38,.06);--error-bd: rgba(220,38,38,.25)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:SF Mono,Menlo,Consolas,monospace}.shell{min-height:100vh}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:64px;background:var(--bg-elev);border-right:1px solid var(--border);padding:12px 10px;display:flex;flex-direction:column;overflow:hidden;white-space:nowrap;transition:width .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.sidebar:hover{width:234px;box-shadow:8px 0 30px #00000047}.nav-label{opacity:0;transform:translate(-6px);transition:opacity .14s ease,transform .22s cubic-bezier(.16,1,.3,1);overflow:hidden;text-overflow:ellipsis}.sidebar:hover .nav-label{opacity:1;transform:translate(0)}.sidebar__brand{display:flex;align-items:center;height:42px;margin:0 0 12px;font-weight:700;font-size:1rem;letter-spacing:.02em}.brand-mark{width:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.brand-sq{width:30px;height:30px;border-radius:7px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700}.sidebar__brand .brand-text span{color:var(--primary)}.sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden;margin:0 -2px;padding:0 2px}.sidebar__nav::-webkit-scrollbar{width:0;height:0}.sidebar__section{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--primary);font-weight:700;padding:13px 12px 4px;margin:4px 0 2px;border-top:1px solid var(--border)}.sidebar__section:first-of-type{margin-top:2px;border-top:none;padding-top:2px}.sidebar a{position:relative;display:flex;align-items:center;height:40px;margin:2px 0;border-radius:8px;color:var(--text-2);font-weight:500;font-size:.88rem;overflow:hidden}.sidebar a:hover{background:var(--bg-card);color:var(--text);text-decoration:none}.sidebar a.active{background:#6366f126;color:var(--text)}.sidebar a.active .nav-ico{color:var(--primary)}.nav-ico{width:44px;min-width:44px;height:40px;display:flex;align-items:center;justify-content:center}.sidebar a .nav-label{flex:1}.nav-badge{position:absolute;top:5px;left:31px;min-width:16px;height:16px;padding:0 4px;background:var(--red);color:#fff;border-radius:8px;font-size:.6rem;font-weight:700;line-height:16px;text-align:center}.sidebar__user{margin-top:auto;padding-top:8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px;overflow:hidden}.su-info{padding:4px 12px 2px;font-size:.78rem;color:var(--text-2)}.su-info strong{color:var(--text);font-weight:600}.su-email{font-size:.7rem}.su-logout{display:flex;align-items:center;height:40px;border:none;background:transparent;color:var(--text-2);cursor:pointer;border-radius:8px;width:100%;font-size:.82rem;font-weight:500;padding:0}.su-logout:hover{background:var(--bg-card);color:var(--text)}.theme-toggle{display:flex!important;align-items:center;width:100%;height:40px;margin:0!important;background:transparent!important;border:none!important;color:var(--text-2)!important;padding:0!important;border-radius:8px;cursor:pointer;font-size:.82rem!important}.theme-toggle:hover{background:var(--bg-card)!important;color:var(--text)!important}.theme-toggle__icon{width:44px;min-width:44px;height:40px;display:flex;align-items:center;justify-content:center}.theme-toggle__label{font-weight:500}.main{margin-left:64px;padding:24px 32px;overflow-x:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:12px}.page-head h1{font-size:1.4rem;margin:0}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar input,.toolbar select{padding:7px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit}.toolbar input{min-width:220px}.btn{padding:7px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);cursor:pointer;font:inherit;font-weight:500}.btn:hover{background:var(--bg-elev)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{opacity:.92}.btn.danger{background:var(--error-bg);color:var(--red);border-color:var(--error-bd)}.btn.danger:hover{background:var(--pill-red-bg)}.btn.small{padding:4px 8px;font-size:.78rem}table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:.85rem}tr:last-child td{border-bottom:none}th{background:var(--bg-elev);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-weight:600}tr:hover td{background:var(--row-hover)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--bg-elev);color:var(--text-2);border:1px solid var(--border)}.badge.green{background:var(--pill-pro-bg);color:var(--green);border-color:var(--pill-pro-bd)}.badge.red{background:var(--pill-red-bg);color:var(--red);border-color:var(--pill-red-bd)}.badge.amber{background:var(--pill-amber-bg);color:var(--amber);border-color:var(--pill-amber-bd)}.badge.blue{background:var(--pill-blue-bg);color:var(--blue);border-color:var(--pill-blue-bd)}.badge.purple{background:var(--pill-purple-bg);color:var(--primary-2);border-color:var(--pill-purple-bd)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px}.kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.kpi__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.kpi__value{font-size:1.6rem;font-weight:700;margin-top:6px}.kpi__sub{font-size:.75rem;color:var(--text-2);margin-top:4px}.login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login__card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:40px;max-width:380px;width:100%;text-align:center}.login__card h1{margin:0 0 8px}.login__card p{color:var(--text-2);margin:0 0 24px;font-size:.9rem}.login__google{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#1f1f1f;padding:10px 18px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem}.login__google:hover{opacity:.92}.login__error{margin-top:18px;background:var(--error-bg);color:var(--red);border:1px solid var(--error-bd);padding:10px 14px;border-radius:8px;font-size:.8rem;text-align:left}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;display:flex;justify-content:flex-end}.drawer{background:var(--bg);border-left:1px solid var(--border);width:540px;max-width:100%;height:100%;overflow-y:auto;padding:24px 28px}.drawer h2{margin:0 0 6px}.drawer__close{float:right;background:none;border:none;color:var(--text-2);cursor:pointer;font-size:1.4rem}.drawer__section{margin-top:20px}.drawer__section h3{font-size:.78rem;text-transform:uppercase;color:var(--text-2);letter-spacing:.06em}.empty{text-align:center;padding:48px;color:var(--text-2)}.infotip{position:relative;display:inline-flex;margin-left:6px;vertical-align:middle}.infotip__btn{width:16px;height:16px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elev);color:var(--text-2);font-size:10px;font-weight:700;font-style:italic;font-family:SF Mono,Menlo,monospace;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0}.infotip__btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.infotip__pop{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:280px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 12px;box-shadow:var(--shadow);z-index:100;font-size:.78rem;line-height:1.45;color:var(--text);display:flex;flex-direction:column;gap:4px;font-weight:400;text-transform:none;letter-spacing:normal;white-space:normal;text-align:left}.infotip__pop strong{color:var(--primary);font-size:.78rem}.infotip__pop:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:var(--bg-elev);border-left:1px solid var(--border);border-top:1px solid var(--border)}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:18px 20px;margin-bottom:16px}.chart-card h3{margin:0 0 14px;font-size:.95rem;display:flex;align-items:center;gap:4px}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}@media(max-width:980px){.charts-grid{grid-template-columns:1fr}}
