:root { color-scheme: light; font-family: Inter, system-ui, sans-serif; background:#f4f7fb; color:#172033; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; padding:24px; }
.card { width:min(100%,440px); background:#fff; border-radius:20px; padding:32px; box-shadow:0 18px 55px rgba(28,45,80,.12); }
h1 { margin:0 0 8px; font-size:28px; }
p { color:#68748a; line-height:1.5; }
label { display:block; margin:18px 0 7px; font-weight:600; }
input { width:100%; padding:13px 14px; border:1px solid #ccd4e0; border-radius:10px; font:inherit; }
textarea { width:100%; padding:13px 14px; border:1px solid #ccd4e0; border-radius:10px; font:inherit; resize:vertical; line-height:1.5; }
input:focus, textarea:focus { outline:3px solid rgba(40,100,220,.14); border-color:#2864dc; }
button { width:100%; margin-top:22px; padding:13px; border:0; border-radius:10px; background:#2864dc; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
a { color:#2864dc; text-decoration:none; }
.links { margin-top:20px; display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.message { min-height:24px; margin-top:14px; color:#b42318; }
.success { color:#067647; }

.dashboard { display:block; width:100%; max-width:100%; padding:0 24px 48px; background:#f4f7fb; overflow-x:hidden; }
.topbar { width:100%; max-width:1100px; min-width:0; margin:0 auto; min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.topbar form { margin:0; }
.brand { min-width:0; color:#172033; font-size:18px; font-weight:800; overflow-wrap:anywhere; }
.dashboard-grid { width:100%; max-width:1100px; min-width:0; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
.panel { min-width:0; max-width:100%; background:#fff; border:1px solid #e4e9f1; border-radius:20px; padding:26px; box-shadow:0 12px 34px rgba(28,45,80,.07); }
.hero { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.hero h1, .panel h2 { margin:4px 0 6px; }
.panel h2 { font-size:22px; }
.eyebrow { margin:0; color:#2864dc; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.muted { margin:0; color:#68748a; line-height:1.5; overflow-wrap:anywhere; }
.profile-hint { margin:12px 0 0; padding:10px 12px; border-radius:10px; background:#fff3db; color:#875000; font-size:14px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.status-pill { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:8px 12px; border-radius:999px; background:#eef2f7; color:#475467; font-size:13px; font-weight:800; }
.status-pill_success { background:#e8f7ee; color:#067647; }
.status-pill_warning { background:#fff3db; color:#a15c00; }
.status-pill_neutral { background:#eef2f7; color:#475467; }
.facts { display:grid; gap:0; margin:20px 0; }
.facts div { min-width:0; display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid #edf0f5; }
.facts dt { color:#68748a; }
.facts dd { margin:0; overflow-wrap:anywhere; }
.button { display:inline-flex; width:100%; min-height:46px; margin-top:22px; padding:12px 16px; align-items:center; justify-content:center; border:0; border-radius:10px; background:#2864dc; color:#fff; font:inherit; font-weight:800; cursor:pointer; }
.button_ghost { margin:0; width:auto; background:#e9effc; color:#2455b4; }
.button_secondary { width:auto; margin-top:18px; background:#e9effc; color:#2455b4; }
.button_compact { min-height:38px; padding:8px 14px; }
.settings-card { grid-column:1/-1; }
.notifications-card { grid-column:1/-1; }
.notification-actions { display:flex; flex-wrap:wrap; gap:10px; }
.notification-actions .button { flex:1 1 260px; }
.notification-capability { margin:10px 0 0; color:#7c879b; font-size:12px; line-height:1.4; }
.notification-list { display:grid; gap:10px; margin-top:18px; }
.notification-item { display:grid; width:100%; margin:0; padding:14px 16px; gap:5px; border:1px solid #e4e9f1; border-radius:12px; background:#fff; color:#172033; text-align:left; font-weight:400; }
.notification-item_unread { border-color:#f0be63; background:#fffaf0; }
.notification-item strong { font-size:15px; }
.notification-item span { color:#59667c; line-height:1.4; }
.notification-item time { color:#8a94a6; font-size:12px; }
.notification-empty { margin:0; padding:14px 0 2px; color:#7c879b; }
.field-hint { display:flex; justify-content:space-between; gap:12px; margin:7px 0 0; color:#7c879b; font-size:12px; }
.switch { position:relative; margin:0; }
.switch input { position:absolute; left:0; width:1px; height:1px; margin:0; padding:0; opacity:0; pointer-events:none; }
.switch span { display:block; width:48px; height:28px; padding:3px; border-radius:999px; background:#cbd3df; cursor:pointer; transition:.2s; }
.switch span::after { content:""; display:block; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.2); transition:.2s; }
.switch input:checked + span { background:#2864dc; }
.switch input:checked + span::after { transform:translateX(20px); }

@media (max-width:760px) {
  .dashboard { padding:0 14px 30px; }
  .dashboard-grid { grid-template-columns:minmax(0,1fr); }
  .hero { align-items:flex-start; flex-direction:column; }
  .hh-card, .settings-card, .hero { grid-column:1; }
  .panel { padding:20px; border-radius:16px; }
  .section-heading { align-items:flex-start; }
  .facts div { grid-template-columns:90px 1fr; }
}
