:root { --navy:#14233c; --gold:#8a6a32; --ivory:#f7f4ee; --line:#e4dccb; --ink:#1c2430; }
* { box-sizing:border-box; }
body { margin:0; background:var(--ivory); color:var(--ink); font:18px/1.5 Georgia, serif; }
.masthead,.shell { max-width:1080px; margin:0 auto; padding:24px; }
.masthead { display:flex; justify-content:space-between; align-items:center; }
.brand-name { letter-spacing:.12em; font-size:22px; color:var(--navy); }
.brand-sub { letter-spacing:.18em; font-size:12px; color:var(--gold); }
.auth-grid,.status-grid { display:grid; gap:18px; }
.auth-grid { grid-template-columns:1.2fr .8fr; }
.status-grid { grid-template-columns:repeat(4,1fr); }
.hero-card,.auth-card,.panel,.card,article { background:#fff; border:1px solid var(--line); padding:22px; }
.route { display:flex; gap:8px; flex-wrap:wrap; color:var(--navy); font-size:13px; letter-spacing:.06em; }
.nav { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
button,.secondary { background:var(--navy); color:#fff; border:0; padding:10px 14px; font:inherit; cursor:pointer; }
.secondary,button.secondary { background:transparent; color:var(--navy); border:1px solid var(--navy); }
.nav button.active { outline:2px solid var(--gold); }
label { display:grid; gap:6px; margin-bottom:12px; }
input,textarea,select { font:inherit; padding:10px; border:1px solid var(--line); width:100%; }
.hidden { display:none; }
.message-box { margin-top:12px; padding:10px; }
.message-box.error { background:#f8e8e4; }
.message-box.success { background:#eef3e6; }
.note { color:#5c5346; }
@media (max-width:800px) { .auth-grid,.status-grid { grid-template-columns:1fr; } }

.logo{width:min(280px,70vw);height:auto;object-fit:contain;display:block}
