:root{--ink:#1b2328;--muted:#6f7b84;--line:#dfe5e8;--bg:#f4f7f8;--paper:#fff;--accent:#0d7668;--accent-soft:#e4f2ef;--danger:#ad4d44}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink)}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}aside{position:sticky;top:0;height:100vh;background:#16262a;color:#e9f3f2;padding:26px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 28px;font-weight:700}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#28b597;color:#083a34;font-size:21px}.brand small{display:block;margin-top:3px;color:#9db7b3;font-size:12px;font-weight:400}.nav-item{display:flex;align-items:center;gap:10px;padding:13px 12px;border-radius:8px;color:#c9d8d6;cursor:pointer;margin-bottom:4px}.nav-item.active,.nav-item:hover{background:#254247;color:#fff}.nav-item i{width:20px;font-style:normal;text-align:center}.side-note{margin-top:auto;border-top:1px solid #385156;padding:18px 8px 0;color:#9db7b3;font-size:12px;line-height:1.7}.side-note b{color:#f0bb6a;font-weight:500}main{padding:38px 46px;max-width:1600px;width:100%;margin:auto}main>header,dialog header{display:flex;align-items:center;justify-content:space-between;gap:24px}h1{margin:2px 0;font-size:28px;letter-spacing:0}h2{margin:2px 0;font-size:22px}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:1px;margin:0;text-transform:uppercase}.header-actions{display:flex;gap:10px}button{border:0;border-radius:7px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:650}.primary{background:var(--accent);color:#fff}.secondary{background:#fff;color:#33434a;border:1px solid var(--line)}.icon{padding:0;background:transparent;font-size:28px;color:#526168}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}.stat,.panel{background:var(--paper);border:1px solid var(--line);border-radius:8px}.stat{padding:20px}.stat p{margin:0;color:var(--muted);font-size:13px}.stat strong{display:block;margin-top:9px;font-size:31px}.stat span{font-size:12px;color:#5f8b85}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.panel{padding:21px}.panel h3{margin:0 0 16px;font-size:16px}.steps{margin:0;padding-left:18px;color:#526168;font-size:14px;line-height:2}.notice{padding:14px;border-radius:6px;background:#fff5df;color:#7a5d21;font-size:13px;line-height:1.6}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:26px 0 14px}.toolbar .sub{color:var(--muted);font-size:13px}.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:14px;font-size:13px}.table th{background:#f9fbfb;color:var(--muted);font-weight:600}.table tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:4px 8px;border-radius:99px;font-size:12px;background:#eee;color:#69767a}.badge.live{background:var(--accent-soft);color:#096655}.row-actions{display:flex;gap:7px}.row-actions button{padding:6px 9px;font-size:12px}.empty{background:#fff;border:1px dashed #bfcace;padding:44px;text-align:center;color:var(--muted);border-radius:8px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:650}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff;font:inherit}.field textarea{min-height:82px;resize:vertical}.upload{padding:12px;border:1px dashed #aab8bd;border-radius:6px;background:#fbfdfd}.upload small{display:block;color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switch{display:flex;align-items:center;gap:8px;font-size:13px}.switch input{width:auto}.map{height:260px;border-radius:6px;overflow:hidden;border:1px solid var(--line)}dialog{border:0;border-radius:10px;width:min(850px,94vw);padding:0;box-shadow:0 22px 70px rgba(12,29,33,.27)}dialog::backdrop{background:rgba(15,27,30,.45)}dialog form{padding:26px}dialog footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px}.config-row{display:grid;grid-template-columns:160px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.config-row:last-child{border-bottom:0}@media(max-width:900px){.shell{grid-template-columns:1fr}aside{height:auto;position:static}nav{display:flex;overflow:auto}.nav-item{white-space:nowrap}main{padding:24px 18px}.stats,.grid{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}}@media(max-width:560px){.stats,.grid{grid-template-columns:1fr}.header-actions{display:none}.table{display:block;overflow:auto}}
.qr-row{align-items:start}.qr-preview{display:block;width:180px;height:180px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px}.editor-preview{margin-top:12px}
pre{white-space:pre-wrap;word-break:break-all;background:#f7f9f9;padding:12px;border-radius:6px}.panel+.panel{margin-top:18px}
.focus-preview{width:220px;height:220px;object-fit:cover;border:1px solid var(--line);border-radius:8px;background:#f3f3f3}.tag-picker{display:flex;flex-wrap:wrap;gap:9px}.tag-choice{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#fff}.tag-choice.disabled{color:var(--muted);background:#f1f2f4}
