@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url("/static/frontend/dist/assets/manrope-latin-400-normal.1589a53d0b0e.woff2")format("woff2"),url("/static/frontend/dist/assets/manrope-latin-400-normal.49e0ab436b48.woff")format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url("/static/frontend/dist/assets/manrope-latin-500-normal.f95b8f975304.woff2")format("woff2"),url("/static/frontend/dist/assets/manrope-latin-500-normal.1843599bf4bb.woff")format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("/static/frontend/dist/assets/manrope-latin-700-normal.ed9e261b92db.woff2")format("woff2"),url("/static/frontend/dist/assets/manrope-latin-700-normal.70ae591b82c9.woff")format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("/static/frontend/dist/assets/manrope-latin-800-normal.63c74bc8894a.woff2")format("woff2"),url("/static/frontend/dist/assets/manrope-latin-800-normal.6268f3a79a07.woff")format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url("/static/frontend/dist/assets/cormorant-garamond-latin-600-normal.bf1e09fb81d7.woff2")format("woff2"),url("/static/frontend/dist/assets/cormorant-garamond-latin-600-normal.84183b559d32.woff")format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url("/static/frontend/dist/assets/cormorant-garamond-latin-700-normal.7b927d350248.woff2")format("woff2"),url("/static/frontend/dist/assets/cormorant-garamond-latin-700-normal.a8a0a3e39ca8.woff")format("woff")}:root{--bg-deep:#f3eee4;--bg-soft:#e2d8c8;--panel:#fffaf3eb;--panel-strong:#f7f1e8;--panel-muted:#f1e9dde0;--ink:#2f2a21;--ink-soft:#6d6557;--accent:#5d6a49;--accent-soft:#b89a6c;--ok:#7a8557;--danger:#d62828;--neutral:#6d5f4a;--line:#d5c8b6;--line-strong:#b8aa96;--shadow-lg:0 28px 58px #4f3e2329;--shadow-sm:0 10px 26px #4f3e2314;--accent-rgb:93, 106, 73;--accent-soft-rgb:184, 154, 108;--ok-rgb:122, 133, 87;--neutral-rgb:109, 95, 74;--ink-rgb:47, 42, 33;--line-rgb:213, 200, 182}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 12% 16%, rgba(var(--accent-soft-rgb), .25), transparent 28%), radial-gradient(circle at 88% 78%, rgba(var(--accent-rgb), .16), transparent 34%), linear-gradient(145deg, var(--bg-deep), var(--bg-soft) 54%, #d4cec0);min-height:100vh;margin:0;font-family:Manrope,Trebuchet MS,sans-serif}#root{max-width:1360px;margin:0 auto;padding:1.2rem}.card{background:var(--panel);border:1px solid rgba(var(--line-rgb), .75);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;margin-bottom:1rem;padding:1.15rem}header.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .8rem;font-family:Cormorant Garamond,Palatino Linotype,serif;line-height:1.12}h1{font-size:2.3rem}h2{font-size:1.45rem}h3{font-size:1.18rem}.auth-card{max-width:60rem;margin:5vh auto 0;position:relative;overflow:hidden}.auth-card:before,.brand-header:before{content:"";background:radial-gradient(circle, rgba(var(--accent-soft-rgb), .26), transparent 68%);pointer-events:none;width:220px;height:220px;position:absolute;inset:0 auto auto 0;transform:translate(-24%,-34%)}.brand-header{position:relative}.brand-lockup{gap:.22rem;display:grid}.brand-lockup h1{margin-bottom:.1rem}.brand-lockup--compact h1{font-size:2rem}.brand-meta{color:var(--neutral);font-weight:700}.brand-lockup .eyebrow{color:var(--accent);margin-bottom:0}.brand-header .inline-actions{z-index:1;position:relative}label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.28rem;font-size:.84rem;font-weight:700;display:block}input,select,button,textarea{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;padding:.65rem .75rem;font-size:.96rem;transition:border-color .18s,transform .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:rgba(var(--accent-rgb), .55);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .1);outline:none}button{background:var(--accent);color:#fff;cursor:pointer;border:none;font-weight:700}button:hover{filter:brightness(1.05);transform:translateY(-1px)}button.secondary{background:var(--neutral)}button.ghost{border:1px solid var(--line-strong);color:var(--ink);background:0 0}button.danger{background:var(--danger)}button.ok{background:var(--ok)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button:focus-visible{box-shadow:0 0 0 3px rgba(var(--accent-rgb), .5);outline:none}button:focus:not(:focus-visible){box-shadow:none}a:focus-visible{box-shadow:0 0 0 3px rgba(var(--accent-rgb), .35);border-radius:6px;outline:none}.grid{gap:.95rem;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr);align-items:start;gap:1rem;display:grid}.dashboard-layout--booking-stack{grid-template-columns:1fr}.metrics-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;display:grid}.metric-card{box-shadow:var(--shadow-sm);background:linear-gradient(#fffffffa,#f5f8fbed);border:1px solid #ffffff73;border-radius:20px;padding:1rem}.metric-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.metric-value{margin-top:.25rem;font-size:1.45rem;font-weight:800}.metric-note{color:var(--ink-soft);margin-top:.25rem;font-size:.84rem}.section-header{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.section-header p{margin:0}.section-header h2,.section-header h3{margin:0 0 .2rem}.small{color:var(--ink-soft);font-size:.84rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.3rem;font-size:.76rem}.inline-actions{flex-wrap:wrap;gap:.55rem;display:flex}.button-auto{width:auto}.dog-form-panel{border:1px solid rgba(var(--line-rgb), .75);background:#ffffff9e;border-radius:18px;margin-bottom:1rem;padding:1rem}.nav-tabs{flex-wrap:wrap;gap:.45rem;display:flex}.subnav-sticky{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--line-rgb), .65);box-shadow:var(--shadow-sm);background:#f6f8fbe0;border-radius:18px;padding:.85rem;position:sticky;top:.75rem}.breadcrumb{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.6rem;font-size:.85rem;display:flex}.breadcrumb a{color:inherit;border-bottom:1px dashed rgba(var(--ink-rgb), .25);text-decoration:none}.breadcrumb a:hover{color:var(--ink);border-bottom-color:rgba(var(--ink-rgb), .45)}.breadcrumb .sep{opacity:.6}.nav-tabs button,.nav-tabs a{width:auto;padding:.5rem .8rem}.social-auth-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.55rem;display:grid}.social-auth-btn{width:100%;color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:14px;justify-content:flex-start;align-items:center;gap:.75rem;padding:.55rem .85rem;font-size:.92rem;font-weight:700;line-height:1.2;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 1px 2px #2f2a210f}.social-auth-btn:hover:not(:disabled){border-color:rgba(var(--ink-rgb), .35);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.social-auth-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.social-auth-btn__icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.social-auth-btn__svg{width:22px;height:22px;display:block}.social-auth-btn__text{text-align:left;flex:1}.social-auth-btn--facebook{background:#fff;border-color:#1877f259}.social-auth-btn--facebook:hover:not(:disabled){border-color:#1877f28c}.nav-tabs a{border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;font-weight:700;line-height:1.1;text-decoration:none;display:inline-flex}.nav-tabs a.secondary{background:var(--neutral);border-color:var(--line-strong);color:var(--ink)}.nav-tabs a.active{background:var(--ok);border-color:rgba(var(--ok-rgb), .4);color:#fff}.nav-tabs button.active{background:var(--ok)}.appointment-card__link{color:inherit;text-decoration:none}.appointment-card__link:hover{text-decoration:underline;-webkit-text-decoration-color:rgba(var(--ink-rgb), .35);text-decoration-color:rgba(var(--ink-rgb), .35)}.empty-state-link{border:1px solid var(--line-strong);background:var(--neutral);color:var(--ink);border-radius:12px;justify-content:center;align-items:center;padding:.45rem .7rem;font-weight:700;line-height:1.1;text-decoration:none;display:inline-flex}.empty-state-link:hover{border-color:rgba(var(--ink-rgb), .35)}.banner{border-radius:14px;padding:.75rem .85rem;font-weight:600}.banner.error{color:#8f1d1d;background:#d628281f}.banner.success{background:rgba(var(--ok-rgb), .14);color:#1a665d}.notice-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.notice-list li{background:rgba(var(--ink-rgb), .05);border-radius:12px;padding:.55rem .65rem}.toolbar{align-items:start;gap:.9rem;margin-bottom:1rem;display:grid}.toolbar input[type=text],.toolbar input:not([type]){max-width:560px}.wizard-card{overflow:hidden}.wizard-layout{grid-template-columns:minmax(210px,240px) minmax(0,1fr);grid-template-areas:"rail stage""summary summary";align-items:start;gap:1rem;display:grid}.wizard-stage,.summary-panel{background:var(--panel-muted);border-radius:18px;min-width:0;padding:1rem}.wizard-layout>.step-rail{grid-area:rail;align-self:start}.wizard-layout>.wizard-stage{overscroll-behavior-x:contain;grid-area:stage;overflow-x:auto}.wizard-stage .choice-grid{max-width:100%}.summary-panel{box-sizing:border-box;overflow-wrap:anywhere;grid-area:summary;align-self:start;width:100%}.summary-panel strong{word-break:break-word}.wizard-actions{margin-top:1rem}.step-rail{gap:.6rem;display:grid}.step-rail__item{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff;grid-template-columns:42px 1fr;align-items:center;gap:.8rem;display:grid}.step-rail__item small{color:var(--ink-soft);margin-top:.18rem;display:block}.step-rail__item.current{border-color:rgba(var(--accent-rgb), .45);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.step-rail__item.complete{border-color:rgba(var(--ok-rgb), .3)}.step-rail__index{background:rgba(var(--neutral-rgb), .12);border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:800;display:inline-flex}.step-rail__item.current .step-rail__index{background:rgba(var(--accent-rgb), .14);color:var(--accent)}.step-rail__item.complete .step-rail__index{background:rgba(var(--ok-rgb), .14);color:var(--ok)}.choice-grid,.dog-grid,.appointment-card-grid{gap:.85rem;display:grid}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.choice-card,.chip-card{text-align:left;color:var(--ink);border:1px solid var(--line);background:#fff}.choice-card.active,.chip-card.active{border-color:rgba(var(--accent-rgb), .55);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.choice-card span,.choice-card small,.chip-card small{color:var(--ink-soft);display:block}.dog-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dog-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;padding:.9rem}.dog-card.selected{border-color:rgba(var(--ok-rgb), .4);background:rgba(var(--ok-rgb), .05)}.dog-card__image{object-fit:cover;border-radius:14px;width:100%;height:180px;margin-bottom:.8rem;display:block}.dog-card__placeholder{background:linear-gradient(135deg, rgba(var(--neutral-rgb), .12), rgba(var(--accent-soft-rgb), .18));color:var(--neutral);justify-content:center;align-items:center;font-size:2rem;font-weight:800;display:flex}.chip-summary,.dog-chip-grid{flex-wrap:wrap;gap:.55rem;display:flex}.chip-pill{background:rgba(var(--ok-rgb), .12);color:var(--ok);border-radius:999px;align-items:center;padding:.35rem .7rem;font-weight:700;display:inline-flex}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;display:grid}.detail-grid.compact{margin-bottom:.9rem}.detail-panel{background:rgba(var(--ink-rgb), .05);border-radius:16px;padding:.85rem}.slot-card,.section-card{background:var(--panel-strong)}.slot-card.focus{border:1px solid rgba(var(--accent-rgb), .38);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.slot-suggestion-grid{gap:.85rem;margin-top:.9rem;display:grid}.slot-suggestion-day{border:1px solid var(--line);background:#ffffffc7;border-radius:18px;padding:.9rem}.slot-option-list{gap:.55rem;display:grid}.slot-option{text-align:left;color:var(--ink);border:1px solid var(--line);background:#fff}.slot-option.active{border-color:rgba(var(--ok-rgb), .45);box-shadow:0 0 0 4px rgba(var(--ok-rgb), .08)}.slot-option strong,.slot-option small{display:block}.slot-option small{color:var(--ink-soft);margin-top:.2rem}.availability-calendar{gap:1rem;margin-top:.9rem;display:grid}.availability-week{gap:.6rem;display:grid}.availability-day{min-height:220px}.availability-day__slots{align-content:start}.availability-day__empty{border:1px dashed rgba(var(--line-rgb), .85);color:var(--ink-soft);background:#ffffffb8;border-radius:14px;padding:.75rem;font-size:.82rem}.availability-slot{width:100%}.board-grid{gap:1rem;display:grid}.appointment-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.appointment-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;padding:.95rem}.appointment-card__head{justify-content:space-between;align-items:flex-start;gap:.7rem;margin-bottom:.85rem;display:flex}.appointment-card__badges{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.appointment-card__payment{color:var(--ink-soft);flex-wrap:wrap;gap:.55rem;margin-bottom:.8rem;font-size:.84rem;display:flex}.appointment-card__actions{margin-top:.8rem}.empty-state{text-align:center;border:1px dashed var(--line-strong);min-height:120px;color:var(--ink-soft);background:#f7f1e8b8;border-radius:18px;place-items:center;padding:1rem;display:grid}.empty-state .small{margin-top:.25rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem}.badge{border-radius:999px;justify-content:center;align-items:center;padding:.24rem .55rem;font-size:.75rem;font-weight:800;display:inline-flex}.badge.booked{background:rgba(var(--ok-rgb), .15);color:#1c7268}.badge.canceled{color:#8f1d1d;background:#d6282826}.badge.neutral{background:rgba(var(--neutral-rgb), .12);color:var(--neutral)}.calendar-card,.map-card{min-height:100%}.calendar-toolbar,.route-chip-row,.route-summary{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.calendar-toolbar{justify-content:space-between;margin-bottom:.9rem}.calendar-toolbar__controls,.calendar-toolbar__period{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.calendar-weekdays{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.45rem;font-size:.78rem}.calendar-day{min-height:84px;color:var(--ink);border:1px solid var(--line);text-align:left;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;align-content:space-between;justify-items:start;gap:.35rem;padding:.75rem;display:grid}.calendar-day.muted{opacity:.58;background:#f7f1e8c7}.calendar-day.today{border-color:rgba(var(--ok-rgb), .45)}.calendar-day.active{border-color:rgba(var(--accent-rgb), .55);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.calendar-day__date{font-size:1rem;font-weight:800}.calendar-day__count{background:rgba(var(--neutral-rgb), .1);min-width:32px;color:var(--neutral);border-radius:999px;justify-content:center;align-items:center;padding:.2rem .45rem;font-size:.78rem;font-weight:800;display:inline-flex}.calendar-day__count.empty{background:rgba(var(--line-rgb), .3);color:var(--ink-soft)}.calendar-week-board{grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;display:grid}.availability-week__header{align-items:center}.week-timeline{grid-template-columns:72px repeat(7,minmax(0,1fr));gap:.55rem;display:grid}.week-timeline__hours{grid-template-rows:56px repeat(17,42px);align-items:start;display:grid}.week-timeline__corner{background:#f7f1e8c7;border-radius:16px}.week-timeline__hour-label{color:var(--ink-soft);text-align:right;padding-top:.15rem;padding-right:.55rem;font-size:.74rem}.calendar-week-column{border:1px solid var(--line);background:#f7f1e8c7;border-radius:18px;min-height:260px;padding:.65rem;overflow:hidden}.calendar-week-column.today{border-color:rgba(var(--ok-rgb), .35)}.calendar-week-column.active{border-color:rgba(var(--accent-rgb), .55);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.calendar-week-column__header{text-align:left;color:var(--ink);background:0 0;margin-bottom:.65rem;padding:0}.calendar-week-column__header small,.calendar-week-column__header span{color:var(--ink-soft);display:block}.calendar-week-column__title{text-transform:uppercase;letter-spacing:.06em;font-size:.76rem}.calendar-week-column__items{gap:.5rem;display:grid}.calendar-week-column__lane{border:1px solid rgba(var(--line-rgb), .6);background:linear-gradient(#ffffffb3,#f7f1e8eb);border-radius:16px;position:relative}.calendar-week-column__hour-line{border-top:1px dashed rgba(var(--line-rgb), .75);position:absolute;left:0;right:0}.calendar-week-column__empty{color:var(--ink-soft);place-items:center;font-size:.82rem;display:grid;position:absolute;inset:0}.calendar-entry{text-align:left;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff}.calendar-entry--timeline{z-index:2;padding:.45rem .55rem;position:absolute;left:.45rem;right:.45rem;overflow:hidden}.calendar-entry.active{border-color:rgba(var(--accent-rgb), .55);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.calendar-entry span,.calendar-entry small{color:var(--ink-soft);display:block}.agenda-panel{margin-top:1rem}.agenda-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.agenda-list li{background:rgba(var(--ink-rgb), .05);cursor:pointer;border:1px solid #0000;border-radius:16px;padding:.8rem;transition:border-color .18s,box-shadow .18s,transform .18s}.agenda-list li:hover{transform:translateY(-1px)}.agenda-list li.active{border-color:rgba(var(--accent-rgb), .45);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.calendar-detail-panel{margin-top:1rem}.calendar-reschedule-panel{margin-top:.9rem}.calendar-reschedule-panel__actions{align-items:flex-end}.route-chip-row{margin-bottom:.9rem}.route-chip{text-align:left;width:auto;min-width:170px;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff}.route-chip.active{border-color:rgba(var(--accent-rgb), .55);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.route-chip small{color:var(--ink-soft);margin-top:.2rem;display:block}.route-summary{margin-bottom:.9rem}.route-summary .detail-panel{flex:180px}.route-stop-list{gap:.55rem;margin-bottom:.85rem;display:grid}.route-stop{text-align:left;color:var(--ink);border:1px solid var(--line);background:#f7f1e8eb}.route-stop.active{border-color:rgba(var(--accent-rgb), .48);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.route-stop strong,.route-stop small{display:block}.route-stop small{color:var(--ink-soft);margin-top:.2rem}.route-leg-list{gap:.55rem;margin-bottom:.85rem;display:grid}.route-leg{background:rgba(var(--ink-rgb), .05);border:1px solid #0000;border-radius:14px;padding:.75rem .85rem}.route-leg.active{border-color:rgba(var(--accent-rgb), .38);background:rgba(var(--accent-rgb), .08)}.route-leg strong,.route-leg small{display:block}.route-leg small{color:var(--ink-soft);margin-top:.15rem}.admin-editor{margin-top:.85rem}.map-canvas{border:1px solid var(--line);width:100%;height:340px;box-shadow:var(--shadow-sm);border-radius:20px;margin-top:.9rem;overflow:hidden}.location-picker__marker{place-items:center;display:grid}.location-picker__marker-dot{background:#d97706;border:3px solid #fffffff2;border-radius:999px;width:18px;height:18px;display:block;box-shadow:0 6px 18px #191e2347}.text-link{color:var(--neutral);margin-top:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}@media (min-width:1200px){.wizard-layout{grid-template-columns:minmax(210px,240px) minmax(0,1fr) minmax(240px,280px);grid-template-areas:"rail stage summary"}}@media (max-width:1200px){.dashboard-layout,.wizard-layout{grid-template-columns:1fr}.wizard-layout{grid-template-areas:"rail""stage""summary"}}@media (max-width:720px){#root{padding:.8rem}.card{border-radius:18px;padding:.85rem}.appointment-card__head,.section-header{flex-direction:column}.appointment-card-grid,.dog-grid,.choice-grid{grid-template-columns:1fr}.inline-actions{flex-direction:column}.calendar-weekdays,.calendar-grid{gap:.3rem}.calendar-week-board,.week-timeline{grid-template-columns:1fr}.week-timeline__hours{display:none}.calendar-week-column{min-height:auto}.calendar-day{min-height:72px;padding:.5rem}.calendar-day__count{min-width:28px}.route-summary{flex-direction:column}.calendar-toolbar,.calendar-toolbar__controls,.calendar-toolbar__period{flex-direction:column;align-items:stretch}.map-canvas{height:280px}}.modal-overlay{z-index:2000;background:#14120e8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{width:min(1120px,100%);max-height:90vh;overflow:auto}.modal-content--narrow{background:var(--panel);border:1px solid rgba(var(--line-rgb), .75);width:min(28rem,100%);box-shadow:var(--shadow-lg);border-radius:24px;padding:1.25rem 1.35rem}.modal-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.modal-step{padding-top:.2rem}.modal-content .wizard-layout{grid-template-columns:1fr!important;grid-template-areas:"stage""summary"!important}.modal-content .wizard-stage,.modal-content .summary-panel{min-width:0}.modal-content .availability-calendar{overflow-x:auto}.modal-content .calendar-weekdays,.modal-content .calendar-week-board{min-width:1050px;grid-template-columns:repeat(7,minmax(150px,1fr))!important}.modal-content .calendar-week-column{min-width:150px}.app-spinner{align-items:center;gap:.55rem;display:inline-flex}.app-spinner__ring{border:2px solid rgba(var(--ink-rgb), .1);border-top-color:rgba(var(--accent-rgb), .75);box-sizing:border-box;border-radius:50%;flex-shrink:0;animation:.72s linear infinite app-spin;display:block}@keyframes app-spin{to{transform:rotate(360deg)}}.app-spinner__label{color:var(--ink-soft);font-size:.92rem}.loading-block{justify-content:center;padding:1.25rem .5rem;display:flex}.loading-card .loading-block{padding:.75rem .25rem}.skeleton-block{gap:.45rem;width:100%;max-width:28rem;margin:0 auto .75rem;display:grid}.skeleton-line{background:linear-gradient(90deg, rgba(var(--ink-rgb), .06) 0%, rgba(var(--ink-rgb), .11) 50%, rgba(var(--ink-rgb), .06) 100%);background-size:200% 100%;border-radius:6px;height:.68rem;animation:1.15s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.inline-loading{vertical-align:middle;align-items:center;display:inline-flex}.error-banner__message{margin:0 0 .4rem;font-weight:600}.error-banner__hint{opacity:.92;margin:0}.error-banner__actions{margin-top:.65rem}.route-loading-inline{margin-bottom:.75rem}.loading-profile-block,.customer-dir-loading,.customer-detail-loading,.appointments-loading-block,.group-passes-loading,.slots-loading-block{text-align:center;justify-items:center;gap:.75rem;display:grid}.list-loading-row{gap:.65rem;padding:.75rem .5rem;display:grid}.list-loading-row .skeleton-block{margin-bottom:0}.wizard-summary-toggle-wrap{display:none}@media (max-width:720px){.wizard-layout--summary-drawer .wizard-summary-toggle-wrap{display:block}.wizard-layout--summary-drawer:not(.wizard-layout--summary-open) .summary-panel{display:none}.wizard-card--responsive .wizard-actions{grid-template-columns:1fr;gap:.5rem;display:grid}.wizard-card--responsive .wizard-actions .secondary{order:-1;width:100%}.wizard-card--responsive .wizard-actions .ghost{order:0;width:100%}}
