:root{ --primary:#4da3ff; --secondary:#7dd3fc; --success:#22c55e; --bg:#0b1220; --bg-soft:#111c2d; --card:#101b2d; --card-strong:#16243d; --text:#eaf3ff; --navy:#dfeafe; --muted:#9bb0d0; --border:#1d2f49; --shadow:0 20px 50px rgba(0, 0, 0, 0.45); } *{ box-sizing:border-box; margin:0; padding:0; } body{ font-family: 'Inter', Segoe UI, Arial, sans-serif; background:radial-gradient(circle at top, #11213d 0%, #0b1220 38%, #070d1a 100%); color:var(--text); padding:20px; } .container{ max-width:1200px; margin:auto; } .page-shell{ max-width:1280px; margin:0 auto; } .topbar{ display:flex; align-items:center; justify-content:space-between; gap:20px; background:rgba(16, 27, 45, 0.9); border:1px solid var(--border); border-radius:18px; padding:18px 24px; box-shadow:var(--shadow); margin-bottom:32px; } .brand{ display:flex; align-items:center; gap:12px; font-weight:700; color:var(--navy); } .brand-mark{ width:36px; height:36px; border-radius:12px; background:linear-gradient(135deg, var(--primary), var(--secondary)); color:#08101d; display:flex; align-items:center; justify-content:center; font-size:1.1rem; box-shadow:0 12px 20px rgba(77, 163, 255, 0.35); } .topbar-nav{ display:flex; align-items:center; gap:22px; } .topbar-nav a{ text-decoration:none; color:var(--navy); font-weight:600; opacity:.8; } .topbar-nav a:hover{ color:var(--secondary); } .btn{ display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; border-radius:12px; font-weight:700; text-decoration:none; transition:all .2s ease; border:1px solid transparent; cursor:pointer; } .btn:hover{ transform:translateY(-1px); box-shadow:0 10px 18px rgba(77, 163, 255, 0.2); } .btn-primary{ background:linear-gradient(135deg, var(--primary), #5ea9ff); color:#08101d; box-shadow:0 10px 18px rgba(77, 163, 255, 0.28); } .btn-secondary{ background:rgba(18, 31, 50, 0.9); color:var(--text); border-color:var(--border); } .hero{ display:grid; grid-template-columns:1.2fr .8fr; gap:32px; align-items:center; padding:20px 0 28px; } .hero-copy{ padding:20px 0; } .eyebrow{ display:inline-block; background:rgba(77, 163, 255, 0.12); color:var(--secondary); padding:8px 12px; border:1px solid rgba(125, 211, 252, 0.28); border-radius:999px; font-size:.8rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; margin-bottom:18px; } h1{ color:var(--navy); font-size:clamp(2.2rem, 4vw, 4rem); line-height:1.1; margin-bottom:18px; } .hero-copy p{ font-size:1.08rem; line-height:1.7; color:var(--muted); max-width:620px; } .actions{ display:flex; gap:16px; margin-top:26px; flex-wrap:wrap; } .mini-stats{ list-style:none; display:flex; gap:24px; margin-top:28px; flex-wrap:wrap; } .mini-stats li{ min-width:110px; background:rgba(19, 29, 46, 0.95); border:1px solid var(--border); border-radius:16px; padding:16px 18px; box-shadow:0 8px 20px rgba(0,0,0,0.15); } .mini-stats strong{ display:block; color:var(--secondary); font-size:1.35rem; margin-bottom:6px; } .mini-stats span{ color:var(--muted); font-size:.9rem; } .hero-panel{ background:linear-gradient(180deg, #111d2e 0%, #0d1726 100%); border:1px solid var(--border); border-radius:24px; padding:24px; box-shadow:var(--shadow); } .panel-header{ display:flex; align-items:center; gap:10px; font-weight:700; color:var(--navy); margin-bottom:18px; } .status-dot{ width:10px; height:10px; border-radius:50%; background:var(--success); box-shadow:0 0 0 6px rgba(34, 197, 94, 0.15); } .panel-card{ background:rgba(77, 163, 255, 0.08); border-radius:18px; padding:18px; border:1px solid rgba(77, 163, 255, 0.24); margin-bottom:22px; } .label{ color:var(--muted); font-size:.8rem; margin-bottom:8px; } .panel-card h3{ color:var(--text); font-size:1.7rem; } .panel-metrics{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; } .panel-metrics div{ background:rgba(17, 29, 46, 0.8); border:1px solid var(--border); border-radius:14px; padding:14px 12px; } .panel-metrics small{ display:block; color:var(--muted); margin-bottom:8px; } .panel-metrics strong{ color:var(--text); font-size:1rem; } .panel-progress{ background:rgba(17, 29, 46, 0.8); border:1px solid var(--border); border-radius:14px; padding:14px; } .progress-labels{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; font-size:.9rem; color:var(--navy); } .progress-bar{ background:#101a2b; height:12px; border-radius:999px; overflow:hidden; border:1px solid var(--border); } .progress-bar span{ display:block; width:68%; height:100%; background:linear-gradient(90deg, var(--primary), var(--secondary)); border-radius:inherit; } .features{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; padding:20px 0 40px; } .feature-card{ background:rgba(16, 27, 45, 0.96); border:1px solid var(--border); border-radius:20px; padding:26px 20px; box-shadow:0 12px 22px rgba(0,0,0,0.12); } .feature-card h2{ color:var(--secondary); margin-bottom:12px; font-size:1.25rem; } .feature-card p{ color:var(--muted); line-height:1.7; } @media (max-width: 900px){ .hero{ grid-template-columns:1fr; } .topbar{ flex-wrap:wrap; justify-content:center; } .topbar-nav{ order:3; width:100%; justify-content:center; } } @media (max-width: 640px){ body{ padding:14px; } .features{ grid-template-columns:1fr; } .actions, .mini-stats{ flex-direction:column; } .btn{ width:100%; } } .card{ background:var(--card); padding:20px; margin-bottom:20px; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.08); } h1, h2{ margin-bottom:10px; } h2{ margin-bottom:15px; color:#dfeafe; } .progress{ display:flex; gap:8px; flex-wrap:wrap; margin:15px 0; } .session{ width:40px; height:40px; border:2px solid var(--primary); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.3s; } .session.completed{ background:var(--success); color:white; border-color:var(--success); } table{ width:100%; border-collapse:collapse; margin-top:10px; } th{ background:var(--primary); color:#07111d; } th,td{ border:1px solid var(--border); padding:10px; text-align:center; color:var(--text); } input[type="text"], input[type="date"], textarea, select{ width:100%; padding:8px; border:1px solid var(--border); border-radius:6px; background:rgba(13, 23, 38, 0.9); color:var(--text); } textarea{ min-height:120px; resize:vertical; } .question{ margin-bottom:10px; } small{ display:block; margin-top:10px; color:var(--muted); }