/* XMP Agents product theme. Assets are local; no external font requests. */
:root{color-scheme:dark;--paper:#020617;--white:#0d162b;--surface:#0d162b;--surface-raised:#14213b;--ink:#edf3ff;--muted:#a1afc9;--line:#24324c;--soft:#172743;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-pressed:#2563eb;--accent-soft:#142d56;--green:var(--accent);--green-hover:var(--accent-hover);--gold:#60a5fa;--danger:#fda4af;--radius:18px;--shadow:0 18px 55px #00000029;font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}
html[data-theme=light]{color-scheme:light;--paper:#f3f6fc;--white:#fff;--surface:#fff;--surface-raised:#f8faff;--ink:#14213c;--muted:#566680;--line:#d9e3f2;--soft:#eaf0fc;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-pressed:#1e40af;--accent-soft:#e8f0ff;--danger:#be123c;--shadow:0 14px 45px #1833640b}
body{background:radial-gradient(ellipse at 84% 0%,#3b82f611,transparent 42%),var(--paper);color:var(--ink)}
.session-status{position:fixed;z-index:1000;inset:auto 16px 16px;max-width:760px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-size:13px;line-height:1.5}.session-status[hidden]{display:none}.session-status button{flex-shrink:0;padding:9px 13px;border:1px solid var(--accent);border-radius:9px;background:var(--accent-pressed);color:#fff;cursor:pointer}.session-status button[hidden]{display:none}@media(max-width:520px){.session-status{align-items:stretch;flex-direction:column;gap:9px}}
button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,a,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
button:active:not(:disabled),.button:active:not(:disabled){transform:translateY(1px) scale(.985)}
h1,h2,h3,h4,.summary-illustration,.summary-illustration span,.section-title-row h2,.chat-welcome h3,.loading-panel h1,.session-error h1,.pending-panel h2,.cancel-dialog h2,.install-dialog h2{font-family:inherit;letter-spacing:-.045em;font-weight:730}
h1{font-size:clamp(32px,4vw,52px);line-height:1.12}.hero-copy,.intro-copy{font-size:14px;line-height:1.8;color:var(--muted)}.eyebrow{color:var(--accent-hover);font-weight:750;letter-spacing:.14em;font-size:10px}
.site-header{max-width:1360px;padding:21px 40px;gap:20px;border-color:var(--line);min-height:88px}.brand{gap:15px;min-width:0}.brand strong{font-size:15px;font-weight:750;letter-spacing:-.025em}.brand small{font-size:10px;color:var(--muted);line-height:1.5}
.brand-logo{width:44px;height:44px;object-fit:contain;display:block;flex-shrink:0}.brand-product{padding-left:15px;border-left:1px solid var(--line)}
.brand-mark{background:var(--accent-soft);color:var(--accent-hover);border-radius:12px}
.theme-toggle{display:inline-grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-width:36px;border:1px solid var(--line);border-radius:11px;background:var(--white);color:var(--ink);font-family:Arial,sans-serif;font-size:18px;line-height:1;padding:0;cursor:pointer}.theme-toggle:hover{background:var(--soft);border-color:var(--accent)}
.account-actions{gap:18px}.account-name{color:var(--ink);font-size:12px;text-underline-offset:4px;text-decoration-color:var(--line)}
.quiet-button,.quiet-link,.back-button{color:var(--muted);font-size:12px}.quiet-button:hover,.quiet-link:hover,.back-button:hover{color:var(--accent-hover)}
.google-button,.secondary{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:11px;box-shadow:0 2px 6px #00000005}.google-button:hover,.secondary:hover{background:var(--soft);border-color:var(--accent)}.google-g{color:var(--accent-hover)}
.primary,.chat-form button{background:linear-gradient(135deg,var(--accent),var(--accent-pressed));border-color:var(--accent);color:#fff;box-shadow:0 5px 16px #2563eb24;font-weight:650;border-radius:12px}.primary:hover:not(:disabled),.chat-form button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;box-shadow:0 8px 25px #3b82f638}.primary:active:not(:disabled),.chat-form button:active:not(:disabled){background:var(--accent-pressed)}
.text-button,.business-open,.cancel-link{color:var(--accent-hover)}.button.danger,.danger{background:#be123c;color:#fff;border:1px solid #e11d48}.danger:hover{background:#9f1239}
.page-shell{padding-top:40px}.hero-row{margin-bottom:30px;gap:32px}.hero-row h1{margin-bottom:16px;max-width:720px}.hero-note{border:1px solid var(--line);background:linear-gradient(135deg,var(--accent-soft),var(--white));border-radius:24px;padding:27px;min-height:160px;min-width:250px;gap:22px}.hero-note p{font-family:inherit;font-size:18px;font-weight:650;letter-spacing:-.045em}.orbit{font-family:inherit;font-size:60px;color:var(--accent-hover)}
.search-label{background:var(--white);border-color:var(--line);border-radius:13px;min-height:52px}.search-label:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.search-label input{color:var(--ink);font-size:13px}.search-label input::placeholder{color:var(--muted)}
.category-button{background:var(--white);border-color:var(--line);color:var(--muted);padding:10px 17px}.category-button:hover{border-color:var(--accent);color:var(--ink)}.category-button[aria-pressed=true],.directory-view-tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.directory-view-tabs{border-color:var(--line);background:var(--white)}.directory-view-tab{color:var(--muted)}.directory-view-tab:hover{color:var(--ink)}.favorite-count{border-color:currentColor}.last-business-shortcut{color:var(--accent-hover);border-color:var(--line);background:var(--accent-soft)}
.business-grid .business-card{position:relative;background:var(--white);border-color:var(--line);border-radius:20px;box-shadow:0 5px 25px #0000000a;min-height:300px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.business-grid .business-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 16px 35px #2563eb1f}.business-grid .business-card:focus-within{outline:3px solid var(--accent);outline-offset:3px}
.business-art{background:linear-gradient(125deg,#153569,#152c4b);padding:24px;min-height:108px}.business-art[data-family=health]{background:linear-gradient(125deg,#163e64,#122b47)}.business-art[data-family=wellness]{background:linear-gradient(125deg,#282e6c,#182343)}
html[data-theme=light] .business-art{background:linear-gradient(125deg,#dceaff,#e7effd)}html[data-theme=light] .business-art[data-family=health]{background:linear-gradient(125deg,#d9edf9,#e5effb)}html[data-theme=light] .business-art[data-family=wellness]{background:linear-gradient(125deg,#e3e5ff,#edf0ff)}
.art-mark,.business-art[data-family=health] .art-mark,.business-art[data-family=wellness] .art-mark{font-family:inherit;font-weight:800;letter-spacing:-.06em;color:#93c5fd;font-size:32px}html[data-theme=light] .art-mark,html[data-theme=light] .business-art[data-family=health] .art-mark,html[data-theme=light] .business-art[data-family=wellness] .art-mark{color:#245bbb}
.category-badge,.business-art[data-family=health] .category-badge,.business-art[data-family=wellness] .category-badge{background:#02061733;border-color:#93c5fd55;color:#d6e8ff}html[data-theme=light] .category-badge,html[data-theme=light] .business-art[data-family=health] .category-badge,html[data-theme=light] .business-art[data-family=wellness] .category-badge{background:#ffffff77;border-color:#a2bfe7;color:#255392}
.favorite-button{z-index:2;background:var(--white);border-color:var(--line);color:var(--muted)}.favorite-button:hover,.favorite-button[aria-pressed=true]{color:var(--accent-hover);background:var(--accent-soft);border-color:var(--accent)}
.business-card-content{padding:22px}.business-grid .business-card h2{font-size:19px;font-weight:750}.business-open{border-color:var(--line)}.business-card-description,.business-location,.small-copy{color:var(--muted)}
.business-heading h1{font-family:inherit;font-size:40px}.business-seal,.large-symbol,.ornament{color:var(--accent-hover)}.business-tabs,.app-navigation,.booking-actions,.chat-heading,.step-section,.bookings-section{border-color:var(--line)}.tab{color:var(--muted)}.tab.active{color:var(--accent-hover);border-color:var(--accent)}
.service-button,.professional-button,.day-button,.time-button,.booking-card,.chat-card,.suggestion,.account-card,.config-card{background:var(--white);color:var(--ink);border-color:var(--line);box-shadow:0 3px 20px #00000006}.service-button,.booking-card{border-radius:15px}.service-button:hover,.professional-button:hover,.day-button:hover,.time-button:hover{border-color:var(--accent);background:var(--surface-raised)}
.service-button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.professional-button[aria-pressed=true],.day-button[aria-pressed=true],.time-button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
.day-button[aria-pressed=true] .day-weekday,.day-button[aria-pressed=true] .day-today{color:#dbeafe}.day-number{font-family:inherit;font-weight:700;letter-spacing:-.04em}.professional-avatar,.step-number{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--line)}.professional-button[aria-pressed=true] .professional-avatar{background:#ffffff26;color:#fff}
.icon-button,.calendar-nav-button{background:var(--white);border-color:var(--line);color:var(--ink);border-radius:11px}.icon-button:hover,.calendar-nav-button:hover{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--accent)}.time-resource{color:inherit;opacity:.78}.selection-marker{border-color:var(--accent);color:var(--accent-hover)}
.summary-card,.quick-card{background:linear-gradient(145deg,var(--surface-raised),var(--white));border-color:var(--line);border-radius:18px;box-shadow:var(--shadow)}.summary-illustration{font-size:23px;border-color:var(--line);line-height:1.3}.summary-price,.summary-footnote{border-color:var(--line)}.summary-card h2,.section-title-row h2{font-family:inherit;font-weight:700}.summary-card p,.business-card p{color:var(--muted)}
input,select,textarea{background:var(--white);color:var(--ink);border-color:var(--line);border-radius:11px}input[type=text],input[type=email]{background:var(--white);color:var(--ink);border-color:var(--line)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{accent-color:var(--accent)}.contact-grid label,.form-label{color:var(--ink)}
.empty-card,.times-message,.link-card,.favorites-login-prompt{background:var(--white);border-color:var(--line);color:var(--muted)}.notice{background:var(--accent-soft);color:var(--ink);border-color:var(--accent);border-radius:13px}.notice[data-type=error],.times-message[data-type=error]{background:#3d17252e;border-color:#d34666;color:var(--danger)}
.pending-panel,.change-panel,.chat-recovery,.admin-pending{background:var(--accent-soft);color:var(--ink);border-color:var(--accent)}.pending-panel p,.pending-panel .eyebrow,.change-panel .eyebrow,.chat-recovery p{color:var(--muted)}.field-error,.chat-error,.link-code-error,.config-error{color:var(--danger)}
.chat-login{background:var(--white)}.assistant-avatar{background:var(--accent);color:#fff;border-radius:13px}.message-text{background:var(--soft);color:var(--ink);border-radius:15px}.message-row[data-role=user] .message-text{background:var(--accent);color:#fff}.chat-form{background:var(--white);border-color:var(--line)}.chat-form textarea{background:transparent}.ai-label{border-color:var(--line);color:var(--accent-hover)}.link-code-result code{background:var(--paper);color:var(--ink);border-color:var(--line)}
.cancel-dialog,.install-dialog,.admin-dialog{background:var(--surface-raised);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow);border-radius:20px}.cancel-dialog::backdrop,.install-dialog::backdrop,.admin-dialog::backdrop{background:#020617b3;backdrop-filter:blur(5px)}
.booking-theme-controls{display:flex;gap:16px;align-items:center}.booking-theme-controls .quiet-link{font-size:11px}.demo-banner{background:var(--accent-soft);color:var(--accent-hover);border-bottom:1px solid var(--line);font-size:10px;padding:9px 16px;line-height:1.6}.status-dot{background:var(--accent)}.spinner{border-color:var(--line);border-top-color:var(--accent)}
.site-footer{border-color:var(--line);color:var(--muted);font-size:11px;line-height:1.6;padding-bottom:30px}
@media(max-width:740px){.site-header{padding:17px 20px;min-height:78px;gap:14px}.brand{gap:10px}.brand-logo{width:38px;height:38px}.brand-product{padding-left:10px}.brand strong{font-size:12px}.brand small{font-size:9px}.account-actions{gap:10px}.account-name{max-width:82px;font-size:10px}.theme-toggle{width:34px;height:34px;min-width:34px;flex-basis:34px;font-size:17px}.booking-theme-controls{gap:10px}.booking-theme-controls .quiet-link{max-width:85px;font-size:10px}.page-shell{padding-top:28px}h1{font-size:35px;letter-spacing:-.05em}.business-heading h1{font-size:32px}.hero-row{margin-bottom:26px}.hero-note{display:none}.hero-copy,.intro-copy{font-size:13px}.service-title{font-size:13px}.business-card-content{padding:19px}.business-grid{gap:15px}.business-grid .business-card{border-radius:16px}.service-button{padding:17px 14px}.site-footer{font-size:10px}.directory-toolbar{gap:12px}.search-label{min-height:49px}.category-list{gap:7px}.category-button{padding:9px 14px}}
@media(max-width:390px){.brand-product{display:none}.brand-logo{width:38px}.account-actions{gap:9px}.account-name{max-width:78px}.site-header{padding-left:17px;padding-right:17px}.booking-theme-controls{gap:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.account-card h2{font-family:inherit;font-weight:730;font-size:25px;letter-spacing:-.04em}
.business-card-link{display:flex;flex-direction:column;flex:1;align-self:stretch;text-decoration:none;color:inherit;min-height:100%;outline:none}.business-card-link .business-card-content{flex:1}.business-card-link:focus-visible{outline:none}.business-grid .favorite-button{width:40px;height:40px;right:16px;top:16px;font-size:24px}
.brand-hero-mark{width:80px;height:80px;flex:0 0 80px}.summary-brand-mark{width:60px;height:60px;flex:0 0 60px}.favorites-login-prompt h2{font-family:inherit;font-size:22px;font-weight:700}
.booking-page{padding-bottom:76px}.booking-page .brand strong{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.assistant-is-open{overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Filled controls use a darker blue than links, keeping small white labels
   readable in both palettes, including hover and selected states. */
:root{--action:#2563eb;--action-hover:#1d4ed8;--action-pressed:#1e40af}
.primary,.chat-form button{background:linear-gradient(135deg,var(--action),var(--action-pressed));border-color:var(--action)}
.primary:hover:not(:disabled),.chat-form button:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}
.primary:active:not(:disabled),.chat-form button:active:not(:disabled){background:var(--action-pressed)}
.category-button[aria-pressed=true],.directory-view-tab[aria-selected=true],.professional-button[aria-pressed=true],.day-button[aria-pressed=true],.time-button[aria-pressed=true],.calendar-views button[aria-pressed=true],.agenda-day-button[aria-pressed=true]{background:var(--action);border-color:var(--action);color:#fff}
.day-button[aria-pressed=true] .day-weekday,.day-button[aria-pressed=true] .day-today{color:#fff}
.time-button[aria-pressed=true] .time-resource{opacity:1}
.professional-button[aria-pressed=true] .professional-avatar{background:var(--action-pressed);color:#fff}
.message-row[data-role=user] .message-text{background:var(--action);color:#fff}
.calendar-item-actions button:hover:not(:disabled){background:var(--action);border-color:var(--action);color:#fff}
.calendar-item-actions .cancel-action:hover:not(:disabled){background:#be123c;border-color:#be123c;color:#fff}
@media(max-width:600px){.site-header .brand-product{display:none}.booking-page .site-header .brand-product{display:block;max-width:125px}}
@media(max-width:390px){.booking-page .brand-product{display:block;max-width:125px}.booking-page .brand-logo{width:38px}.booking-page .brand strong{max-width:125px}}

