:root{--f-bg:#f7f8fb;--f-white:#fff;--f-border:#d4d9e5;--f-text:#1a1d26;--f-muted:#6b7490;--f-gold:#b5892a;--f-blue:#1a4fa0;--f-green:#1a7f4b;--f-red:#b91c1c;--f-section-bg:#f0f2f7}*,:after,:before{box-sizing:border-box}.app-form-wrap{max-width:860px;margin:0 auto;padding:32px 20px 64px;font-family:Noto Sans Thai,Sarabun,sans-serif;font-size:14.5px;color:var(--f-text);background:var(--f-bg);min-height:100vh}.app-form-head{text-align:center;padding:28px 20px;background:var(--f-blue);color:#fff;border-radius:10px 10px 0 0;margin-bottom:0}.app-form-head__logo{font-size:13px;font-weight:700;letter-spacing:3px;opacity:.75;margin-bottom:6px}.app-form-head__title{font-size:22px;font-weight:800;margin:0 0 4px}.app-form-head__sub{font-size:13px;opacity:.7;margin:0}.app-role-select{background:var(--f-white);border:1px solid var(--f-border);border-top:none;padding:20px 24px}.app-role-select>label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--f-muted);margin-bottom:10px}.app-role-btns{display:flex;gap:12px;flex-wrap:wrap}.app-role-btn{flex:1 1;min-width:200px;padding:12px 20px;border:2px solid var(--f-border);border-radius:8px;background:var(--f-white);font-size:14px;font-weight:600;color:var(--f-muted);cursor:pointer;transition:all .2s}.app-role-btn.active{border-color:var(--f-blue);color:var(--f-blue);background:#edf2fb}.app-section{background:var(--f-white);border:1px solid var(--f-border);border-top:none}.app-section__head{display:flex;align-items:center;gap:12px;padding:13px 24px;background:var(--f-section-bg);border-bottom:1px solid var(--f-border)}.app-section__n{width:24px;height:24px;border-radius:50%;background:var(--f-blue);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-section__title{font-size:14px;font-weight:700;color:var(--f-text)}.app-section__body{padding:20px 24px}.app-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 20px;gap:14px 20px}.app-field{display:flex;flex-direction:column;gap:5px}.app-field--full{grid-column:1/-1}.app-field--half{grid-column:span 1}.app-field label{font-size:12.5px;font-weight:600;color:var(--f-muted)}.app-req{color:var(--f-red);margin-left:2px}.app-field input,.app-field select,.app-field textarea{border:1px solid var(--f-border);border-radius:6px;padding:9px 11px;font-size:14px;font-family:inherit;color:var(--f-text);background:#fff;outline:none;width:100%;transition:border-color .15s}.app-field input:focus,.app-field select:focus,.app-field textarea:focus{border-color:var(--f-blue)}.app-field textarea{resize:vertical}.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:7px;border:none;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none;transition:opacity .15s}.app-btn--primary{background:var(--f-blue);color:#fff}.app-btn--ghost{background:transparent;border:2px solid var(--f-border);color:var(--f-muted)}.app-btn:disabled{opacity:.5;cursor:not-allowed}.app-btn:hover:not(:disabled){opacity:.88}.app-submit-row{background:var(--f-white);border:1px solid var(--f-border);border-top:none;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;border-radius:0 0 10px 10px}.app-consent{font-size:12px;color:var(--f-muted);text-align:center;max-width:600px;line-height:1.6;margin:0}.app-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:7px;padding:12px 16px;color:var(--f-red);font-size:13.5px;margin:0 0 4px}.app-success{flex-direction:column;min-height:60vh;text-align:center;padding:48px 24px}.app-success,.app-success__icon{display:flex;align-items:center;justify-content:center}.app-success__icon{width:72px;height:72px;border-radius:50%;background:#d1fae5;color:var(--f-green);font-size:36px;margin-bottom:20px}.app-success h2{font-size:22px;margin:0 0 10px}.app-success p{color:var(--f-muted);line-height:1.7;margin:0 0 20px}@media (max-width:600px){.app-grid{grid-template-columns:1fr}.app-field--half{grid-column:1}.app-form-wrap{padding:16px 12px 48px}.app-section__body{padding:16px}}