
    :root{
      --bg:#f7f9fc;
      --card:#ffffff;
      --accent:#273c75;
      --accent-2:#ff6b6b;
      --muted:#6b6f76;
      --radius:12px;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family:Inter,system-ui,Arial,Helvetica,sans-serif;
      background:var(--bg);
      color:#222;
      -webkit-font-smoothing:antialiased;
    }
    .container{
      max-width:900px;
      margin:40px auto;
      padding:20px;
    }
    .card{
      background:var(--card);
      border-radius:var(--radius);
      padding:28px;
      box-shadow:0 6px 24px rgba(34,41,47,0.08);
    }
    h1{
      margin:0 0 8px 0;
      color:var(--accent);
      font-size:1.6rem;
    }
    p.lead{
      margin:0 0 20px 0;
      color:var(--muted);
    }

    form .grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    @media (max-width:640px){ form .grid{ grid-template-columns:1fr } }

    label{
      display:block;
      font-size:0.9rem;
      margin-bottom:6px;
      color:#333;
    }
    input[type="text"],
    input[type="email"],
    textarea{
      width:100%;
      padding:10px 12px;
      border:1px solid #e6e9ee;
      border-radius:8px;
      font-size:0.95rem;
      background:#fff;
      transition:box-shadow .15s, border-color .15s;
    }
    input:focus, textarea:focus{
      outline:none;
      border-color:var(--accent);
      box-shadow:0 4px 14px rgba(39,60,117,0.08);
    }
    .help{
      font-size:0.82rem;
      color:var(--muted);
      margin-top:6px;
    }

    textarea{
      min-height:160px;
      resize:vertical;
    }

    .actions{
      display:flex;
      gap:12px;
      margin-top:18px;
      align-items:center;
    }
    .btn{
      background:linear-gradient(135deg,var(--accent),#3b5ab8);
      color:white;
      border:none;
      padding:10px 18px;
      border-radius:999px;
      font-weight:600;
      cursor:pointer;
      box-shadow:0 6px 18px rgba(39,60,117,0.12);
    }
    .btn.secondary{
      background:transparent;
      color:var(--accent);
      border:1px solid #dbe1f3;
      box-shadow:none;
      padding:9px 16px;
    }

    .note{
      font-size:0.88rem;
      color:var(--muted);
    }

    /* message area */
    .msg{
      margin-left:auto;
      font-size:0.9rem;
      color:var(--muted);
    }
    .error{
      color:#b00020;
      font-size:0.9rem;
      margin-top:8px;
    }
    .success{
      color:green;
      font-size:0.95rem;
      margin-top:8px;
    }
  