:root { color-scheme: light; --bg:#f6f7fb; --card:#ffffff; --text:#162033; --muted:#667085; --accent:#2563eb; --accent-dark:#1e40af; --line:#dbe3f0; --soft:#eaf1ff; }
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:var(--bg); color:var(--text); }
a { color:inherit; }
.header { max-width:1120px; margin:0 auto; padding:24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-size:22px; font-weight:850; letter-spacing:-.05em; text-decoration:none; }
nav { display:flex; gap:18px; color:var(--muted); flex-wrap:wrap; }
nav a { text-decoration:none; }
nav a:hover { color:var(--accent); }
.hero, .grid, .panel, .dashboard-grid, footer { max-width:1120px; margin:0 auto; padding:48px 24px; }
.hero { margin-top:24px; background:linear-gradient(135deg,#fff 0%,#eef4ff 100%); border:1px solid var(--line); border-radius:30px; box-shadow:0 24px 70px rgba(15,23,42,.08); }
.hero.compact { padding-top:38px; padding-bottom:38px; }
.eyebrow { color:var(--accent-dark); font-weight:850; text-transform:uppercase; letter-spacing:.14em; font-size:13px; }
h1 { margin:12px 0 18px; max-width:880px; font-size:clamp(38px,6vw,68px); line-height:.98; letter-spacing:-.07em; }
h2 { margin:0 0 10px; font-size:26px; letter-spacing:-.04em; }
p { color:var(--muted); line-height:1.7; font-size:17px; }
.lead { max-width:760px; font-size:20px; }
.lead.small { font-size:17px; }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:13px 18px; background:var(--accent); color:white; border:0; border-radius:13px; text-decoration:none; font-weight:800; cursor:pointer; }
.button.secondary { background:#fff; color:var(--accent-dark); border:1px solid #bfd3ff; }
.grid, .dashboard-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.dashboard-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
article, .panel, .auth-card { background:var(--card); border:1px solid var(--line); border-radius:24px; }
article { padding:24px; }
.panel { margin-top:10px; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.checklist { margin:0; padding-left:22px; color:var(--muted); line-height:1.8; font-size:17px; }
.status { display:inline-flex; margin-bottom:16px; padding:7px 10px; border-radius:999px; background:var(--soft); color:var(--accent-dark); font-weight:800; font-size:13px; }
.auth-wrap { min-height:calc(100vh - 100px); display:grid; place-items:center; padding:32px 24px 64px; }
.auth-card { width:min(520px,100%); padding:34px; box-shadow:0 24px 70px rgba(15,23,42,.08); }
.login-form { display:grid; gap:15px; margin-top:22px; }
.login-form label { display:grid; gap:7px; font-weight:800; }
.login-form input { width:100%; border:1px solid var(--line); border-radius:13px; padding:13px 14px; font:inherit; color:var(--text); background:#fff; }
.form-error { margin:0; padding:12px 14px; border-radius:12px; background:#fff1f2; color:#be123c; font-weight:850; }
.form-note { margin:0; font-size:14px; }
footer { color:var(--muted); border-top:1px solid var(--line); margin-top:24px; }
@media (max-width:900px) { .grid, .dashboard-grid, .split { grid-template-columns:1fr; } }
@media (max-width:760px) { .header { align-items:flex-start; flex-direction:column; } .hero, .panel { border-radius:22px; } }
