:root{--background:#f4f1ea;--surface:rgba(255,255,255,0.78);--surface-strong:#ffffff;--foreground:#14213d;--muted:#5c677d;--border:rgba(20,33,61,0.12);--accent:#0f766e;--accent-strong:#115e59;--accent-soft:rgba(15,118,110,0.12);--warning-soft:rgba(249,115,22,0.14);--success-soft:rgba(34,197,94,0.14);--danger-soft:rgba(239,68,68,0.14);--shadow:0 24px 80px rgba(20,33,61,0.12);--radius-lg:28px;--radius-md:18px;--radius-sm:12px;--container-width:1120px;--font-sans:"Manrope","Segoe UI",sans-serif}*{box-sizing:border-box}html{font-family:var(--font-sans)}body{margin:0;color:var(--foreground);background:radial-gradient(circle at top left,rgba(15,118,110,.18),transparent 32%),radial-gradient(circle at top right,rgba(251,146,60,.14),transparent 30%),linear-gradient(180deg,#fcfbf8 0,var(--background) 100%);min-height:100vh}a{color:inherit;text-decoration:none}.inline-link{color:var(--accent-strong);font-weight:700;text-decoration:underline;text-underline-offset:.16em}.inline-link:hover{color:var(--accent)}button,input,select,textarea{font:inherit}.page-shell{padding:32px 20px 64px}.container{width:min(100%,var(--container-width));margin:0 auto}.business-layout,.dashboard-layout,.hero-layout{display:grid;grid-gap:24px;gap:24px}.hero-layout{grid-template-columns:1.3fr .9fr;align-items:center;min-height:calc(100vh - 96px)}.narrow-layout{width:min(100%,760px)}.business-header h1,.confirmation-card h1,.dashboard-header h1,.hero-copy h1{margin:0 0 16px;font-size:clamp(2.5rem,6vw,4.8rem);line-height:.95;letter-spacing:-.04em}.business-header p,.card p,.confirmation-card p,.dashboard-header p,.hero-copy p{color:var(--muted);line-height:1.6}.eyebrow{display:inline-flex;padding:8px 12px;margin-bottom:16px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.card{padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.dashboard-grid,.feature-list,.hours-grid,.service-grid{margin:0;padding:0;list-style:none}.feature-list{display:grid;grid-gap:14px;gap:14px}.feature-list li{padding:14px 16px;border-radius:var(--radius-sm);background:rgba(255,255,255,.76)}.button-row,.hero-actions,.pill-row,.stats-row{display:flex;flex-wrap:wrap;gap:12px}.button-row{align-items:center}.card-header-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}.card-header-row .section-heading{flex:1 1 320px}.card-header-row .button-secondary{margin-left:auto}.dashboard-nav{display:flex;flex-wrap:wrap;gap:12px;padding:16px}.button-danger,.button-primary,.button-secondary{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 18px;border:0;border-radius:999px;font-weight:700;cursor:pointer}.button-primary{background:var(--accent);color:white}.button-primary:disabled{cursor:progress;opacity:.75}.button-secondary{background:rgba(20,33,61,.08);color:var(--foreground)}.button-danger{background:rgba(239,68,68,.12);color:#b42318}.pill{display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--border);color:var(--foreground)}.active-pill{background:var(--accent);color:white;border-color:transparent}.booking-card h3,.confirmation-grid h2,.hours-card h3,.section-heading h2,.service-card h3{margin:0 0 8px}.confirmation-grid,.dashboard-grid,.hours-grid,.service-grid{display:grid;grid-gap:16px;gap:16px}.service-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.hours-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.hours-card,.service-card{padding:18px;border-radius:var(--radius-md);background:rgba(255,255,255,.82);border:1px solid var(--border)}.copy-link-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.copy-link-value{flex:1 1 220px;padding:0 14px;border-radius:14px;background:rgba(20,33,61,.04);overflow-wrap:anywhere}.copy-link-button,.copy-link-value{min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--border)}.copy-link-button{justify-content:center;flex:0 0 auto;width:44px;padding:0;border-radius:12px;background:rgba(255,255,255,.9);color:var(--foreground);font-weight:700;cursor:pointer}.owner-service-card{display:grid;grid-gap:16px;gap:16px}.archived-service-card{opacity:.78}.booking-card-header,.confirmation-grid,.service-meta{display:flex;justify-content:space-between;gap:16px}.booking-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.booking-form,.working-hours-editor,.working-hours-row{display:grid;grid-gap:16px;gap:16px}.working-hours-row{padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,.82)}.working-hours-window-list,.working-hours-window-row{display:grid;grid-gap:12px;gap:12px}.working-hours-window-row{padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius-sm);background:rgba(255,255,255,.75)}.blocked-time-list{display:grid;grid-gap:12px;gap:12px}.blocked-time-card{display:grid;grid-gap:10px;gap:10px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,.82)}.blocked-time-card-footer,.blocked-time-card-header,.working-hours-day{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}.working-hours-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:600}.booking-form label,.service-owner-actions{display:grid;grid-gap:8px;gap:8px}.booking-form label{font-weight:600}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(255,255,255,.88)}.slot-picker{display:grid;grid-gap:14px;gap:14px;padding:20px;border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(15,118,110,.08),rgba(255,255,255,.72)),rgba(255,255,255,.8);border:1px solid rgba(15,118,110,.12)}.slot-state-card{display:grid;grid-gap:10px;gap:10px;padding:18px;border-radius:var(--radius-md);border:1px dashed rgba(15,118,110,.22);background:rgba(255,255,255,.72)}.slot-state-card h3,.slot-state-card p{margin:0}.slot-state-card-error{border-style:solid;border-color:rgba(180,35,24,.18);background:rgba(239,68,68,.08)}.slot-day-grid,.slot-time-grid{display:grid;grid-gap:12px;gap:12px}.slot-day-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.slot-time-grid{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.slot-option{display:grid;grid-gap:6px;gap:6px;justify-items:flex-start;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(255,255,255,.94);color:var(--text-primary);font:inherit;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.slot-option:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.38);box-shadow:0 12px 28px rgba(15,23,42,.08)}.slot-option span{font-size:.82rem;color:var(--text-secondary)}.slot-option strong{font-size:1rem}.slot-time-grid .slot-option{justify-items:center}.active-slot{border-color:rgba(15,118,110,.7);background:rgba(15,118,110,.12);box-shadow:0 14px 30px rgba(15,118,110,.16)}.split-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.form-error{color:#b42318;margin:0}.form-success{color:#166534;margin:0}.inline-warning{margin:0;color:#9a3412;font-size:.95rem}.danger-note{margin:0;padding:14px 16px;border:1px solid rgba(180,35,24,.18);border-radius:var(--radius-sm);background:rgba(239,68,68,.08);color:#7f1d1d}.status-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:700}.status-badge.pending{background:var(--warning-soft)}.status-badge.completed,.status-badge.confirmed{background:var(--success-soft)}.status-badge.cancelled{background:var(--danger-soft)}.time-state-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:700}.time-state-badge.upcoming{background:rgba(20,33,61,.08)}.time-state-badge.elapsed{background:rgba(251,146,60,.16);color:#9a3412}.booking-card{background:rgba(255,255,255,.86)}.booking-list{display:grid;grid-gap:16px;gap:16px}.customer-booking-action{display:grid;grid-gap:8px;gap:8px}.booking-status-actions{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.booking-status-actions-row{display:flex;flex-wrap:wrap;gap:12px}.logout-actions{display:grid;grid-gap:8px;gap:8px}.stat-card{min-width:180px}.stat-card span{display:block;color:var(--muted);margin-bottom:8px}.stat-card strong{font-size:2.2rem}.muted{color:var(--muted)}.dashboard-empty-state{display:grid;grid-gap:8px;gap:8px;padding:20px;border:1px dashed rgba(20,33,61,.16);border-radius:var(--radius-md);background:rgba(255,255,255,.55)}.dashboard-empty-state h3{margin:0 0 8px}.dashboard-onboarding-card{display:grid;grid-gap:18px;gap:18px}.dashboard-checklist{display:grid;grid-gap:14px;gap:14px}.dashboard-checklist-item{display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,.72)}.dashboard-checklist-item h3{margin:0 0 6px}.dashboard-step-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:800}.route-status-card{display:grid;grid-gap:16px;gap:16px;min-height:320px;align-content:center}.route-status-card h1{margin:0;font-size:clamp(2rem,5vw,3.6rem);line-height:.98;letter-spacing:-.03em}.status-skeleton-grid{display:grid;grid-gap:12px;gap:12px;margin-top:8px}.status-skeleton-line{height:14px;width:100%;border-radius:999px;background:linear-gradient(90deg,rgba(20,33,61,.08),rgba(20,33,61,.16) 50%,rgba(20,33,61,.08));background-size:200% 100%;animation:status-skeleton-shimmer 1.4s ease-in-out infinite}.status-skeleton-line.short{width:min(240px,70%)}.feedback-type-group{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;border:0}.feedback-type-group legend{font-weight:700}.feedback-radio{display:flex;align-items:center;gap:10px;font-weight:600}.feedback-status-controls{display:grid;grid-gap:12px;gap:12px;margin-top:12px}.feedback-status-controls label{display:grid;grid-gap:8px;gap:8px}.feedback-comment-editor{display:grid;grid-gap:14px;gap:14px}.feedback-comment-editor label{display:grid;grid-gap:8px;gap:8px}.feedback-comment-preview{padding-top:4px;display:grid;grid-gap:16px;gap:16px}.feedback-comment-item{display:grid;grid-gap:8px;gap:8px}.feedback-comment-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-comment-meta{margin:0;color:var(--muted);font-size:.92rem;font-weight:600}.feedback-comment-editing{display:grid;grid-gap:12px;gap:12px}.attachment-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sr-only-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attachment-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.attachment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(255,255,255,.72)}.attachment-name{min-width:0;overflow-wrap:anywhere}.attachment-remove{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:999px;background:white;color:var(--ink);font-weight:700;cursor:pointer;flex:0 0 auto}.attachment-remove:hover{border-color:var(--accent);color:var(--accent)}.field-hint{margin:0;color:var(--muted);font-size:.95rem}.card .report-description{margin:0;color:#000000;font-size:1.05rem;font-weight:500;white-space:pre-wrap;line-height:1.7}@keyframes status-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:840px){.hero-layout{grid-template-columns:1fr;min-height:auto}.hero-card{transform:none}.booking-card-badges,.booking-card-header,.confirmation-grid,.service-meta,.split-fields,.working-hours-day{grid-template-columns:1fr;flex-direction:column}.page-shell{padding-inline:16px}.route-status-card{min-height:260px;padding:20px}.dashboard-checklist-item{grid-template-columns:1fr;align-items:stretch}.dashboard-step-number{width:36px;height:36px}}