:root{--paper:#e4ebf0;--surface:#fff;--surface-2:#f4f7f9;--ink:#0f1f29;--ink-2:#587483;--ink-3:#8aa2ae;--rule:#c3d2db;--rule-2:#dde6eb;--signal:#0b6e8a;--signal-soft:#e2f0f5;--restricted:#8c2f39;--restricted-soft:#f6e9ea;--optional:#9a6a00;--r:3px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);padding:22px 18px 70px;font-family:IBM Plex Sans Thai,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:IBM Plex Mono,ui-monospace,monospace}.sheet{max-width:1240px;margin:0 auto}.mast{background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--ink);padding:16px 20px 14px}.mast-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.mast h1{letter-spacing:-.01em;margin-top:3px;font-size:21px;font-weight:600}.mast h1 span{color:var(--ink-2);font-weight:400}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;margin-top:18px;display:grid}@media (width<=960px){.layout{grid-template-columns:minmax(0,1fr)}}.card{background:var(--surface);border:1px solid var(--rule);margin-bottom:18px}.card-hd{border-bottom:1px solid var(--rule-2);background:var(--surface-2);justify-content:space-between;align-items:baseline;gap:12px;padding:11px 16px;display:flex}.card-hd h2{font-size:13px;font-weight:600}.card-bd{padding:14px 16px}.hint{color:var(--ink-3);font-size:11px}table{border-collapse:collapse;width:100%}th{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);text-align:left;border-bottom:1px solid var(--rule-2);padding:0 8px 7px 0;font-size:9.5px;font-weight:600}th.r,td.r{text-align:right;padding-right:0}td{border-bottom:1px solid var(--rule-2);vertical-align:top;padding:8px 8px 8px 0}tr:last-child td{border-bottom:none}td .sub{color:var(--ink-3);margin-top:2px;font-size:11px;display:block}td .sub.warn{color:var(--optional)}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:100%;padding:5px 7px}input:focus,select:focus,textarea:focus{outline:2px solid var(--signal-soft);border-color:var(--signal)}input.num{text-align:right}textarea{resize:vertical;width:100%;font-family:inherit;line-height:1.6}label{color:var(--ink-2);margin-bottom:3px;font-size:11px;display:block}.field{margin-bottom:10px}.grid{gap:10px;display:grid}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:1fr 1fr 1fr}.btn{font:inherit;cursor:pointer;background:var(--ink);color:var(--surface);border:1px solid var(--ink);border-radius:var(--r);padding:8px 14px;font-size:13px;font-weight:600}.btn:hover:not(:disabled){background:var(--signal);border-color:var(--signal)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:var(--rule)}.btn.small{padding:4px 9px;font-size:11px}.btn.link{color:var(--signal);background:0 0;border:none;padding:0;text-decoration:underline}.panel .card{position:sticky;top:18px}.headline{border-bottom:1px solid var(--rule-2);padding-bottom:12px}.big{letter-spacing:-.02em;margin-top:2px;font-size:30px;font-weight:600}.big small{color:var(--ink-2);margin-right:3px;font-size:16px}.sub2{color:var(--ink-2);margin-top:4px;font-size:11.5px}.rows{margin-top:12px}.row{justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;display:flex}.row .k{color:var(--ink-2)}.row .v{font-weight:500}.row.grand{border-top:1px solid var(--rule);margin-top:6px;padding-top:9px;font-weight:600}.rd-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--restricted);background:var(--restricted-soft);border:1px solid var(--restricted);border-radius:var(--r);padding:1px 5px;font-size:9px;font-weight:600}.restricted{color:var(--restricted)}.ladder{border-top:1px solid var(--rule-2);margin-top:14px;padding-top:12px}.ladder-row{cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 8px;font-size:13px;display:flex}.ladder-row:hover{background:var(--surface-2)}.ladder-row.here{border-color:var(--signal);background:var(--signal-soft)}.ladder-row .tier{color:var(--ink-2)}.ladder-row.skipped{color:var(--ink-3);cursor:default}.ladder-row.skipped:hover{background:0 0}.issues{margin-top:12px}.issue{border-bottom:1px solid var(--rule-2);gap:8px;padding:5px 0;font-size:12px;display:flex}.issue:last-child{border-bottom:none}.issue .lvl{letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r);white-space:nowrap;height:fit-content;padding:1px 5px;font-size:9px;font-weight:600}.issue .lvl.error{color:var(--restricted);background:var(--restricted-soft);border:1px solid var(--restricted)}.issue .lvl.warning{color:var(--optional);border:1px solid var(--optional);background:#fdf4e3}.issue .lvl.info{color:var(--ink-2);background:var(--surface-2);border:1px solid var(--rule)}.empty{color:var(--ink-3);text-align:center;padding:18px 0;font-size:13px}.error-box{border:1px solid var(--restricted);background:var(--restricted-soft);color:var(--restricted);margin-bottom:14px;padding:10px 12px;font-size:13px}.chip{border:1px solid var(--rule);background:var(--surface-2);cursor:pointer;border-radius:999px;margin:0 4px 4px 0;padding:1px 7px;font-size:11px;display:inline-block}.chip.on{background:var(--signal-soft);border-color:var(--signal);color:var(--signal);font-weight:600}.stale{opacity:.5;transition:opacity .12s}.footer{max-width:1240px;color:var(--ink-3);text-align:center;margin:20px auto 0;font-size:11px}.nowrap{white-space:nowrap}.consent{border:1px solid var(--rule-2);border-radius:var(--r);background:var(--surface-2);margin-top:8px;padding:10px}.consent-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.consent-row input,.consent-row select{flex:160px;min-width:0}.add-row{border-top:1px solid var(--rule-2);margin-top:14px;padding-top:12px}.export-box{border:1px solid var(--rule);border-radius:var(--r);background:var(--surface-2);margin-top:14px;padding:12px}.export-json{white-space:pre-wrap;word-break:break-all;max-height:260px;margin:0;font-size:11px;line-height:1.5;overflow:auto}
