/* assets/app.css */
:root { --fg:#0f172a; --muted:#64748b; --bg:#ffffff; --card:#f8fafc; --line:#e2e8f0; --brand:#234567; }
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--fg);background:var(--bg)}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:10}
.wrap{max-width:1100px;margin:0 auto;padding:18px}
.topbar{display:flex;gap:14px;align-items:center;justify-content:space-between}
.brand{display:flex;gap:10px;align-items:center}
.logo{width:34px;height:34px;border-radius:10px;background:var(--brand);display:inline-block}
.nav{display:flex;flex-wrap:wrap;gap:10px}
.nav a{padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff}
.nav a.active{background:var(--brand);color:#fff;border-color:var(--brand);text-decoration:none}
.main{padding:18px 0}
.grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:900px){ .grid.two{grid-template-columns:1.1fr .9fr} }
.card{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:14px}
.card h2{margin:0 0 10px 0;font-size:18px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
label{display:block;font-size:12px;color:var(--muted);margin:10px 0 6px}
input[type="text"],input[type="password"],input[type="datetime-local"],textarea,select{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;
}
textarea{min-height:120px;resize:vertical}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:12px;cursor:pointer}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.danger{background:#b91c1c;border-color:#b91c1c;color:#fff}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:12px;color:var(--muted)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}
.table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.flash{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff}
.flash.ok{border-color:#22c55e}
.flash.err{border-color:#ef4444}
small.muted{color:var(--muted)}
.hr{height:1px;background:var(--line);margin:12px 0}
.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;border:1px solid var(--line);padding:2px 6px;border-radius:8px;background:#fff}
