:root{color-scheme:light;--ink:#203040;--muted:#667585;--line:#dce3e9;--paper:#fff;--bg:#f1f5f8;--accent:#244e68;--accent-hover:#183b52;--danger-bg:#fff0f0;--danger:#9d2929;--ok-bg:#edf8f0;--ok:#245c36}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#e9f0f5,#f8fafb 65%);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px 16px}.login-card{width:min(100%,440px);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 16px 48px #1d34451a}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--accent);color:white;font-size:24px;font-weight:800;margin-bottom:18px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:750;color:var(--accent);margin:0 0 8px}.login-card h1,.dashboard-header h1{margin:0;font-size:clamp(1.7rem,4vw,2.1rem);letter-spacing:-.03em}.intro{color:var(--muted);line-height:1.55;margin:10px 0 24px}.login-card form{display:grid;gap:9px}.login-card label{font-size:.9rem;font-weight:650;margin-top:7px}.login-card input{width:100%;padding:12px 13px;border:1px solid #c8d3dc;border-radius:9px;font:inherit;color:var(--ink);background:white}.login-card input:focus{outline:3px solid #244e6826;border-color:var(--accent)}button,.logout-link{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:var(--accent);color:#fff;padding:12px 16px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}button{margin-top:12px}button:hover,.logout-link:hover{background:var(--accent-hover)}.security-note,.home-link{display:block;text-align:center;font-size:.85rem;color:var(--muted);margin:18px 0 0}.home-link{color:var(--accent);text-decoration:none}.home-link:hover,.dashboard-footnote a:hover{text-decoration:underline}.error,.notice{padding:12px 14px;border-radius:9px;font-size:.9rem;line-height:1.45;margin:16px 0}.error{background:var(--danger-bg);color:var(--danger);border:1px solid #f2cccc}.notice{background:var(--ok-bg);color:var(--ok);border:1px solid #cce8d3}.notice p{margin-bottom:0}.dashboard-shell{width:min(1100px,100%);margin:0 auto;padding:40px 22px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.dashboard-header .intro{margin-bottom:0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.admin-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:190px;padding:22px;background:white;border:1px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none;box-shadow:0 5px 20px #1d34450a}.admin-card[href]:hover{border-color:#91a9b9;transform:translateY(-1px)}.card-icon{font-size:1.65rem;color:var(--accent);font-weight:800}.admin-card strong{font-size:1.08rem}.admin-card span:not(.card-icon){color:var(--muted);line-height:1.5;font-size:.92rem}.coming-soon{background:#f8fafb;border-style:dashed}.coming-soon small{color:var(--muted);font-weight:700}.dashboard-footnote{margin-top:28px}.dashboard-footnote a{color:var(--accent)}@media(max-width:560px){.login-card{padding:26px 22px}.dashboard-header{align-items:flex-start;flex-direction:column}.logout-link{align-self:flex-start}}


/* Dashboard footer links (System Maintenance stays discreet). */
.dashboard-footnote{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:28px}
.dashboard-footnote a{color:var(--accent)}
.footnote-separator{color:#a3afb9}
.dashboard-footnote a.maintenance-link{font-size:.75rem;color:var(--muted);opacity:.75}
.dashboard-footnote a.maintenance-link:hover{opacity:1}
