:root{
      --primary:#0b5fff;
      --text:#0f172a;
      --muted:#475569;
      --bg:#f8fafc;
      --card:#ffffff;
      --radius:14px;
      --border:#e5e7eb;
      --shadow:0 12px 30px rgba(2,6,23,.08);
    }
    *{box-sizing:border-box}
    body{margin:0;background:var(--bg);color:var(--text);
      font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif}
    a{color:var(--primary);text-decoration:none}
    .topbar{background:#ffffff;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border)}
    .nav{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:12px 18px;max-width:1170px;margin:0 auto}
    .brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--primary)}
    .brand svg{width:26px;height:26px}
    .menu{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
    .menu a{font-weight:600;color:var(--text);opacity:.9}
    .menu .cta{padding:10px 14px;border-radius:12px;background:var(--primary);color:#fff;font-weight:800}
    .notice{background:#0b5fff;color:#fff;text-align:center;padding:10px 14px;font-weight:700}
    .notice a{color:#fff;text-decoration:underline;font-weight:800}
    main{max-width:1100px;margin:0 auto;padding:28px;display:grid;place-items:center;min-height:60vh}
    .card{width:min(560px,92vw);background:var(--card);border:1px solid var(--border);
      border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}
    h1{margin:0 0 14px;text-align:center;font-size:28px;line-height:1.2;color:#1a56db;font-weight:800}
    .lead{margin:-2px 0 18px;color:#64748b;font-size:15px;text-align:left}
    label{display:block;font-weight:700;margin:0 0 6px}
    .field{margin:0 0 14px}
    input[type="email"]{width:100%;height:44px;font-size:15px;padding:10px 12px;border:1px solid #dbe2ea;border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s}
    input[type="email"]:focus{border-color:#1a56db;box-shadow:0 0 0 3px rgba(26,86,219,.12)}
    .btn{display:block;width:100%;height:44px;border:0;border-radius:10px;background:var(--primary);
      color:#fff;font-weight:800;cursor:pointer;margin-top:6px;transition:filter .15s ease,transform .15s ease}
    .btn:hover{filter:brightness(1.03)}
    .btn:active{transform:translateY(1px)}
    .link{display:block;text-align:center;margin-top:16px;color:var(--primary);font-weight:600}
    .link:hover{text-decoration:underline}
    .flash{display:block;margin-bottom:16px;padding:14px 18px;border-radius:12px;font-weight:600}
    .flash-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}
    .flash-success{background:#ecfdf5;border:1px solid #bbf7d0;color:#047857}
