:root{--ground: #f5f6f8;--card: #ffffff;--border: #e3e6eb;--border-soft: #edeff2;--border-input: #cdd2da;--ink: #121417;--ink-2: #3d4350;--muted: #5b6270;--accent: #2f4fd8;--accent-hover: #1f37a3;--accent-tint: #eef1fd;--head-bg: #fafbfc;--seg-bg: #f0f2f5;--on-bg: #e3f2ee;--on-fg: #0e6e5c;--on-dot: #12806b;--risk-bg: #fcefe0;--risk-fg: #8a4500;--risk-dot: #c46a12;--off-bg: #fbe9e7;--off-fg: #a8231b;--off-dot: #c8372d;--track-bg: #eef0f3;--track-fg: #4a5260;--track-dot: #7a818d}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{background:var(--ground);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}a{color:var(--accent)}a:hover{color:var(--accent-hover)}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{max-width:1440px;margin:0 auto;padding:32px 40px 48px;display:flex;flex-direction:column;gap:24px}.page-title{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.01em}.h2{font-size:17px;font-weight:600}.sub{font-size:13px;color:var(--muted)}.muted{color:var(--muted)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.stack{display:flex;flex-direction:column;gap:16px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px}.spacer{margin-left:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.card{background:var(--card);border:1px solid var(--border);border-radius:12px}.card-pad{padding:20px}.card-head{padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-soft)}.card-body{padding:20px}.scroll-x{overflow-x:auto}.btn,.btn-primary,.btn-danger{min-height:44px;padding:0 16px;border-radius:8px;font:inherit;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;border:1px solid var(--border-input);background:var(--card);color:var(--ink)}.btn:hover{background:var(--head-bg);color:var(--ink)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-danger{color:var(--off-fg);border-color:#e7b9b4}.btn-danger:hover{background:var(--off-bg);color:var(--off-fg)}.btn-sm{min-height:36px;padding:0 12px;font-size:13px}.btn:disabled,.btn-primary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.label{font-size:13px;color:var(--muted);font-weight:500}.input,.select,.textarea{min-height:44px;padding:0 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--card);font:inherit;font-size:14px;color:var(--ink);width:100%;min-width:0}.textarea{padding:10px 12px;min-height:88px;resize:vertical}.select.inline,.input.inline{width:auto}.field-error{font-size:12px;color:var(--off-fg)}.hint{font-size:12px;color:var(--muted)}.check{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--accent)}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;padding:10px 16px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--head-bg);white-space:nowrap}.tbl td{padding:12px 16px;border-top:1px solid var(--border-soft);vertical-align:middle}.tbl tr.selected td{background:var(--accent-tint)}.tbl-min{min-width:640px}.tag{display:inline-block;font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;background:var(--track-bg);color:var(--track-fg);white-space:nowrap}.tag.good{background:var(--on-bg);color:var(--on-fg)}.tag.warn{background:var(--risk-bg);color:var(--risk-fg)}.tag.bad{background:var(--off-bg);color:var(--off-fg)}.tag.accent{background:var(--accent-tint);color:var(--accent)}.banner{border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--accent-tint)}.banner.warn{background:var(--risk-bg);border-color:#efd2ad;color:var(--risk-fg)}.banner.bad{background:var(--off-bg);border-color:#efc3be;color:var(--off-fg)}.tone-good{color:var(--on-fg)}.tone-bad{color:var(--off-fg)}.tone-neutral{color:var(--track-fg)}.mono{font-variant-numeric:tabular-nums}@media(max-width:720px){.page{padding:20px 16px 40px;gap:20px}.page-title{font-size:24px}}
