:root{--ink:#0e0e10;--ink-soft:#52525b;--ink-faint:#8a8a93;--charcoal-900:#18181b;--charcoal-700:#3f3f46;--charcoal-200:#e4e4e7;--charcoal-100:#f0f0f1;--charcoal-50:#f7f7f8;--paper:#fff;--page-bg:#f5f5f4;--accent:#b8813f;--accent-dark:#96682f;--accent-tint:#fbf1e1;--success:#1a7a4c;--success-tint:#e7f5ee;--warning:#a56a0a;--warning-tint:#fdf1de;--danger:#c0392b;--danger-tint:#fdecea;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--shadow-sm:0 1px 2px #0e0e100d, 0 1px 1px #0e0e100a;--shadow-md:0 12px 24px -8px #0e0e1024, 0 2px 6px #0e0e100f;--shadow-lg:0 24px 48px -12px #0e0e1038;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-display:"Fraunces", Georgia, serif;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--page-bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.01em;font-weight:600;font-family:var(--font-display);margin:0}p{margin:0}button,input,select,textarea{font-family:inherit}::selection{background:var(--accent-tint);color:var(--accent-dark)}a{color:var(--accent-dark)}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.page{min-height:100vh;padding:var(--space-6) var(--space-4) calc(var(--space-8) + 60px)}.container{gap:var(--space-5);max-width:1180px;margin:0 auto;display:grid}.main-grid,.column{gap:var(--space-5);display:grid}.card{background:var(--paper);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--charcoal-100)}.section-header{justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.section-title{letter-spacing:-.02em;align-items:center;gap:var(--space-3);font-size:1.5rem;display:flex}.step-icon{border-radius:var(--radius-sm);background:var(--accent-tint);width:38px;height:38px;color:var(--accent-dark);flex:none;justify-content:center;align-items:center;display:inline-flex}.muted{margin-top:var(--space-1);color:var(--ink-soft);font-size:.9rem;line-height:1.55}.pill{background:var(--charcoal-100);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);white-space:nowrap;font-size:.85rem;font-weight:600}.hero{background:var(--paper);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--charcoal-100)}.kicker{margin:0 0 var(--space-2);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-dark);font-size:.75rem;font-weight:700}.hero-grid{gap:var(--space-6);grid-template-columns:minmax(0,1.5fr) minmax(140px,.5fr);align-items:center;display:grid}.hero-illustration{filter:drop-shadow(0 12px 20px #b8813f2e);justify-self:end;width:100%;max-width:180px}.hero-title{font-size:clamp(2rem,4vw,2.75rem);line-height:1.05}.hero-subtitle{max-width:640px;margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:1rem;line-height:1.6}.view-switch-row{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.view-switch-button{border:1px solid var(--charcoal-200);background:var(--paper);color:var(--ink);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);font-size:.85rem;font-weight:600}.view-switch-button:hover{border-color:var(--charcoal-700)}.view-switch-button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.stat-grid{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:1fr 1fr;max-width:420px;display:grid}.stat-card{background:var(--charcoal-50);border-radius:var(--radius-md);padding:var(--space-4)}.stat-label{gap:var(--space-2);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;align-items:center;font-size:.72rem;font-weight:700;display:flex}.stat-value{margin:var(--space-2) 0 0;font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.btn-primary{border-radius:var(--radius-md);background:var(--ink);min-height:52px;color:var(--paper);cursor:pointer;padding:var(--space-3) var(--space-5);transition:transform .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease);border:0;font-size:1rem;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--charcoal-900);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-delete:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-secondary{border:1px solid var(--charcoal-200);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);padding:var(--space-3) var(--space-4);cursor:pointer;transition:border-color .15s var(--ease), background .15s var(--ease), transform .15s var(--ease);white-space:nowrap;flex:1;font-size:.9rem;font-weight:600}.btn-secondary:hover{border-color:var(--charcoal-700);background:var(--charcoal-50)}.btn-secondary:active{transform:scale(.97)}.btn-delete{border:1px solid var(--charcoal-200);border-radius:var(--radius-sm);background:var(--paper);color:var(--danger);padding:var(--space-3) var(--space-4);cursor:pointer;font-size:.9rem;font-weight:600}.btn-delete:hover{background:var(--danger-tint);border-color:var(--danger)}.btn-sent{border:1px solid var(--success);border-radius:var(--radius-sm);background:var(--success-tint);color:var(--success);padding:var(--space-3) var(--space-4);cursor:pointer;transition:border-color .15s var(--ease), background .15s var(--ease), transform .15s var(--ease);white-space:nowrap;flex:1;font-size:.9rem;font-weight:600}.btn-sent:hover{border-color:var(--success);background:#d4edde}.btn-sent:active{transform:scale(.97)}.btn-resave{position:relative}.btn-resave:hover{border-color:var(--success);background:#d4edde}.btn-resave .btn-resave-default{display:inline}.btn-resave .btn-resave-hover,.btn-resave:hover .btn-resave-default{display:none}.btn-resave:hover .btn-resave-hover{display:inline}.deceased-section{background:var(--charcoal-50,#f9f9f9);border:1px solid var(--charcoal-100,#e8e8e8);border-left:3px solid var(--charcoal-400,#888);border-radius:var(--radius-sm);padding:var(--space-5);margin-bottom:var(--space-5)}.deceased-section-label{color:var(--charcoal-700,#333);letter-spacing:.02em;margin-bottom:var(--space-1);font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-weight:500}.deceased-section-hint{color:var(--charcoal-400,#888);margin-bottom:var(--space-4);font-size:.85rem;font-weight:300}.form{gap:var(--space-4);margin-top:var(--space-5);display:grid}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.field{gap:var(--space-2);color:var(--ink);font-size:.85rem;font-weight:600;display:grid}.input,.select{box-sizing:border-box;border-radius:var(--radius-sm);border:1px solid var(--charcoal-200);background:var(--paper);width:100%;color:var(--ink);padding:var(--space-3) var(--space-4);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);outline:none;font-family:inherit;font-size:.95rem;font-weight:500}.select{cursor:pointer;min-height:48px;font-weight:600}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.input.error,.select.error{border-color:var(--danger);background:var(--danger-tint);box-shadow:0 0 0 3px #c0392b1f}textarea.input{resize:vertical;min-height:96px}.summary-box{border-radius:var(--radius-md);background:var(--charcoal-50);padding:var(--space-5);margin-top:var(--space-2)}.summary-title{margin:0 0 var(--space-3);font-size:1.05rem}.info-box{border-radius:var(--radius-sm);background:var(--accent-tint);color:var(--accent-dark);padding:var(--space-3) var(--space-4);font-size:.88rem;font-weight:600}.error-box{border-radius:var(--radius-sm);background:var(--danger-tint);color:var(--danger);padding:var(--space-3) var(--space-4);font-size:.88rem;font-weight:600}.service-grid{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.service-card{border:1px solid var(--charcoal-200);background:var(--paper);color:var(--ink);border-radius:var(--radius-md);padding:var(--space-4);text-align:left;cursor:pointer;transition:transform .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease), border-color .15s var(--ease)}.service-card:hover{border-color:var(--charcoal-700);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.service-card.active{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:var(--shadow-md)}.service-top-row{justify-content:space-between;gap:var(--space-3);display:flex}.service-name{color:inherit;font-size:1rem}.service-description{margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:.85rem;line-height:1.5}.service-card.active .service-description{color:#ffffffb8}.check-circle{border-radius:var(--radius-sm);background:var(--paper);border:1.5px solid var(--charcoal-200);width:32px;height:32px;color:var(--ink);transition:transform .15s var(--ease);flex:none;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:inline-flex}.service-card.active .check-circle{color:var(--paper);background:#ffffff1f;border-color:#fff6}.service-card:active .check-circle{transform:scale(.92)}.service-meta{gap:var(--space-1);margin-top:var(--space-4);font-size:.85rem;font-weight:600;display:grid}.service-location-list{gap:var(--space-3);margin-top:var(--space-4);display:grid}.service-location-row{gap:var(--space-4);border:1px solid var(--charcoal-200);border-radius:var(--radius-md);padding:var(--space-4);grid-template-columns:1fr minmax(260px,360px);align-items:center;display:grid}.location-price{margin:var(--space-2) 0 0;font-size:.88rem;font-weight:700}.empty-box{margin-top:var(--space-4);border-radius:var(--radius-md);background:var(--charcoal-50);padding:var(--space-4);color:var(--ink-soft);font-size:.9rem;font-weight:600}.date-dropdown-group{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:1fr 1.5fr 1fr;display:grid}.time-range-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.confirmation-icon{border-radius:var(--radius-pill);background:var(--success-tint);width:52px;height:52px;color:var(--success);margin-bottom:var(--space-4);justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:inline-flex}.confirmation-summary{margin:var(--space-5) 0;border-radius:var(--radius-md);background:var(--charcoal-50);padding:var(--space-5);gap:var(--space-2);font-size:.92rem;display:grid}.deposit-notice{border-radius:var(--radius-md);background:var(--warning-tint);color:var(--warning);padding:var(--space-4);margin-bottom:var(--space-5);font-size:.9rem;font-weight:600;line-height:1.6}.admin-toolbar{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.admin-load-message{color:var(--ink-soft);font-size:.85rem;font-weight:600}.booking-list{gap:var(--space-5);margin-top:var(--space-5);display:grid}.booking-card{border:1px solid var(--charcoal-100);border-radius:var(--radius-lg);padding:var(--space-5);padding-top:var(--space-6);background:var(--paper);box-shadow:var(--shadow-sm);position:relative}.booking-card-top-bar{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);background:var(--accent);height:6px;position:absolute;top:0;left:0;right:0}.booking-header{justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--charcoal-100);align-items:flex-start;display:flex}.deceased-name-tag{color:var(--charcoal-400,#888);letter-spacing:.03em;margin-bottom:2px;font-family:Cormorant Garamond,Georgia,serif;font-size:.85rem;font-style:italic}.booking-name{font-size:1.1rem}.booking-contact{margin:var(--space-1) 0 0;color:var(--ink-soft);font-size:.82rem}.status-badge{border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.status-badge.pending{background:var(--warning-tint);color:var(--warning)}.status-badge.confirmed{background:var(--success-tint);color:var(--success)}.booking-details{background:var(--charcoal-50);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4)}.booking-date{margin:0;font-size:.88rem;font-weight:700}.booking-total{margin:var(--space-3) 0 0;font-size:1rem;font-weight:700}.venue-box{margin-top:var(--space-3);gap:var(--space-1);display:grid}.note{color:var(--ink-soft);margin-top:var(--space-2);font-size:.88rem;font-style:italic;line-height:1.5}.admin-extras-box{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--charcoal-50);border:1px solid var(--charcoal-100)}.admin-extras-title{margin:0 0 var(--space-3);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:.75rem;font-weight:700}.admin-extras-title.spaced{margin-top:var(--space-5)}.assignment-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.assignment-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--paper);border:1px solid var(--charcoal-200);display:grid}.assignment-card-header{justify-content:space-between;gap:var(--space-2);align-items:center;display:flex}.assignment-badge{border-radius:var(--radius-pill);background:var(--charcoal-100);color:var(--ink);padding:var(--space-1) var(--space-2);white-space:nowrap;font-size:.72rem;font-weight:700}.assignment-badge.sent{background:var(--success-tint);color:var(--success)}.operator-email-button{border:1.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--ink);width:100%;min-height:44px;color:var(--paper);padding:var(--space-3) var(--space-4);cursor:pointer;text-align:center;transition:background .15s var(--ease);font-size:.88rem;font-weight:600}.operator-email-button:hover{background:var(--charcoal-900)}.operator-email-button.sent{background:var(--success-tint);color:var(--success);border-color:var(--success-tint)}.admin-checkbox-label{align-items:center;gap:var(--space-2);margin-top:var(--space-3);cursor:pointer;font-size:.9rem;font-weight:500;display:flex}.admin-checkbox-label input{accent-color:var(--accent);width:16px;height:16px}.action-row{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.booking-shell{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);grid-template-columns:minmax(280px,34%) 1fr;display:grid;overflow:hidden}.booking-left{padding:var(--space-7) var(--space-6);justify-content:space-between;gap:var(--space-6);background:linear-gradient(#06070a8c 0%,#08090db8 55%,#06070aeb 100%),url(https://images.pexels.com/photos/9010690/pexels-photo-9010690.jpeg?auto=compress&cs=tinysrgb&w=1200) 50%/cover no-repeat;flex-direction:column;min-height:560px;display:flex;position:relative}.booking-left .kicker{color:var(--accent)}.booking-left .hero-title,.booking-left .stat-value{color:var(--paper)}.booking-left .hero-subtitle{color:#ffffffb3}.booking-left .stat-grid{max-width:none;margin-top:var(--space-5)}.booking-left .stat-card{background:#ffffff14;border:1px solid #ffffff24}.booking-left .stat-label{color:#fff9}.booking-left>div{flex-direction:column;height:100%;display:flex}.brand-stats{gap:var(--space-6);padding-top:var(--space-6);margin-top:auto;display:flex}.brand-stats b{color:var(--paper);font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700;display:block}.brand-stats span{text-transform:uppercase;letter-spacing:.08em;color:#ffffff8c;font-size:.68rem;font-weight:700}.booking-left .view-switch-button{color:var(--paper);background:0 0;border-color:#ffffff4d}.booking-left .view-switch-button.active{background:var(--paper);color:var(--ink);border-color:var(--paper)}.booking-right{padding:var(--space-7) var(--space-6);background:linear-gradient(160deg,#fafaf966 0%,#fafaf9b8 65%),url(https://images.pexels.com/photos/635284/pexels-photo-635284.jpeg?auto=compress&cs=tinysrgb&w=1200) 50%/cover no-repeat;position:relative}.wizard-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-6) var(--space-5);box-shadow:var(--shadow-md);background:#fffc;border:1px solid #e4e4e799}.step-progress{margin-bottom:var(--space-6);align-items:flex-start;display:flex}.step-pip{flex:1;align-items:center;display:flex}.step-pip:last-child{flex:none}.step-pip-circle{border-radius:var(--radius-pill);background:var(--charcoal-100);width:30px;height:30px;color:var(--ink-soft);transition:background .2s var(--ease), color .2s var(--ease);flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.step-pip-active .step-pip-circle{background:var(--ink);color:var(--paper);animation:pip-pop .3s var(--ease)}.step-pip-done .step-pip-circle{background:var(--accent);color:var(--paper);animation:pip-pop .3s var(--ease)}@keyframes pip-pop{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(1)}}.step-pip-label{margin-left:var(--space-2);color:var(--ink-soft);white-space:nowrap;font-size:.82rem;font-weight:600;display:none}.step-pip-active .step-pip-label,.step-pip-done .step-pip-label{color:var(--ink)}.step-pip-line{background:var(--charcoal-200);height:1px;margin:0 var(--space-3);flex:1}.step-content{animation:step-fade-in .28s var(--ease)}@keyframes step-fade-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.step-nav{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6);display:flex}.step-nav .btn-primary{min-height:46px;padding:var(--space-2) var(--space-6)}.sticky-summary-bar{left:0;right:0;bottom:var(--space-5);width:min(680px, calc(100% - 2 * var(--space-5)));justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--ink);color:var(--paper);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);box-shadow:var(--shadow-lg);z-index:5;animation:bar-slide-in .3s var(--ease);margin:0 auto;font-size:.9rem;display:flex;position:fixed}.sticky-summary-bar strong{font-variant-numeric:tabular-nums}@keyframes bar-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width>=640px){.step-pip-label{display:inline}}.spinner{width:14px;height:14px;margin-right:var(--space-2);vertical-align:-2px;border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.app-footer{text-align:center;padding:var(--space-6) 0 var(--space-3);color:var(--ink-faint);font-size:.82rem}@media (width<=860px){.hero-grid{grid-template-columns:1fr}.hero-illustration{display:none}.stat-grid{max-width:320px}.booking-shell{grid-template-columns:1fr}.booking-left{min-height:0}.booking-left .stat-grid{max-width:320px}}@media (width<=720px){.page{padding:var(--space-4) var(--space-3) calc(var(--space-7) + 76px)}.sticky-summary-bar{left:var(--space-3);right:var(--space-3);bottom:max(var(--space-3), env(safe-area-inset-bottom));width:auto}.card,.hero,.wizard-card{padding:var(--space-5) var(--space-4);border-radius:var(--radius-md)}.booking-left,.booking-right{padding:var(--space-5) var(--space-4)}.hero-title{font-size:1.9rem}.hero-subtitle{font-size:.92rem}.stat-grid{grid-template-columns:1fr 1fr;max-width:none}.service-grid,.assignment-grid,.date-dropdown-group,.time-range-grid,.form-grid,.service-location-row{grid-template-columns:1fr}}
