:root{--green-900: #231f1a;--green-800: #9d6810;--green-700: #b88319;--green-100: #fbf4e3;--ink: #161411;--muted: #756f66;--line: #e2dbd0;--surface-soft: #faf8f4;color:var(--ink);background:#f6f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:hidden}.widget{background:radial-gradient(circle at 78% 2%,rgb(207 159 54 / 10%),transparent 32rem),linear-gradient(180deg,#fffefd,#f6f5f2 62%,#eeece7);min-height:100vh;padding:14px}.panel{background:#fffefd;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 44px #16141117;margin:0 auto;max-width:760px;padding:20px}h1{font-size:24px;letter-spacing:0;line-height:1.15;margin:0}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}form,.stack-form{display:grid;gap:15px}label{color:#263832;display:grid;font-size:13px;font-weight:800;gap:7px}.widget-select-field{color:#263832;display:grid;font-size:13px;font-weight:800;gap:7px;min-width:0;position:relative}.widget-select-label{color:#263832}select,input{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;padding:11px 12px}.widget-select-trigger{align-items:center;background:#fff;border:1px solid #eadfce;border-radius:8px;color:#17120d;display:flex;font:inherit;font-weight:800;justify-content:center;min-height:45px;padding:11px 38px 11px 12px;position:relative;text-align:center;width:100%}.widget-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-schedule-row,.appointment-two-column-row,.availability-filter-grid{align-items:end;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-two-column-row{align-items:start}.appointment-schedule-row>label,.appointment-schedule-row .widget-select-field,.appointment-two-column-row>label,.availability-filter-grid>label,.availability-filter-grid .widget-select-field{display:grid;gap:7px;grid-template-rows:auto 45px}.appointment-schedule-row input,.appointment-schedule-row .widget-select-trigger,.appointment-two-column-row input,.availability-filter-grid input,.availability-filter-grid .widget-select-trigger{box-sizing:border-box;height:45px;min-height:45px}.availability-finder{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;display:grid;gap:12px;padding:14px}.availability-finder h3{color:var(--ink);font-size:16px;margin:0 0 3px}.availability-finder p{color:var(--muted);font-size:13px;font-weight:700;margin:0}.availability-finder-header{align-items:start;display:flex;justify-content:space-between}.availability-collapsible{display:grid}.availability-collapsible-inner{display:grid;gap:12px}.availability-results{display:grid;gap:12px;max-height:330px;overflow-y:auto;padding-right:2px}.availability-day{display:grid;gap:8px}.availability-day>span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.availability-slot-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.availability-slot-grid button{background:#fff;border:1px solid var(--line);color:var(--ink);display:grid;gap:4px;justify-items:center;min-height:56px;padding:9px 10px}.availability-slot-grid button.selected{background:linear-gradient(135deg,#c89a42,#9a6b13);border-color:#b88319;color:#fff}.availability-slot-grid button span{font-size:12px;font-weight:600}.widget-select-trigger:after{border-bottom:2px solid currentColor;border-right:2px solid currentColor;color:#17120d;content:"";height:7px;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-64%) rotate(45deg);width:7px}select:focus,input:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #b883192e;outline:none}.widget-select-trigger:focus{border-color:#d7c6aa;box-shadow:0 0 0 3px #b7801e24;outline:none}.widget-select-options{background:#fffdf9;border:1px solid #eadfce;border-radius:8px;box-shadow:0 16px 34px #17120d1f;display:grid;gap:6px;left:0;max-height:min(280px,calc(100vh - 48px));overflow-y:auto;padding:8px;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.widget-select-options button{align-items:center;background:#fff;border:1px solid #eadfce;border-radius:8px;color:#17120d;display:flex;font-size:13px;font-weight:800;justify-content:center;min-height:42px;padding:0 12px;text-align:center}.widget-select-trigger:hover:not(:disabled),.widget-select-trigger[aria-expanded=true],.widget-select-options button:hover:not(:disabled),.widget-select-options button[aria-selected=true]{background:#fbf4e3;border-color:#eadfce;color:#6f4a0b}.widget-select-trigger:hover:not(:disabled):after,.widget-select-trigger[aria-expanded=true]:after{color:#6f4a0b}.checkbox{align-items:start;display:grid;font-weight:600;gap:10px;grid-template-columns:auto 1fr}.checkbox input{accent-color:var(--green-800)}button{background:linear-gradient(135deg,#c89a42,#9a6b13);border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-weight:800;padding:12px 14px}button:hover:not(:disabled){background:linear-gradient(135deg,#d3aa55,#805408)}button:disabled{background:#e7dfd1;color:#81786d;cursor:not-allowed}.manage-link{color:var(--green-800);font-weight:800}.appointment-summary-card{display:grid;gap:14px}.appointment-change-form{margin-top:18px}.appointment-summary-hero{background:radial-gradient(circle at top right,rgb(200 154 66 / 18%),transparent 18rem),#fffdf8;border:1px solid var(--line);border-radius:12px;display:grid;gap:7px;padding:18px}.appointment-summary-hero span{background:#fbf4e3;border:1px solid #f1dfb9;border-radius:999px;color:var(--green-800);font-size:12px;font-weight:900;justify-self:start;padding:6px 10px}.appointment-summary-hero h2{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1.1;margin:0}.appointment-summary-hero p{color:var(--muted);font-weight:750;margin:0}.appointment-summary-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-summary-grid div{background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;gap:6px;min-height:88px;padding:13px}.appointment-summary-grid span{color:var(--muted);font-size:12px;font-weight:900}.appointment-summary-grid strong{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:18px;line-height:1.15}.appointment-summary-note{background:#fbf4e3;border:1px solid #f1dfb9;border-radius:10px;color:#6f4404;font-weight:750;margin:0;padding:12px}.appointment-summary-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr}.danger-button{background:#fff4f2;border:1px solid #f2c8c0;color:#9f2b1d}.danger-button:hover:not(:disabled){background:#ffe8e4;color:#8f2418}.confirm-backdrop{align-items:center;background:#1614116b;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:40}.confirm-card{background:#fffefd;border:1px solid var(--line);border-radius:12px;box-shadow:0 28px 80px #16141129;display:grid;gap:12px;max-width:420px;padding:20px;width:100%}.confirm-card h2,.confirm-card p{margin:0}.confirm-card h2{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:24px}.confirm-card p{color:var(--muted);font-weight:700}.timezone,.empty{color:var(--muted);margin:0}.payment-note,.payment-panel{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;gap:6px;padding:12px}.payment-note strong,.payment-panel strong{color:var(--green-900)}.payment-note span,.payment-panel span{color:var(--muted);font-size:13px}.payment-panel{margin-top:12px}.alert{background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;color:#9f1239;margin-bottom:14px;padding:10px 12px}.actions{display:grid;gap:10px;grid-template-columns:1fr 1fr}.actions button:first-child{background:#fbf4e3;color:var(--green-900)}.summary,.success{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;display:grid;gap:8px;padding:16px}.summary h2,.success h2,.summary p,.success p{margin:0}@media(max-width:460px){.widget{padding:8px}.panel{border-radius:10px;padding:14px}h1{font-size:22px}.modal-header{align-items:flex-start;gap:10px}.appointment-schedule-row,.appointment-two-column-row,.availability-filter-grid,.appointment-summary-grid,.appointment-summary-actions,.actions{grid-template-columns:1fr}.availability-finder{padding:12px}.availability-finder-header{align-items:flex-start;gap:10px}.availability-finder h3{font-size:17px}.availability-slot-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.availability-slot-grid button{min-height:70px;padding:10px 8px}.availability-slot-grid button strong{font-size:20px}.appointment-summary-hero{padding:14px}.appointment-summary-hero h2{font-size:24px}}@media(max-width:360px){.availability-slot-grid{grid-template-columns:1fr}}
