@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.landing-page-container{--bg: #fbf6ee;--surface: #fffdf8;--fg: #201914;--muted: #7a6d63;--border: #ded2c3;--accent: #9b5b32;--accent-on: #ffffff;--accent-soft: color-mix(in oklch, var(--accent) 14%, transparent);--fg-soft: color-mix(in oklch, var(--fg) 5%, transparent);--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, monospace;--fs-h1: clamp(44px, 6vw, 76px);--fs-h2: clamp(32px, 4vw, 48px);--fs-h3: 22px;--fs-lead: 19px;--fs-body: 16px;--fs-meta: 13px;--gap-xs: 8px;--gap-sm: 12px;--gap-md: 20px;--gap-lg: 32px;--gap-xl: 56px;--gap-2xl: 96px;--container: 1120px;--gutter: 32px;--radius: 10px;--radius-lg: 16px;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55;min-height:100vh}.landing-page-container .container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.landing-page-container .section{padding-block:clamp(48px,8vw,var(--gap-2xl))}.landing-page-container .section+.section{border-top:1px solid var(--border)}.landing-page-container .stack{display:flex;flex-direction:column}.landing-page-container .row{display:flex;align-items:center;gap:var(--gap-md)}.landing-page-container .row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-md)}.landing-page-container .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-lg)}.landing-page-container .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-lg)}@media(max-width:920px){.landing-page-container .grid-2,.landing-page-container .grid-3,.landing-page-container .hero-split{grid-template-columns:1fr}}.landing-page-container h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:1.04;letter-spacing:-.02em;margin:0}.landing-page-container h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.015em;margin:0}.landing-page-container h3{font-size:var(--fs-h3);font-weight:600;line-height:1.3;letter-spacing:-.005em;margin:0}.landing-page-container .lead{font-size:var(--fs-lead);line-height:1.55;color:var(--muted);max-width:60ch;margin:0}.landing-page-container .eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--gap-md)}.landing-page-container .meta{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--muted)}.landing-page-container .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.landing-page-container .topnav{position:sticky;top:0;z-index:10;background:color-mix(in oklch,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.landing-page-container .topnav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:14px}.landing-page-container .logo{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.01em}.landing-page-container nav{display:flex;gap:var(--gap-lg);align-items:center}.landing-page-container nav a,.landing-page-container nav .nav-btn-link{font-size:14px;color:var(--muted);text-decoration:none}.landing-page-container nav a:hover,.landing-page-container nav .nav-btn-link:hover{color:var(--fg)}.landing-page-container .pagefoot{padding-block:var(--gap-xl);color:var(--muted);font-size:13px;border-top:1px solid var(--border)}.landing-page-container .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--radius);border:1px solid transparent;font-size:15px;font-weight:500;letter-spacing:-.005em;cursor:pointer;text-decoration:none;transition:transform .05s ease,background .15s ease,border-color .15s ease}.landing-page-container .btn:active{transform:translateY(1px)}.landing-page-container .btn-primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.landing-page-container .btn-primary:hover{background:color-mix(in oklch,var(--accent) 86%,black)}.landing-page-container .btn-secondary{background:transparent;color:var(--fg);border-color:var(--border)}.landing-page-container .btn-secondary:hover{border-color:var(--fg)}.landing-page-container .btn-large{padding:15px 28px;font-size:17px;border-radius:var(--radius-lg)}.landing-page-container .feature .feature-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;color:var(--accent);margin-bottom:var(--gap-md)}.landing-page-container .feature h3{margin-bottom:6px}.landing-page-container .feature p{margin:0;color:var(--muted);font-size:15px;text-wrap:pretty}.landing-page-container .card-flat{background:transparent;border:0;padding:0}.landing-page-container .ph-img{background:linear-gradient(135deg,var(--accent-soft),var(--fg-soft)),var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;place-items:center;color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.landing-page-container .pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--accent-soft);color:var(--accent);border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.landing-page-container .hero{padding-block:clamp(80px,10vw,140px)}.landing-page-container .hero-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,96px);align-items:center}.landing-page-container .hero-text{max-width:38ch}.landing-page-container .hero-text h1{margin-bottom:var(--gap-md)}.landing-page-container .hero-text .lead{margin-bottom:var(--gap-lg)}.landing-page-container .hero-cta{display:flex;gap:var(--gap-sm);flex-wrap:wrap}.landing-page-container .hero-visual{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--gap-md);aspect-ratio:4 / 3}.landing-page-container .hero-visual .ph-img{aspect-ratio:auto;width:100%;height:100%;padding:20px;display:flex;align-items:flex-end;justify-content:flex-start}.landing-page-container .hero-visual .ph-img:first-child{grid-row:span 2}@media(max-width:920px){.landing-page-container .hero-visual{aspect-ratio:16/10}}.landing-page-container .stat .stat-num{font-family:var(--font-display);font-size:clamp(56px,8vw,96px);line-height:.95;letter-spacing:-.04em;color:var(--accent);font-weight:600}.landing-page-container .stat .stat-label{color:var(--muted);font-size:14px;margin-top:8px;max-width:24ch}.landing-page-container .pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 28px;display:flex;flex-direction:column}.landing-page-container .pricing-card.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.landing-page-container .pricing-card h3{font-family:var(--font-display);font-size:24px}.landing-page-container .pricing-card .price{font-family:var(--font-display);font-size:48px;line-height:1;margin:16px 0 4px}.landing-page-container .pricing-card .price span{font-size:18px;color:var(--muted);font-weight:400}.landing-page-container .pricing-features{list-style:none;padding:0;margin:24px 0;flex:1}.landing-page-container .pricing-features li{padding:8px 0;font-size:14px;color:var(--muted);border-bottom:1px solid var(--border)}.landing-page-container .pricing-features li:before{content:"✓ ";color:var(--accent);font-weight:600}.signup-page-wrapper{--bg: #fbf6ee;--surface: #fffdf8;--fg: #201914;--muted: #7a6d63;--border: #ded2c3;--accent: #9b5b32;--accent-on: #ffffff;--accent-soft: color-mix(in oklch, var(--accent) 14%, transparent);--danger: #b33a3a;--danger-soft: color-mix(in oklch, var(--danger) 10%, transparent);--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, monospace;--fs-h1: clamp(36px, 5vw, 56px);--fs-lead: 17px;--fs-body: 16px;--gap-md: 20px;--gap-lg: 32px;--gap-xl: 56px;--radius: 10px;--radius-lg: 16px;--gutter: 32px;--container: 1120px;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55;min-height:100vh}.signup-page-wrapper .container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.signup-page-wrapper .topnav{position:sticky;top:0;z-index:10;background:color-mix(in oklch,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.signup-page-wrapper .topnav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:14px}.signup-page-wrapper .logo{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.01em;text-decoration:none;color:var(--fg)}.signup-page-wrapper .signup-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 60px)}@media(max-width:860px){.signup-page-wrapper .signup-layout{grid-template-columns:1fr}}.signup-page-wrapper .signup-left{display:flex;align-items:center;justify-content:center;padding:clamp(40px,6vw,80px) var(--gutter)}.signup-page-wrapper .signup-form-wrap{width:100%;max-width:420px}.signup-page-wrapper .signup-form-wrap h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:1.08;letter-spacing:-.02em;margin:0 0 8px}.signup-page-wrapper .signup-form-wrap .sub{color:var(--muted);font-size:var(--fs-lead);margin:0 0 var(--gap-lg)}.signup-page-wrapper .signup-form-wrap .login-link{font-size:14px;color:var(--muted);margin-top:var(--gap-lg);text-align:center}.signup-page-wrapper .signup-form-wrap .login-link a{color:var(--accent);font-weight:500;text-decoration:none}.signup-page-wrapper .signup-form-wrap .login-link a:hover{text-decoration:underline}.signup-page-wrapper .signup-right{background:var(--surface);border-left:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:64px var(--gutter);position:relative;overflow:hidden}@media(max-width:860px){.signup-page-wrapper .signup-right{display:none}}.signup-page-wrapper .signup-right .quote-wrap{max-width:340px;position:relative;z-index:1}.signup-page-wrapper .signup-right .quote-mark{font-family:var(--font-display);font-size:120px;line-height:.7;color:var(--accent);opacity:.12;margin-bottom:-20px}.signup-page-wrapper .signup-right blockquote{font-family:var(--font-display);font-size:clamp(22px,2vw,28px);line-height:1.35;letter-spacing:-.01em;margin:0 0 20px}.signup-page-wrapper .signup-right .attr{color:var(--muted);font-size:14px;margin:0}.signup-page-wrapper .field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.signup-page-wrapper .field label{font-size:13px;color:var(--muted);font-weight:500}.signup-page-wrapper .field .input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);font:inherit;font-size:15px;transition:border-color .15s ease}.signup-page-wrapper .field .input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.signup-page-wrapper .field .input.error{border-color:var(--danger)}.signup-page-wrapper .field .err-msg{font-size:12px;color:var(--danger);min-height:16px;margin-top:2px}.signup-page-wrapper .field .hint{font-size:12px;color:var(--muted);margin-top:2px}.signup-page-wrapper .field .hint .prefix{color:var(--muted);opacity:.7}.signup-page-wrapper .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.signup-page-wrapper .field-row{grid-template-columns:1fr;gap:0}}.signup-page-wrapper .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius);border:1px solid transparent;font-size:15px;font-weight:500;width:100%;cursor:pointer;transition:transform .05s ease,background .15s ease}.signup-page-wrapper .btn:active{transform:translateY(1px)}.signup-page-wrapper .btn-primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.signup-page-wrapper .btn-primary:hover{background:color-mix(in oklch,var(--accent) 86%,black)}.signup-page-wrapper .btn-primary:disabled{opacity:.5;cursor:not-allowed}.signup-page-wrapper .password-strength{display:flex;gap:4px;margin-top:6px}.signup-page-wrapper .password-strength .bar{flex:1;height:3px;border-radius:2px;background:var(--border);transition:background .2s ease}.signup-page-wrapper .password-strength .bar.w0{background:var(--danger)}.signup-page-wrapper .password-strength .bar.w1{background:#d97706}.signup-page-wrapper .password-strength .bar.w2{background:#16a34a}.branch-page{--bg: #fbf6ee;--surface: #fffdf8;--fg: #201914;--muted: #7a6d63;--border: #ded2c3;--accent: var(--brand-accent);--accent-on: #ffffff;--accent-soft: var(--brand-accent-soft);--fg-soft: color-mix(in oklch, var(--fg) 5%, transparent);--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, monospace;--fs-h1: clamp(44px, 6vw, 76px);--fs-h2: clamp(32px, 4vw, 48px);--fs-h3: 22px;--fs-lead: 19px;--fs-body: 16px;--fs-meta: 13px;--gap-xs: 8px;--gap-sm: 12px;--gap-md: 20px;--gap-lg: 32px;--gap-xl: 56px;--gap-2xl: 96px;--container: 1120px;--gutter: 32px;--radius: 10px;--radius-lg: 16px;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55;min-height:100vh}.branch-page .container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.branch-page .section{padding-block:clamp(48px,8vw,var(--gap-2xl))}.branch-page .section+.section{border-top:1px solid var(--border)}.branch-page .stack{display:flex;flex-direction:column}.branch-page .row{display:flex;align-items:center;gap:var(--gap-md)}.branch-page .row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-md)}.branch-page .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-lg)}.branch-page .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-lg)}@media(max-width:920px){.branch-page .grid-2,.branch-page .grid-3,.branch-page .hero-inner{grid-template-columns:1fr}}.branch-page h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:1.04;letter-spacing:-.02em;margin:0}.branch-page h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.015em;margin:0}.branch-page h3{font-size:var(--fs-h3);font-weight:600;line-height:1.3;letter-spacing:-.005em;margin:0}.branch-page .lead{font-size:var(--fs-lead);line-height:1.55;color:var(--muted);max-width:60ch;margin:0}.branch-page .eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--gap-md)}.branch-page .meta{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--muted)}.branch-page .topnav{position:sticky;top:0;z-index:10;background:color-mix(in oklch,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.branch-page .topnav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:14px}.branch-page .logo{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.01em}.branch-page nav{display:flex;gap:var(--gap-lg);align-items:center}.branch-page nav a{font-size:14px;color:var(--muted);text-decoration:none}.branch-page nav a:hover{color:var(--fg)}.branch-page .pagefoot{padding-block:var(--gap-xl);color:var(--muted);font-size:13px;border-top:1px solid var(--border)}.branch-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--radius);border:1px solid transparent;font-size:15px;font-weight:500;letter-spacing:-.005em;cursor:pointer;text-decoration:none;transition:transform .05s ease,background .15s ease,border-color .15s ease}.branch-page .btn:active{transform:translateY(1px)}.branch-page .btn-primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.branch-page .btn-primary:hover{background:color-mix(in oklch,var(--accent) 86%,black)}.branch-page .btn-secondary{background:transparent;color:var(--fg);border-color:var(--border)}.branch-page .btn-secondary:hover{border-color:var(--fg)}.branch-page .btn-large{padding:15px 28px;font-size:17px;border-radius:var(--radius-lg)}.branch-page .feature .feature-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;color:var(--accent);margin-bottom:var(--gap-md)}.branch-page .feature h3{margin-bottom:6px}.branch-page .feature p{margin:0;color:var(--muted);font-size:15px}.branch-page .card-flat{background:transparent;border:0;padding:0}.branch-page .ph-img{background:linear-gradient(135deg,var(--accent-soft),var(--fg-soft)),var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;place-items:center;color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.branch-page .branch-select-wrapper{position:relative;display:flex;align-items:center}.branch-page .branch-select{appearance:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 30px 6px 12px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--fg);cursor:pointer;outline:none}.branch-page .branch-select:focus{border-color:var(--accent)}.branch-page .select-arrow{position:absolute;right:10px;pointer-events:none;color:var(--muted)}.branch-page .hero{padding-block:clamp(80px,10vw,140px) clamp(56px,8vw,100px)}.branch-page .hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,96px);align-items:center}.branch-page .hero-text{max-width:38ch}.branch-page .hero-text h1{margin-bottom:var(--gap-md)}.branch-page .hero-text .lead{margin-bottom:var(--gap-lg)}.branch-page .hero-cta{display:inline-flex;gap:var(--gap-sm);flex-wrap:wrap}.branch-page .hero-visual{position:relative;aspect-ratio:5 / 6}.branch-page .hero-visual .ph-hero{width:100%;height:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.branch-page .hero-visual .accent-chip{position:absolute;bottom:24px;left:-12px;background:var(--accent);color:var(--accent-on);font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:6px 14px;border-radius:4px}.branch-page .service-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--gap-md);padding:18px 0;border-top:1px solid var(--border);align-items:center}.branch-page .service-row .svc-name{font-weight:500}.branch-page .service-row .svc-dur{color:var(--muted);font-size:14px;text-align:right}.branch-page .service-row .svc-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;width:100px;text-align:right}@media(max-width:920px){.branch-page .service-row{grid-template-columns:1fr auto}.branch-page .service-row .svc-dur{display:none}}.branch-page .hours-table{width:100%;border-collapse:collapse}.branch-page .hours-table th,.branch-page .hours-table td{padding:10px 0;text-align:left}.branch-page .hours-table th{font-weight:500;color:var(--fg);font-size:15px}.branch-page .hours-table td{color:var(--muted);font-size:15px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.branch-page .hours-table tr+tr{border-top:1px solid var(--border)}.branch-page .hours-table .closed{color:var(--muted);opacity:.5}.branch-page .contact-link{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--fg);text-decoration:none}.branch-page a.contact-link:hover{color:var(--accent)}.branch-page .logo-img{height:32px;width:auto;border-radius:6px}.branch-loading-state,.branch-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#fbf6ee;color:#201914;font-family:Inter,sans-serif;text-align:center;padding:var(--gutter)}.branch-loading-state .spinner{border:3px solid #ded2c3;border-top:3px solid #9b5b32;border-radius:50%;width:32px;height:32px;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cust-dashboard{max-width:900px;margin:0 auto;padding:var(--gap-lg) var(--gap-md);font-family:var(--font-body)}.cust-dashboard h2{font-family:var(--font-display);font-size:clamp(24px,4vw,32px);margin:0 0 var(--gap-xs)}.cust-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--gap-md);margin-bottom:var(--gap-xl)}.cust-dashboard-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--gap-lg);display:flex;flex-direction:column;gap:var(--gap-xs)}.cust-dashboard-card.highlight{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}.cust-dashboard-card .card-val{font-size:32px;font-weight:700;line-height:1}.cust-dashboard-card .card-label{font-size:var(--fs-sm);opacity:.9}.cust-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:var(--gap-md)}.cust-tab-btn{padding:12px 24px;background:none;border:0;font-size:var(--fs-body);font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.cust-tab-btn.active{color:var(--brand-accent);border-bottom-color:var(--brand-accent);font-weight:600}.cust-appointment-list{display:flex;flex-direction:column;gap:var(--gap-md)}.cust-appointment-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--gap-lg);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--gap-md);transition:border-color .2s}.cust-appointment-card:hover{border-color:var(--brand-accent)}.cust-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase}.cust-badge.pending{background:#fef3c7;color:#d97706}.cust-badge.confirmed{background:#d1fae5;color:#059669}.cust-badge.completed{background:#f3f4f6;color:#4b5563}.cust-badge.cancelled{background:#fee2e2;color:#dc2626}:root{--admin-bg: #fbf6ee;--admin-surface: #fffdf8;--admin-surface-warm: #f1e3cf;--admin-fg: #201914;--admin-fg-2: #4c4037;--admin-muted: #7a6d63;--admin-border: #ded2c3;--admin-border-soft: #eee4d7;--admin-accent: #9b5b32;--admin-accent-on: #ffffff;--admin-accent-soft: color-mix(in oklch, var(--admin-accent) 14%, transparent);--admin-accent-hover: color-mix(in oklch, var(--admin-accent), black 8%);--admin-fg-soft: color-mix(in oklch, var(--admin-fg) 5%, transparent);--admin-success: #4f8a4f;--admin-warn: #c9822f;--admin-danger: #b33a3a;--admin-success-soft: color-mix(in oklch, var(--admin-success) 14%, transparent);--admin-warn-soft: color-mix(in oklch, var(--admin-warn) 14%, transparent);--admin-danger-soft: color-mix(in oklch, var(--admin-danger) 12%, transparent);--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, monospace;--fs-h2: clamp(22px, 3vw, 32px);--fs-h3: 18px;--fs-body: 14px;--fs-sm: 13px;--fs-xs: 12px;--fs-meta: 11px;--gap-xs: 4px;--gap-sm: 8px;--gap-md: 16px;--gap-lg: 24px;--gap-xl: 32px;--radius: 8px;--radius-lg: 12px;--sidebar-w: 240px;--focus-ring: 0 0 0 3px rgba(155, 91, 50, .22);--motion-fast: .12s;--ease: cubic-bezier(.2, 0, 0, 1)}.admin-layout-container{display:flex;min-height:100vh;background:var(--admin-bg);color:var(--admin-fg);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.admin-sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--admin-surface);border-right:1px solid var(--admin-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20;transition:transform .2s var(--ease),width .2s var(--ease)}.admin-sidebar-brand{padding:18px var(--gap-lg);border-bottom:1px solid var(--admin-border);font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.admin-sidebar-brand .brand-dot{width:24px;height:24px;border-radius:6px;background:var(--admin-accent)}.admin-sidebar-nav{flex:1;padding:var(--gap-md) var(--gap-sm);overflow-y:auto}.admin-sidebar-nav .nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);font-size:var(--fs-body);color:var(--admin-fg-2);transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease);margin-bottom:2px;position:relative}.admin-sidebar-nav .nav-item:hover{background:var(--admin-fg-soft)}.admin-sidebar-nav .nav-item.active{background:var(--admin-surface-warm);color:var(--admin-fg);font-weight:500}.admin-sidebar-nav .nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.7}.admin-sidebar-nav .nav-item.active svg{opacity:1;color:var(--admin-accent)}.admin-sidebar-nav .nav-section{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--admin-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--gap-md) 14px var(--gap-sm)}.admin-sidebar-foot{padding:var(--gap-md) var(--gap-lg);border-top:1px solid var(--admin-border);display:flex;align-items:center;gap:10px;cursor:pointer}.admin-sidebar-foot:hover{background:var(--admin-fg-soft)}.admin-sidebar-foot .avatar{width:32px;height:32px;border-radius:50%;background:var(--admin-accent-soft);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--admin-accent);flex-shrink:0}.admin-sidebar-foot .user-info{font-size:var(--fs-sm)}.admin-sidebar-foot .user-info .name{font-weight:500}.admin-sidebar-foot .user-info .role{color:var(--admin-muted);font-size:var(--fs-xs)}.admin-main{flex:1;overflow-y:auto;position:relative;display:flex;flex-direction:column;height:100vh}.admin-page-header{position:sticky;top:0;z-index:10;background:color-mix(in oklch,var(--admin-bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--admin-border);padding:14px var(--gap-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--gap-md)}.admin-page-header h2{font-size:20px;font-weight:600;font-family:var(--font-body)}.admin-page-body{padding:var(--gap-xl);flex:1;overflow-y:auto}.admin-sidebar-toggle{display:none;background:none;border:0;padding:4px;color:var(--admin-fg)}.admin-sidebar-toggle svg{width:22px;height:22px}.admin-overlay{display:none;position:fixed;inset:0;background:#0003;z-index:19}@media(max-width:860px){.admin-sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s var(--ease)}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-toggle,.admin-overlay.show{display:block}}.admin-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);border:1px solid transparent;font-size:var(--fs-body);font-weight:500;font-family:var(--font-body);cursor:pointer;justify-content:center;transition:transform .05s ease,background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.admin-btn:active{transform:translateY(1px)}.admin-btn-primary{background:var(--admin-accent);color:var(--admin-accent-on);border-color:var(--admin-accent)}.admin-btn-primary:hover{background:var(--admin-accent-hover)}.admin-btn-primary:disabled{opacity:.6;cursor:not-allowed}.admin-btn-secondary{background:transparent;color:var(--admin-fg);border-color:var(--admin-border)}.admin-btn-secondary:hover{border-color:var(--admin-fg)}.admin-btn-ghost{background:transparent;color:var(--admin-fg);border-color:transparent;padding-inline:6px}.admin-btn-ghost:hover{color:var(--admin-accent)}.admin-btn-danger{background:transparent;color:var(--admin-danger);border-color:var(--admin-danger)}.admin-btn-danger:hover{background:var(--admin-danger-soft)}.admin-btn-sm{padding:5px 10px;font-size:var(--admin-fs-sm)}.admin-btn-icon{padding:6px;border-radius:6px}.admin-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--radius-lg);padding:var(--gap-lg);box-shadow:0 1px 3px #2019140a}.admin-stat-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--radius-lg);padding:var(--gap-lg);display:flex;flex-direction:column;gap:4px}.admin-stat-card .stat-label{font-size:var(--fs-sm);color:var(--admin-muted)}.admin-stat-card .stat-num{font-family:var(--font-display);font-size:36px;line-height:1;letter-spacing:-.03em;font-weight:600}.admin-stat-card .stat-sub{font-size:var(--fs-xs);color:var(--admin-muted)}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-md)}@media(max-width:960px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.admin-stat-grid{grid-template-columns:1fr}}.admin-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.admin-table th,.admin-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--admin-border)}.admin-table th{color:var(--admin-muted);font-weight:500;font-size:var(--fs-xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.admin-table tbody tr:hover{background:var(--admin-fg-soft)}.admin-table .num-col{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.admin-toolbar{display:flex;align-items:center;gap:var(--gap-md);flex-wrap:wrap;margin-bottom:var(--gap-lg)}.admin-search-input{flex:1;min-width:200px;max-width:360px;padding:8px 12px 8px 34px;border:1px solid var(--admin-border);border-radius:var(--radius);background:var(--admin-surface);color:var(--admin-fg);font-size:var(--fs-body);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a6d63' stroke-width='1.6'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px center}.admin-search-input:focus{outline:var(--focus-ring);border-color:var(--admin-accent)}.admin-filter-select{padding:8px 32px 8px 12px;border:1px solid var(--admin-border);border-radius:var(--radius);background:var(--admin-surface);color:var(--admin-fg);font-size:var(--fs-body);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a6d63' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.admin-filter-select:focus{outline:var(--focus-ring);border-color:var(--admin-accent)}.admin-status-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:500;text-transform:capitalize}.admin-status-pill.pending{background:var(--admin-warn-soft);color:var(--admin-warn)}.admin-status-pill.confirmed{background:var(--admin-success-soft);color:var(--admin-success)}.admin-status-pill.completed{background:var(--admin-fg-soft);color:var(--admin-muted)}.admin-status-pill.cancelled{background:var(--admin-danger-soft);color:var(--admin-danger)}.admin-actions-cell{display:flex;gap:var(--gap-xs);justify-content:flex-end}.admin-modal-overlay{position:fixed;inset:0;background:#00000040;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--gap-md)}.admin-modal{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--radius-lg);padding:var(--gap-xl);width:100%;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 52px #2019141f}.admin-modal h3{font-family:var(--font-display);font-size:20px;margin-bottom:var(--gap-md)}.admin-modal .field{margin-bottom:var(--gap-md)}.admin-modal .field label{display:block;font-size:var(--fs-sm);color:var(--admin-muted);margin-bottom:4px;font-weight:500}.admin-modal .field .input,.admin-modal .field select,.admin-modal .field textarea{width:100%;padding:10px 12px;border:1px solid var(--admin-border);border-radius:var(--radius);background:var(--admin-surface);color:var(--admin-fg);font-size:var(--fs-body)}.admin-modal .field .input:focus,.admin-modal .field select:focus,.admin-modal .field textarea:focus{outline:var(--focus-ring);border-color:var(--admin-accent)}.admin-modal .field textarea{min-height:72px;resize:vertical}.admin-modal .field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-md)}.admin-modal .modal-actions{display:flex;gap:var(--gap-sm);justify-content:flex-end;margin-top:var(--gap-lg)}.admin-modal .checkbox-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-body)}.admin-modal .checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--admin-accent)}.admin-input-field{display:flex;flex-direction:column;gap:5px;margin-bottom:var(--gap-md)}.admin-input-field label{font-size:var(--fs-sm);color:var(--admin-muted);font-weight:500;letter-spacing:-.005em}.admin-input-field .hint{font-size:var(--fs-xs);color:var(--admin-muted);margin-top:2px}.admin-input-field .input,.admin-input-field textarea{width:100%;padding:10px 12px;border:1px solid var(--admin-border);border-radius:var(--radius);background:var(--admin-surface);color:var(--admin-fg);font-size:var(--fs-body);font-family:var(--font-body);transition:border-color var(--motion-fast) var(--ease)}.admin-input-field .input:focus,.admin-input-field textarea:focus{outline:var(--focus-ring);border-color:var(--admin-accent)}.admin-input-field select{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--admin-border);border-radius:var(--radius);background:var(--admin-surface);color:var(--admin-fg);font-size:var(--fs-body);font-family:var(--font-body);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a6d63' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.admin-input-field select:focus{outline:var(--focus-ring);border-color:var(--admin-accent)}.admin-input-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-md)}@media(max-width:600px){.admin-input-row{grid-template-columns:1fr}}.admin-toggle-switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-body);-webkit-user-select:none;user-select:none}.admin-toggle-switch input[type=checkbox]{display:none}.admin-toggle-switch .toggle-track{width:44px;height:24px;border-radius:12px;background:var(--admin-border);position:relative;transition:background var(--motion-fast) var(--ease)}.admin-toggle-switch input:checked+.toggle-track{background:var(--admin-accent)}.admin-toggle-switch .toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform var(--motion-fast) var(--ease)}.admin-toggle-switch input:checked+.toggle-track:after{transform:translate(20px)}.admin-calendar{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--radius-lg);overflow:hidden}.admin-calendar-head{display:flex;align-items:center;justify-content:space-between;padding:var(--gap-md) var(--gap-lg);border-bottom:1px solid var(--admin-border)}.admin-calendar-head .month-label{font-family:var(--font-display);font-size:18px;font-weight:600}.admin-calendar-head .nav-btns{display:flex;gap:4px}.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.admin-calendar-grid .day-head{padding:10px;text-align:center;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--admin-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--admin-border)}.admin-calendar-grid .day-cell{padding:6px;min-height:84px;border-right:1px solid var(--admin-border-soft);border-bottom:1px solid var(--admin-border-soft);font-size:var(--fs-sm);position:relative;background:var(--admin-surface)}.admin-calendar-grid .day-cell:nth-child(7n){border-right:none}.admin-calendar-grid .day-cell .day-num{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--admin-muted);margin-bottom:4px}.admin-calendar-grid .day-cell .day-num.today{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--admin-accent);color:var(--admin-accent-on);font-weight:700}.admin-calendar-grid .day-cell .entry{font-size:var(--fs-xs);padding:2px 6px;border-radius:4px;background:var(--admin-accent-soft);color:var(--admin-accent);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.admin-calendar-grid .day-cell .entry.status-confirmed{background:var(--admin-success-soft);color:var(--admin-success)}.admin-calendar-grid .day-cell .entry.status-pending{background:var(--admin-warn-soft);color:var(--admin-warn)}.admin-calendar-grid .day-cell .entry.more{background:transparent;color:var(--admin-muted);cursor:default}.admin-calendar-grid .day-cell.other-month{background:color-mix(in oklch,var(--admin-bg) 50%,var(--admin-surface));opacity:.5}.admin-settings-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--radius-lg);padding:var(--gap-xl);margin-bottom:var(--gap-lg)}.admin-settings-card h3{font-family:var(--font-display);font-size:18px;margin:0 0 2px;letter-spacing:-.01em}.admin-settings-card .card-sub{font-size:var(--fs-sm);color:var(--admin-muted);margin-bottom:var(--gap-lg)}.admin-settings-card .section-divider{border:0;border-top:1px solid var(--admin-border-soft);margin:var(--gap-lg) 0}.admin-settings-card .toggle-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--admin-border-soft)}.admin-settings-card .toggle-row:last-child{border-bottom:0}.admin-settings-card .toggle-info h4{font-size:var(--fs-body);margin:0;font-weight:500}.admin-settings-card .toggle-info p{font-size:var(--fs-sm);color:var(--admin-muted);margin:2px 0 0}.admin-color-preview-card{display:flex;align-items:center;gap:var(--gap-md);background:var(--admin-bg);border:1px solid var(--admin-border);border-radius:var(--radius);padding:var(--gap-md);margin-top:var(--gap-md)}.admin-color-preview-card .swatch{width:48px;height:48px;border-radius:var(--radius);background:var(--admin-accent);flex-shrink:0;border:1px solid rgba(0,0,0,.08)}.admin-color-preview-card .swatch-label{font-weight:600;font-size:var(--fs-body)}.admin-color-preview-card .swatch-hex{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--admin-muted)}.admin-color-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--gap-sm)}.admin-color-presets button{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s ease}.admin-color-presets button:hover{border-color:var(--admin-fg)}.admin-color-presets button.selected{border-color:var(--admin-fg);box-shadow:0 0 0 2px var(--admin-surface),0 0 0 4px var(--admin-fg)}.admin-hours-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--gap-sm)}@media(max-width:900px){.admin-hours-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:560px){.admin-hours-grid{grid-template-columns:repeat(2,1fr)}}.admin-hours-grid .day-col{text-align:center;padding:12px 8px;background:var(--admin-bg);border:1px solid var(--admin-border-soft);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;gap:var(--gap-xs)}.admin-hours-grid .day-col .day-label{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--admin-muted);margin-bottom:4px}.admin-hours-grid .day-col input{width:100%;text-align:center;padding:6px 4px;border:1px solid var(--admin-border);border-radius:4px;background:var(--admin-surface);font-size:var(--fs-sm)}.admin-hours-grid .day-col input:focus{outline:var(--focus-ring);border-color:var(--admin-accent)}.admin-hours-grid .day-col .closed-tag{font-size:var(--fs-xs);color:var(--admin-muted);margin-top:4px;font-style:italic;min-height:20px}.admin-hours-grid .day-col .closed-toggle{font-size:11px;color:var(--admin-accent);cursor:pointer;margin-top:4px;-webkit-user-select:none;user-select:none}.admin-hours-grid .day-col .closed-toggle:hover{text-decoration:underline}.admin-plan-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--radius-lg);padding:var(--gap-xl);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--gap-md);margin-bottom:var(--gap-xl)}.admin-plan-card .plan-info h3{font-family:var(--font-display);font-size:22px;margin-bottom:4px}.admin-plan-card .plan-info .plan-price{font-size:15px;color:var(--admin-muted)}.admin-plan-card .plan-info .plan-price strong{font-family:var(--font-display);font-size:24px;color:var(--admin-fg)}.admin-plan-card .plan-info .plan-renew{font-size:var(--fs-xs);color:var(--admin-muted);margin-top:6px}.admin-empty-state{text-align:center;padding:48px var(--gap-md);color:var(--admin-muted)}.admin-empty-state p{margin:0 0 var(--gap-md);font-size:15px}.admin-invoice-row{display:grid;grid-template-columns:1fr auto auto auto;gap:var(--gap-lg);padding:14px 0;border-bottom:1px solid var(--admin-border);align-items:center;font-size:var(--fs-body)}@media(max-width:600px){.admin-invoice-row{grid-template-columns:1fr auto}}.admin-gc-type{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:4px;background:var(--admin-fg-soft)}:root{font-family:Inter,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:Inter,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}@media(prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:#fff3}}::-webkit-scrollbar-thumb:hover{background:#0000004d}@media(prefers-color-scheme:dark){::webkit-scrollbar-thumb:hover{background:#ffffff4d}}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}*{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:focus-visible{outline:2px solid currentColor;outline-offset:2px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{border:none;background:none;cursor:pointer;font:inherit}input,textarea,select{font:inherit}.text-balance{text-wrap:balance}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(prefers-color-scheme:dark){.glass{background:#1e293bb3}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideInRight{animation:slideInRight .3s ease-out}.animate-slideInLeft{animation:slideInLeft .3s ease-out}
