body{background:#f6f7fb;color:#1f2937;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;margin:0}.public-wrap{max-width:780px;margin:0 auto;padding:24px}.public-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.public-card h1{margin:0 0 8px}.public-form{display:grid;gap:18px}.public-form label{display:grid;gap:6px;font-weight:600}.input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:12px 13px;font:inherit;background:#fff}.input:focus{outline:2px solid #b9d8cc;outline-offset:1px;border-color:#5b8f7a}.button{border:0;border-radius:11px;background:#1f5f4a;color:#fff;padding:13px 18px;font-weight:700;cursor:pointer}.button:hover{filter:brightness(.97)}.submit-button{width:100%;font-size:1.03rem;padding:15px}.subtitle{color:#64748b;line-height:1.6}.notice,.success,.error{padding:12px;border-radius:10px;margin:12px 0}.notice{background:#eef6ff}.success{background:#ecfdf5}.error{background:#fef2f2}.small{font-size:.9rem}.back{display:inline-block;margin-bottom:16px;color:#334155}.form-grid{display:grid;gap:14px}.two-cols{grid-template-columns:160px 1fr}.field-help{font-size:.86rem;font-weight:400;color:#64748b;line-height:1.5}.form-section{display:grid;gap:14px;padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.form-section h2{margin:0;font-size:1.12rem}.option-card-list{display:grid;gap:10px}.public-form .option-card{display:flex;grid-template-columns:none;gap:12px;align-items:flex-start;padding:15px;border:1px solid #d7e0ea;border-radius:13px;background:#f8fafc;font-weight:400;cursor:pointer;transition:.15s ease}.option-card:hover{border-color:#9fb9ad;background:#f3f8f6}.option-card:has(input:checked){border-color:#74a491;background:#edf7f3;box-shadow:0 0 0 1px #74a491 inset}.option-card input{width:20px;height:20px;margin:1px 0 0;accent-color:#1f5f4a}.option-card-body{display:grid;gap:4px}.option-card-title{font-weight:800}.option-card-description{font-size:.9rem;color:#64748b;line-height:1.5}.option-card.disabled{opacity:.48;cursor:not-allowed}.locker-box{border:1px solid #d7e0ea;border-radius:14px;padding:15px;background:#fbfcfd}.locker-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.locker-head h3{margin:0 0 3px;font-size:1rem}.locker-head p{margin:0;color:#64748b;font-size:.88rem;line-height:1.5}.mini-link{border:0;background:transparent;color:#315f50;text-decoration:underline;cursor:pointer;padding:4px;white-space:nowrap}.locker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.public-form .locker-choice{display:flex;grid-template-columns:none;gap:9px;align-items:center;padding:12px;border:1px solid #dbe3ea;border-radius:11px;background:#fff;font-weight:400;cursor:pointer}.locker-choice:has(input:checked){border-color:#74a491;background:#edf7f3;box-shadow:0 0 0 1px #74a491 inset}.locker-choice input{width:18px;height:18px;accent-color:#1f5f4a}.locker-choice span{display:grid;gap:2px}.locker-choice strong{font-weight:750}.locker-choice small{color:#64748b}.locker-choice.soldout{opacity:.55;cursor:not-allowed}.locker-loading{padding:12px;color:#64748b;font-size:.9rem}.confirmation-row{border:1px solid #dbe3ee;background:#f8fafc}.confirmation-row:has(input:checked){background:#ecfdf5;border-color:#bbf7d0}.public-form .check-row{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;padding:8px;border-radius:8px;font-weight:400}.check-row input{width:18px;height:18px;margin-top:2px}.check-row span{display:grid;gap:2px}.check-row strong{font-weight:700}.check-row small{color:#64748b}.check-row.disabled{opacity:.5}@media(max-width:600px){.public-wrap{padding:12px}.public-card{padding:16px;border-radius:14px}.two-cols{grid-template-columns:1fr}.form-section{padding:14px}.locker-grid{grid-template-columns:1fr}.locker-head{display:block}.mini-link{margin-top:6px}}

.postal-input-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.postal-button{border:1px solid #9fb9ad;border-radius:10px;background:#edf7f3;color:#214f40;padding:11px 14px;font-weight:700;cursor:pointer;white-space:nowrap}.postal-button:hover{background:#e4f1ec}@media(max-width:600px){.postal-input-row{grid-template-columns:1fr}.postal-button{width:100%}}

.price-summary{display:grid;gap:8px;border:1px solid #d7e0ea;border-radius:13px;padding:14px;background:#f8fafc}.price-summary-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.price-summary-row strong{font-size:1.05rem}.price-summary-total{border-top:1px solid #d7e0ea;padding-top:10px;margin-top:2px}.price-summary-total strong{font-size:1.2rem}.narrow-card{max-width:520px;margin:40px auto}.hidden{display:none!important}

/* 2026-08-29: plan cards / prorated quote / campaign */
.plan-choice-list{display:grid;gap:16px}.plan-choice-group{display:grid;gap:9px}.plan-choice-group h3{margin:0;font-size:.96rem;color:#475569}.plan-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-form .plan-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:14px;border:1px solid #d7e0ea;border-radius:13px;background:#fff;font-weight:400;cursor:pointer;transition:.15s ease}.plan-choice:hover{border-color:#9fb9ad;background:#f7fbf9}.plan-choice.selected,.plan-choice:has(input:checked){border-color:#5f9b84;background:#edf7f3;box-shadow:0 0 0 1px #5f9b84 inset}.plan-choice input{width:19px;height:19px;accent-color:#1f5f4a}.plan-choice-text,.plan-choice-price{display:grid;gap:2px}.plan-choice-text strong{font-size:1rem}.plan-choice-text small{font-size:.75rem;color:#94a3b8}.plan-choice-price{text-align:right}.plan-choice-price strong{font-size:1.03rem}.plan-choice-price small{font-size:.8rem;color:#64748b}.campaign-input-row{display:grid;grid-template-columns:1fr auto;gap:8px}.campaign-button{border:1px solid #1f5f4a;border-radius:11px;background:#1f5f4a;color:#fff;padding:11px 18px;font-weight:700;cursor:pointer}.campaign-ok{color:#16734e;font-weight:700}.campaign-error{color:#b42318;font-weight:700}.price-summary{gap:14px}.price-summary-block{display:grid;gap:8px}.price-summary-block+.price-summary-block{border-top:1px solid #cbd5e1;padding-top:14px}.price-summary-block h3{margin:0 0 2px;font-size:1rem}.price-summary-discount{color:#b42318}.price-summary-discount strong{color:#b42318}.price-summary-total{background:#fff;border-radius:9px;padding:10px;margin-top:4px}.price-summary-total span{font-weight:800}@media(max-width:600px){.plan-choice-grid{grid-template-columns:1fr}.campaign-input-row{grid-template-columns:1fr}.campaign-button{width:100%}}

/* 2026-08-29: partner code / completion / email confirmation */
.plan-choice.disabled{opacity:.46;cursor:not-allowed;background:#f8fafc}.plan-choice.disabled input{cursor:not-allowed}.plan-choice-text{display:grid;gap:3px}.plan-choice-text small{font-size:.78rem;color:#b45309;font-weight:700}.completion-card{text-align:center;display:grid;gap:16px}.completion-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:#ecfdf5;color:#166534;font-size:2rem;font-weight:900}.completion-details{display:grid;gap:10px;text-align:left;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.completion-details p{margin:0}.secondary-button{background:#334155}.link-button{display:block;text-decoration:none;text-align:center}.campaign-ok{color:#166534}.campaign-error{color:#b91c1c}

/* 2026-08-29: email confirmation visibility fix */
.email-confirm-block{display:grid;grid-template-columns:1fr;gap:14px;padding:14px;border:1px solid #dbe3ea;border-radius:12px;background:#fbfcfd}
.email-confirm-block label{min-width:0}
.email-confirm-block .input{min-width:0}
@media(min-width:820px){.email-confirm-block{grid-template-columns:1fr 1fr}}

/* 2026-08-30: Square initial payment */
.payment-card{display:grid;gap:16px}.square-card-container{min-height:90px;padding:12px;border:1px solid #d7e0ea;border-radius:12px;background:#fff}.payment-amount strong+br{display:block}.payment-amount{font-size:1.1rem}.payment-amount br+*{font-size:1.35rem;font-weight:800}.button:disabled{opacity:.55;cursor:not-allowed}

.submit-status{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 13px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a5f;font-size:.92rem;line-height:1.5;text-align:center}.submit-status[hidden]{display:none}.submit-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;display:inline-block;animation:submit-spin .75s linear infinite;flex:0 0 auto}@keyframes submit-spin{to{transform:rotate(360deg)}}
