﻿@font-face{font-family:Manrope;src:url("fonts/manrope-latin-wght-normal.938c6e8019b6.woff2") format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Manrope;src:url("fonts/manrope-latin-ext-wght-normal.6d36d5bdedfa.woff2") format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF}
@font-face{font-family:Manrope;src:url("fonts/manrope-greek-wght-normal.42b71be38af5.woff2") format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0370-03FF}
@font-face{font-family:'JetBrains Mono';src:url("fonts/jetbrains-mono-latin-wght-normal.b058178d7f30.woff2") format('woff2');font-weight:100 800;font-display:swap}
:root{--font:Manrope,system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;--black:#0d0d0e;--black-2:#1c1c1f;--ink:#0d0d0e;--text:#34332f;--muted:#6c6a64;--faint:#a2a098;--bg:#f5f4ef;--surface:#fff;--surface-2:#faf9f5;--border:#e5e2da;--border-strong:#cdc9bf;--accent:#facc15;--accent-hover:#eab308;--accent-tint:#fef7cd;--success:#157a3b;--success-tint:#e2f3e7;--danger:#b42318;--danger-tint:#fdecea;--focus-ring:0 0 0 3px rgba(250,204,21,.6)}
*{box-sizing:border-box}html{font-size:15px;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:500 1rem/1.55 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}a:hover{text-decoration-color:var(--ink)}h1,h2,h3,p{margin:0 0 .7em}h1,h2,h3{color:var(--ink);line-height:1.16;font-weight:800;letter-spacing:-.025em}h1{font-size:clamp(1.85rem,3vw,2.4rem)}h2{font-size:1.42rem}h3{font-size:1.08rem}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}::selection{background:var(--accent);color:var(--ink)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mono,time{font-family:var(--mono);font-variant-numeric:tabular-nums}
.topbar{height:62px;background:var(--black);color:#f4f2ec;position:sticky;top:0;z-index:20}.topbar-inner{height:100%;max-width:1400px;padding:0 28px;margin:auto;display:flex;align-items:center;gap:32px}.brand{display:inline-flex;align-items:center;gap:10px;color:#f4f2ec;text-decoration:none;font-weight:800;font-size:1.05rem;letter-spacing:-.03em;white-space:nowrap}.brand:hover{color:white;text-decoration:none}.brand-mark{display:block;flex:none;width:31px;height:31px}.brand-accent{color:var(--accent)}.top-nav{display:flex;align-items:stretch;align-self:stretch;gap:2px}.top-nav a{display:flex;align-items:center;padding:0 14px;color:#a9a69e;text-decoration:none;font-size:.89rem;font-weight:700;border-bottom:3px solid transparent;border-top:3px solid transparent}.top-nav a:hover{color:white}.top-nav a[aria-current=page]{color:#fff;border-bottom-color:var(--accent)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.profile-link{display:flex;align-items:center;gap:8px;color:#e6e4dc;text-decoration:none;font-size:.85rem;font-weight:700}.profile-link:hover,.profile-link[aria-current=page]{color:#fff;text-decoration:none}.profile-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#343438;border:1px solid #5b5b61;color:var(--accent);font-weight:800}.mobile-nav{display:none}
.main{width:100%;min-height:calc(100vh - 62px)}.screen{width:min(100% - 48px,1280px);margin:0 auto;padding:34px 0 70px}.narrow-screen{max-width:760px}.screen-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.screen-head h1{margin:3px 0 4px}.screen-lede{color:var(--muted);margin:4px 0 0}.eyebrow{font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 3px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 3px rgba(13,13,14,.04)}.back-link{display:inline-block;margin-bottom:18px;color:var(--muted);font-weight:700;text-decoration:none}.back-link:hover{color:var(--ink)}.standalone-form{padding:28px}.flash{width:min(100% - 48px,1280px);margin:18px auto -12px;padding:12px 15px;border-radius:8px;background:var(--accent-tint);border:1px solid #e8d977;color:var(--ink);font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 16px;border:1.5px solid transparent;border-radius:7px;font-size:.9rem;font-weight:800;line-height:1.2;text-align:center;white-space:normal;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn:hover{text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring);border-color:var(--ink)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--ink)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn-secondary:hover{border-color:var(--ink)}.btn-danger{background:var(--surface);border-color:#e8ada7;color:var(--danger)}.btn-danger:hover{background:var(--danger-tint);border-color:var(--danger)}.btn-sm{min-height:34px;padding:5px 12px;font-size:.8rem}.btn-block{width:100%}.status-badge{display:inline-flex;padding:3px 9px;border-radius:99px;background:var(--success-tint);color:var(--success);font-size:.74rem;font-weight:800}.status-muted{background:#efede7;color:var(--muted)}.status-error{background:var(--danger-tint);color:var(--danger)}.danger-text,.error{color:var(--danger)}
.form fieldset{border:0;padding:0;margin:0 0 16px;min-width:0}.form legend{color:var(--ink);font-size:.93rem;font-weight:800;margin-bottom:11px}.field{min-width:0;margin-bottom:15px}.field-grid{display:grid;gap:13px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:1.3fr 1fr 1fr}.field label{display:block;color:var(--ink);font-size:.8rem;font-weight:800;margin-bottom:5px}.field input:not([type=checkbox]),.field select,.field textarea,.customer-search input,.calendar-jump input{width:100%;min-height:43px;border:1.5px solid var(--border-strong);border-radius:7px;padding:9px 11px;background:white;color:var(--ink);font-size:.93rem;font-weight:600}.field textarea{resize:vertical;min-height:78px}.field input:hover,.field select:hover,.field textarea:hover,.customer-search input:hover{border-color:#a9a49a}.field input:focus,.field select:focus,.field textarea:focus,.customer-search input:focus,.calendar-jump input:focus{outline:none;border-color:var(--ink);box-shadow:var(--focus-ring)}.field input::placeholder{color:var(--faint);font-weight:500}.field input[type=hidden]{display:none}.hint,.helptext{display:block;color:var(--muted);font-size:.78rem;margin-top:5px}.required{color:var(--danger)}.errorlist{color:var(--danger);font-size:.8rem;padding-left:17px;margin:5px 0}.form-error{background:var(--danger-tint);color:var(--danger);padding:10px;border-radius:7px;margin:0 0 15px}.form-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px}.search-field{position:relative}.search-results{position:absolute;top:100%;left:0;right:0;z-index:5;background:#fff;border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 10px 25px #0002;max-height:200px;overflow:auto}.search-results:empty{display:none}.search-result{width:100%;display:block;padding:10px 12px;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--border);color:var(--ink)}.search-result:hover,.search-result:focus{background:var(--accent-tint)}.search-result strong,.search-result small{display:block}.search-result small{color:var(--muted);font-size:.75rem}
.app-dialog,.confirm-dialog{position:fixed;inset:0;margin:auto;width:min(610px,calc(100vw - 28px));max-height:min(92dvh,820px);border:1px solid var(--border-strong);border-radius:14px;background:#fff;color:var(--text);padding:0;box-shadow:0 24px 60px #0004;overflow:auto}.app-dialog::backdrop,.confirm-dialog::backdrop{background:rgba(13,13,14,.6);backdrop-filter:blur(2px)}.app-dialog #dialog-body{padding:26px 28px 28px}.dialog-close{position:sticky;top:12px;left:calc(100% - 48px);z-index:2;display:grid;place-items:center;width:34px;height:34px;margin:12px 12px -46px auto;border:0;border-radius:7px;background:#f0efeb;color:var(--ink);font-size:23px;line-height:1}.dialog-close:hover{background:var(--border)}.modal-head{padding-right:34px;margin-bottom:18px}.modal-head h2{font-size:1.45rem;margin:4px 0 5px}.modal-head p:last-child{margin:0;color:var(--muted)}.modal-head .eyebrow{color:var(--muted)}.dialog-pad{padding:26px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.confirm-dialog #confirm-description{margin:13px 0 23px;overflow-wrap:anywhere}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:50;max-width:min(92vw,600px);background:var(--black);color:white;padding:12px 17px;border-radius:8px;box-shadow:0 8px 25px #0003;font-weight:700}.toast[hidden]{display:none}
.detail-list{margin:0;border-top:1px solid var(--border)}.detail-list>div{display:grid;grid-template-columns:94px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.detail-list dt{font-size:.8rem;color:var(--muted);font-weight:700}.detail-list dd{margin:0;color:var(--ink);font-weight:700;overflow-wrap:anywhere}.detail-list.compact{margin:13px 0}.detail-actions{margin:20px 0 22px}.message-history{border-top:1px solid var(--border);padding-top:14px;margin-top:18px}.message-history summary{font-weight:800;cursor:pointer;color:var(--ink)}.message-line{padding:12px 0;border-bottom:1px solid var(--border);font-size:.85rem}.message-line time{color:var(--muted);font-size:.74rem}.message-line p{margin:6px 0;overflow-wrap:anywhere}.section-title{margin:24px 0 10px}.phone-link{font-family:var(--mono);font-size:.92rem}
.customer-panel{overflow:hidden}.customer-search{display:flex;gap:9px;padding:18px;border-bottom:1px solid var(--border)}.customer-search input{min-width:0;flex:1}.customer-row,.visit-row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--border);color:var(--ink);text-decoration:none}.customer-row:last-child,.visit-row:last-child{border-bottom:0}.customer-row:hover,.visit-row:hover{background:var(--surface-2);text-decoration:none}.customer-initial{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:9px;background:var(--accent-tint);font-weight:800}.customer-ident{min-width:0;flex:1}.customer-ident strong,.customer-ident small,.visit-row strong,.visit-row small{display:block;overflow-wrap:anywhere}.customer-ident small,.visit-row small{font-family:var(--mono);font-size:.76rem;color:var(--muted)}.row-arrow{margin-left:auto;color:var(--muted);font-size:1.5rem}.visit-list{border:1px solid var(--border);border-radius:9px;overflow:hidden}.visit-row{justify-content:space-between}.empty-state{padding:28px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--ink)}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:18px}.settings-side{display:grid;gap:18px;align-content:start}.settings-panel{padding:24px}.settings-panel h2{margin:0 0 18px}.settings-panel .eyebrow+h2{font-size:2rem;margin:4px 0 14px}.settings-panel h2 small,.billing-panel h2 small{font-size:.9rem;font-weight:600;color:var(--muted)}.status-line{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.settings-link{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 0;border:0;border-top:1px solid var(--border);background:none;text-align:left;color:var(--ink);text-decoration:none;font-weight:700}.settings-link:hover{text-decoration:none;color:var(--danger)}.billing-panel{padding:26px}.billing-top{display:flex;justify-content:space-between}.billing-panel h2{font-size:2.6rem;margin:10px 0}.billing-panel>p{color:var(--muted)}.billing-panel form{display:inline-block;margin:6px 10px 0 0}
.auth-layout{min-height:calc(100dvh - 62px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);max-width:1180px;margin:auto;align-items:center;gap:8vw;padding:46px 28px}.auth-intro h1{font-size:clamp(2.6rem,5vw,4.8rem);max-width:650px;letter-spacing:-.055em}.auth-intro>p:not(.eyebrow){font-size:1.16rem;max-width:450px;color:var(--muted)}.auth-line{height:5px;width:60px;background:var(--accent);margin:36px 0 15px}.auth-intro>span{font-weight:800;color:var(--ink)}.auth-price{font-weight:800;font-size:2.6rem;color:var(--ink);margin-top:30px}.auth-price span{font-size:1rem;color:var(--muted)}.auth-panel{padding:32px}.auth-panel h1{font-size:1.9rem}.auth-panel h2{font-size:1.65rem}.auth-panel .form{margin-top:22px}.auth-panel .field{margin-bottom:17px}.auth-links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:18px;font-size:.84rem}.auth-single{width:min(100% - 32px,500px);margin:80px auto}.auth-single .auth-panel p:not(.eyebrow){color:var(--muted)}
@media(max-width:850px){.topbar-inner{padding:0 18px;gap:15px}.top-nav{display:none}.profile-label{display:none}.screen{width:min(100% - 32px,1280px);padding-top:24px}.settings-grid{grid-template-columns:1fr}.auth-layout{gap:28px;grid-template-columns:1fr;max-width:540px}.auth-intro h1{font-size:2.7rem}.auth-intro>p:not(.eyebrow){font-size:1rem}.auth-line,.auth-intro>span{display:none}}
@media(max-width:640px){.main{min-height:calc(100dvh - 62px)}.topbar{height:58px}.topbar-inner{height:58px}.brand{font-size:.98rem}.top-new{width:36px;padding:0!important}.top-new-label{display:none}.top-new-icon{font-size:1.4rem;line-height:1}.top-actions{gap:10px}.profile-avatar{width:32px;height:32px}.mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:19;min-height:64px;padding-bottom:env(safe-area-inset-bottom);background:var(--black);border-top:1px solid #333}.mobile-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#aaa79f;text-decoration:none;font-size:.69rem;font-weight:800;gap:1px}.mobile-nav a[aria-current=page]{color:var(--accent)}.nav-icon{width:19px;height:19px;display:block}.screen{width:min(100% - 24px,1280px);padding:22px 0 calc(90px + env(safe-area-inset-bottom))}.screen-head h1{font-size:1.75rem}.screen-lede{font-size:.87rem}.standalone-form{padding:18px}.app-dialog,.confirm-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 14px)}.app-dialog #dialog-body{padding:20px 17px 24px}.field-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three .field:first-child{grid-column:1/-1}.auth-layout{padding:30px 16px 90px;gap:24px}.auth-intro h1{font-size:2.3rem}.auth-panel{padding:22px}.auth-single{margin:30px auto 90px}.settings-panel{padding:20px}.customer-search{padding:12px}.customer-search button{padding:8px 10px}.toast{bottom:78px}.form-actions .btn{flex:1}.detail-actions .btn{flex:auto}.customer-row{padding:12px}}
@media(max-width:380px){.brand span:last-child{display:none}.field-grid.two{grid-template-columns:1fr}.calendar-jump{display:none}}

/* Booking and phone entry */
.booking-form{max-width:100%}.booking-section{border-top:1px solid var(--border);padding:17px 0 6px}.booking-section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:17px}.booking-section-title h3{margin:0;font-size:1.02rem}.booking-section-title p{margin:3px 0 0;color:var(--muted);font-size:.78rem}.booking-step{flex:0 0 25px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--ink);font-size:.76rem;font-weight:900}.phone-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px}.phone-grid .field{min-width:0}.phone-grid select{max-width:100%}.form-footnote{margin:-6px 0 8px;color:var(--muted);font-size:.78rem}.optional{color:var(--muted);font-weight:500}.slot-status{color:var(--muted);font-size:.78rem;margin:0 0 8px}.available-times{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-height:136px;overflow:auto;padding:2px 2px 5px}.time-choice{min-height:35px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}.time-choice:hover:not(:disabled),.time-choice:focus-visible{border-color:var(--ink);outline:none;box-shadow:var(--focus-ring)}.time-choice[aria-pressed=true]{background:var(--black);color:#fff;border-color:var(--black)}.time-choice:disabled{background:#f3f1ec;color:#aaa69e;text-decoration:line-through;cursor:not-allowed}.time-choice-busy:not(:disabled){border-color:var(--accent);background:var(--accent-tint)}.time-choice-busy[aria-pressed=true]{background:var(--black);color:#fff}.custom-time{max-width:170px;margin-top:9px}.booking-optional{padding-bottom:0}.setting-choice{border:1px solid var(--border);border-radius:8px;padding:15px;margin-top:19px;background:#faf9f6}.setting-choice label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.setting-choice input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--black)}.setting-choice strong{display:block;font-size:.9rem}.setting-choice small{display:block;color:var(--muted);line-height:1.4;margin-top:4px}.booking-form .form-actions{position:sticky;bottom:-24px;background:var(--paper);padding:12px 0 3px;border-top:1px solid var(--border);z-index:2}
@media(max-width:640px){.available-times{grid-template-columns:repeat(4,minmax(0,1fr));max-height:136px}.phone-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.booking-form .form-actions{bottom:-24px}}
@media(max-width:380px){.phone-grid{grid-template-columns:1fr}.available-times{grid-template-columns:repeat(3,minmax(0,1fr))}}
.standalone-form [data-close-dialog]{display:none}
.booking-form .form-actions{position:static;background:transparent;padding:12px 0 0;z-index:auto}.app-dialog .booking-form .form-actions{position:sticky;bottom:0;background:#fff;z-index:2;padding:12px 0 3px}
.customer-page-summary{padding:13px 16px;color:var(--muted);font-size:.78rem}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-top:1px solid var(--border)}.pagination span{color:var(--muted);font-size:.8rem;font-weight:700;text-align:center}.pagination .btn{min-width:82px;text-align:center}
.search-result-note{padding:10px 12px;color:var(--muted);font-size:.78rem;background:#faf9f6}
.time-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0 0 9px}.time-periods button{min-height:34px;padding:4px 5px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.time-periods button small{display:block;font-size:.63rem;font-weight:650;color:var(--muted)}.time-periods button[aria-pressed=true]{background:var(--black);border-color:var(--black);color:#fff}.time-periods button[aria-pressed=true] small{color:#ddd}.time-periods button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.time-choice[hidden]{display:none}
@media(max-width:390px){.time-periods{grid-template-columns:repeat(2,minmax(0,1fr))}}


