:root{--bg:#070b14;--surface:#0e1522;--surface-2:#131c2d;--line:#22304a;--text:#e8edf6;--muted:#8a97ad;--accent:#4f8cff;--accent-2:#8b5cf6;--danger:#ff6b7a}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,sans-serif}a{color:var(--accent)}.shell{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.brand{border-right:1px solid var(--line);background:radial-gradient(120% 90% at 0 0,#14234a 0%,#0a1020 55%,#070b14 100%);align-items:center;padding:56px;display:flex;position:relative;overflow:hidden}.orb{filter:blur(80px);opacity:.45;border-radius:50%;position:absolute}.orb-a{background:var(--accent);width:360px;height:360px;top:-100px;left:-80px}.orb-b{background:var(--accent-2);opacity:.3;width:300px;height:300px;bottom:60px;right:-80px}.brand-inner{z-index:1;max-width:520px;position:relative}.brand-logo{filter:drop-shadow(0 6px 30px #4f8cff59);width:300px;max-width:100%;margin-bottom:36px;display:block}.brand h1{letter-spacing:-.02em;margin:0 0 16px;font-size:42px;line-height:1.1}.brand h1 span{background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.brand p{color:var(--muted);margin:0 0 24px;font-size:16px;line-height:1.6}.points{color:#c3cde0;gap:10px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.points li:before{content:"";background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:50%;width:8px;height:8px;margin-right:10px;display:inline-block}.skyline{fill:#4f8cff14;stroke:#4f8cff40;width:100%;height:150px;position:absolute;bottom:0;left:0}.panel{background:radial-gradient(70% 60% at 80% 100%, #8b5cf61f, transparent), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:32px 24px;display:flex}.panel-logo{width:180px;display:none}.auth-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#131c2db8;border-radius:18px;width:100%;max-width:400px;padding:36px 32px;box-shadow:0 30px 80px #00000080,inset 0 1px #ffffff0a}.auth-card form{flex-direction:column;gap:16px;display:flex}.auth-card h2{letter-spacing:-.01em;margin:0;font-size:26px}.sub{color:var(--muted);margin:-8px 0 8px;font-size:14px}label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}input,select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#55627a}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f8cff33}button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 16px;font-size:14px}button:hover{border-color:var(--accent)}.primary{color:#fff;cursor:pointer;background:linear-gradient(135deg, var(--accent), var(--accent-2));border:0;border-radius:10px;padding:13px 16px;font-size:15px;font-weight:600;transition:transform .12s,box-shadow .12s;box-shadow:0 8px 24px #4f8cff59}.primary:hover{transform:translateY(-1px);box-shadow:0 12px 30px #4f8cff73}.linkbtn{text-align:center;margin-top:16px;text-decoration:none;display:block}.alt{text-align:center;color:var(--muted);margin:4px 0 0;font-size:14px}.error{color:var(--danger);background:#ff6b7a1a;border:1px solid #ff6b7a4d;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.foot{color:#55627a;margin:0;font-size:12px}@media (width<=860px){.shell{grid-template-columns:1fr}.brand{display:none}.panel-logo{display:block}.panel{min-height:100vh}}.app{--side:250px;grid-template-columns:var(--side) 1fr;min-height:100vh;transition:grid-template-columns .25s;display:grid}.app.collapsed{--side:72px}.sidebar{border-right:1px solid var(--line);z-index:30;background:linear-gradient(#0c1322,#090e1a);flex-direction:column;gap:8px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow:hidden}.side-top{justify-content:space-between;align-items:center;padding:4px 6px 16px;display:flex}.side-logo{width:150px;transition:width .25s}.collapsed .side-logo{width:0}.sidebar nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar nav a,.logout{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:11px 14px;font-size:14px;text-decoration:none;transition:background .15s,color .15s,transform .15s;display:flex}.sidebar nav a:hover,.logout:hover{color:var(--text);background:#4f8cff14}.sidebar nav a.active{color:#fff;background:linear-gradient(135deg,#4f8cff47,#8b5cf633);box-shadow:inset 0 0 0 1px #4f8cff4d}.collapsed .sidebar span{display:none}.collapsed .side-top{justify-content:center}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#070b14cc;align-items:center;gap:14px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar h2{flex:1;margin:0;font-size:18px}.user-chip{align-items:center;gap:10px;display:flex}.user-chip div{flex-direction:column;font-size:14px;line-height:1.25;display:flex}.user-chip small{color:var(--muted);text-transform:capitalize;font-size:12px}.content{width:100%;max-width:1280px;margin:0 auto;padding:28px;animation:.35s fadeIn}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--line)}.icon-btn.danger:hover{color:var(--danger)}.show-mobile{display:none}.scrim{z-index:25;background:#0009;position:fixed;inset:0}.hello h1{letter-spacing:-.02em;margin:0 0 4px;font-size:26px}.hello p{color:var(--muted);margin:0 0 22px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;align-items:center;gap:16px;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s;animation:.5s both rise;display:flex}.stat-card:hover{border-color:var(--c);transform:translateY(-4px);box-shadow:0 14px 30px #00000059}.stat-icon{width:48px;height:48px;color:var(--c);background:color-mix(in srgb, var(--c) 16%, transparent);border-radius:14px;place-items:center;display:grid}.stat-value{letter-spacing:-.02em;font-size:30px;font-weight:700;line-height:1.1}.stat-label{color:var(--muted);margin-top:2px;font-size:13px}.stat-hint{color:var(--c);margin-top:2px;font-size:12px}.tone-blue{--c:#4f8cff}.tone-purple{--c:#a078ff}.tone-amber{--c:#ffb020}.tone-green{--c:#2ecc8f}.tone-pink{--c:#ff6fae}.two-col{grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:16px;display:grid}.panel-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;min-width:0;padding:20px;animation:.5s both rise}.panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-head h3{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.panel-head h3 svg{color:var(--accent)}.link-more{align-items:center;gap:4px;font-size:13px;text-decoration:none;display:inline-flex}.sub-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;margin:14px 0 6px;font-size:12px;display:flex}.rows{margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 0;display:flex}.rows li:last-child{border-bottom:0}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-main strong{font-size:14px}.row-main small,.row-side small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.row-side{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.up{color:#2ecc8f}.avatar{color:#fff;background:linear-gradient(135deg,#4f8cff,#3a64d8);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:inline-grid}.avatar.purple{background:linear-gradient(135deg,#8b5cf6,#6d3fd8)}.pill{text-transform:capitalize;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.pill-blue{color:#6ea2ff;background:#4f8cff24}.pill-purple{color:#b79bff;background:#8b5cf629}.pill-ok{color:#2ecc8f;background:#2ecc8f24}.pill-warn{color:#ffb020;background:#ffb02024}.pill-danger{color:#ff6b7a;background:#ff6b7a26}.pill-muted{color:var(--muted);background:#8a97ad24}.empty{color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:22px;display:flex}.empty p{margin:0;font-size:14px}.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:200% 100%;border-radius:16px;animation:1.3s infinite shimmer}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head h1{margin:0;font-size:24px}.page-head p{color:var(--muted);margin:4px 0 0}.btn{align-items:center;gap:8px;display:inline-flex}.toolbar{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.search{border:1px solid var(--line);background:var(--surface);min-width:220px;color:var(--muted);border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search input{background:0 0;border:0;flex:1;padding-left:0;box-shadow:none!important}.table-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;animation:.4s both rise}.table-scroll{overflow-x:auto}.table-card th{padding:14px 16px}.table-card td{vertical-align:middle;padding:14px 16px;font-size:14px}.table-card tbody tr{transition:background .15s}.table-card tbody tr:hover{background:#4f8cff0d}.cell-user{align-items:center;gap:12px;display:flex}.cell-user div{flex-direction:column;display:flex}small{color:var(--muted);font-size:12px}.block{display:block}.actions{white-space:nowrap;text-align:right}.inline-link{vertical-align:middle;margin-left:8px;font-size:13px;display:inline-flex}.drawer-wrap{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-backdrop{background:#0009;animation:.2s fadeIn;position:absolute;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;width:min(480px,100%);height:100%;animation:.28s cubic-bezier(.2,.8,.2,1) slideIn;display:flex;position:relative}.drawer header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.drawer header h3{margin:0}.drawer-body{padding:22px;overflow-y:auto}.form{flex-direction:column;gap:16px;display:flex}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.field textarea{border:1px solid var(--line);font:inherit;background:var(--bg);color:var(--text);resize:vertical;border-radius:10px;outline:none;padding:12px 14px;font-size:15px}.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f8cff33}.field input[type=file]{padding:9px}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check{color:var(--text);align-items:center;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px}.btn.primary{justify-content:center}button:disabled{opacity:.6;cursor:not-allowed}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:none}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=960px){.two-col{grid-template-columns:1fr}}@media (width<=800px){.app,.app.collapsed{grid-template-columns:1fr}.sidebar{width:260px;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.collapsed .sidebar span{display:inline}.collapsed .side-logo{width:150px}.hide-mobile{display:none}.show-mobile{display:inline-flex}.topbar,.content{padding-left:16px;padding-right:16px}.user-chip div{display:none}.grid-2{grid-template-columns:1fr}}.role-tabs{background:var(--bg);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:4px;display:grid;position:relative}.role-indicator{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:9px;width:calc(50% - 4px);transition:transform .28s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 6px 18px #4f8cff59}.role-tabs[data-active=agent] .role-indicator{transform:translate(100%)}.role-tab{z-index:1;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:10px;font-weight:600;transition:color .2s;display:flex;position:relative}.role-tab:hover{color:var(--text);border:0}.role-tab.active{color:#fff}.fade-form{animation:.3s fadeIn}.chips{scrollbar-width:thin;gap:8px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.chip{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 14px;font-weight:500;transition:all .2s;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--accent);transform:translateY(-1px)}.chip .count{text-align:center;background:#8a97ad29;border-radius:999px;min-width:22px;padding:1px 7px;font-size:12px}.chip.active{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-color:#0000;box-shadow:0 6px 18px #4f8cff4d}.chip.active .count{background:#ffffff38}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn:hover{border:0}.agreement-btn{color:var(--accent);background:#4f8cff14;border-color:#4f8cff59;margin-right:6px;padding:6px 12px;font-size:13px}.agreement-btn:hover{background:#4f8cff2e}.agreement-list{flex-direction:column;gap:16px;display:flex}.agreement-card{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:16px;animation:.35s both rise}.agreement-card>header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.detail-grid{grid-template-columns:1fr 1fr;gap:14px 12px;display:grid}.detail small{align-items:center;gap:4px;margin-bottom:2px;display:flex}.detail>div{font-size:14px}.terms{background:var(--surface);white-space:pre-wrap;border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:13px}.terms small{margin-bottom:2px;display:block}.card-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.doc-link{align-items:center;gap:6px;font-size:14px;display:inline-flex}.doc-link.none{color:var(--muted)}.policy{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;margin:0;padding:14px;display:flex}.policy legend{color:var(--accent);padding:0 8px;font-size:13px;font-weight:600}.doc-row{align-items:center;gap:14px;display:flex}.form-actions{justify-content:flex-end;gap:10px;display:flex}.form-actions .primary{flex:1}a.icon-btn{text-decoration:none}.offline-banner{z-index:100;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;color:#ffd27a;text-align:center;background:#3a2a05;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:sticky;top:0}.install-prompt{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;align-items:center;gap:6px;padding:6px 6px 6px 12px;font-size:13px;display:flex}.install-btn{color:var(--accent);border-color:#4f8cff66;align-items:center;gap:8px;display:inline-flex}.ios-hint{align-items:center;gap:8px;display:inline-flex}.sidebar{height:100dvh;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}.topbar{padding-top:calc(14px + env(safe-area-inset-top))}.topbar h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawer{overscroll-behavior:contain;height:100dvh}.drawer-body{overscroll-behavior:contain;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.shell,.panel{min-height:100dvh}html,body{max-width:100%;overflow-x:hidden}body{-webkit-tap-highlight-color:transparent}@media (width<=700px){input,select,textarea,.field textarea{font-size:16px}button,.chip,.icon-btn,.sidebar nav a,.logout,.role-tab{min-height:44px}.icon-btn{justify-content:center;align-items:center;min-width:44px}.agreement-btn{min-height:44px}.table-card.stack{background:0 0;border:0}.stack .table-scroll{overflow:visible}.stack table,.stack tbody{display:block}.stack thead{display:none}.stack tbody tr{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;margin-bottom:12px;padding:14px;display:flex}.stack td{text-align:right;border:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:0;font-size:14px;display:flex}.stack td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex:none;padding-top:2px;font-size:12px}.stack td:first-child{text-align:left;border-bottom:1px solid var(--line);padding-bottom:10px}.stack td:first-child:before{display:none}.stack td>small.block{text-align:inherit}.stack td.actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:6px}.stack td.actions:before{display:none}.drawer{border-left:0;width:100%}.drawer header{background:var(--surface);z-index:2;padding-top:calc(16px + env(safe-area-inset-top));position:sticky;top:0}.form .primary.btn,.form-actions{position:sticky;bottom:0}.form>.primary.btn{box-shadow:0 -12px 16px var(--surface);padding:14px}.form-actions{background:var(--surface);padding:12px 0 calc(4px + env(safe-area-inset-bottom));margin:0 -2px}.detail-grid{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}.stat-value{font-size:26px}.stat-icon{width:40px;height:40px}.hello h1{font-size:22px}.panel-box{padding:16px}.rows li{flex-wrap:wrap}.page-head{flex-direction:column;align-items:stretch}.page-head .btn{justify-content:center;min-height:44px}.auth-card{border-radius:16px;padding:28px 20px}.role-tab{padding:12px}}@media (width<=380px){.kpi-grid{grid-template-columns:1fr}}.ss-opt{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ss-opt small{color:var(--muted)}
