.aof-form{--blue:#1769aa;max-width:1050px;margin:24px auto;padding:28px;background:#fff;border:1px solid #dfe3e8;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.06);color:#20262e}.aof-form *{box-sizing:border-box}.aof-form h2{margin:28px 0 14px;font-size:1.35rem}.aof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.aof-grid .aof-wide{grid-column:1/-1}.aof-form label{display:block;font-weight:600}.aof-form input,.aof-form textarea{width:100%;margin-top:6px;padding:11px;border:1px solid #b8c0ca;border-radius:6px;font:inherit}.aof-form input:focus,.aof-form textarea:focus{outline:2px solid rgba(23,105,170,.2);border-color:var(--blue)}.aof-check,.aof-confirm{margin:18px 0}.aof-check input,.aof-confirm input,.aof-items input[type=checkbox]{width:auto;margin-right:7px}.aof-table-wrap{overflow-x:auto}.aof-items{width:100%;border-collapse:collapse;min-width:700px}.aof-items th,.aof-items td{padding:11px 9px;border-bottom:1px solid #e1e5ea;text-align:left}.aof-items th{background:#f5f7f9}.aof-items td:nth-child(n+2){width:130px}.aof-items input[type=number]{padding:8px}.aof-adjustments{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.aof-adjustments span{font-size:.8em;color:#68717d}.aof-summary{max-width:440px;margin:24px 0 20px auto;background:#f5f7f9;border-radius:8px;padding:16px}.aof-summary>div{display:flex;justify-content:space-between;padding:6px}.aof-summary .aof-grand{font-size:1.2em;border-top:2px solid #ccd2d9;margin-top:6px;padding-top:12px}.aof-contract{margin:28px 0;padding:20px;border:1px solid #d8dde3;border-radius:9px;background:#fafbfc}.aof-contract h2{margin-top:0}.aof-contract-text{max-height:260px;overflow:auto;margin-bottom:18px;padding:15px;background:#fff;border:1px solid #d8dde3;border-radius:6px}.aof-sign-label{margin-top:18px}.aof-sign-wrap{margin-top:6px;background:#fff;border:1px solid #9da8b4;border-radius:6px;overflow:hidden}.aof-signature{display:block;width:100%;height:180px;touch-action:none;cursor:crosshair;background:linear-gradient(to bottom,transparent 78%,#d4d9df 79%,transparent 80%)}.aof-clear-signature{margin-top:8px;padding:7px 13px;border:1px solid #9da8b4;border-radius:5px;background:#fff;cursor:pointer}.aof-submit{background:var(--blue);color:#fff;border:0;border-radius:7px;padding:13px 24px;font-size:1rem;font-weight:700;cursor:pointer}.aof-submit:hover{filter:brightness(.9)}.aof-success,.aof-notice{max-width:1050px;margin:20px auto;padding:14px 18px;border-radius:7px}.aof-success{background:#e8f7ed;border:1px solid #82c995;color:#165b2a}.aof-notice{background:#fff3cd;border:1px solid #ead38a}@media(max-width:700px){.aof-form{padding:18px}.aof-grid,.aof-adjustments{grid-template-columns:1fr}.aof-grid .aof-wide{grid-column:auto}}
.aof-promo{display:block;margin-top:4px;color:#18733b;font-size:.78em;font-weight:700}
.aof-calendar-status{min-height:24px;margin:8px 0 16px;font-weight:700}.aof-calendar-status.is-checking{color:#59636f}.aof-calendar-status.is-available{color:#18733b}.aof-calendar-status.is-unavailable,.aof-calendar-status.is-error{color:#b32d2e}
.aof-venue-date-picker{min-width:190px}.aof-open-calendar{display:inline-block;padding:7px 11px;border:1px solid #2271b1;border-radius:5px;background:#fff;color:#135e96;cursor:pointer;font-weight:600}.aof-selected-dates{display:block;margin-top:8px;line-height:1.35;color:#17212b}.aof-row-calendar-status{display:block;margin-top:4px;color:#16723b}.aof-calendar-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.55);padding:20px;overflow:auto}.aof-calendar-modal[hidden]{display:none}.aof-calendar-dialog{position:relative;max-width:520px;margin:5vh auto;padding:24px;border-radius:12px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.3)}.aof-calendar-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:30px;cursor:pointer}.aof-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 35px 12px}.aof-calendar-nav button{width:40px;height:36px;border:1px solid #ccd0d4;border-radius:6px;background:#fff;font-size:24px;cursor:pointer}.aof-calendar-title{font-size:20px}.aof-calendar-help{font-size:14px;color:#50575e}.aof-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.aof-calendar-weekday{text-align:center;font-size:12px;font-weight:700;color:#646970}.aof-calendar-grid button{aspect-ratio:1;border:1px solid transparent;border-radius:7px;font-weight:700;cursor:pointer}.aof-calendar-grid button.is-available{background:#dff4e5;color:#126b34;border-color:#8ac69b}.aof-calendar-grid button.is-busy{background:#f8d7da;color:#8a1c25;border-color:#e6a3a8;cursor:not-allowed}.aof-calendar-grid button.is-selected{background:#2271b1;color:#fff;border-color:#135e96}.aof-calendar-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:16px;font-size:13px}.aof-calendar-legend span{display:flex;align-items:center;gap:6px}.aof-calendar-legend i{width:14px;height:14px;border-radius:3px}.aof-calendar-legend .is-available{background:#dff4e5}.aof-calendar-legend .is-busy{background:#f8d7da}.aof-calendar-legend .is-selected{background:#2271b1}.aof-calendar-message{min-height:20px;margin-bottom:0;font-weight:600;color:#50575e}

/* Cohesive customer form theme */
.aof-form{--blue:#146da0;--blue-dark:#0f4f78;--ink:#17324a;--muted:#5e6f7e;--line:#d7e0e8;--surface:#fff;max-width:1120px;padding:34px;background:#f4f7fa;border:1px solid #d7e0e8;border-top:5px solid var(--blue);border-radius:14px;box-shadow:0 14px 38px rgba(23,50,74,.1);color:var(--ink)}
.aof-form h2{margin:34px 0 16px;padding:13px 16px;border:1px solid #d9e4ec;border-left:5px solid var(--blue);border-radius:8px;background:linear-gradient(90deg,#fff 0%,#f7fbfd 100%);color:var(--ink);font-size:1.28rem;line-height:1.25}
.aof-form h2:first-of-type{margin-top:0}
.aof-form p{line-height:1.55}
.aof-grid{gap:16px}
.aof-grid>label{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 2px 7px rgba(23,50,74,.035)}
.aof-form label{color:var(--ink)}
.aof-form input,.aof-form textarea,.aof-form select{min-height:44px;border:1px solid #aebdca;border-radius:7px;background:#fff;color:#17212b;transition:border-color .15s,box-shadow .15s}
.aof-form textarea{min-height:110px;resize:vertical}
.aof-form input:focus,.aof-form textarea:focus,.aof-form select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(20,109,160,.15)}
.aof-form input[type=checkbox],.aof-form input[type=radio]{min-height:0;accent-color:var(--blue)}
.aof-datetime-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,.65fr);gap:8px;margin-top:6px}.aof-datetime-fields input,.aof-datetime-fields select{margin-top:0}
.aof-form fieldset{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:9px;background:#fff}
.aof-form fieldset legend{padding:0 8px;color:var(--blue-dark);font-weight:800}
.aof-form fieldset label{display:flex;align-items:flex-start;gap:9px;margin:9px 0;padding:10px 12px;border:1px solid #e2e8ee;border-radius:7px;background:#f8fafc;font-weight:600}
.aof-form fieldset label:has(input:checked){border-color:#86b9d4;background:#eef8fd}
.aof-form fieldset input[type=radio],.aof-form fieldset input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:2px 0 0;padding:0}
.aof-table-wrap{border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 3px 12px rgba(23,50,74,.045)}
.aof-items{min-width:720px}
.aof-items th,.aof-items td{padding:13px 11px;border-bottom:1px solid #e3e9ee;vertical-align:middle}
.aof-items th{background:#eaf2f7;color:#25465d;font-size:.86rem;letter-spacing:.02em;text-transform:uppercase}
.aof-items tbody tr{transition:background .15s}
.aof-items tbody tr:hover{background:#f8fbfd}
.aof-items tbody tr:has(.aof-use:checked){background:#eef8fd}
.aof-items tbody tr:last-child td{border-bottom:0}
.aof-items td:first-child label{display:flex;align-items:center;gap:5px;font-weight:750}
.aof-open-calendar{padding:9px 13px;border-color:var(--blue);border-radius:7px;color:var(--blue-dark);transition:background .15s,color .15s}
.aof-open-calendar:hover{background:var(--blue);color:#fff}
.aof-summary{margin-top:24px;padding:18px 20px;border:1px solid #bfd3df;border-radius:9px;background:#fff;box-shadow:0 4px 15px rgba(23,50,74,.06)}
.aof-summary .aof-grand{color:var(--ink);font-size:1.25rem}
.aof-summary .aof-grand strong{color:var(--blue-dark);font-size:1.3em}
.aof-notes{display:block;margin:24px 0;padding:16px;border:1px solid var(--line);border-radius:9px;background:#fff}
.aof-contract{padding:22px;border-color:#bfd3df;border-top:4px solid var(--blue);border-radius:10px;background:#fff;box-shadow:0 4px 15px rgba(23,50,74,.055)}
.aof-contract h2{margin:-2px 0 18px;padding:0;border:0;background:transparent}
.aof-contract-text{border-color:var(--line);background:#f8fafc}
.aof-sign-wrap{border:2px solid #91a9ba;border-radius:8px}
.aof-confirm{padding:13px 15px;border:1px solid #d7e0e8;border-radius:8px;background:#f8fafc}
.aof-submit{min-height:48px;border-radius:8px;padding:14px 26px;background:linear-gradient(180deg,var(--blue),var(--blue-dark));box-shadow:0 5px 13px rgba(15,79,120,.22);transition:transform .15s,box-shadow .15s,filter .15s}
.aof-submit:hover{transform:translateY(-1px);box-shadow:0 7px 17px rgba(15,79,120,.27)}
@media(max-width:700px){.aof-form{margin:12px auto;padding:18px 14px;border-radius:10px}.aof-form h2{margin-top:26px;padding:11px 12px}.aof-grid>label{padding:12px}.aof-form fieldset{padding:13px}.aof-contract{padding:16px}.aof-submit{width:100%}.aof-datetime-fields{grid-template-columns:1fr}}

/* Searchable add-on, equipment, and service picker */
.aof-product-picker{margin:34px 0 24px;padding:22px;border:1px solid #c9d9e4;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(23,50,74,.06)}
.aof-product-picker .aof-picker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.aof-product-picker .aof-picker-heading h2{margin:0 0 5px;padding:0;border:0;background:transparent}
.aof-product-picker .aof-picker-heading p{margin:0;color:var(--muted)}
.aof-picker-count{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#eaf4fa;color:var(--blue-dark);font-size:.86rem;font-weight:800}
.aof-picker-tools{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:14px;margin-bottom:12px}
.aof-picker-tools label{font-size:.9rem}
.aof-picker-results-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.aof-picker-results{width:100%;min-height:150px;padding:5px;border:1px solid #aebdca;border-radius:8px;background:#fff}
.aof-picker-results option{padding:9px 10px;border-radius:5px}
.aof-picker-add,.aof-picker-remove{border:0;border-radius:7px;cursor:pointer;font-weight:750}
.aof-picker-add{min-height:44px;padding:11px 16px;background:var(--blue);color:#fff}
.aof-picker-add:disabled{cursor:not-allowed;opacity:.45}
.aof-picker-selected{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.aof-picker-selected h3{margin:0 0 12px;font-size:1.05rem;color:var(--ink)}
.aof-picker-empty{margin:0;padding:14px;border:1px dashed #b9c8d3;border-radius:8px;background:#f8fafc;color:var(--muted)}
.aof-picker-empty[hidden]{display:none}
.aof-picker-cards{display:grid;gap:10px}
.aof-picker-card{display:grid;grid-template-columns:minmax(180px,1fr) 110px 150px auto;align-items:end;gap:14px;padding:14px;border:1px solid #d8e2e9;border-radius:9px;background:#f8fbfd}
.aof-picker-item strong,.aof-picker-item span,.aof-picker-price span,.aof-picker-price strong{display:block}
.aof-picker-item span,.aof-picker-price span{margin-top:3px;color:var(--muted);font-size:.82rem}
.aof-picker-price strong{margin-top:3px;color:var(--blue-dark)}
.aof-picker-card label{font-size:.84rem}
.aof-qty-label{display:flex;align-items:center;justify-content:space-between;gap:8px}
.aof-available-qty{color:var(--blue-dark);font-size:.9em;font-weight:750;white-space:nowrap}
.aof-picker-card input{padding:8px}
.aof-picker-remove{min-height:40px;padding:9px 12px;border:1px solid #c8d2da;background:#fff;color:#9b2c2c}
@media(max-width:760px){.aof-picker-tools,.aof-picker-results-wrap,.aof-picker-card{grid-template-columns:1fr}.aof-picker-add{width:100%}.aof-picker-card{align-items:stretch}.aof-picker-remove{width:100%}.aof-product-picker .aof-picker-heading{display:block}.aof-picker-count{display:inline-block;margin-top:10px}}
