:root{--bg:#0f1115;--panel:#161a22;--muted:#96a0b5;--text:#e7ecf3;--accent:#60a5fa;--ok:#10b981;--warn:#f59e0b;--border:#222838}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;padding:24px;font-family:system-ui,-apple-system,Inter,"Noto Sans JP",Meiryo,sans-serif;background:#0f1115;color:var(--text)}
.wrap{max-width:1280px;margin:0 auto}
.toolbar,.card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.logo{font-weight:900}.sub{color:var(--muted);font-size:12px}.spacer{flex:1}
.btn{border:1px solid #2a3243;background:#1a2233;color:var(--text);padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600}
.btn:hover{transform:translateY(-1px);background:#20293a;border-color:#3b455a}.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.primary{background:linear-gradient(180deg,#2563eb,#1e40af);border-color:#1d4ed8}
.btn.ghost{background:transparent}
input[type="file"]{display:none}.file-label{display:inline-flex;align-items:center;gap:8px}
textarea{width:100%;min-height:130px;resize:vertical;padding:12px;border-radius:12px;background:#0f1320;color:var(--text);border:1px solid var(--border);font-size:13px}
.controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#141a28;border:1px solid #263047;font-size:12px}
.pill input,.pill select{background:transparent;border:0;outline:0;color:var(--text)}
.tableWrap{overflow:auto;border-radius:10px;border:1px solid var(--border)} table{width:100%;border-collapse:collapse;font-size:12px}
thead th{position:sticky;top:0;background:#101520;border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;white-space:nowrap}
tbody td{padding:8px 10px;border-bottom:1px solid #1b2130;white-space:nowrap}
tbody tr:hover{background:#101725}.right{text-align:right}.num{font-variant-numeric:tabular-nums}
.row-warn{background:rgba(245,158,11,.14)!important}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kpi{display:flex;gap:10px;flex-wrap:wrap}.kpi .card{padding:8px 10px}
h3{margin:6px 0 8px 0}.muted{color:var(--muted)}
.details{background:#0f1320;border:1px dashed #2a3243;border-radius:10px;padding:10px;margin-top:8px}
