:root{--bg: #faf8f5;--surface: #ffffff;--ink: #1c1917;--ink-soft: #57534e;--line: #e7e2db;--accent: #b4593c;--accent-ink: #ffffff;--ok: #2f7a4d;--warn: #b45309;--danger: #b3403a;--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--shadow-card: 0 1px 2px rgb(28 25 23 / .06), 0 4px 16px rgb(28 25 23 / .06);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-s: .875rem;--text-m: 1rem;--text-l: 1.25rem;--text-xl: 1.75rem;--tap: 44px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-m);line-height:1.5}.page{max-width:640px;margin:0 auto;padding:var(--space-4);padding-bottom:var(--space-7)}.page--admin{max-width:960px}a{color:var(--accent)}h1,h2,h3{line-height:1.25;margin:0 0 var(--space-3)}h1{font-size:var(--text-xl)}h2{font-size:var(--text-l)}h1:focus-visible,h2:focus-visible{outline:none}.card{background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow-card);padding:var(--space-5);margin-bottom:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);min-width:var(--tap);padding:0 var(--space-5);border-radius:var(--radius-m);border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;background:var(--accent);color:var(--accent-ink)}.btn:disabled{opacity:.5;cursor:default}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn--danger{background:var(--danger)}.btn--wide{width:100%}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{margin-bottom:var(--space-4)}.field label{display:block;font-size:var(--text-s);font-weight:600;margin-bottom:var(--space-1)}.field input,.field textarea,.field select{width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-s);font:inherit;background:var(--surface);color:var(--ink)}.field-error{color:var(--danger);font-size:var(--text-s);margin-top:var(--space-1)}.checkbox-row{display:flex;gap:var(--space-3);align-items:flex-start;min-height:var(--tap)}.checkbox-row input[type=checkbox]{width:20px;height:20px;margin-top:2px}.muted{color:var(--ink-soft)}.small{font-size:var(--text-s)}.photo-placeholder{border-radius:var(--radius-l);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 25%,#fff),color-mix(in srgb,var(--accent) 60%,#7c5a4d));color:#fff;display:flex;align-items:flex-end;padding:var(--space-4);min-height:180px;font-size:var(--text-s)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.portfolio-grid .photo-placeholder{min-height:90px;padding:var(--space-2)}.tenant-photo{display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--radius-l);background:color-mix(in srgb,var(--accent) 12%,#fff)}.portfolio-grid .tenant-photo{border-radius:var(--radius-m)}header>.tenant-photo{max-height:46vh}.service-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.service-row:last-child{border-bottom:none}.price{white-space:nowrap;font-weight:600}.service-option{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);min-height:var(--tap);font:inherit;cursor:pointer;color:var(--ink)}.service-option[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1);margin-bottom:var(--space-4)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:var(--space-2)}.slot-chip,.date-chip{min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--ink);padding:var(--space-1)}.slot-chip[aria-pressed=true],.date-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.date-chip .small{display:block}.error-box{background:var(--surface);border-left:4px solid var(--danger);border-radius:var(--radius-s);padding:var(--space-4);margin:var(--space-4) 0}.summary-list{list-style:none;margin:0 0 var(--space-4);padding:0}.summary-list li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.summary-list li:last-child{border-bottom:none}.status-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-s);font-size:var(--text-s);font-weight:600;border:1px solid var(--line)}.status-badge--confirmed{color:var(--ok);border-color:var(--ok)}.status-badge--pending{color:var(--warn);border-color:var(--warn)}.status-badge--cancelled,.status-badge--no_show{color:var(--danger);border-color:var(--danger)}.status-badge--completed{color:var(--ink-soft)}.wizard-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.admin-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.admin-tabs .btn{min-width:auto}.appt-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.appt-row:last-child{border-bottom:none}.appt-row time{font-variant-numeric:tabular-nums;font-weight:600}.appt-actions{display:flex;gap:var(--space-2);margin-left:auto;flex-wrap:wrap}.appt-actions .btn{min-height:var(--tap);padding:0 var(--space-3);font-size:var(--text-s)}.stat-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.stat{flex:1;min-width:120px}.stat strong{font-size:var(--text-xl);display:block}.wh-row{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-2);flex-wrap:wrap}.wh-row input[type=time]{width:auto}@media(prefers-reduced-motion:no-preference){.btn,.slot-chip,.date-chip,.service-option{transition:background-color .12s ease,border-color .12s ease}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
