:root{--teal:#1a5c6e;--teal-light:#2a7f96;--teal-dark:#0f3a45;--amber:#e8920a;--amber-light:#fbb03b;--red:#c0392b;--green:#27ae60;--bg:#f4f7f8;--card:#fff;--text:#1c2b2e;--muted:#6b8690;--border:#d0dfe3;--radius:12px;--shadow:0 2px 12px rgba(26,92,110,0.10)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:3rem}.page-header{background:var(--teal-dark);padding:0.7rem 1rem;padding-top:max(0.7rem,env(safe-area-inset-top));display:flex;align-items:center;gap:0.75rem;position:sticky;top:0;z-index:10}.btn-back{background:rgba(255,255,255,0.15);border:none;color:#fff;font-family:'DM Sans',sans-serif;font-size:0.88rem;font-weight:700;min-height:40px;padding:0.4rem 0.95rem;border-radius:20px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background 0.15s}.btn-back:hover{background:rgba(255,255,255,0.25)}.page-header h1{font-family:'Playfair Display',serif;color:#fff;font-size:1.15rem;font-weight:600}.content{padding:1.25rem 1rem;max-width:480px;margin:0 auto}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem 1.15rem;margin-bottom:1rem}.card-title{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--teal-dark);margin-bottom:1rem}.card-lead{font-size:0.9rem;color:var(--muted);line-height:1.55;margin-bottom:1.25rem}.form-row{margin-bottom:1rem}.form-row label{display:block;font-size:0.75rem;font-weight:700;color:var(--muted);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:0.35rem}.form-row label .req{color:var(--red);margin-left:2px}.form-row label .opt{font-weight:400;text-transform:none;font-size:0.72rem;letter-spacing:0}.form-row input,.form-row select{width:100%;border:1.5px solid var(--border);border-radius:10px;font-size:16px;min-height:50px;padding:0.7rem 0.85rem;font-family:'DM Sans',sans-serif;color:var(--text);background:#fff;transition:border-color 0.2s;-webkit-appearance:none;appearance:none}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--teal-light)}.form-row input[readonly]{background:var(--bg);color:var(--muted)}.form-hint{font-size:0.78rem;color:var(--muted);margin-top:0.4rem;line-height:1.5}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem}.more-fields{border-top:1px solid var(--border);margin-top:0.5rem;padding-top:0.75rem}.more-fields>summary{font-size:0.85rem;font-weight:700;color:var(--teal);cursor:pointer;min-height:44px;display:flex;align-items:center;list-style:none}.more-fields>summary::-webkit-details-marker{display:none}.more-fields>summary::before{content:'+ ';margin-right:0.3rem}.more-fields[open]>summary::before{content:'– '}.more-fields-note{font-size:0.78rem;color:var(--muted);line-height:1.5;margin-bottom:0.9rem}.btn-primary{width:100%;background:var(--amber);color:#fff;border:none;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;border-radius:50px;min-height:54px;padding:0.9rem;cursor:pointer;transition:background 0.15s;margin-top:0.5rem}.btn-primary:hover{background:var(--amber-light)}.btn-primary:disabled{opacity:0.5;cursor:default}.btn-danger{width:100%;background:transparent;color:var(--red);border:1.5px solid var(--red);font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:700;border-radius:50px;min-height:48px;padding:0.75rem;cursor:pointer;margin-top:0.5rem}.btn-danger:hover{background:#fdf0ef}.btn-link{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:#fff;font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.95rem;min-height:48px;padding:0.75rem 1.5rem;border-radius:50px;text-decoration:none}.msg-bar{padding:0.75rem 0.9rem;border-radius:10px;font-size:0.85rem;line-height:1.5;display:none;margin-top:0.75rem}.msg-bar.show{display:block}.msg-bar.ok{background:#edfaf3;color:#1a5c35;border-left:3px solid var(--green)}.msg-bar.err{background:#fdf0ef;color:#7a1f1f;border-left:3px solid var(--red)}.link-row{text-align:center;font-size:0.88rem;color:var(--muted);margin-top:1.25rem;line-height:1.6}.link-row a{color:var(--teal);font-weight:700;text-decoration:none}.link-row a:hover{text-decoration:underline}.disclaimer{font-size:0.75rem;color:var(--muted);line-height:1.55;margin-top:1rem;padding-top:0.85rem;border-top:1px solid var(--border)}.note{font-size:0.78rem;color:var(--muted);line-height:1.55;margin-top:1rem;padding-top:0.85rem;border-top:1px solid var(--border)}.avatar-section{text-align:center;padding:1.75rem 1rem 1.25rem}.avatar-circle{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--teal-light));color:#fff;font-size:1.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-bottom:0.75rem;font-family:'Playfair Display',serif}.avatar-name{font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--teal-dark);margin-bottom:0.2rem}.avatar-phone{font-size:0.85rem;color:var(--muted)}.badge-course{display:inline-flex;align-items:center;gap:0.35rem;background:#edfaf3;color:var(--green);border:1.5px solid var(--green);font-size:0.78rem;font-weight:700;border-radius:20px;padding:0.3rem 0.8rem;margin-top:0.6rem}.badge-course.pending{background:#fef9ee;color:var(--amber);border-color:var(--amber)}.progress-line{margin-top:0.75rem}.progress-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden;max-width:220px;margin:0 auto}.progress-fill{height:100%;background:var(--amber);border-radius:3px}.not-logged{text-align:center;padding:3rem 1rem}