  :root{ --primary:#1a73e8; --bg:#ffffff; --text:#202124; --label:#5f6368; --radius:8px; }
  *{box-sizing:border-box}
  html,body{margin:0}
  body{font-family:Roboto,system-ui,Arial,sans-serif;color:var(--text);background:transparent}
  .card{background:var(--bg);max-width:100%;padding:24px;border-radius:calc(var(--radius) + 4px);font-size:16px}
  h3{margin:0 0 4px;font-size:1.25em;font-weight:500}
  p.sub{margin:0 0 20px;color:var(--label);font-size:.875em}
  .mf{position:relative;margin-bottom:18px}
  .mf input{width:100%;padding:15px 12px;border:1px solid #dadce0;border-radius:var(--radius);font-size:1em;font-family:inherit;outline:none;background:var(--bg);color:var(--text)}
  .mf input:focus{border:2px solid var(--primary);padding:14px 11px}
  .mf label{position:absolute;left:10px;top:15px;color:var(--label);background:var(--bg);padding:0 4px;font-size:16px;transition:all .15s ease;pointer-events:none}
  .mf input:focus + label,.mf input:not(:placeholder-shown) + label{top:-8px;font-size:12px;color:var(--primary)}
  .mf.error input{border:2px solid #d93025;padding:14px 11px}
  .mf.error label{color:#d93025}
  .mf.error input:focus + label,.mf.error input:not(:placeholder-shown) + label{color:#d93025}
  .file.error{border:1px solid #d93025;color:#d93025}
  .fhint{color:#d93025;font-size:.78em;line-height:1.3;margin:-12px 2px 16px;display:flex;align-items:center;gap:5px}
  .fhint::before{content:"error";font-family:'Material Symbols Outlined';font-size:15px;line-height:1}
  .file{display:flex;align-items:center;gap:12px;border:1px dashed #dadce0;border-radius:var(--radius);padding:14px;font-size:.875em;color:var(--label);cursor:pointer}
  .file:hover{border-color:var(--primary)}
  .file input{display:none}
  .file .name{color:var(--text)}
  .consent{display:flex;gap:10px;align-items:flex-start;font-size:.8125em;color:var(--label);margin-bottom:18px}
  .consent input{margin-top:2px}
  button.submit{width:100%;border:0;border-radius:var(--radius);background:var(--primary);color:#fff;font-size:.95em;font-weight:500;font-family:inherit;padding:14px;cursor:pointer;transition:filter .15s}
  button.submit:hover{filter:brightness(1.05)} button.submit:disabled{opacity:.6;cursor:default}
  .msg{font-size:.875em;margin-top:14px;text-align:center}
  .msg.ok{color:#188038} .msg.err{color:#d93025}
  .done{text-align:center;padding:20px 0}
  .done .check{width:56px;height:56px;border-radius:50%;background:#e6f4ea;color:#188038;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 14px}
  .material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;font-size:22px}
  .file .material-symbols-outlined{color:var(--primary);font-size:24px;flex:none}
  .done .check .material-symbols-outlined{font-size:34px}
