*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#fff;--bg2:#f6f5f2;--bg3:#eeedea;--text:#181816;--text2:#52524f;--text3:#8f8f8b;--border:rgba(0,0,0,0.09);--border2:rgba(0,0,0,0.16);--green:#1D9E75;--gd:#0F6E56;--gl:#E1F5EE;--gt:#085041;--blue:#185FA5;--bl:#E6F1FB;--bd:#0C447C;--red:#A32D2D;--rl:#FCEBEB;--amber:#854F0B;--al:#FAEEDA;--purple:#534AB7;--r:8px;--rl2:12px;--body-bg:#e9e8e4}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;background:var(--body-bg);color:var(--text);font-size:14px;min-height:100vh;transition:background .2s,color .2s}
.app{display:grid;grid-template-columns:272px 1fr;grid-template-rows:54px 1fr;height:100vh;overflow:hidden}
.topbar{grid-column:1/-1;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 18px;z-index:10}
.sidebar{background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}
.main{display:flex;flex-direction:column;overflow:hidden}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.bicon{width:30px;height:30px;background:var(--green);border-radius:7px;display:flex;align-items:center;justify-content:center}
.bicon i{color:#fff;font-size:14px}
.bname{font-size:15px;font-weight:600}
.bver{font-size:10px;color:var(--text3);background:var(--bg3);padding:1px 5px;border-radius:3px;margin-left:4px}
.spill{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;border:1px solid var(--border);font-size:12px;font-weight:500}
.sdot{width:7px;height:7px;border-radius:50%}
.sdot.ok{background:#3B6D11;animation:pulse 2s infinite}
.sdot.err{background:#A32D2D}
.sdot.chk{background:#aaa}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--r);border:1px solid var(--border2);background:var(--bg);font-size:12px;font-weight:500;cursor:pointer;color:var(--text);transition:background .12s;white-space:nowrap}
.btn:hover{background:var(--bg2)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn-g{background:var(--green);border-color:var(--gd);color:#fff}.btn-g:hover{background:var(--gd)}
.btn-b{background:var(--blue);border-color:var(--bd);color:#fff}.btn-b:hover{background:var(--bd)}
.btn-r{background:var(--rl);border-color:#f09595;color:var(--red)}
.btn-sm{padding:4px 9px;font-size:11px}.btn-xs{padding:2px 7px;font-size:11px}
.sb-head{padding:12px 14px 8px;border-bottom:1px solid var(--border)}
.sb-title{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.sites{flex:1;overflow-y:auto;padding:6px}
.sc{border-radius:var(--r);border:1px solid var(--border);background:var(--bg2);padding:9px 11px;margin-bottom:5px;cursor:pointer;transition:all .12s;position:relative}
.sc:hover{background:var(--bg);border-color:var(--border2)}.sc.active{background:var(--bg);border-color:var(--green);border-width:2px}
.sc-name{font-size:12px;font-weight:500;margin-bottom:2px;display:flex;align-items:center;gap:5px;padding-right:22px}
.sc-url{font-size:10px;color:var(--text3);font-family:'Courier New',monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-stats{display:flex;gap:6px;margin-top:6px}
.ss{display:flex;flex-direction:column;align-items:center;flex:1;background:var(--bg3);border-radius:4px;padding:3px 2px}
.ss-v{font-size:12px;font-weight:600;line-height:1}.ss-l{font-size:9px;color:var(--text3);margin-top:1px}
.sc-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:500;padding:1px 5px;border-radius:99px}
.sb-idle{background:var(--bg3);color:var(--text3)}.sb-crawling{background:var(--bl);color:var(--bd);animation:blink 1.5s infinite}
.sb-done{background:var(--gl);color:var(--gt)}.sb-err{background:var(--rl);color:var(--red)}
.sc-del{position:absolute;top:7px;right:7px;opacity:0;transition:opacity .12s}.sc:hover .sc-del{opacity:1}
.empty-s{padding:20px;text-align:center;color:var(--text3);font-size:12px}
.empty-s i{font-size:22px;display:block;margin-bottom:7px;opacity:.3}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50;display:none;align-items:center;justify-content:center}
.modal-bg.show{display:flex}
.modal{background:var(--bg);border-radius:var(--rl2);border:1px solid var(--border);padding:22px;width:440px;max-width:95vw}
.modal-hd{font-size:15px;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:7px}
.f{margin-bottom:10px}.fl{display:block;font-size:11px;font-weight:600;color:var(--text2);margin-bottom:3px}
.fi{width:100%;padding:7px 9px;font-size:12px;border:1px solid var(--border2);border-radius:var(--r);background:var(--bg2);color:var(--text);outline:none;font-family:inherit;transition:border-color .12s}
.fi:focus{border-color:var(--green);background:var(--bg)}
.modal-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.main-empty{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--text3)}
.main-empty i{font-size:44px;opacity:.18}
.main-empty h2{font-size:17px;font-weight:500;color:var(--text2)}
.main-empty p{font-size:13px;text-align:center;max-width:280px;line-height:1.6}
.sh{background:var(--bg);border-bottom:1px solid var(--border);padding:12px 18px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.sh-info{flex:1}.sh-name{font-size:15px;font-weight:600}.sh-url{font-size:11px;color:var(--text3);font-family:'Courier New',monospace}
.sh-acts{display:flex;gap:7px;align-items:center}
.stats-bar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;padding:10px 18px;background:var(--body-bg);flex-shrink:0}
.stc{background:var(--bg);border-radius:var(--r);border:1px solid var(--border);padding:9px 11px;position:relative}
.stl{font-size:9px;color:var(--text3);margin-bottom:3px;display:flex;align-items:center;gap:3px;text-transform:uppercase;letter-spacing:.04em}
.stv{font-size:19px;font-weight:600;line-height:1}.sts{font-size:10px;color:var(--text3);margin-top:2px}
.cg{color:var(--green)}.cr{color:var(--red)}.cb{color:var(--blue)}.ca{color:var(--amber)}.cp{color:var(--purple)}
/* Health score widget */
.health-ring{position:relative;width:44px;height:44px;flex-shrink:0}
.health-ring svg{width:44px;height:44px;transform:rotate(-90deg)}
.health-ring circle{fill:none;stroke-width:4}
.health-ring .bg{stroke:var(--bg3)}
.health-ring .fg{stroke-dasharray:113;stroke-dashoffset:113;stroke-linecap:round;transition:stroke-dashoffset .6s}
.health-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
.stc.health-card{display:flex;align-items:center;gap:9px;padding:7px 10px}
.health-info{flex:1}
.health-label{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.health-score-text{font-size:18px;font-weight:700;line-height:1}
.health-sub{font-size:9px;margin-top:2px}
/* Severity badges */
.sev{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}
.sev-critical{background:#FCEBEB;color:#A32D2D}
.sev-warning{background:#FAEEDA;color:#854F0B}
.sev-info{background:#E6F1FB;color:#185FA5}
body.dark .sev-critical{background:rgba(163,45,45,.25);color:#f07070}
body.dark .sev-warning{background:rgba(133,79,11,.25);color:#f0b060}
body.dark .sev-info{background:rgba(24,95,165,.25);color:#70b0f0}
/* Issue tag with severity color */
.itag{font-size:10px;padding:2px 5px;border-radius:3px;font-weight:500;margin:2px;display:inline-block}
.itag.critical{background:var(--rl);color:var(--red)}
.itag.warning{background:var(--al);color:var(--amber)}
.itag.info{background:var(--bl);color:var(--bd)}
.tabs-bar{display:flex;background:var(--bg);border-bottom:1px solid var(--border);padding:0 18px;flex-shrink:0}
.tab{padding:9px 14px;font-size:12px;font-weight:500;cursor:pointer;color:var(--text3);border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;display:flex;align-items:center;gap:5px;transition:color .12s}
.tab.active{color:var(--green);border-bottom-color:var(--green)}.tab:hover:not(.active){color:var(--text2)}
.tbadge{background:var(--green);color:#fff;border-radius:99px;font-size:9px;padding:1px 5px;font-weight:600}
.tbadge.red{background:var(--red)}.tbadge.amber{background:#EF9F27;color:#412402}
.tp{display:none;flex:1;overflow:hidden;flex-direction:column}.tp.active{display:flex}
.cl{display:grid;grid-template-columns:288px 1fr;flex:1;overflow:hidden}
.cl-left{border-right:1px solid var(--border);overflow-y:auto;background:var(--bg)}
.cs{padding:12px 13px;border-bottom:1px solid var(--border)}
.cst{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:9px}
.pbar-bg{height:4px;background:var(--bg3);border-radius:99px;overflow:hidden;margin:7px 0 3px}
.pbar-fill{height:4px;background:var(--green);border-radius:99px;transition:width .3s}
.pbar-info{display:flex;justify-content:space-between;font-size:10px;color:var(--text3)}
.rbadge{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--blue);font-weight:500;padding:4px 8px;background:var(--bl);border-radius:4px}
.rdot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:blink 1s infinite}
.lw{flex:1;display:flex;flex-direction:column;overflow:hidden}
.lf{padding:9px 12px;display:flex;gap:7px;border-bottom:1px solid var(--border);background:var(--bg2);flex-wrap:wrap}
.lf input,.lf select{padding:4px 8px;font-size:12px;border:1px solid var(--border2);border-radius:var(--r);background:var(--bg);color:var(--text);outline:none}
.lf input{flex:1;min-width:100px}.lf input:focus{border-color:var(--green)}
.tw{flex:1;overflow-y:auto}
table.lt{width:100%;border-collapse:collapse;table-layout:fixed}
table.lt thead th{text-align:left;font-size:10px;color:var(--text3);font-weight:700;padding:7px 9px;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;background:var(--bg2);z-index:1;white-space:nowrap}
table.lt tbody td{padding:6px 9px;font-size:12px;border-bottom:1px solid var(--border);vertical-align:middle}
table.lt tbody tr:hover{background:var(--bg2)}
table.lt tbody tr:last-child td{border-bottom:none}
.uc{font-family:'Courier New',monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap}
.p200{background:#EAF3DE;color:#3B6D11}.p301{background:#FAEEDA;color:#854F0B}
.p404,.p500,.p0{background:#FCEBEB;color:#A32D2D}.ppend{background:#F1EFE8;color:#5F5E5A}.pcrawl{background:#E6F1FB;color:#185FA5}
.psrc{display:inline-block;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:600}
.ps-s{background:#E6F1FB;color:#0C447C}.ps-m{background:#EAF3DE;color:#3B6D11}
.ix{font-size:12px}.ix-ok{color:var(--green)}.ix-no{color:var(--text3)}.ix-p{color:var(--amber)}.ix-e{color:var(--red)}
.empty-l{text-align:center;padding:44px;color:var(--text3)}
.empty-l i{font-size:28px;display:block;margin-bottom:9px;opacity:.2}
.exp-bar{padding:9px 12px;border-top:1px solid var(--border);display:flex;gap:6px;justify-content:flex-end;background:var(--bg2);flex-shrink:0}
.seo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;padding:14px;overflow-y:auto;flex:1}
.seo-c{background:var(--bg);border:1px solid var(--border);border-radius:var(--rl2);padding:12px;cursor:pointer;transition:border-color .12s}
.seo-c:hover{border-color:var(--border2)}
.seo-c.critical{border-left:3px solid var(--red)}
.seo-c.warning{border-left:3px solid #EF9F27}
.seo-c.info{border-left:3px solid var(--blue)}
.seo-c.good{border-left:3px solid var(--green)}
.seo-url{font-size:10px;font-family:'Courier New',monospace;color:var(--blue);margin-bottom:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seo-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.oktag{font-size:10px;padding:2px 5px;border-radius:3px;background:var(--gl);color:var(--gt);font-weight:500}
.rp-layout{padding:14px;overflow-y:auto;flex:1}
.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:9px;margin-bottom:18px}
.rp-c{background:var(--bg);border:1px solid var(--border);border-radius:var(--rl2);padding:14px;text-align:center}
.rp-ico{font-size:24px;margin-bottom:6px;opacity:.65}
.rp-n{font-size:26px;font-weight:700;line-height:1;margin-bottom:3px}
.rp-l{font-size:12px;color:var(--text2);font-weight:500}.rp-s{font-size:10px;color:var(--text3);margin-top:2px}
.iss-sum{background:var(--bg);border:1px solid var(--border);border-radius:var(--rl2);padding:14px;margin-bottom:12px}
.iss-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border)}
.iss-row:last-child{border-bottom:none}.iss-name{font-size:12px}.iss-n{background:var(--rl);color:var(--red);font-size:11px;font-weight:600;padding:2px 7px;border-radius:99px}
.shd{font-size:13px;font-weight:600;margin-bottom:9px;display:flex;align-items:center;gap:5px}
.gl-layout{padding:14px;overflow-y:auto;flex:1;display:grid;grid-template-columns:380px 1fr;gap:12px;align-items:start}
.gl-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--rl2);padding:14px}
.gl-hd{display:flex;align-items:center;gap:7px;margin-bottom:10px}
.gl-logo{width:26px;height:26px;background:var(--blue);border-radius:5px;display:flex;align-items:center;justify-content:center}
.gl-logo i{color:#fff;font-size:13px}
.gl-lim{display:flex;gap:14px;margin-bottom:10px;padding:8px;background:var(--bl);border-radius:var(--r)}
.gll{text-align:center}.gll-v{font-size:16px;font-weight:700;color:var(--blue)}.gll-l{font-size:9px;color:var(--bd);text-transform:uppercase;letter-spacing:.04em}
.fl2{display:block;font-size:11px;font-weight:600;color:var(--text2);margin-bottom:3px}
.fi2{width:100%;padding:6px 9px;font-size:12px;border:1px solid var(--border2);border-radius:var(--r);background:var(--bg2);color:var(--text);outline:none;font-family:inherit;margin-bottom:8px}
.fi2:focus{border-color:var(--green);background:var(--bg)}
.fck{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;color:var(--text2)}
.fck input{accent-color:var(--green);width:13px;height:13px}
.idx-log{border:1px solid var(--border);border-radius:var(--r);max-height:400px;overflow-y:auto}
.irow{display:flex;align-items:center;gap:7px;padding:6px 9px;border-bottom:1px solid var(--border);font-size:11px}
.irow:last-child{border-bottom:none}.irow.ok{background:rgba(29,158,117,.04)}.irow.err{background:rgba(163,45,45,.04)}
.iurl{font-family:'Courier New',monospace;font-size:10px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.set-layout{padding:14px;overflow-y:auto;flex:1}
.set-c{background:var(--bg);border:1px solid var(--border);border-radius:var(--rl2);padding:14px;margin-bottom:10px}
.og{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dov-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:40;display:none}
.dov-overlay.show{display:block}
.drawer{position:fixed;right:0;top:0;bottom:0;width:400px;background:var(--bg);border-left:1px solid var(--border);z-index:41;overflow-y:auto;padding:18px;transform:translateX(100%);transition:transform .2s}
.drawer.show{transform:none}
.dr-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.dr-title{font-size:14px;font-weight:600}
.drow{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.drow:last-child{border-bottom:none}
.dlbl{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.dval{font-size:12px;word-break:break-all}
.di-ok{font-size:10px;padding:2px 6px;border-radius:3px;background:var(--gl);color:var(--gt);font-weight:500;display:inline-block}
.toast{position:fixed;bottom:18px;right:18px;background:var(--text);color:#fff;padding:9px 14px;border-radius:var(--r);font-size:13px;z-index:100;opacity:0;transition:opacity .2s;pointer-events:none;max-width:300px}
.toast.show{opacity:1}.toast.success{background:var(--gd)}.toast.error{background:var(--red)}
.auth-bar{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--r);margin-bottom:10px;font-size:12px}
.auth-bar.connected{background:var(--gl);border:1px solid #a8dfc9;color:var(--gt)}
.auth-bar.disconnected{background:var(--rl);border:1px solid #f0a0a0;color:var(--red)}
/* Severity summary bar */
.sev-bar{display:flex;gap:6px;padding:8px 18px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center}
.sev-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:99px;cursor:pointer;transition:opacity .12s}
.sev-pill:hover{opacity:.8}
.sev-pill.critical{background:var(--rl);color:var(--red)}
.sev-pill.warning{background:var(--al);color:var(--amber)}
.sev-pill.info{background:var(--bl);color:var(--bd)}
.sev-pill.active{outline:2px solid currentColor;outline-offset:1px}
body.dark .sev-pill.critical{background:rgba(163,45,45,.25);color:#f07070}
body.dark .sev-pill.warning{background:rgba(133,79,11,.25);color:#f0b060}
body.dark .sev-pill.info{background:rgba(24,95,165,.25);color:#70b0f0}
::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:#ccc;border-radius:99px}
body.dark{--bg:#18181f;--bg2:#1f1f28;--bg3:#26262f;--text:#e8e8f0;--text2:#9090a8;--text3:#55556a;--border:rgba(255,255,255,0.07);--border2:rgba(255,255,255,0.13);--body-bg:#111116}
body.dark .p200{background:rgba(59,109,17,.25);color:#7dd47a}
body.dark .p301{background:rgba(133,79,11,.25);color:#f0b060}
body.dark .p404,body.dark .p500,body.dark .p0{background:rgba(163,45,45,.25);color:#f07070}
body.dark .ppend{background:rgba(95,94,90,.2);color:#9090a8}
body.dark .pcrawl{background:rgba(24,95,165,.25);color:#70b0f0}
body.dark .ps-s{background:rgba(24,95,165,.25);color:#70b0f0}
body.dark .ps-m{background:rgba(59,109,17,.25);color:#7dd47a}
body.dark table.lt thead th{background:var(--bg2)}
body.dark .fi:focus{background:var(--bg3)}
.sidebar{transition:width .2s}
.sidebar.collapsed{width:48px}
.sidebar.collapsed .sb-title,.sidebar.collapsed .sc-url,.sidebar.collapsed .sc-stats,.sidebar.collapsed .sc-badge{display:none}
.sidebar.collapsed .sc-name{justify-content:center;padding-right:0}
.sidebar.collapsed .sc-name span:not(.sc-badge){display:none}
.sidebar.collapsed .sc{padding:8px;text-align:center}
.sidebar.collapsed .sc-del{display:none}
.sidebar.collapsed .sb-head{padding:8px 6px}
.sidebar.collapsed #sb-add-btn{display:none}
.sidebar.collapsed #sb-count{display:none}
.app{grid-template-columns:272px 1fr;transition:grid-template-columns .2s}
.app.sb-collapsed{grid-template-columns:48px 1fr}
#sb-toggle{background:none;border:none;cursor:pointer;color:var(--text3);padding:4px;font-size:13px;transition:color .12s}
#sb-toggle:hover{color:var(--text)}
.sb-mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:29}
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--bg);border-top:1px solid var(--border);height:56px}
.bnav-inner{display:flex;height:100%;align-items:stretch}
.bnav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:none;color:var(--text3);font-size:9px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;font-family:inherit;padding:4px 0}
.bnav-btn.active{color:var(--green)}.bnav-btn i{font-size:17px}
.bnav-wrap{position:relative;display:inline-flex}
.bnav-badge{position:absolute;top:-3px;right:-6px;background:var(--green);color:#fff;border-radius:99px;font-size:9px;padding:0 4px;font-weight:700;line-height:16px;min-width:16px;text-align:center;display:none}
.bnav-badge.red{background:var(--red)}
@media(max-width:1024px) and (min-width:769px){
  .app{grid-template-columns:220px 1fr}.app.sb-collapsed{grid-template-columns:48px 1fr}
  .stats-bar{grid-template-columns:repeat(4,1fr);padding:8px 14px}
  .gl-layout{grid-template-columns:1fr}.cl{grid-template-columns:240px 1fr}
  .spill#auth-spill span{max-width:120px;overflow:hidden;text-overflow:ellipsis}.drawer{width:340px}
}
@media(max-width:768px){
  .sb-mobile-overlay.show{display:block}.bottom-nav{display:none!important}
  .app{grid-template-columns:1fr !important;grid-template-rows:50px 1fr}
  .app.sb-collapsed{grid-template-columns:1fr !important}
  .topbar{padding:0 12px;gap:8px;height:50px}.bname,.bver{display:none}.spill#spill{display:none}
  .sidebar{position:fixed !important;top:0;left:0;bottom:0;width:280px !important;z-index:30;transform:translateX(-100%);transition:transform .25s ease;box-shadow:4px 0 20px rgba(0,0,0,.2)}
  .sidebar.mobile-open{transform:none !important}
  .sidebar.collapsed{width:280px !important}
  .sidebar.collapsed .sb-title,.sidebar.collapsed .sc-url,.sidebar.collapsed .sc-stats,.sidebar.collapsed .sc-badge{display:block !important}
  .sidebar.collapsed .sc-name{justify-content:flex-start !important;padding-right:22px !important}
  .sidebar.collapsed .sc-name span:not(.sc-badge){display:inline !important}
  .sidebar.collapsed .sc{padding:9px 11px !important;text-align:left !important}
  .sidebar.collapsed .sc-del{display:block !important}
  .sidebar.collapsed .sb-head{padding:12px 14px 8px !important}
  .sidebar.collapsed #sb-add-btn{display:inline-flex !important}
  .sidebar.collapsed #sb-count{display:block !important}
  .main{padding-bottom:0}.sh{padding:8px 12px;gap:8px}.sh-name{font-size:13px}.sh-url{font-size:10px}.sh-acts .btn-r{display:none}
  .stats-bar{grid-template-columns:repeat(3,1fr);padding:7px 10px;gap:5px}.stv{font-size:16px}.sts{font-size:9px}.stl{font-size:8px}
  .tabs-bar{padding:0 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tabs-bar::-webkit-scrollbar{display:none}
  .tab{padding:8px 10px;font-size:11px;gap:4px;white-space:nowrap;flex-shrink:0}
  .cl{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .cl-left{border-right:none;border-bottom:1px solid var(--border);max-height:220px;overflow-y:auto}
  table.lt thead th:nth-child(7),table.lt tbody td:nth-child(7){display:none}
  .seo-grid{grid-template-columns:1fr;padding:10px}.rp-grid{grid-template-columns:repeat(2,1fr)}.rp-layout{padding:10px}
  .gl-layout{grid-template-columns:1fr;padding:10px;gap:10px}.og{grid-template-columns:1fr}.set-layout{padding:10px}
  .modal-bg{align-items:flex-end}.modal{width:100%;max-width:100%;border-radius:var(--rl2) var(--rl2) 0 0;padding:20px 16px;max-height:90vh;overflow-y:auto}
  .drawer{right:0;left:0;top:auto;bottom:0;width:100% !important;border-left:none;border-top:1px solid var(--border);border-radius:var(--rl2) var(--rl2) 0 0;transform:translateY(100%);max-height:85vh}
  .drawer.show{transform:none}.drawer::before{content:'';display:block;width:36px;height:4px;background:var(--bg3);border-radius:99px;margin:0 auto 14px}
  .toast{bottom:18px;right:18px;left:auto;transform:none;max-width:90vw}
  .lf{padding:7px 10px;gap:6px}.lf input{min-width:80px}.lf select{font-size:11px}.exp-bar{padding:7px 10px}
}
@media(max-width:480px){
  .stats-bar{grid-template-columns:repeat(2,1fr)}.rp-grid{grid-template-columns:repeat(2,1fr)}
  table.lt thead th:nth-child(4),table.lt tbody td:nth-child(4),table.lt thead th:nth-child(5),table.lt tbody td:nth-child(5){display:none}
}

/* ── CRAWL HISTORY ─────────────────────────────────────────── */
.hist-layout{padding:14px;overflow-y:auto;flex:1}
.hist-timeline{position:relative;padding-left:22px;margin-bottom:18px}
.hist-timeline::before{content:'';position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--border)}
.hist-item{position:relative;margin-bottom:10px;cursor:pointer}
.hist-item::before{content:'';position:absolute;left:-18px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--bg3);border:2px solid var(--border2);z-index:1;transition:background .12s}
.hist-item.latest::before{background:var(--green);border-color:var(--gd)}
.hist-item.selected::before{background:var(--blue);border-color:var(--bd)}
.hist-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;transition:border-color .12s}
.hist-card:hover{border-color:var(--border2)}
.hist-card.selected{border-color:var(--blue);border-width:2px;background:var(--bl)}
.hist-card.latest{border-color:var(--green)}
.hist-top{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.hist-date{font-size:11px;font-weight:600;color:var(--text)}
.hist-badge{font-size:9px;padding:1px 6px;border-radius:99px;font-weight:600}
.hist-badge.latest{background:var(--gl);color:var(--gt)}
.hist-badge.selected{background:var(--bl);color:var(--bd)}
.hist-meta{display:flex;gap:10px;font-size:11px;color:var(--text3)}
.hist-stat{display:flex;align-items:center;gap:3px}
.hist-health{font-size:13px;font-weight:700;margin-left:auto}
/* Compare panel */
.compare-panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--rl2);padding:14px;margin-bottom:14px}
.compare-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.compare-vs{font-size:11px;color:var(--text3);padding:0 8px}
.compare-col{flex:1;min-width:0}
.compare-col-hd{font-size:11px;font-weight:600;color:var(--text2);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.diff-card{background:var(--bg2);border-radius:var(--r);padding:10px}
.diff-label{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.diff-val{font-size:18px;font-weight:700}
.diff-change{font-size:11px;font-weight:600;margin-top:2px}
.diff-up{color:var(--green)}.diff-down{color:var(--red)}.diff-same{color:var(--text3)}
.issue-diff{margin-top:10px}
.issue-diff-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px}
.issue-diff-row:last-child{border-bottom:none}
.idiff-fixed{color:var(--green);font-weight:600}
.idiff-new{color:var(--red);font-weight:600}
.idiff-same{color:var(--text3)}
.hist-empty{text-align:center;padding:40px;color:var(--text3)}
.hist-empty i{font-size:28px;display:block;margin-bottom:9px;opacity:.2}
.select-hint{background:var(--al);border:1px solid #f0d090;border-radius:var(--r);padding:8px 12px;font-size:11px;color:var(--amber);margin-bottom:12px;display:flex;align-items:center;gap:6px}