body{margin:0;background:#0d0f13}
a{color:#2d8cff}a:hover{color:#8bbcff}
.app{font-family:'Montserrat',system-ui,sans-serif;color:#eef1f6;background:#0d0f13;min-height:100vh;border-top:3px solid #136fe0;box-sizing:border-box}
.app *{box-sizing:border-box}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px}
.muted{color:#9aa1ad}
.ic{width:18px;height:18px;flex:none}
.ic-sm{width:15px;height:15px;flex:none}
.ic-lg{width:22px;height:22px;flex:none}
.label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#868d99}
.top{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 24px;border-bottom:1px solid #20242c;background:#111318}
.logo{display:flex;align-items:center;gap:12px;background:none;border:0;color:inherit;font:inherit;padding:4px;cursor:pointer;text-align:left;border-radius:12px}
.logo-mark{width:40px;height:40px;border-radius:50%;border:2px solid #eef1f6;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;letter-spacing:-.5px;flex:none}
.logo-name{font-weight:900;font-size:16px;letter-spacing:.02em;line-height:1.15}
.logo-sub{font-size:12px;color:#9aa1ad;font-weight:500}
.top-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;background:#1b1f26;border:1px solid #262b34;font-size:13px;font-weight:600;color:#c8ccd4;white-space:nowrap}
.pill-out{background:#13161b;border-color:#2a4f86;color:#d5e3ff;min-height:40px}
.num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:6px;background:#136fe0;color:#fff;font-size:12px;font-weight:800}
.num-red{background:#c62f2f}
.dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex:none}
.dot-off{background:#4f5561}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid #136fe0;background:#136fe0;color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;text-decoration:none}
.btn:hover{background:#1f7cf0;color:#fff}
.btn-ghost{background:#13203a;border-color:#2a4f86;color:#d5e3ff}
.btn-ghost:hover{background:#182a4a;color:#fff}
.btn-danger{background:transparent;border-color:#5a2230;color:#f87171}
.btn-danger:hover{background:#2a1118;color:#fca5a5}
.btn-sm{min-height:36px;padding:0 12px;font-size:13px;border-radius:10px}
.btn-block{width:100%}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid #262b34;background:#1b1f26;color:#b5bac4;cursor:pointer;position:relative;padding:0}
.icon-btn:hover{background:#232832;color:#fff;border-color:#3a4352}
.icon-btn.red:hover{color:#f87171;border-color:#5a2230}
.notif{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:#ef4444;border:2px solid #1b1f26}
.user{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;border-radius:12px;background:#1b1f26;border:1px solid #262b34}
.user-nick{font-size:14px;font-weight:700;line-height:1.2}
.av{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex:none;color:#fff}
.av-lg{width:44px;height:44px;border-radius:12px;font-size:14px}
.av1{background:#1d4f9e}.av2{background:#4a5263}.av3{background:#6b2a3a}.av4{background:#2f5a4a}.av0{background:#136fe0}
.card{background:#16191f;border:1px solid #262b34;border-radius:16px}
.card-pad{padding:20px}
.card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid #262b34}
.card-title{font-size:16px;font-weight:800;margin:0}
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:7px;font-size:12px;font-weight:700;white-space:nowrap;line-height:1.5}
.b-blue{background:rgba(45,140,255,.15);color:#7ab2ff}
.b-green{background:rgba(34,197,94,.13);color:#4ade80}
.b-yellow{background:rgba(234,179,8,.13);color:#facc15}
.b-red{background:rgba(239,68,68,.15);color:#fb8080}
.b-gray{background:rgba(139,152,176,.14);color:#b5bac4}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:10px;border:1px solid #262b34;background:#16191f;color:#b5bac4;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.chip:hover{border-color:#3a4352;color:#fff}
.chip.active{background:#136fe0;border-color:#136fe0;color:#fff}
.chip-n{font-size:12px;opacity:.85}
.inp{width:100%;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid #2a2f39;background:#101216;color:#eef1f6;font:inherit;font-size:14px}
.inp::placeholder{color:#868d99}
.inp:focus{outline:2px solid #2d8cff;outline-offset:1px}
.search{position:relative;flex:1 1 260px;min-width:0}
.search .inp{padding-left:42px}
.search-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#868d99;pointer-events:none;display:flex}
.select{min-height:44px;padding:0 14px;border-radius:12px;border:1px solid #2a2f39;background:#101216;color:#eef1f6;font:inherit;font-size:14px;font-weight:600}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:860px}
.tbl th{text-align:left;padding:13px 16px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#868d99;border-bottom:1px solid #262b34;white-space:nowrap}
.tbl td{padding:12px 16px;border-bottom:1px solid #20242b;vertical-align:middle;white-space:nowrap}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:#1a1d24}
.who{display:flex;align-items:center;gap:12px}
.who-nick{font-weight:700;font-size:14px;line-height:1.25}
.who-sub{font-size:12px;color:#9aa1ad}
.acts{display:flex;gap:6px;justify-content:flex-end}
.shell{display:flex;flex-wrap:wrap;align-items:stretch}
.side{flex:1 1 248px;max-width:100%;padding:18px 14px 24px;border-right:1px solid #20242c;background:#111318}
@media (min-width:860px){.side{flex:0 0 248px}}
.nav-group{margin:20px 12px 8px}
.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;padding:0 12px;margin-bottom:2px;border-radius:11px;border:0;background:transparent;color:#b5bac4;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:left}
.nav-item:hover{background:#1c2027;color:#fff}
.nav-item.active{background:#136fe0;color:#fff}
.nav-item.active .num{background:#fff;color:#136fe0}
.nav-end{margin-left:auto}
.srv-card{margin:22px 4px 0;padding:14px;border-radius:14px;background:#16191f;border:1px solid #262b34}
.main{flex:999 1 560px;min-width:0;padding:28px 32px 56px}
.wrap{max-width:1280px;margin:0 auto}
.ph{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px}
.ph-ic{width:52px;height:52px;border-radius:14px;background:rgba(45,140,255,.14);color:#2d8cff;display:flex;align-items:center;justify-content:center;flex:none}
.ph h1{margin:2px 0 4px;font-size:26px;font-weight:800;letter-spacing:-.01em}
.ph p{margin:0;font-size:14px;color:#9aa1ad}
.ph-acts{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.crumb{display:flex;align-items:center;gap:6px}
.hero{position:relative;overflow:hidden;padding:36px 40px;border-radius:20px;background:#141820;border:1px solid #2a3140}
.kicker{display:inline-flex;padding:5px 10px;border-radius:7px;background:rgba(45,140,255,.14);color:#7ab2ff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.hero h1{margin:18px 0 12px;font-size:44px;line-height:1.08;font-weight:900;letter-spacing:-.02em}
.accent{color:#2d8cff}
.hero p{margin:0 0 22px;font-size:16px;line-height:1.55;color:#b5bac4;max-width:560px}
.hero-mark{position:absolute;right:-30px;bottom:-60px;font-size:220px;font-weight:900;color:#13213a;letter-spacing:-.06em;line-height:1;pointer-events:none}
.hub-top{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:34px}
.attn{flex:1 1 320px;padding:18px}
.attn-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:12px;border:1px solid #242932;background:#13161b;color:inherit;font:inherit;text-align:left;cursor:pointer;margin-top:10px}
.attn-item:hover{border-color:#3a4352;background:#1c2027}
.attn-ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none}
.sec{margin-bottom:34px}
.sec-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.sec-head h2{margin:0;font-size:20px;font-weight:800}
.grid-t{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.tile{display:flex;align-items:flex-start;gap:14px;width:100%;min-height:96px;padding:18px;border-radius:16px;background:#16191f;border:1px solid #262b34;color:inherit;font:inherit;text-align:left;cursor:pointer}
.tile:hover{border-color:#2d6fc4;background:#1c2027}
.tile-ic{width:44px;height:44px;border-radius:12px;background:rgba(45,140,255,.14);color:#2d8cff;display:flex;align-items:center;justify-content:center;flex:none}
.tile-name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;margin:2px 0 4px}
.tile-desc{font-size:13px;line-height:1.45;color:#9aa1ad}
.tile-arrow{margin-left:auto;color:#5b6270;align-self:center}
.cols{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.col-main{flex:999 1 560px;min-width:0}
.col-side{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:16px}
.msg{display:flex;gap:12px;padding:12px 20px;border-bottom:1px solid #20242b;align-items:flex-start}
.msg-flag{background:rgba(239,68,68,.06)}
.msg-time{color:#868d99;padding-top:2px}
.msg-body{flex:1;min-width:0}
.msg-text{font-size:14px;line-height:1.5;color:#d6d9df;margin-top:2px;white-space:normal}
.composer{display:flex;gap:10px;padding:14px 20px;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 6px 6px 12px;border-radius:9px;background:#1d2129;border:1px solid #2a2f39;font-size:13px;font-weight:600}
.tag-x{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:0;background:transparent;color:#9aa1ad;cursor:pointer;padding:0}
.tag-x:hover{background:#2b303a;color:#fff}
.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #20242b}
.row:last-child{border-bottom:0}
.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.grid4{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.stat{padding:18px 20px}
.stat-v{font-size:28px;font-weight:900;margin-top:6px;letter-spacing:-.02em}
.timer{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:22px;font-weight:600;color:#eef1f6}
.steps{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}
.step{flex:1 1 90px;padding:8px 10px;border-radius:9px;font-size:12px;font-weight:700;text-align:center;background:#13161b;border:1px solid #242932;color:#868d99}
.step.done{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#4ade80}
.step.now{background:rgba(45,140,255,.15);border-color:#2d8cff;color:#9cc6ff}
.code{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:26px;font-weight:600;letter-spacing:.08em;padding:16px 18px;border-radius:12px;background:#101216;border:1px dashed #3a4352;color:#eef1f6;text-align:center;margin:14px 0}
.howto{display:flex;gap:12px;align-items:flex-start;padding:10px 0}
.howto-n{width:28px;height:28px;border-radius:8px;background:rgba(45,140,255,.15);color:#7ab2ff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}
.shot{aspect-ratio:16/9;border-radius:12px 12px 0 0;background:#101216;border-bottom:1px solid #262b34;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#5b6270;font-size:12px;font-weight:600;position:relative}
.shot-new{position:absolute;top:10px;left:10px}
.segs{display:flex;gap:3px}
.seg{width:9px;height:16px;border-radius:3px;background:#242932}
.seg.on-red{background:#ef4444}.seg.on-yellow{background:#eab308}.seg.on-gray{background:#5d6470}
.sw{position:relative;width:46px;height:26px;border-radius:13px;border:0;background:#2c313b;cursor:pointer;flex:none;padding:0}
.sw-k{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#c8ccd4}
.sw.on{background:#136fe0}
.sw.on .sw-k{left:23px;background:#fff}
.score{font-size:40px;font-weight:900;letter-spacing:-.03em;line-height:1}
.sc-red{color:#f87171}.sc-yellow{color:#facc15}.sc-gray{color:#b5bac4}
.reasons{margin:14px 0 18px;padding:0;list-style:none}
.reasons li{display:flex;gap:10px;font-size:13px;line-height:1.5;color:#c3c7cf;padding:5px 0}
.reasons li span.b{width:6px;height:6px;border-radius:50%;background:#2d8cff;margin-top:7px;flex:none}
.matrix{width:100%;border-collapse:collapse;min-width:720px}
.matrix th{padding:14px 12px;text-align:center;border-bottom:1px solid #262b34}
.matrix th:first-child{text-align:left;padding-left:20px}
.matrix td{padding:8px 12px;border-bottom:1px solid #20242b;text-align:center}
.matrix td:first-child{text-align:left;padding-left:20px;font-size:14px;font-weight:600}
.matrix .grp td{background:#13161b;padding-top:12px;padding-bottom:12px}
.cell{width:36px;height:36px;border-radius:9px;border:1px solid #2f3540;background:#101216;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.cell:hover{border-color:#2d8cff}
.cell.on{background:#136fe0;border-color:#136fe0}
.cell.lock{background:#1d2a3d;border-color:#1d2a3d;color:#9cc6ff;cursor:not-allowed}
.login{display:flex;align-items:center;justify-content:center;padding:96px 16px}
.login-card{width:100%;max-width:420px;padding:36px 32px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.field label{font-size:13px;font-weight:700;color:#c8ccd4}
.empty{padding:40px 20px;text-align:center;color:#9aa1ad;font-size:14px}

/* v2: graphite + blue */
.top{gap:16px;padding:10px 20px}
.vsep{width:1px;height:28px;background:#262b34}
.crumbs{display:flex;align-items:center;gap:8px;font-size:14px;min-width:0;flex-wrap:wrap}
.crumb-b{background:none;border:0;color:#9aa1ad;font:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:6px 4px;border-radius:8px}
.crumb-b:hover{color:#fff}
.top-search{flex:0 1 380px;margin-left:auto}
.top-search .inp{min-height:40px;padding-right:70px;background:#16191f}
.kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:'JetBrains Mono',monospace;font-size:11px;color:#9aa1ad;border:1px solid #2a2f39;border-radius:6px;padding:2px 6px;pointer-events:none}
.top-right{margin-left:0}
.srv-sel{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:10px;border:1px solid #262b34;background:#16191f;color:#eef1f6;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.srv-sel:hover{border-color:#3a4352}
.user{background:transparent;border-color:transparent}
.side{background:#111318}
.nav-group{display:flex;align-items:center;gap:10px}
.nav-group::after{content:"";flex:1;height:1px;background:#20242c}
.nav-item.active{background:rgba(45,140,255,.12);color:#fff;box-shadow:inset 3px 0 0 #2d8cff}
.nav-item.active .ic{color:#2d8cff}
.nav-item.active .num{background:#136fe0;color:#fff}
.nav-item.active .num-red{background:#c62f2f}
.ph-ic{background:transparent;border:1px solid #262b34;color:#2d8cff}
.login{padding:72px 16px}
.login-box{display:flex;flex-wrap:wrap;width:100%;max-width:940px;border:1px solid #262b34;border-radius:20px;overflow:hidden;background:#16191f}
.login-brand{flex:1 1 380px;position:relative;background:#121620;padding:36px;min-height:480px;border-right:1px solid #262b34}
.stripes{position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(45,140,255,.09) 0 2px,transparent 2px 16px);-webkit-mask-image:linear-gradient(160deg,#000 10%,transparent 65%);mask-image:linear-gradient(160deg,#000 10%,transparent 65%)}
.lb-in{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:100%;gap:48px}
.lb-title{margin:10px 0 24px;font-size:34px;line-height:1.12;font-weight:900;letter-spacing:-.02em}
.lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.lb-list li{display:flex;gap:14px;align-items:flex-start;font-size:14px;line-height:1.45}
.lb-ic{width:38px;height:38px;border-radius:10px;border:1px solid #2a2f39;background:#16191f;color:#2d8cff;display:flex;align-items:center;justify-content:center;flex:none}
.login-form{flex:1 1 360px;padding:48px 44px;display:flex;flex-direction:column;justify-content:center}
.hub-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px}
.hub-title{margin:6px 0 6px;font-size:38px;font-weight:900;letter-spacing:-.02em;line-height:1.1}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:28px}
.hud{position:relative}
.hud::before,.hud::after{content:"";position:absolute;width:14px;height:14px;border:0 solid #2d8cff;pointer-events:none}
.hud::before{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px;border-top-left-radius:12px}
.hud::after{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px;border-bottom-right-radius:12px}
.kpi{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:12px;border:1px solid #262b34;background:#16191f;color:inherit;font:inherit;text-align:left;cursor:pointer}
.kpi:hover{border-color:#2d6fc4;background:#1a1d24}
.kpi-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.kpi-v{font-size:36px;font-weight:900;letter-spacing:-.03em;line-height:1}
.kpi-sub{font-size:12px;color:#9aa1ad}
.bars{display:flex;align-items:flex-end;gap:3px;height:34px}
.bar{width:6px;border-radius:2px;background:#2d8cff;opacity:.85}
.bar.red{background:#ef4444}
.h1{height:10%}.h2{height:20%}.h3{height:30%}.h4{height:40%}.h5{height:50%}.h6{height:60%}.h7{height:70%}.h8{height:80%}.h9{height:90%}.h10{height:100%}
.alerts-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.alerts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:32px}
.alert{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;border:1px solid #262b34;background:#16191f;color:inherit;font:inherit;text-align:left;cursor:pointer}
.alert:hover{border-color:#3a4352;background:#1a1d24}
.sec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:start}
.sec-col{border:1px solid #262b34;border-radius:16px;background:#16191f;padding:8px}
.sec-col-head{display:flex;align-items:center;gap:12px;padding:12px 12px 14px;border-bottom:1px solid #20242b;margin-bottom:6px}
.sec-ic{width:44px;height:44px;border-radius:12px;background:#136fe0;color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.sec-n{margin-left:auto;white-space:nowrap;flex:none;font-size:12px;color:#868d99;border:1px solid #262b34;border-radius:6px;padding:2px 7px}
.sec-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:11px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.sec-row:hover{background:#1c2027}
.sec-row:hover .row-arrow{color:#2d8cff}
.sec-row-ic{width:36px;height:36px;border-radius:10px;background:rgba(45,140,255,.12);color:#2d8cff;display:flex;align-items:center;justify-content:center;flex:none}
.row-arrow{color:#5b6270}
.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));column-gap:32px}
.shell{min-height:calc(100vh - 74px)}

/* v3: правки */
.top-right{margin-left:auto}
.sec-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.tbl tbody tr.clk{cursor:pointer}
.tbl tbody tr.pirate td{background:rgba(239,68,68,.07)}
.tbl tbody tr.pirate:hover td{background:rgba(239,68,68,.13)}
.tbl tbody tr.pirate td:first-child{box-shadow:inset 3px 0 0 #ef4444}
.nick-red{color:#fb8080}
.av-wrap{position:relative;display:inline-flex;flex:none}
.st-dot{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;border:2px solid #16191f}
.hint{display:flex;align-items:center;gap:8px;font-size:13px;color:#9aa1ad;margin:-4px 2px 12px}
.modal-bg{position:fixed;inset:0;z-index:50;background:rgba(5,7,10,.75);display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto}
.modal{width:100%;max-width:1140px;background:#13161b;border:1px solid #2a2f39;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.m-head{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:22px 24px;border-bottom:1px solid #262b34;background:#111318}
.m-head.pirate{box-shadow:inset 0 3px 0 #ef4444;background:linear-gradient(180deg,rgba(239,68,68,.08),transparent 70%),#111318}
.av-xl{width:60px;height:60px;border-radius:16px;font-size:18px}
.m-nick{margin:0;font-size:24px;font-weight:900;letter-spacing:-.01em}
.m-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.m-close{margin-left:auto;align-self:flex-start}
.m-body{display:flex;flex-wrap:wrap;align-items:stretch}
.m-main{flex:999 1 560px;min-width:0;padding:0 24px 24px}
.m-side{flex:1 1 280px;min-width:0;padding:20px 22px 24px;border-left:1px solid #262b34;background:#111318}
.tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid #262b34;margin:0 -24px 20px;padding:0 16px}
.tab{min-height:50px;padding:0 14px;border:0;background:none;color:#9aa1ad;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:inset 0 -2px 0 transparent;display:inline-flex;align-items:center;gap:8px}
.tab:hover{color:#fff}
.tab.active{color:#fff;box-shadow:inset 0 -2px 0 #2d8cff}
.blk{border:1px solid #262b34;border-radius:14px;background:#16191f;padding:16px 18px}
.blk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.blk-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:#2d8cff}
.kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #20242b;font-size:14px}
.kv:last-child{border-bottom:0}
.kv-k{color:#9aa1ad}
.kv-v{font-weight:700;text-align:right}
.kv-v.mono{font-weight:600}
.kv-v.warn{color:#fb8080}
.mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.mini{padding:12px 14px;border-radius:11px;background:#101216;border:1px solid #242932}
.mini-v{font-size:24px;font-weight:900;margin-top:4px;letter-spacing:-.02em}
.act-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.act-list .btn{justify-content:flex-start}
.btn-warn{background:transparent;border-color:#5a4a1a;color:#facc15}
.btn-warn:hover{background:#2a2410;color:#fde68a}
.btn-red{background:#c62f2f;border-color:#c62f2f;color:#fff}
.btn-red:hover{background:#dc3b3b;color:#fff}
.ban-box{padding:14px;border-radius:12px;border:1px solid #5a2230;background:#1c1116}
.ban-lbl{font-size:12px;color:#9aa1ad;font-weight:700;margin:12px 0 6px}
.chip-sm{min-height:32px;padding:0 10px;font-size:12px;border-radius:8px}
.side-note{margin-top:18px;font-size:12px;line-height:1.5;color:#868d99;display:flex;gap:8px}
.lst-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #20242b}
.lst-row:last-child{border-bottom:0}
.lst-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:12px;border:1px solid #242932;background:#16191f;color:inherit;font:inherit;text-align:left;cursor:pointer;margin-bottom:8px}
.lst-btn:hover{border-color:#3a4352;background:#1c2027}
.sub-lbl{display:flex;align-items:center;gap:8px;margin:4px 0 10px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:#1d2533;border:1px solid #2a4f86;color:#eef1f6;font-size:14px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.45);max-width:calc(100% - 32px)}
.toast .ic{color:#2d8cff}
.ta{width:100%;min-height:96px;padding:12px 14px;border-radius:12px;border:1px solid #2a2f39;background:#101216;color:#eef1f6;font:inherit;font-size:14px;resize:vertical}
.ta:focus{outline:2px solid #2d8cff;outline-offset:1px}
.link-b{background:none;border:0;padding:0;color:#eef1f6;font:inherit;font-weight:700;cursor:pointer}
.link-b:hover{color:#7ab2ff;text-decoration:underline}
@media (max-width:640px){.main{padding:20px 16px 48px}.m-main{padding:0 16px 20px}.tabs{margin:0 -16px 16px;padding:0 8px}.m-side{border-left:0;border-top:1px solid #262b34}.grid2{grid-template-columns:1fr}.blk-grid{grid-template-columns:1fr}.modal-bg{padding:0}.modal{border-radius:0;min-height:100vh}}
.act-list .btn{white-space:normal;text-align:left;line-height:1.3;padding:10px 16px}
.m-head{position:relative;padding-right:76px}
.m-close{position:absolute;top:20px;right:20px;margin:0}

.hl{background:rgba(234,179,8,.22);color:#fde047;border-radius:4px;padding:1px 4px;font-weight:700;box-shadow:inset 0 -2px 0 rgba(234,179,8,.6)}
.msg-flag{background:rgba(234,179,8,.06)}

/* v4: рабочая панель */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.form-err{margin:4px 0 12px;padding:10px 12px;border-radius:10px;background:rgba(239,68,68,.12);border:1px solid #5a2230;color:#fca5a5;font-size:13px;font-weight:600}
.setup-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;border-color:#2a4f86;background:#121a28}
.chat-box{max-height:560px;overflow-y:auto}
.select-sm{min-height:36px;font-size:13px;padding:0 10px;border-radius:10px}
.dirty-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:12px 16px;border-color:#2a4f86;background:#121a28;font-size:14px;font-weight:600}
.dirty-bar .ic{color:#2d8cff}
.soon{display:flex;flex-direction:column;align-items:flex-start;padding:32px}
.modal-bg-top{z-index:60}
.modal-sm{max-width:520px;margin-top:8vh}
.mf-head{display:flex;align-items:center;gap:12px;padding:20px 22px 0}
.mf-title{margin:0;font-size:20px;font-weight:800;flex:1}
.mf-body{padding:16px 22px 6px}
.mf-desc{margin:0 0 16px;font-size:14px;line-height:1.55;color:#b5bac4}
.mf-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 20px;flex-wrap:wrap}
.copy-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.code-sm{flex:1 1 240px;min-width:0;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;padding:11px 12px;border-radius:10px;background:#101216;border:1px dashed #3a4352;color:#eef1f6;word-break:break-all}
.act-info{font-size:12px;color:#9aa1ad;margin:-4px 2px 2px;line-height:1.4}
.toast-err{border-color:#5a2230;background:#2a1118}
.toast-err .ic{color:#f87171}
.room-log{display:flex;flex-direction:column;gap:10px;max-height:52vh;min-height:220px;overflow-y:auto;padding:4px 2px}
.rm{max-width:78%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.45}
.rm-meta{font-size:11px;font-weight:700;color:#9aa1ad;margin-bottom:3px}
.rm-player{align-self:flex-start;background:#1b1f26;border:1px solid #262b34}
.rm-mod{align-self:flex-end;background:#13203a;border:1px solid #2a4f86}
.rm-system{align-self:center;max-width:92%;background:transparent;border:1px dashed #2f3540;color:#9aa1ad;font-size:12px;text-align:center;padding:6px 12px}
.rm-system .rm-meta{display:none}
.btn[disabled]{opacity:.55;cursor:not-allowed}
a.btn{color:#d5e3ff}
.kv-v a{color:#7ab2ff}
.dot-red{background:#ef4444}
.ban-box-blue{border-color:#2a4f86;background:#121a28}
@media (max-width:859px){.side{display:none}.top{padding:10px 14px}.top-right{width:100%;justify-content:flex-start}}
.av{position:relative;overflow:hidden}
.av-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.custom-row{display:flex;flex-direction:column;gap:8px}
.inp-sm{min-height:38px;font-size:13px;padding:0 12px;border-radius:10px}
.wipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.wipe-item{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:12px;border:1px solid #2a2f39;background:#16191f;color:#eef1f6;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.wipe-item:hover{border-color:#3a4352}
.wipe-item.on{border-color:#2d8cff;background:#13203a}
.wipe-item.danger.on{border-color:#c62f2f;background:#2a1118}
.wipe-box{width:20px;height:20px;border-radius:6px;border:2px solid #3a4352;display:inline-flex;align-items:center;justify-content:center;flex:none;color:#fff}
.wipe-item.on .wipe-box{background:#2d8cff;border-color:#2d8cff}
.wipe-item.danger.on .wipe-box{background:#c62f2f;border-color:#c62f2f}
/* Чит чекер — отчёт в комнате проверки */
.ck-report{margin-top:18px;padding:16px;border-radius:14px;background:#13161b;border:1px solid #262b34}
.ck-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ck-stats{display:flex;gap:8px;flex-wrap:wrap}
.ck-hl-list{display:flex;flex-direction:column;gap:8px}
.ck-hl{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:#181013;border:1px solid #3a2730}
.ck-hl .badge{flex:none;margin-top:1px}
.ck-hl-text{min-width:0}
.ck-hl-text .mono{word-break:break-all;color:#eef1f6;font-size:13px}
.ck-all{margin-top:14px}
.ck-all>summary{cursor:pointer;color:#9aa1ad;font-size:13px;font-weight:700;padding:6px 0}
.ck-all>summary:hover{color:#eef1f6}
.ck-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid #20242c}
.ck-row .badge{flex:none;margin-top:2px}
.ck-det{margin:6px 0 0;padding-left:18px}
.ck-det li{color:#b5bac4;font-size:12px;word-break:break-all;margin:2px 0}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
/* Скриншотилка */
.ss-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.ss-card{margin:0;background:#13161b;border:1px solid #262b34;border-radius:12px;overflow:hidden}
.ss-img{display:block;width:100%;padding:0;border:0;background:#0d0f13;cursor:zoom-in;line-height:0}
.ss-img img{display:block;width:100%;height:150px;object-fit:cover;transition:opacity .15s}
.ss-img:hover img{opacity:.85}
.ss-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px}
.ss-code{max-height:320px;overflow:auto;background:#0d0f13;border:1px solid #262b34;border-radius:10px;padding:12px;margin:8px 0 0;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;line-height:1.5;color:#c8ccd4;white-space:pre}
@media (max-width:640px){.ss-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
/* Античит: детекты со скриншотами */
.ac-list{display:flex;flex-direction:column;gap:12px}
.ac-row{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;background:#16191f;border:1px solid #262b34;border-radius:14px;padding:12px}
.ac-shot{border-radius:10px;overflow:hidden;background:#0d0f13;border:1px solid #1f242c;min-height:135px}
.ac-shot .ss-img img{height:135px}
.ac-noshot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:135px;padding:10px;text-align:center;color:#8b93a1;font-size:12px}
.ac-noshot-ic .ic{width:22px;height:22px;opacity:.6}
.ac-body{min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:2px}
.ac-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.ac-when{margin-left:auto;font-size:12px;white-space:nowrap}
.ac-reason{font-size:14px;line-height:1.55;color:#dfe3ea;word-break:break-word}
.ac-meta{line-height:1.45;word-break:break-word}
@media (max-width:640px){.ac-row{grid-template-columns:1fr}.ac-when{margin-left:0}}
/* AI Античит */
.ai-status{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.ai-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.ai-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.ai-upload{position:relative;overflow:hidden;cursor:pointer}
.ai-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ai-note{flex:1;min-width:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-h{margin:0 0 4px;font-size:16px;font-weight:800}
.ai-err{color:#f08a8a}
.ai-test{margin-top:14px;padding-top:12px;border-top:1px solid #262b34;display:flex;flex-direction:column;gap:8px}
.ai-step{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13px}
.ai-step .muted{word-break:break-word}
.ai-unused{opacity:.45}
.ai-ex-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.ai-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.ai-page-grid .ss-img img{height:100px}
.ai-pg-meta{display:flex;flex-direction:column;gap:4px;padding:8px}
.ai-pg-name{font-size:12px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ai-dry{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;font-size:14px;line-height:1.55;border-color:#5a2a2a}
.ai-dry .ic{flex:none;color:#f08a8a}
/* Пометка «Медиа» */
.b-media{background:rgba(168,85,247,.16);color:#c4a1ff}
/* Скриншотилка: период, дни, страницы */
.ss-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 4px}
.ss-day{margin:18px 0 10px}
.ss-name{font-size:13px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.pager{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:22px 0 4px}
.pager-label{font-size:13px;font-weight:700;color:#b5bac4;padding:0 8px}
.btn[disabled]{opacity:.45;cursor:default;pointer-events:none}
/* Лимит банов */
.bl-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:12px}
.bl-form .field{margin:0;width:150px}
/* Просмотр скриншотов поверх панели */
.vw-bg{position:fixed;inset:0;z-index:55;background:rgba(5,6,9,.985);backdrop-filter:blur(6px);display:flex;flex-direction:column}
.vw-top{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #1f242c;flex-wrap:wrap}
.vw-title{flex:1;min-width:160px}
.vw-name{font-weight:800;font-size:15px;color:#eef1f6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vw-sub{font-size:12px;color:#868d99;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vw-count{font-size:13px;font-weight:700;color:#b5bac4;white-space:nowrap}
.vw-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vw-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px 72px;overflow:hidden}
.vw-stage.zoomed{display:block;overflow:auto;padding:12px}
.vw-img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.6);user-select:none}
.vw-img.zoomed{max-width:none;max-height:none;cursor:zoom-out;margin:0 auto;display:block}
.vw-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid #2a2f39;background:rgba(19,22,27,.85);color:#eef1f6;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.vw-nav:hover{background:#136fe0;border-color:#136fe0}
.vw-prev{left:12px}.vw-next{right:12px}
.vw-stage.zoomed .vw-nav{position:fixed}
.vw-strip{display:flex;gap:6px;padding:10px 16px;overflow-x:auto;border-top:1px solid #1f242c;flex:none}
.vw-th{flex:none;width:96px;height:56px;padding:0;border:2px solid transparent;border-radius:6px;background:#0d0f13;cursor:pointer;overflow:hidden;opacity:.55}
.vw-th img{width:100%;height:100%;object-fit:cover;display:block}
.vw-th:hover{opacity:.9}
.vw-th.on{border-color:#2d8cff;opacity:1}
@media (max-width:640px){.vw-stage{padding:8px}.vw-nav{width:42px;height:42px}.vw-prev{left:6px}.vw-next{right:6px}.vw-tools .btn{padding:0 8px}}
.btn-gray{background:#2c313b;border-color:#3a4150;color:#d5d9e0}
.btn-gray:hover{background:#363c48;border-color:#4a5262;color:#fff}
