:root{--bg:#f3f5f9;--card:#fff;--ink:#1c2733;--muted:#6b7a89;--line:#e2e8ee;--brand:#0a6cc4;--danger:#c0392b;--ok:#1e8e5a}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--brand);text-decoration:none}.shell{display:flex;min-height:100vh}.side{width:240px;background:#0f2a3d;color:#cfe0ee;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto;flex-shrink:0}.side h1{font-size:16px;color:#fff;margin:0 16px 14px}.side a{display:flex;align-items:center;gap:10px;padding:9px 16px;color:#cfe0ee;border-left:3px solid transparent}.side a.active,.side a:hover{background:#16405c;color:#fff}.side .grp{margin:14px 16px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7f9db5}.main{flex:1 1;padding:24px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.top h2{margin:0;font-size:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(16,40,64,.05)}.btn{display:inline-block;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px}.btn.ghost{background:#fff;color:var(--brand)}.btn.danger{background:#fff;color:var(--danger);border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.btn.sm{padding:3px 9px;font-size:12px}input,select,textarea{width:100%;padding:8px 10px;border:1px solid #d3dbe3;border-radius:8px;font:inherit;background:#fff}textarea{min-height:80px;resize:vertical}label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:10px 0 3px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);text-transform:uppercase}.grid2{display:grid;grid-template-columns:2fr 1fr;grid-gap:16px;gap:16px}@media (max-width:900px){.grid2{grid-template-columns:1fr}.side{display:none}}.msg{padding:8px 12px;border-radius:6px;margin-bottom:12px}.msg.err{background:#fdecea;color:var(--danger)}.msg.ok{background:#e6f6ee;color:var(--ok)}.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#e8eef3}.badge.draft,.badge.new{background:#fff3cd}.badge.publish,.badge.read{background:#e6f6ee}.row{display:flex;gap:8px;align-items:center}.row>*{flex:0 0 auto}.row>.grow{flex:1 1}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:12px;gap:12px}.stat b{display:block;font-size:26px}.rep{border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin:6px 0;background:#fafcfd}.nest{border-left:3px solid var(--line);padding-left:10px;margin-left:2px}.thumb{max-width:120px;max-height:80px;border:1px solid var(--line);border-radius:4px;display:block;margin:4px 0}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.media-grid img{width:100%;height:110px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.login{max-width:360px;margin:12vh auto}.tbl-edit td,.tbl-edit th{padding:3px;border-bottom:0}.tbl-edit input{min-width:120px;padding:5px 7px}.tbl-edit input.tbl-head{background:#e8f3fa;font-weight:600}.tbl-preview{border:1px solid var(--line)}.tbl-preview th{background:var(--brand);color:#fff;text-transform:none;font-size:13px}.tbl-preview td,.tbl-preview th{border:1px solid var(--line)}code{background:#eef2f5;padding:1px 5px;border-radius:4px;font-size:12px}.side a.active{border-left-color:#4fb3ff;font-weight:600}.side .ico{width:20px;text-align:center}input:focus,select:focus,textarea:focus{outline:2px solid #bcdcff;border-color:var(--brand)}tbody tr:hover{background:#f7fafd}.main{max-width:1200px}.page-sub{margin:2px 0 0;font-size:13px}.hint,.page-sub{color:var(--muted)}.hint{display:block;font-size:12px;font-weight:400;margin:2px 0 4px}.sec{font-size:15px;font-weight:700;margin:0 0 4px;display:flex;align-items:center;gap:8px}.savebar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 0;margin-bottom:6px}.welcome{background:linear-gradient(135deg,#0f2a3d,#0a6cc4);color:#fff;border-radius:14px;padding:22px 24px;margin-bottom:18px}.welcome h2{margin:0 0 4px}.welcome p{margin:0;opacity:.85}.stat{display:flex;align-items:center;gap:12px;color:var(--ink)}.stat .ico{font-size:26px;width:46px;height:46px;display:grid;place-items:center;background:#eaf3fc;border-radius:12px}.stat b{font-size:24px;line-height:1.1}.stat span.l{color:var(--muted);font-size:13px}.stat:hover{border-color:var(--brand)}.quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.quick a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--ink)}.quick a:hover{border-color:var(--brand)}.quick a b{display:block;margin-bottom:2px}.quick a span{color:var(--muted);font-size:13px}.chk{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin:4px 0}.chk.good{color:var(--ok)}.chk.bad{color:#b7791f}.score{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:700}.score.good{background:#e6f6ee;color:var(--ok)}.score.mid{background:#fff3cd;color:#8a6d00}.score.bad{background:#fdecea;color:var(--danger)}details.adv>summary{cursor:pointer;font-weight:700;list-style:none}details.adv>summary:before{content:"▸ "}details.adv[open]>summary:before{content:"▾ "}.lg-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.lg-hero{background:linear-gradient(160deg,#0f2a3d,#0a6cc4);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}.lg-hero h1{margin:14px 0 0;font-size:30px}.lg-hero p{margin:2px 0 0;opacity:.8}.lg-hero ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px;font-size:15px}.lg-hero small{opacity:.6}.lg-logo{width:56px;height:56px;border-radius:14px;background:#fff;color:#0a6cc4;font-size:30px;font-weight:800}.lg-logo,.lg-panel{display:grid;place-items:center}.lg-panel{padding:24px;background:var(--bg)}.lg-form{width:100%;max-width:380px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 8px 30px rgba(16,40,64,.08)}.lg-form h2{margin:0;font-size:24px}.lg-sub{color:var(--muted);margin:4px 0 14px}.lg-pass{position:relative}.lg-pass input{padding-right:64px}.lg-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--brand);font-weight:600;cursor:pointer;padding:6px 8px}.lg-remember{display:flex;align-items:center;gap:8px;font-weight:400;margin:14px 0}.lg-remember input{width:auto}.lg-submit{width:100%;padding:11px;font-size:15px;font-weight:600}.lg-foot{text-align:center;color:var(--muted);font-size:12px;margin:14px 0 0}@media (max-width:800px){.lg-wrap{grid-template-columns:1fr}.lg-hero{display:none}}