:root { --bg: #0b0f14; --card:#121821; --muted:#6b7280; --txt:#e5e7eb; --accent:#60a5fa; }
* { box-sizing: border-box; }
html,body { margin:0; padding:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; background: var(--bg); color:var(--txt); min-height:100%; }
.container { max-width: 1100px; margin: 0 auto; padding: 24px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.card { background: var(--card); border:1px solid #1f2937; border-radius:16px; padding:16px; box-shadow: 0 10px 20px rgba(0,0,0,.2); }
.notice { background:#0b3; color:#031; padding:12px; border-radius:12px; margin-bottom:12px; }
.error { background:#b00; color:#fff; padding:12px; border-radius:12px; margin-bottom:12px; }
.hint { color: var(--muted); }
.table-wrap { overflow:auto; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { border-bottom:1px solid #1f2937; padding:8px 10px; text-align:left; }
form label { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; font-size:14px; }
input, textarea, select { width:100%; padding:10px 12px; border-radius:10px; border:1px solid #334155; background:#0b1220; color:var(--txt); }
textarea { min-height: 110px; resize: vertical; }
button, .btn { display:inline-block; padding:10px 14px; border-radius:12px; border:1px solid #334155; background:#0b1220; color:var(--txt); text-decoration:none; cursor:pointer; }
button:hover, .btn:hover { border-color: var(--accent); }
.badge { font-size:12px; color: var(--muted); }
.muted { color: var(--muted); }
.list { display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.entry-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
.grid .full { grid-column: 1 / -1; }
.footer { margin-top:24px; display:flex; gap:12px; justify-content:flex-end; color:var(--muted); font-size:12px; }
@media (max-width: 640px){ .grid { grid-template-columns: 1fr; } }