:root{--bg:#f7f8fa;--surface:#fff;--text:#1c2430;--muted:#6b7686;--border:#e1e5eb;--primary:#2f5bea;--primary-dark:#2447c0;--danger:#d64545;--ok:#1f9d63;--warn:#c98a00;--radius:8px}@media (prefers-color-scheme:dark){:root{--bg:#14171c;--surface:#1d2128;--text:#e6e9ee;--muted:#9aa5b5;--border:#2d333d;--primary:#6c8cff;--primary-dark:#8aa3ff}}*{box-sizing:border-box}body,html{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,sans-serif}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 16px;font-size:20px}h2{margin:0 0 12px;font-size:16px}h3{margin:0 0 8px;font-size:14px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:24px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.brand{color:var(--text);font-size:16px;font-weight:700}.nav{flex:1;gap:4px;display:flex;overflow-x:auto}.nav a{color:var(--muted);white-space:nowrap;border-radius:6px;padding:6px 12px}.nav a:hover{background:var(--bg);text-decoration:none}.nav a.active{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);font-weight:600}.user{align-items:center;gap:8px;display:flex}.content{max-width:1200px;margin:0 auto;padding:24px 16px 64px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (width<=800px){.grid-2,.grid-4{grid-template-columns:1fr 1fr}}@media (width<=520px){.grid-2,.grid-4{grid-template-columns:1fr}.topbar{gap:8px;padding:0 12px}}.stat{font-size:26px;font-weight:700}.small,.stat-label{font-size:12px}.muted,.stat-label{color:var(--muted)}.right{text-align:right}.nowrap,th{white-space:nowrap}.mt{margin-top:16px}.mb{margin-bottom:16px}.btn{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;font:inherit;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.btn:hover{background:var(--primary-dark);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--text);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--bg)}.btn-danger{background:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:#b83636}.btn-sm{padding:3px 9px;font-size:12px}label{margin:12px 0 4px;font-size:13px;font-weight:600;display:block}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:8px 10px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--primary) 40%,transparent);border-color:var(--primary)}input[type=checkbox],input[type=radio]{width:auto}.inline-check{align-items:center;gap:6px;margin:8px 0;font-weight:400;display:flex}.form-narrow{max-width:420px;margin:40px auto}.hint{color:var(--muted);margin-top:4px;font-size:12px}.error{color:var(--danger)}.error,.ok{margin-top:8px;font-size:13px}.ok{color:var(--ok)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:8px 10px}th{color:var(--muted);background:color-mix(in srgb,var(--bg) 60%,var(--surface));font-size:12px;font-weight:600}tr:hover td{background:color-mix(in srgb,var(--primary) 4%,transparent)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.badge-ok{color:var(--ok);border-color:var(--ok)}.badge-warn{color:var(--warn);border-color:var(--warn)}.badge-off{color:var(--muted);text-decoration:line-through}.empty{padding:32px}.empty,.spin{text-align:center;color:var(--muted)}.spin{padding:24px}.suggest{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;max-height:200px;position:absolute;overflow:auto}.suggest div{cursor:pointer;padding:8px 10px}.suggest div:hover{background:var(--bg)}.qty{text-align:right;width:64px;padding:4px 6px}.copy-box{gap:8px;display:flex}.copy-box input{flex:1}.pre{white-space:pre-wrap}.site-footer{text-align:center;color:var(--muted);padding:24px 16px;font-size:12px}.site-footer a{color:inherit;margin:0 8px}.legal h2{margin-top:24px;font-size:16px}.legal li,.legal p{line-height:1.7}.legal ol,.legal ul{padding-left:20px}
