:root { --navy:#091a3a; --blue:#173b79; --gold:#efc25d; --cream:#fffaf0; --ink:#14213d; --mist:#eaf1fa; }
* { box-sizing:border-box; } body { margin:0; min-height:100vh; background:var(--cream); color:var(--ink); font:16px/1.55 Arial, sans-serif; }.download-link { display:block; margin:28px auto 0; text-decoration:none; }
.shell { width:min(100% - 32px, 980px); margin:auto; min-height:calc(100vh - 72px); padding:22px 0 80px; }.topbar { display:flex; justify-content:space-between; align-items:center; padding:8px 0 56px; }.brand { color:var(--navy); font-family:Georgia, serif; font-size:1.24rem; font-weight:700; text-decoration:none; }.text-button { background:none; border:0; color:var(--blue); cursor:pointer; font:inherit; text-decoration:underline; }.center-panel,.login-card,.empty { max-width:570px; margin:72px auto; text-align:center; }.moon { display:block; color:var(--gold); font:5rem/1 Georgia,serif; }.login-card { background:#fff; padding:44px; border-radius:24px; box-shadow:0 18px 60px #14213d18; }.eyebrow { margin:0 0 9px; color:#9a7117; font-size:.72rem; font-weight:700; letter-spacing:.13em; }.login-card h1,.welcome h1,.empty h2 { margin:0 0 14px; font:700 clamp(2rem,5vw,3.3rem)/1.05 Georgia,serif; }.login-card > p { margin:0 auto 25px; max-width:440px; } form { display:grid; gap:10px; text-align:left; margin-top:24px; } label { font-size:.9rem; font-weight:700; } input { width:100%; border:1px solid #b6c6df; border-radius:10px; padding:14px; color:var(--ink); font:inherit; } button.primary { border:0; border-radius:10px; background:var(--blue); color:white; cursor:pointer; font:700 1rem Arial,sans-serif; margin-top:6px; padding:15px; } button.primary:hover { background:var(--navy); }.message { min-height:1.5em; margin:16px 0 0!important; font-size:.92rem; }.message.error { color:#a61e2f; }.fine-print { color:#667085; font-size:.84rem; }.fine-print a { color:var(--blue); }.welcome { margin:25px 0 34px; }.welcome h1 { font-size:clamp(2rem,5vw,3rem); }.welcome p:last-child { max-width:540px; }.products { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:20px; }.product { display:flex; flex-direction:column; min-height:286px; padding:29px; border-radius:20px; background:var(--navy); color:#fff; box-shadow:0 18px 36px #14213d20; }.product .icon { color:var(--gold); font:3rem/1 Georgia,serif; }.product h2 { margin:28px 0 8px; font:700 1.65rem/1.1 Georgia,serif; }.product p { margin:0; color:#e7edff; }.product button { margin-top:auto; width:100%; border:1px solid var(--gold); border-radius:9px; background:var(--gold); color:var(--navy); cursor:pointer; font-weight:700; padding:13px; } .product button:disabled { opacity:.7; cursor:wait; } .empty { background:var(--mist); border-radius:18px; padding:32px; } footer { background:var(--navy); color:#e7edff; padding:25px 16px; text-align:center; font:14px Arial,sans-serif; } @media (max-width:560px) { .topbar { padding-bottom:30px; }.login-card { margin:25px auto; padding:30px 22px; } }
