:root{color-scheme:dark;--bg:#080912;--panel:#121423;--panel2:#17192b;--panel3:#1d2033;--line:#2b2940;--line2:#36344c;--text:#f8f7ff;--muted:#a7a5bb;--dim:#75778f;--purple:#a55bff;--purple2:#7035dc;--cyan:#42dcd2;--green:#35e9a0;--red:#ff647e;--amber:#ffa957;--shadow:0 16px 45px rgba(0,0,0,.18);--sidebar:252px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 90% -12%,#25173f 0,transparent 33%),#090a12;color:var(--text);min-height:100%;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--purple);outline-offset:3px}a{color:inherit;text-decoration:none}.hidden{display:none!important}.boot{display:flex;min-height:100vh;justify-content:center;align-items:center;gap:14px;color:var(--muted)}.brand-mark{background:linear-gradient(145deg,#6d24cd,#b775ff);color:white;border-radius:15px;display:grid;place-items:center;width:43px;height:43px;font-size:22px;box-shadow:0 0 34px #a45bff55}
.layout{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#11111f 0%,#0c0d18 72%,#151027);border-right:1px solid #29243c;padding:27px 16px 20px;display:flex;flex-direction:column;gap:25px;position:sticky;top:0;height:100vh;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:4px 10px;min-width:0}.shield-logo{display:grid;place-items:center;color:white;background:linear-gradient(135deg,#3d1784,#b04fff);width:41px;height:43px;border-radius:14px;box-shadow:0 8px 30px #7b3ee355;border:1px solid #b98af8}.shield-logo svg{width:26px;height:26px}.brand-title{font-weight:800;letter-spacing:-.6px;font-size:18px;white-space:nowrap}.brand-title span{color:var(--purple)}.brand small{color:var(--dim);font-size:10px;display:block;letter-spacing:.65px;margin-top:3px}.section-label{text-transform:uppercase;color:#7e7795;font-size:10px;letter-spacing:1.6px;font-weight:700;padding:0 16px;margin-bottom:8px}.nav-group{display:grid;gap:4px}.nav-link{display:flex;align-items:center;gap:11px;color:#b5b1c4;font-size:13px;padding:12px 14px;border-radius:12px;border:1px solid transparent;background:transparent;width:100%;text-align:left;transition:.18s}.nav-link .ico{width:19px;height:19px}.nav-link:hover{background:#ffffff09;color:white}.nav-link.active{background:linear-gradient(90deg,#6530b555,#56328c22);border-color:#8249cb65;color:#fff;box-shadow:inset 3px 0 #ab5bff}.nav-link.active .ico{color:#d2a9ff}.nav-count{margin-left:auto;font-size:11px;background:#8c3cc5;color:#fff;padding:3px 7px;border-radius:100px}.side-foot{margin-top:auto;background:linear-gradient(150deg,#222035,#121422);border:1px solid #43345b;border-radius:15px;padding:14px;display:grid;gap:10px}.live-dot{width:8px;height:8px;background:var(--green);border-radius:50%;display:inline-block;box-shadow:0 0 13px #35e9a092}.side-foot strong{font-size:12px}.side-foot p{margin:0;color:var(--muted);line-height:1.5;font-size:11px}.main{min-width:0;padding:22px 29px 42px;max-width:1700px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;gap:14px;justify-content:space-between;padding-bottom:23px;border-bottom:1px solid #242536}.mobile-brand{display:none}.search-box{height:42px;border:1px solid #373449;background:#181a2b;border-radius:12px;display:flex;align-items:center;gap:10px;padding:0 15px;color:var(--dim);min-width:190px;width:min(410px,42vw)}.search-box input{color:var(--text);width:100%;border:0;background:transparent;font-size:12px}.search-box input::placeholder{color:#8a879b}.top-right{display:flex;align-items:center;gap:14px}.online{display:flex;align-items:center;gap:8px;border:1px solid #336b63;color:#9de9cf;background:#15342d40;border-radius:99px;padding:8px 12px;font-size:11px;font-weight:700;white-space:nowrap}.icon-btn{display:inline-grid;place-items:center;border:1px solid #3b394c;background:#1b1c2b;border-radius:11px;color:#b5b5c8;width:39px;height:39px;position:relative}.icon-btn:hover{border-color:#9962e6;color:white}.top-avatar{width:37px;height:37px;display:grid;place-items:center;background:linear-gradient(135deg,#c376ff,#4f278e);border:2px solid #aa82de;border-radius:50%;font-weight:800;color:white}.top-profile{display:flex;align-items:center;gap:10px;max-width:190px}.top-profile strong{font-size:12px}.top-profile span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.content{padding-top:28px;animation:appear .24s ease}@keyframes appear{from{opacity:.1;transform:translateY(5px)}to{opacity:1;transform:none}}.eyebrow{color:#9f79d1;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:800;margin-bottom:10px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-header h1{font-size:clamp(22px,2.15vw,31px);line-height:1.18;letter-spacing:-.9px;margin:0 0 8px;font-weight:760}.page-header p{color:var(--muted);margin:0;line-height:1.55;font-size:13px}.actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.btn{border:1px solid #454158;background:#1b1c2c;color:#efedff;border-radius:11px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:12px;min-height:39px;white-space:nowrap}.btn:hover{background:#28263d}.btn.primary{background:linear-gradient(135deg,#6c32d3,#a353ff);border-color:#a96cff;box-shadow:0 6px 20px #8e40c531}.btn.primary:hover{filter:brightness(1.08)}.btn.positive{border-color:#28634d;color:#8bf2c9;background:#123e3225}.btn.danger{border-color:#913e59;color:#ff9bad;background:#67304225}.btn.sm{min-height:30px;padding:6px 10px;border-radius:8px;font-size:11px}.btn:disabled{cursor:not-allowed;opacity:.45}.ico{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.panel{background:linear-gradient(145deg,#181a29,#11131f 85%);border:1px solid #333047;border-radius:17px;box-shadow:var(--shadow);padding:20px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.panel-title{display:flex;align-items:center;gap:9px;font-weight:750;font-size:14px;letter-spacing:-.2px}.panel-title .ico{color:var(--purple)}.panel-sub{color:var(--muted);font-size:11px;margin-top:5px;line-height:1.45}.link-button{color:#c79cff;border:0;background:none;font-size:11px;font-weight:750}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:15px}.kpi{padding:19px;position:relative;overflow:hidden;min-height:146px}.kpi:before{content:'';position:absolute;inset:-30px -25px auto auto;width:110px;height:110px;border-radius:50%;background:var(--glow,#7d48cd);filter:blur(48px);opacity:.16;pointer-events:none}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#b9b4cb;font-size:11px;font-weight:650}.kpi-icon{border-radius:13px;padding:8px;background:#7032b229;display:grid;place-items:center;color:var(--kcol,var(--purple))}.kpi-icon .ico{width:22px;height:22px}.kpi-value{font-size:30px;letter-spacing:-1.2px;font-weight:800;margin:13px 0 4px}.kpi-foot{font-size:11px;color:var(--muted)}.twocol{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:15px;margin-bottom:15px}.tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:15px}.chart-card{min-height:293px}.chart-container{height:193px;width:100%;display:flex;align-items:flex-end}.chart-container svg{width:100%;height:100%;overflow:visible}.axis-labels{display:flex;justify-content:space-between;color:#79768c;font-size:10px;padding:4px 0 0}.event-line{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #302d3d}.event-line:first-of-type{border-top:0}.event-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#a45afc1d;color:#c794ff;flex-shrink:0}.event-line strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-line small{font-size:11px;color:var(--muted);display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grow{min-width:0;flex:1}.event-time{font-size:10px;color:var(--dim);white-space:nowrap}.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #5a506b;background:#302b3e77;border-radius:99px;padding:4px 9px;color:#c2b9d2;font-size:10px;font-weight:750;white-space:nowrap}.chip.green{color:#71edb8;background:#164e3870;border-color:#28694f}.chip.red{color:#ff91a0;background:#5e25364d;border-color:#6c3449}.chip.amber{color:#ffc081;background:#68432a63;border-color:#8a5c32}.chip.purple{color:#d8aaff;background:#632ca951;border-color:#7b47b8}.chip.cyan{color:#79f1e8;background:#1e5e6066;border-color:#367e7f}.divider{height:1px;background:#302e40;margin:13px 0}.progress{height:8px;border-radius:9px;background:#303044;overflow:hidden}.progress>span{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#8845f1,#d16eff);min-width:2px}.scanner-layout{display:flex;gap:16px;align-items:center}.ring{width:107px;height:107px;display:grid;place-items:center;border-radius:50%;flex:0 0 auto;background:conic-gradient(var(--purple) var(--pct,80%),#343449 0);position:relative}.ring:after{content:'';position:absolute;inset:13px;background:#161726;border-radius:50%}.ring strong{position:relative;z-index:1;font-size:24px;letter-spacing:-1px}.mini-list{display:grid;gap:13px;font-size:12px}.mini-list span{display:flex;align-items:center;gap:8px;color:#c0bed2}.mini-list .ico{color:var(--green);width:17px}.table-wrap{overflow:auto;max-width:100%;border:1px solid #333043;border-radius:13px}.tbl{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}.tbl th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#89869f;background:#1a1a29;font-weight:750}.tbl td,.tbl th{padding:14px 14px;border-bottom:1px solid #2c2a3a}.tbl tr:last-child td{border-bottom:0}.tbl td{color:#dfdceb}.tbl td small{display:block;color:var(--muted);margin-top:4px}.tbl tbody tr:hover{background:#ffffff04}.tbl .file-name{font-weight:750}.tbl .short{max-width:280px;overflow:hidden;text-overflow:ellipsis}.tbl .actions{justify-content:flex-start}.subtle{color:var(--muted)}.empty{text-align:center;display:grid;place-items:center;padding:45px 20px;gap:10px;color:var(--muted);border:1px dashed #413c55;border-radius:14px}.empty .ico{width:35px;height:35px;color:var(--purple)}.empty strong{color:var(--text)}.empty p{max-width:390px;margin:0;line-height:1.6}.empty.compact{padding:25px 15px}.stack{display:grid;gap:15px}.status-panel{display:flex;align-items:center;gap:15px}.status-panel .ico{width:32px;height:32px;color:var(--green)}.status-panel p{color:var(--muted);line-height:1.5;margin:5px 0 0}.status-panel strong{font-size:13px}.field{display:grid;gap:7px;margin-bottom:13px}.field label{font-size:11px;font-weight:750;color:#c8c2d9}.field input,.field textarea,.field select{width:100%;min-height:41px;padding:10px 12px;border-radius:10px;border:1px solid #48445d;background:#141525;color:#f8f6ff}.field textarea{min-height:92px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#79778e}.field-hint{color:var(--dim);font-size:11px;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 13px}.form-grid .wide{grid-column:1/-1}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 17px}.filter-btn{background:#232235;color:#bcb8cf;border:1px solid #3e3a51;border-radius:99px;padding:8px 12px;font-size:11px}.filter-btn.active{background:#6837b5;border-color:#9e63ec;color:white}.storage-item{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #383347;border-radius:13px;background:#ffffff04;margin-bottom:10px}.storage-item .large-icon{height:42px;width:42px;display:grid;place-items:center;border-radius:12px;background:#6f3cbd2b;color:#bb8cff}.storage-item strong{font-size:13px}.storage-item p{margin:4px 0 0;font-size:11px;color:var(--muted)}.storage-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #302d40}.settings-row:last-child{border-bottom:0}.settings-row strong{display:block;font-size:13px}.settings-row p{color:var(--muted);font-size:11px;margin:5px 0 0;line-height:1.5}.switch{width:45px;height:25px;border-radius:20px;background:#424056;border:0;position:relative;flex-shrink:0}.switch:after{content:'';position:absolute;background:#fff;width:19px;height:19px;border-radius:50%;left:3px;top:3px;transition:.2s}.switch.on{background:#793adb}.switch.on:after{left:23px}.login-wrap{min-height:100dvh;display:grid;grid-template-columns:1.05fr .95fr}.login-art{background:radial-gradient(circle at 40% 44%,#57288f77,transparent 37%),linear-gradient(145deg,#141020,#080911);padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #392e53}.login-art .brand{padding:0}.login-art h1{font-size:clamp(37px,4vw,65px);line-height:1.1;letter-spacing:-2.3px;margin:48px 0 18px}.login-art h1 span{color:#b47aff}.login-art p{font-size:16px;line-height:1.7;color:#b0adc3;max-width:420px}.login-bullets{display:grid;gap:15px;margin-top:34px;color:#ded5ed;font-size:13px}.login-bullets span{display:flex;gap:12px;align-items:center}.login-bullets .ico{color:#b47aff}.login-form-wrap{display:grid;place-items:center;padding:30px}.login-box{width:min(100%,390px)}.login-box h2{font-size:28px;letter-spacing:-.7px;margin:0 0 8px}.login-box>p{color:var(--muted);line-height:1.6;margin:0 0 32px}.login-box .btn{width:100%;margin-top:8px}.login-small{font-size:11px;color:var(--dim);text-align:center;margin-top:22px;line-height:1.6}.modal-layer{position:fixed;inset:0;background:#030309d9;backdrop-filter:blur(9px);display:grid;place-items:center;z-index:100;padding:16px}.modal-card{background:#171829;border:1px solid #514367;border-radius:19px;width:min(100%,530px);max-height:min(92dvh,850px);overflow:auto;padding:22px;box-shadow:0 28px 90px #0009}.modal-title{font-size:20px;font-weight:800;letter-spacing:-.6px;margin:0 0 6px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px}.modal-desc{color:var(--muted);font-size:12px;line-height:1.6}.modal-footer{display:flex;gap:9px;justify-content:flex-end;margin-top:18px}.codebox{background:#0b0c16;border:1px solid #3c3451;border-radius:12px;padding:13px;overflow-wrap:anywhere;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.8;color:#b5f7d1}.warning-box{background:#6e4d241c;border:1px solid #8d653c;border-radius:12px;padding:12px;color:#ffcf9b;line-height:1.5;font-size:12px}.notice-box{background:#49278527;border:1px solid #6942a3;border-radius:12px;padding:12px;color:#d8b9ff;line-height:1.6;font-size:12px}.bottom-nav{display:none}.mobile-nav-toggle{display:none}#toasts{position:fixed;right:18px;bottom:24px;z-index:200;display:grid;gap:9px}.toast{min-width:240px;max-width:390px;background:#252138;border:1px solid #69508b;color:white;padding:13px 17px;border-radius:12px;box-shadow:0 12px 30px #0007;animation:appear .2s}.toast.error{border-color:#ab4e67}.section-caption{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 20px}.mobile-only{display:none}
@media(max-width:1250px){:root{--sidebar:222px}.main{padding:21px 21px 35px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tri{grid-template-columns:1fr 1fr}.tri>:last-child{grid-column:1/-1}}
@media(max-width:880px){.sidebar{position:fixed;left:0;transform:translateX(-105%);width:250px;box-shadow:0 0 0 transparent;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 500vmax #0009}.layout{display:block}.main{padding:17px 16px 105px}.topbar{padding-bottom:15px}.mobile-nav-toggle,.mobile-brand{display:flex}.topbar .search-box{display:none}.top-profile>div:not(.top-avatar){display:none}.top-right{gap:9px}.top-right .online{display:none}.twocol{grid-template-columns:1fr}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:25;bottom:0;left:0;right:0;border-top:1px solid #3c3456;background:#121020f5;backdrop-filter:blur(18px);padding:10px 8px calc(10px + env(safe-area-inset-bottom))}.bottom-nav button{display:grid;place-items:center;gap:5px;background:none;border:0;color:#a29eb8;font-size:10px;min-height:47px}.bottom-nav button.active{color:#c688ff}.bottom-nav .ico{height:22px;width:22px}.page-header{align-items:flex-start}.page-header .actions{justify-content:flex-start}.mobile-only{display:initial}}
@media(max-width:640px){.main{padding:13px 13px 96px}.topbar{gap:7px}.mobile-brand .brand-title{font-size:15px}.top-avatar{width:32px;height:32px}.icon-btn{width:34px;height:34px}.mobile-brand .shield-logo{width:35px;height:35px}.top-right{gap:7px}.page-header{display:block;margin-bottom:17px}.page-header h1{font-size:25px;letter-spacing:-.7px}.page-header p{font-size:12px}.page-header .actions{margin-top:14px}.kpis{gap:10px;margin-bottom:10px}.kpi{min-height:126px;padding:14px}.kpi-top{font-size:10px}.kpi-icon{padding:6px;border-radius:10px}.kpi-icon .ico{width:18px;height:18px}.kpi-value{font-size:24px;margin-top:12px}.panel{padding:15px;border-radius:14px}.twocol,.tri{gap:10px;margin-bottom:10px}.tri{grid-template-columns:1fr}.tri>:last-child{grid-column:auto}.panel-head{margin-bottom:14px}.scanner-layout{flex-direction:row}.ring{width:88px;height:88px}.ring:after{inset:11px}.ring strong{font-size:20px}.mini-list{gap:9px}.event-time{display:none}.form-grid{grid-template-columns:1fr}.storage-item{flex-wrap:wrap}.storage-actions{margin-left:55px}.modal-layer{padding:8px}.modal-card{padding:18px;border-radius:15px}.login-wrap{grid-template-columns:1fr}.login-art{display:none}.login-form-wrap{min-height:100dvh;padding:30px 20px;background:radial-gradient(circle at 50% 17%,#4b277e45,transparent 40%)}.login-form-wrap:before{content:'✦';display:grid;place-items:center;background:linear-gradient(130deg,#6a2acc,#b05aff);border-radius:18px;width:58px;height:58px;margin:auto auto 29px;font-size:32px}.login-box h2{text-align:center}.login-box>p{text-align:center}.tbl td,.tbl th{padding:12px 10px}.topbar .icon-btn:not(.mobile-nav-toggle){display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
