:root { --bg:#0b1020; --card:#121a33; --ink:#e7eaf6; --muted:#a9b0c7; --accent:#90caf9; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; background: var(--bg); color: var(--ink); }
a { color: var(--accent); text-decoration: none; }
header, main { max-width: 960px; margin: 0 auto; padding: 24px; }
.card { background: var(--card); border-radius: 16px; padding: 20px; box-shadow: 0 6px 24px rgba(0,0,0,.25); }
h1,h2,h3 { margin: 0 0 12px; }
input, select, button { padding: 10px 12px; border-radius: 10px; border: 1px solid #2b355c; background: #0f1630; color: var(--ink); }
input[type=file] { background: transparent; }
.row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.row > * { flex: 1; min-width: 200px; }
.btn { background: #1e88e5; border: none; cursor: pointer; }
.btn.secondary { background: #2b355c; }
.badge { padding: 4px 8px; border-radius: 999px; border:1px solid #2b355c; color: var(--muted); font-size: 12px; }
.table { width: 100%; border-collapse: collapse; margin-top: 12px;}
.table th,.table td { border-bottom: 1px solid #2b355c; padding: 8px; text-align: left; font-size: 14px;}
.flash { margin: 12px 0; color: #ffcdd2; }
footer { text-align: center; color: var(--muted); padding: 24px; }
