.form-page{--input-border:var(--border-strong);--field-gap:20px;background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.form-page .form-main{flex:1;padding:104px 20px 72px;position:relative}.form-page .form-main:before{content:"";inset-inline:0;background:radial-gradient(ellipse 70% 100% at 50% 0%, rgba(var(--primary-rgb), .1), transparent 70%);pointer-events:none;z-index:0;height:340px;position:absolute;top:0}.form-page .form-shell{z-index:1;width:100%;max-width:780px;margin-inline:auto;position:relative}.form-page .form-sheet{background:var(--bg2);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:20px;overflow:hidden}.form-page .form-sheet-head{border-bottom:1px solid var(--border);background:linear-gradient(to bottom, rgba(var(--primary-rgb), .05), transparent);padding:32px 36px 28px}.form-page .form-eyebrow{letter-spacing:1.6px;text-transform:uppercase;color:var(--primary);background:var(--primary-dim);border:1px solid var(--border-primary);border-radius:999px;margin-bottom:14px;padding:4px 12px;font-size:.7rem;font-weight:700;display:inline-block}.form-page .form-title{color:var(--text);margin:0;font-size:clamp(1.5rem,3.4vw,2rem);font-weight:700;line-height:1.3}.form-page .form-subtitle{color:var(--text-secondary);max-width:56ch;margin:10px 0 0;font-size:.95rem;line-height:1.7}.form-page .form-sheet-body{padding:28px 36px 36px}.form-page .stepper{border-bottom:1px solid var(--border);background:var(--bg);padding:24px 36px}.form-page .stepper-count{color:var(--text-muted);margin-bottom:16px;font-size:.8rem;font-weight:600}.form-page .stepper-count b{color:var(--primary);font-weight:700}.form-page .stepper-current-name{color:var(--text);display:none}.form-page .stepper-list{justify-content:space-between;align-items:flex-start;gap:8px;margin:0;padding:0;list-style:none;display:flex;position:relative}.form-page .stepper-track{height:3px;top:17px;inset-inline:calc(50% / var(--step-count,4));background:var(--border-strong);border-radius:999px;position:absolute}.form-page .stepper-fill{background:var(--primary);box-shadow:0 0 12px rgba(var(--primary-rgb), .5);border-radius:999px;transition:width .45s cubic-bezier(.4,0,.2,1);position:absolute;inset-block:0;inset-inline-start:0}.form-page .stepper-item{z-index:1;min-width:0;font:inherit;color:inherit;text-align:center;cursor:default;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:8px;padding:0;display:flex;position:relative}.form-page .stepper-item[data-clickable=true]{cursor:pointer}.form-page .stepper-dot{font-variant-numeric:tabular-nums;background:var(--bg2);border:2px solid var(--border-strong);width:36px;height:36px;color:var(--text-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:.9rem;font-weight:700;transition:background .35s,border-color .35s,color .35s,transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s;display:grid}.form-page .stepper-dot svg{width:18px;height:18px}.form-page .stepper-dot svg polyline{stroke-dasharray:24;stroke-dashoffset:24px;animation:.4s cubic-bezier(.65,0,.35,1) 80ms forwards stepperCheck}@keyframes stepperCheck{to{stroke-dashoffset:0}}.form-page .stepper-label{color:var(--text-muted);font-size:.78rem;font-weight:600;line-height:1.35;transition:color .35s}.form-page .stepper-item[data-state=done] .stepper-dot{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.form-page .stepper-item[data-state=done] .stepper-label{color:var(--text-secondary)}.form-page .stepper-item[data-state=current] .stepper-dot{background:var(--bg2);border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 5px var(--primary-dim), 0 4px 14px rgba(var(--primary-rgb), .28);transform:scale(1.14)}.form-page .stepper-item[data-state=current] .stepper-label{color:var(--text);font-weight:700}.form-page .stepper-item[data-clickable=true]:hover .stepper-dot{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 4px 14px rgba(var(--primary-rgb), .4);transform:scale(1.08)}.form-page .stepper-item[data-clickable=true]:hover .stepper-label{color:var(--text)}.form-page .stepper-item:focus-visible{outline:none}.form-page .stepper-item:focus-visible .stepper-dot{outline:2px solid var(--primary);outline-offset:3px}.form-page .form-step{animation:.35s both formStepIn}@keyframes formStepIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.form-page .form-step-title{color:var(--text);margin:0 0 4px;font-size:clamp(1.1rem,2.2vw,1.3rem);font-weight:700;line-height:1.5}.form-page .form-step-hint{color:var(--text-muted);margin:0 0 24px;font-size:.85rem}.form-page .form-fieldset{border:1px solid var(--border);background:var(--bg);border-radius:14px;min-width:0;margin:0 0 20px;padding:20px}.form-page .form-fieldset>legend{color:var(--primary);margin-inline-start:-8px;padding:0 8px;font-size:.9rem;font-weight:700}.form-page .form-fieldset-hint{color:var(--text-muted);margin:6px 0 16px;font-size:.82rem;line-height:1.65}.form-page .form-grid{gap:var(--field-gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.form-page .form-grid--tight{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.form-page .form-grid+.form-grid{margin-top:var(--field-gap)}.form-page .field--full{grid-column:1/-1}.form-page .field{flex-direction:column;gap:8px;min-width:0;display:flex}.form-page .field-label{color:var(--text-secondary);align-items:baseline;gap:6px;font-size:.86rem;font-weight:600;line-height:1.5;display:flex}.form-page .field-req{color:var(--error);font-weight:700}.form-page .field-optional{color:var(--text-muted);font-size:.74rem;font-weight:500}.form-page .field-hint{color:var(--text-muted);font-size:.78rem;line-height:1.6}.form-page .control{display:flex;position:relative}.form-page .control .form-input{border-radius:10px;font-size:.95rem}.form-page .control .form-input:hover:not(:focus):not(:disabled){border-color:var(--border-primary)}.form-page .control .form-input:disabled{color:var(--text-muted)}.form-page .control--unit .form-input{padding-inline-end:52px}.form-page .control-unit{inset-inline-end:14px;color:var(--text-muted);pointer-events:none;font-size:.8rem;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.form-page select.form-input{background-image:none;padding-inline-end:40px}.form-page .chip-group{flex-wrap:wrap;gap:10px;display:flex}.form-page .chip{border:1px solid var(--input-border);background:var(--bg2);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:.88rem;font-weight:600;transition:background .22s,border-color .22s,color .22s,transform .15s;display:inline-flex}.form-page .chip:hover{border-color:var(--border-primary);color:var(--text);background:var(--bg3)}.form-page .chip:active{transform:scale(.97)}.form-page .chip input{opacity:0;width:0;height:0;position:absolute}.form-page .chip-box{border:1.5px solid var(--border-strong);color:#0000;border-radius:5px;flex-shrink:0;place-items:center;width:17px;height:17px;transition:all .22s;display:grid}.form-page .chip-box svg{width:11px;height:11px}.form-page .chip[data-checked=true]{background:var(--primary-dim);border-color:var(--primary);color:var(--primary)}.form-page .chip[data-checked=true] .chip-box{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.form-page .chip:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:3px}.form-page .dropzone{border:1.5px dashed var(--border-strong);background:var(--bg);text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:24px 20px;transition:border-color .25s,background .25s,transform .2s;display:flex}.form-page .dropzone:hover{border-color:var(--primary);background:var(--primary-dim)}.form-page .dropzone[data-dragging=true]{border-color:var(--primary);background:var(--primary-dim);transform:scale(1.01)}.form-page .dropzone:focus-within{outline:2px solid var(--primary);outline-offset:3px}.form-page .dropzone-icon{background:var(--primary-dim);width:40px;height:40px;color:var(--primary);border-radius:12px;place-items:center;transition:transform .25s;display:grid}.form-page .dropzone:hover .dropzone-icon{transform:translateY(-2px)}.form-page .dropzone-icon svg{width:20px;height:20px}.form-page .dropzone-text{color:var(--text-secondary);font-size:.9rem;font-weight:600;line-height:1.6}.form-page .dropzone-hint{color:var(--text-muted);font-size:.76rem}.form-page .file-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.form-page .file-item{border:1px solid var(--border);background:var(--bg3);color:var(--text);border-radius:10px;align-items:center;gap:10px;min-width:0;padding:10px 12px;font-size:.85rem;display:flex}.form-page .file-item-icon{color:var(--primary);flex-shrink:0;place-items:center;display:grid}.form-page .file-item-icon svg{width:16px;height:16px}.form-page .file-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.form-page .file-item-size{color:var(--text-muted);flex-shrink:0;font-size:.76rem}.form-page .file-remove{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;place-items:center;transition:all .2s;display:grid}.form-page .file-remove svg{width:14px;height:14px}.form-page .file-remove:hover{background:var(--error-bg);border-color:var(--error);color:var(--error)}.form-page .thumb-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:12px;display:grid}.form-page .thumb{aspect-ratio:1;border:1px solid var(--border);background:var(--bg3);border-radius:10px;position:relative;overflow:hidden}.form-page .thumb img{object-fit:cover;width:100%;height:100%;display:block}.form-page .thumb .file-remove{top:4px;background:var(--overlay-scrim);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;inset-inline-end:4px}.form-page .thumb .file-remove:hover{background:var(--error);border-color:var(--error);color:#fff}.form-page .form-actions{border-top:1px solid var(--border);gap:12px;margin-top:32px;padding-top:24px;display:flex}.form-page .form-btn{cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 24px;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .25s,color .25s,border-color .25s,transform .18s,box-shadow .25s;display:inline-flex}.form-page .form-btn--primary{background:var(--primary);color:var(--text-inverse);border:1px solid var(--primary);box-shadow:0 4px 16px rgba(var(--primary-rgb), .25);flex:2}.form-page .form-btn--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 8px 24px rgba(var(--primary-rgb), .35);transform:translateY(-2px)}.form-page .form-btn--primary:active:not(:disabled){background:var(--primary-active);transform:translateY(0)}.form-page .form-btn--ghost{color:var(--primary);border:1px solid var(--border-primary);background:0 0}.form-page .form-btn--ghost:hover:not(:disabled){background:var(--primary-dim);border-color:var(--primary);transform:translateY(-2px)}.form-page .form-btn--ghost:active:not(:disabled){transform:translateY(0)}.form-page .form-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.form-page .btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite formSpin}@keyframes formSpin{to{transform:rotate(360deg)}}.form-page .form-loading{color:var(--text-muted);flex-direction:column;align-items:center;gap:16px;padding:120px 20px;font-weight:600;display:flex}.form-page .form-loading .btn-spinner{width:28px;height:28px;color:var(--primary);border-width:3px}.form-page .form-shell--centered{justify-content:center;align-items:center;min-height:60vh;display:flex}.form-page .gate-steps{gap:14px;margin:0 0 26px;padding:0;list-style:none;display:grid}.form-page .gate-step{border:1px solid var(--border);background:var(--bg2);border-radius:14px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.form-page .gate-step-num{background:var(--primary);width:30px;height:30px;color:var(--text-inverse);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.form-page .gate-step-body b{color:var(--text);margin-bottom:4px;font-size:.98rem;display:block}.form-page .gate-step-body p{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.7}.form-page .gate-plan-picker{margin-bottom:18px}.form-page .gate-plan{border:1px dashed var(--border);color:var(--text-secondary);border-radius:12px;margin:0 0 18px;padding:12px 16px;font-size:.92rem}.form-page .gate-plan b{color:var(--text)}.form-page .gate-wa{color:#fff;background:#25d366;border:1px solid #25d366;width:100%;text-decoration:none}.form-page .gate-wa:hover{background:#1fb457;border-color:#1fb457}.form-page .gate-wa svg{width:22px;height:22px}.form-page .gate-wa:disabled{opacity:.45;cursor:not-allowed}.form-page .gate-receipt{margin-top:22px}.form-page .gate-actions{border-top:1px solid var(--border);margin-top:26px;padding-top:22px}.form-page .gate-actions .form-btn--primary{width:100%}.form-page .gate-actions .form-btn--primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.form-page .gate-note{color:var(--text-muted);text-align:center;margin:10px 0 0;font-size:.82rem}.form-page .done-sheet{text-align:center;max-width:480px;padding:40px 24px}.form-page .done-title{color:var(--text);margin:0 0 16px;font-size:1.7rem}.form-page .done-summary,.form-page .done-text{color:var(--text-secondary);margin:0 0 16px;font-size:1.05rem;line-height:1.8}.form-page .done-summary strong{color:var(--text)}.form-page .done-text{margin-bottom:30px}.form-page .done-sheet .form-btn{width:100%}@media (max-width:768px){.form-page .form-grid:not(.form-grid--tight){grid-template-columns:1fr}.form-page .form-eyebrow{font-size:var(--text-xs);letter-spacing:1px}.form-page{--field-gap:16px}.form-page .form-main{padding:88px 14px 56px}.form-page .form-sheet{border-radius:16px}.form-page .form-sheet-head{padding:24px 20px 20px}.form-page .stepper{padding:20px}.form-page .form-sheet-body{padding:22px 20px 28px}.form-page .form-fieldset{padding:16px 14px}.form-page .stepper-label{display:none}.form-page .stepper-current-name{display:inline}.form-page .form-actions{flex-direction:column-reverse}.form-page .done-sheet{padding:32px 20px}.form-page .gate-step{padding:12px 14px}.form-page .form-btn,.form-page .form-btn--primary{flex:none;width:100%}}@media (pointer:coarse),(max-width:768px){.form-page .control .form-input{font-size:16px}}
