:root{--paper: #f6f1ff;--paper-2: #ece4ff;--ink: #1b1430;--ink-2: #3b2e5e;--muted: #7c6fa3;--line: rgba(102, 51, 238, .16);--line-2: rgba(102, 51, 238, .08);--accent: #7c3aed;--accent-strong: #6d28d9;--accent-soft: #d9c8ff;--good: #3b8a4f;--warn: #b07024;--bad: #c3382f;--shadow: 0 1px 0 rgba(56, 17, 124, .06), 0 16px 40px -22px rgba(56, 17, 124, .35);--sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif: var(--sans);--mono: var(--sans)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--paper);background-image:radial-gradient(1200px 600px at 80% -10%,rgba(124,58,237,.18),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(167,139,250,.22),transparent 60%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.55}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit;background:transparent}textarea{resize:vertical}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;margin:0;color:var(--ink)}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line);background:#f6f1ffd1;-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);position:sticky;top:0;z-index:10}.header__brand{display:flex;align-items:center;gap:14px}.header__mark{width:38px;height:38px;border-radius:10px;display:block;object-fit:contain;box-shadow:0 1px #1b18140f,0 6px 20px -10px #1b181459}.header__eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.header__title h1{font-size:22px;line-height:1.1;margin-top:2px}.header__controls{display:flex;align-items:center;gap:10px}.header__icon-group{display:flex;align-items:center;gap:8px;margin-left:8px}@media (max-width: 720px){.header__icon-group{position:fixed;top:12px;right:16px;z-index:20;margin-left:0}}.artist-select{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;min-width:0;max-width:min(360px,38vw)}.artist-select__label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.artist-select__avatar{width:24px;height:24px;flex:0 0 24px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--paper-2)}.artist-select__value{display:block;font-size:13px;line-height:1.25;min-width:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:transparent;font-size:13px;text-decoration:none;transition:background .12s ease,color .12s ease,transform .12s ease}.btn:hover:not(:disabled){background:var(--paper-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--solid{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 6px 20px -10px #7c3aed99}.btn--solid:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn--ghost.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--mobile-only{display:none}.btn--icon{width:34px;height:34px;padding:0;border-radius:999px;justify-content:center;font-size:16px;line-height:1}.btn--icon>span{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(100%,420px);display:grid;gap:20px;padding:28px;border:1px solid var(--line);border-radius:8px;background:#ffffffd1;box-shadow:var(--shadow)}.auth-panel__header{display:grid;gap:8px}.auth-panel__eyebrow{color:var(--muted);font-size:14px;font-weight:600}.auth-panel__header h1{font-size:30px;line-height:1.05}.auth-form{display:grid;gap:14px}.auth-brand{display:grid;justify-items:center;gap:8px}.auth-brand img{width:48px;height:48px;border-radius:12px;display:block}.auth-brand strong{font-size:18px;letter-spacing:.04em}.auth-role-grid{display:grid;gap:12px}.auth-role-prompt{margin:0;color:var(--muted);font-size:14px;font-weight:650;text-align:center}.auth-role-card{width:100%;min-height:54px;display:grid;align-content:center;text-align:center;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#fff;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease,background .12s ease}.auth-role-card:hover{transform:translateY(-1px);border-color:#7c3aed6b;background:var(--paper-2);box-shadow:0 0 0 3px #7c3aed1a}.auth-role-card strong{font-size:16px}.auth-social{display:grid;gap:10px}.auth-social__button{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--ink);font-weight:650}.auth-social__button:hover:not(:disabled){background:var(--paper-2)}.auth-social__button:disabled{cursor:not-allowed;opacity:.62}.auth-social__mark{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px}.auth-social__mark svg{width:20px;height:20px;display:block}.auth-social__mark--apple{color:#111}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-field{display:grid;gap:6px}.auth-field span{font-size:13px;font-weight:600;color:var(--muted)}.auth-field input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.auth-form__submit,.auth-panel__back{justify-content:center}.auth-status{position:relative;width:34px;height:34px;flex:0 0 34px}.auth-status-trigger{width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;overflow:hidden}.auth-status-trigger:hover{background:var(--paper-2)}.auth-status-trigger img{width:100%;height:100%;object-fit:cover}.auth-status-trigger>span{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;font-size:13px}.auth-status-menu{position:absolute;top:calc(100% + 8px);right:0;width:210px;z-index:40;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);display:grid;gap:4px}.auth-status-menu__identity{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--line-2);margin-bottom:4px;min-width:0}.auth-status-menu__identity strong,.auth-status-menu__identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-status-menu__identity strong{font-size:13px;color:var(--ink)}.auth-status-menu__identity span{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.auth-status-menu button{width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:13px}.auth-status-menu button:hover{background:var(--paper-2)}@media (max-width: 520px){.auth-page{padding:16px;place-items:stretch}.auth-panel{align-self:center;padding:20px}.auth-panel__header h1{font-size:25px}}.layout{flex:1;display:grid;grid-template-columns:320px minmax(0,1fr) 360px;gap:0;min-height:0;overflow:hidden}.layout--intake-first{grid-template-columns:minmax(0,1fr)}.panel{border-color:var(--line);padding:24px;overflow-y:auto;background:var(--paper)}.panel--intake{border-right:1px solid var(--line)}.panel--summary{border-left:1px solid var(--line);background:radial-gradient(600px 300px at 100% 0%,rgba(124,58,237,.1),transparent 60%),linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%)}.sidebar-scrim{display:none}.conversation{display:flex;flex-direction:column;min-height:0;height:100%}.artist-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:stretch;justify-content:stretch}.artist-search-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#140e268c;cursor:pointer}.artist-search{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;padding:28px clamp(20px,6vw,72px);background:#fff;overflow-y:auto}.artist-search__close{position:absolute;top:16px;right:20px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:22px;line-height:1;cursor:pointer;color:var(--ink);z-index:2}.artist-search__close:hover{border-color:var(--accent);color:var(--accent)}.artist-search__find{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.artist-search__find span,.artist-search__field span{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.artist-search__find input,.artist-search__field select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 11px;outline:none;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.artist-search__find input:focus,.artist-search__field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed24}.artist-search__form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(96px,.7fr);align-items:end;gap:10px}.artist-search__field{display:flex;flex-direction:column;gap:4px}.artist-search__error{margin:8px 0 0;color:var(--bad);font-size:12px}.artist-search__results{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:16px;flex:1;overflow-y:auto;padding-right:2px}.artist-search__result{width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;transition:border-color .12s ease,background .12s ease,transform .12s ease}.artist-search__result:hover{border-color:var(--accent);transform:translateY(-1px)}.artist-search__result.is-selected{border-color:var(--accent);background:var(--paper-2)}.artist-search__result-name,.artist-search__result-meta{display:block}.artist-search__result-name{font-weight:700;color:var(--ink)}.artist-search__result-meta{margin-top:2px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-search__empty{grid-column:1 / -1;margin:0;padding:12px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:#ffffff94;font-size:13px}.conversation__scroll{flex:1 1 0;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto;padding:28px clamp(16px,4vw,48px) 8px;display:flex;flex-direction:column;gap:20px}.conversation__scroll--empty{padding:0}.intake-start{min-height:100%;width:min(100%,860px);margin:0 auto;padding:clamp(22px,4vw,48px)}.intake-start__shell{display:grid;gap:18px}.intake-start__header{display:grid;gap:6px;padding-bottom:16px;border-bottom:1px solid var(--line)}.intake-start__eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.intake-start h2{font-size:clamp(32px,5vw,48px);line-height:1.05;font-style:italic;font-weight:400}.intake-start__header p{margin:0;color:var(--muted);font-size:14px}.artist-recommend{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#ffffffb8}.artist-choice-actions{display:flex;flex-wrap:wrap;gap:10px}.agent-rec{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#f0f9ffbf;font-size:13px;display:grid;gap:8px}.agent-rec--loading{color:#4a5568;font-style:italic}.agent-rec--error{background:#fed7d7;color:#742a2a}.agent-rec__header{font-weight:600;color:#2d3748;font-size:12px}.agent-rec__text{white-space:pre-wrap;line-height:1.4}.agent-rec__calls{display:grid;gap:4px}.agent-rec__call{background:#fff;border-radius:4px;padding:4px 8px;border:1px solid var(--line);font-size:12px}.agent-rec__call summary{cursor:pointer}.agent-rec__call-result{padding-top:4px;color:#2f855a}.agent-rec__call-error{padding-top:4px;color:#c53030}.agent-rec__meta{border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:#f0f9ff8c;font-size:12px;color:#2d3748;margin-top:6px}.agent-rec__meta>summary{cursor:pointer;font-weight:600}.agent-rec__calls{margin-top:6px;display:grid;gap:3px}.agent-rec__call{background:#fff;border-radius:4px;padding:3px 6px;border:1px solid var(--line);font-size:11px}.markdown-body{line-height:1.5}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:12px 0 6px;font-weight:600;line-height:1.25}.markdown-body h1{font-size:1.35em}.markdown-body h2{font-size:1.2em}.markdown-body h3{font-size:1.05em}.markdown-body h4{font-size:1em}.markdown-body p{margin:6px 0}.markdown-body ul,.markdown-body ol{margin:6px 0;padding-left:22px}.markdown-body li{margin:2px 0}.markdown-body strong{font-weight:600}.markdown-body em{font-style:italic}.markdown-body code{background:#0000000f;padding:1px 4px;border-radius:3px;font-size:.9em}.markdown-body pre{background:#0000000f;padding:8px 10px;border-radius:4px;overflow-x:auto;margin:6px 0}.markdown-body pre code{background:transparent;padding:0}.markdown-body blockquote{margin:6px 0;padding:2px 10px;border-left:3px solid var(--line, #cbd5e0);color:#4a5568}.markdown-body hr{border:0;border-top:1px solid var(--line, #e2e8f0);margin:10px 0}.markdown-body a{color:#2b6cb0;text-decoration:underline}.artist-choice-actions__button{flex:1 1 180px;justify-content:center}.artist-recommend__progress{height:3px;overflow:hidden;border-radius:999px;background:var(--accent-soft)}.artist-recommend__progress-bar{display:block;width:40%;height:100%;border-radius:inherit;background:var(--accent);animation:artist-recommend-progress 1s ease-in-out infinite}@keyframes artist-recommend-progress{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion: reduce){.artist-recommend__progress-bar{width:100%;animation:none}}@media (max-width: 560px){.artist-choice-actions__button{flex-basis:100%}.artist-recommend__result-header{flex-direction:column;align-items:flex-start;gap:3px}.artist-recommend__result-header span{max-width:100%;white-space:normal;overflow-wrap:anywhere}}.artist-recommend__error{margin:0;color:var(--bad);font-size:12px}.artist-recommend__results{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.artist-recommend__result{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.artist-recommend__result:hover{border-color:var(--accent);transform:translateY(-1px)}.artist-recommend__result.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed24}.artist-recommend__rank{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--paper-2);color:var(--accent);font-size:12px;font-weight:800}.artist-recommend__body{min-width:0;display:grid;gap:7px}.artist-recommend__result-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.artist-recommend__result-header strong{min-width:0;overflow-wrap:anywhere;color:var(--ink);font-size:15px}.artist-recommend__result-header span{flex-shrink:0;color:var(--accent);font-size:12px;font-weight:700}.artist-recommend__rationale{min-width:0;overflow-wrap:anywhere;word-break:break-word;color:var(--muted);font-size:13px;line-height:1.45}.artist-recommend__chips{display:flex;flex-wrap:wrap;gap:6px}.artist-recommend__chips span{border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:#fff;color:var(--ink);font-size:12px}.artist-recommend__choose{justify-self:start;pointer-events:none}.intake-start__footer{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px;padding:16px 0 4px;background:transparent}.intake-start__footer p{margin:0;color:var(--muted);font-size:13px;background:transparent}.intake-start__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;background:transparent}.intake-start__actions .booking-cta{margin-top:0;padding-top:0;border-top:0;background:transparent}.intake-start__actions .btn.booking-cta__btn,.intake-start__actions .btn.intake-start__submit,.intake-start__actions .btn--solid.booking-cta__btn,.intake-start__actions .btn--solid.intake-start__submit{background-color:var(--accent);background-image:none;color:#fff;border:1px solid var(--accent);box-shadow:none;justify-content:center;text-align:center}.intake-start__actions .btn.booking-cta__btn:hover:not(:disabled),.intake-start__actions .btn.intake-start__submit:hover:not(:disabled),.intake-start__actions .btn--solid.booking-cta__btn:hover:not(:disabled),.intake-start__actions .btn--solid.intake-start__submit:hover:not(:disabled){background-color:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.intake-start__submit{flex-shrink:0}.empty{flex:1;width:min(100%,720px);min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:28px;padding:clamp(24px,6vw,72px);margin:0 auto}.empty__eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.empty h2{font-size:clamp(32px,5vw,48px);line-height:1.05;margin-top:6px;font-style:italic;font-weight:400}.empty p{color:var(--ink-2);max-width:56ch}.empty__starters{list-style:none;margin:0;padding:0;display:grid;gap:10px}.starter-chip{width:100%;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink-2);transition:border-color .12s ease,transform .12s ease,background .12s ease}.starter-chip:hover{border-color:var(--accent);transform:translateY(-1px);background:#fff;box-shadow:0 10px 24px -16px #7c3aed80}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bubble{display:flex;flex-direction:column;gap:6px;max-width:min(680px,88%);animation:bubble-in .22s ease both}.bubble__role{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.bubble__body{padding:14px 18px;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.bubble__body p{margin:0}.bubble__body p+p{margin-top:8px}.bubble--user{align-self:flex-end;align-items:flex-end}.bubble--user .bubble__body{background:linear-gradient(140deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;border-color:var(--accent-strong);border-bottom-right-radius:6px;box-shadow:0 12px 28px -16px #6d28d999}.bubble--assistant{align-self:flex-start}.bubble--assistant .bubble__body{background:#fff;border-bottom-left-radius:6px;font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--ink)}.bubble--typing .bubble__body{padding:14px 22px}.bubble__attachments{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}.attachment{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:1 / 1;transition:transform .12s ease,border-color .12s ease}.attachment:hover{transform:translateY(-1px);border-color:var(--ink-2)}.attachment img{width:100%;height:100%;object-fit:cover;display:block}.bubble--user .attachment{border-color:#fbf8f440}.dots{display:inline-flex;gap:4px}.dots span{width:6px;height:6px;border-radius:999px;background:var(--muted);display:inline-block;animation:dot 1.1s infinite ease-in-out}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}@keyframes dot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}.composer{display:flex;flex-direction:column;gap:10px;padding:14px clamp(16px,4vw,48px) calc(env(safe-area-inset-bottom,0px) + 22px);border-top:1px solid var(--line);background:var(--paper);flex-shrink:0}.composer__row{display:flex;align-items:flex-end;gap:10px}.composer__tray{display:flex;flex-direction:column;gap:6px}.composer__chips{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.ref-chip{position:relative;display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:999px;background:#fff;max-width:220px}.ref-chip img{width:28px;height:28px;border-radius:999px;object-fit:cover;display:block;flex-shrink:0}.ref-chip__name{font-family:var(--mono);font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.ref-chip__remove{border:0;background:transparent;color:var(--muted);font-size:16px;line-height:1;padding:0;cursor:pointer;width:18px;height:18px;display:grid;place-items:center;border-radius:999px;transition:background .12s ease,color .12s ease}.ref-chip__remove:hover{background:var(--paper-2);color:var(--ink)}.composer__error{margin:0;font-size:12px;color:var(--bad)}.composer__file{display:none}.composer__attach{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-2);transition:border-color .12s ease,color .12s ease,background .12s ease;flex-shrink:0}.composer__attach:hover:not(:disabled){border-color:var(--ink-2);color:var(--ink);background:var(--paper-2)}.composer__attach:disabled{opacity:.5;cursor:progress}.composer__attach-spinner{width:14px;height:14px;border-radius:999px;border:2px solid var(--line);border-top-color:var(--ink-2);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer__input{flex:1;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;outline:none;font-size:16px;min-height:46px;max-height:240px;transition:border-color .12s ease,box-shadow .12s ease}.composer__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed2e}.composer__send{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:#fff;box-shadow:0 8px 22px -12px #7c3aedb3;transition:transform .12s ease,opacity .12s ease,background .12s ease}.composer__send:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.composer__send:disabled{opacity:.4;cursor:not-allowed}.composer__send:hover:not(:disabled){transform:translateY(-1px)}.composer__arrow{font-family:var(--serif);font-style:italic}.error-banner{margin:0 clamp(16px,4vw,48px) 6px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;background:#fbf7ff;display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.error-banner--validation{border-left-color:var(--warn);background:#fff8eb}.error-banner--rate_limit{border-left-color:var(--warn);background:#fdf3df}.error-banner--server,.error-banner--network{border-left-color:var(--bad);background:#fdedeb}.error-banner__text{display:flex;flex-direction:column;gap:2px;font-size:13px}.error-banner__text strong{font-family:var(--serif);font-size:14px}.error-banner__actions{display:flex;gap:6px}.intake{display:flex;flex-direction:column;gap:14px}.intake__head{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:4px}.intake__eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.intake h2{font-size:22px;margin-top:4px;font-style:italic;font-weight:400}.intake__hint{margin:6px 0 0;color:var(--muted);font-size:12px}.intake__field{display:flex;flex-direction:column;gap:4px}.intake__label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.intake__field input,.intake__field textarea,.intake__field select{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;outline:none;font-size:13.5px;font-family:inherit;color:var(--ink, #111);transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.intake__field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%237c3aed' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px;cursor:pointer}.intake__field input:focus,.intake__field textarea:focus,.intake__field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed2e}.intake__field input:hover,.intake__field textarea:hover,.intake__field select:hover{border-color:#7c3aed73}.intake__field select:invalid,.intake__field select option[value=""]{color:var(--muted, #888)}.budget-range{--budget-purple: #7c3aed;--budget-purple-dark: #5b21b6;--budget-track: #ede9fe;border:1px solid rgba(124,58,237,.24);border-radius:12px;padding:11px 12px 12px;background:#fff;display:flex;flex-direction:column;gap:8px;transition:border-color .12s ease,box-shadow .12s ease}.budget-range:focus-within{border-color:var(--budget-purple);box-shadow:0 0 0 3px #7c3aed29}.budget-range:hover{border-color:#7c3aed7a}.budget-range__summary{display:flex;align-items:center;justify-content:flex-end;color:var(--budget-purple-dark)}.budget-range__summary strong{font-size:14px;font-weight:700}.budget-range__track{position:relative;height:28px}.budget-range__track:before{content:"";position:absolute;left:0;right:0;top:50%;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--budget-track) 0%,var(--budget-track) var(--budget-range-min, 0%),var(--budget-purple) var(--budget-range-min, 0%),var(--budget-purple) var(--budget-range-max, 100%),var(--budget-track) var(--budget-range-max, 100%),var(--budget-track) 100%);transform:translateY(-50%)}.intake__field .budget-range__track input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:absolute;left:0;top:0;border:0;border-radius:0;padding:0;width:100%;height:28px;background:transparent;cursor:pointer;box-shadow:none;pointer-events:none}.intake__field .budget-range__track input[type=range]:focus,.intake__field .budget-range__track input[type=range]:hover{border:0;box-shadow:none}.intake__field .budget-range__track input[type=range]::-webkit-slider-runnable-track{height:28px;border-radius:999px;background:transparent}.intake__field .budget-range__track input[type=range]::-moz-range-track{height:28px;border-radius:999px;background:transparent}.intake__field .budget-range__track input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:24px;height:24px;border:3px solid #fff;border-radius:999px;background:var(--budget-purple);box-shadow:0 2px 8px #5b21b642;pointer-events:auto;position:relative}.intake__field .budget-range__track input[type=range]::-moz-range-thumb{width:18px;height:18px;border:3px solid #fff;border-radius:999px;background:var(--budget-purple);box-shadow:0 2px 8px #5b21b642;pointer-events:auto}.upload{display:flex;flex-direction:column;gap:8px;margin-top:8px}.upload__input{display:none}.links{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:6px}.links__item{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.links__url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);font-size:12.5px;text-decoration:none}.links__url:hover{text-decoration:underline}.links__remove{border:none;background:transparent;color:var(--ink-2);font-size:16px;line-height:1;cursor:pointer;padding:2px 6px}.links__remove:hover{color:var(--bad)}.links__draft{display:flex;gap:6px;align-items:center;margin-bottom:6px}.links__draft input{flex:1}.links__cancel{border:none;background:transparent;color:var(--ink-2);font-size:12.5px;cursor:pointer;padding:6px 8px}.upload__btn{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;background:var(--paper);color:var(--ink-2);font-size:12.5px;transition:border-color .12s ease,background .12s ease}.upload__btn:hover:not(:disabled){border-color:var(--ink-2);background:var(--paper-2)}.upload__btn:disabled{opacity:.55;cursor:progress}.upload__error{margin:0;font-size:12px;color:var(--bad)}.intake--wizard{display:flex;flex-direction:column;gap:16px}.wizard__progress{display:flex;flex-direction:column;gap:6px}.wizard__progress-bar{height:6px;background:var(--paper-2);border-radius:999px;overflow:hidden}.wizard__progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .22s ease}.wizard__progress-label{font-size:12px;color:var(--ink-2);letter-spacing:.02em}.wizard__step{display:flex;flex-direction:column;gap:12px;animation:wizardFade .22s ease}.wizard__step-head{display:flex;flex-direction:column;gap:4px}.wizard__step-title{margin:0;font-size:18px;font-weight:600;color:var(--ink)}.wizard__step-hint{margin:0;font-size:13px;color:var(--ink-2)}.wizard__step-body{display:flex;flex-direction:column;gap:12px}.wizard__nav{display:flex;justify-content:space-between;gap:8px;padding-top:4px}@keyframes wizardFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}.thumb{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column;aspect-ratio:1 / 1.15}.thumb img{width:100%;flex:1;object-fit:cover;display:block}.thumb__remove{position:absolute;top:4px;right:4px;width:22px;height:22px;display:grid;place-items:center;border-radius:999px;border:0;background:#1b1814c7;color:var(--paper);font-size:14px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .12s ease}.thumb__remove:hover{background:var(--ink)}.thumb__name{font-family:var(--mono);font-size:10px;color:var(--muted);padding:4px 6px;border-top:1px solid var(--line-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intake__checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;margin-top:4px}.summary{display:flex;flex-direction:column;gap:22px}.summary--empty{gap:8px}.summary__eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.summary h2{font-size:22px;font-style:italic;font-weight:400;margin-top:4px}.summary__hint{color:var(--muted);font-size:13px}.summary__section h3{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:8px}.summary__section--two{display:grid;gap:14px}.summary__caption{margin:0;font-size:12px;color:var(--muted)}.recommendation{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}.recommendation:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 70%,currentColor 200%);opacity:.06;pointer-events:none}.recommendation__label{font-family:var(--serif);font-size:18px;font-weight:500}.recommendation p{margin:0;font-size:12.5px;color:var(--ink-2)}.recommendation--go{color:var(--good);border-color:#3b8a4f66}.recommendation--continue{color:var(--ink)}.recommendation--request{color:var(--warn);border-color:#b0702459}.recommendation--review{color:var(--accent);border-color:#7c3aed59}.recommendation--refer{color:var(--bad);border-color:#c3382f59}.field-grid{list-style:none;margin:0;padding:0;display:grid;gap:6px}.field-row{display:grid;grid-template-columns:22px 1fr auto;align-items:baseline;gap:8px;padding:8px 10px;border:1px solid var(--line-2);border-radius:10px;background:#fff;font-size:13px}.field-row__icon{width:18px;height:18px;display:grid;place-items:center;border-radius:999px;font-size:11px;font-weight:600}.field-row--known .field-row__icon{background:#3b8a4f26;color:var(--good)}.field-row--missing .field-row__icon{background:var(--paper-2);color:var(--muted)}.field-row--needs-clarification .field-row__icon{background:#b0702426;color:var(--warn)}.field-row--deferred .field-row__icon{background:#7c3aed1f;color:var(--accent-strong)}.field-row__label{font-family:var(--serif);font-size:14px}.field-row__value{text-align:right;color:var(--muted);max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-row--known .field-row__value{color:var(--ink-2)}.booking-readiness{list-style:none;margin:0;padding:0;display:grid;gap:6px}.booking-readiness__item{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(8ch,auto);align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line-2);border-radius:8px;background:#fff;font-size:12px}.booking-readiness__icon{width:22px;height:18px;display:grid;place-items:center;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.02em}.booking-readiness__item span:nth-child(2){font-family:var(--serif);font-size:13px}.booking-readiness__item strong{min-width:0;color:var(--ink-2);font-size:12px;font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-readiness__item--ready .booking-readiness__icon{background:#3b8a4f26;color:var(--good)}.booking-readiness__item--missing .booking-readiness__icon{background:var(--paper-2);color:var(--muted)}.booking-readiness__item--missing strong{color:var(--muted)}.meter{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;row-gap:4px;align-items:center;font-size:12px}.meter__label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);display:inline-flex;gap:8px;align-items:baseline}.meter__bar{grid-column:1 / 2;height:6px;border-radius:999px;background:var(--paper-2);overflow:hidden}.meter__fill{height:100%;background:linear-gradient(90deg,var(--accent-soft),var(--accent));transition:width .36s ease}.meter__value{grid-column:2 / 3;grid-row:2 / 3;font-family:var(--mono);font-size:12px;color:var(--ink-2)}.alignment{font-family:var(--mono);font-style:normal;font-size:9.5px;letter-spacing:.14em;padding:1px 6px;border-radius:999px;border:1px solid var(--line)}.alignment--preferred{color:var(--good);border-color:#3b8a4f66;background:#3b8a4f14}.alignment--neutral{color:var(--muted)}.alignment--avoided{color:var(--bad);border-color:#c3382f59;background:#c3382f14}.alignment--unknown{color:var(--muted)}.branch{border:1px dashed var(--line);border-radius:12px;padding:10px 12px;background:#fff}.branch__id{display:inline-block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:4px}.branch p{margin:0;font-family:var(--serif);font-size:14px;font-style:italic}.branch__dep{display:block;margin-top:6px;font-size:11px;color:var(--muted)}.bullet-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.bullet-list li{font-size:13px;padding-left:14px;position:relative;color:var(--ink-2)}.bullet-list li:before{content:"·";position:absolute;left:2px;color:var(--accent);font-weight:700}.bullet-list--muted li{color:var(--muted)}.bullet-list--muted li:before{color:var(--muted)}.next-q{margin:0;padding:12px 14px;border-left:2px solid var(--accent);background:#fff;border-radius:0 10px 10px 0}.next-q__field{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);display:block;margin-bottom:4px}.next-q p{margin:0;font-family:var(--serif);font-size:15px;font-style:italic}.check-list,.flag-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.check-item,.flag{display:inline-flex;align-items:center;gap:8px;font-size:13px;padding:6px 10px;border:1px solid var(--line-2);border-radius:999px;background:#fff;width:fit-content}.check-item__glyph,.flag__glyph{width:18px;height:18px;display:grid;place-items:center;border-radius:999px;font-size:11px;font-weight:600}.check-item--on .check-item__glyph{background:#3b8a4f26;color:var(--good)}.check-item--off .check-item__glyph{background:var(--paper-2);color:var(--muted)}.check-item--off{color:var(--muted)}.flag__glyph{background:#7c3aed24;color:var(--accent)}@media (max-width: 1100px){.layout{grid-template-columns:280px minmax(0,1fr) 320px}}@media (max-width: 920px){.layout{position:relative;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.panel{position:absolute;inset-block:0;z-index:9;width:min(86vw,360px);max-height:none;padding:24px;overflow-y:auto;pointer-events:none;transition:transform .22s ease,box-shadow .22s ease}.panel--intake{left:0;border-right:1px solid var(--line);transform:translate(-100%)}.panel--summary{right:0;border-left:1px solid var(--line);transform:translate(100%)}.panel--open{pointer-events:auto;transform:translate(0);box-shadow:0 20px 60px -28px #38117c80}.sidebar-scrim{position:absolute;inset-block:0;z-index:7;display:block;border:0;padding:0;background:#1b143033;opacity:0;pointer-events:none;transition:opacity .18s ease}.sidebar-scrim--open{opacity:1;pointer-events:auto}.sidebar-scrim--intake{left:min(86vw,360px);right:0}.sidebar-scrim--summary{left:0;right:min(86vw,360px)}.conversation{min-height:0}.btn--mobile-only{display:inline-flex}.header__title h1{font-size:18px}.artist-select__value{max-width:140px}}@media (max-width: 560px){.header{padding:14px 16px;flex-wrap:wrap;gap:10px}.header__controls{width:100%;align-items:stretch;justify-content:flex-start;flex-wrap:wrap}.artist-select{flex:1 0 100%;width:100%;min-width:0;max-width:none}.artist-select__value{flex:1;min-width:0;max-width:none}.header__controls>.btn{flex:1 1 calc(50% - 5px);justify-content:center}.artist-search{padding:12px 20px}.artist-search__form{grid-template-columns:1fr 1fr}.artist-search__field--price,.artist-search__form .btn{grid-column:span 1}.conversation__scroll{padding:18px 20px 8px}.conversation__scroll--empty{padding:0}.intake-start{padding:28px 20px 18px}.intake-start__footer{align-items:stretch;flex-direction:column;padding-bottom:6px}.intake-start__actions{flex-direction:column;align-items:stretch}.intake-start__actions .booking-cta,.intake-start__actions .booking-cta__btn{width:100%}.intake-start__submit{justify-content:center;width:100%}.empty{justify-content:flex-start;gap:20px;padding:28px 20px 18px}.empty h2{font-size:clamp(34px,11vw,46px)}.empty p{font-size:15px;line-height:1.55}.starter-chip{padding:13px 14px}}.booking-cta{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:10px;align-items:center}.booking-cta__btn{font-weight:600}.booking-cta__hint{font-size:12px;color:var(--ink-muted, #6b6b78)}.booking-confirmed{margin-top:14px;padding:12px 14px;border-radius:12px;background:#7c3aed14;border:1px solid rgba(124,58,237,.25);display:flex;gap:12px;align-items:flex-start}.booking-confirmed__glyph{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--accent);color:#fff;font-size:14px;flex-shrink:0}.booking-confirmed p{margin:4px 0 0;font-size:13px;line-height:1.45}.tattoo-preview{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);display:grid;gap:10px}.tattoo-preview__header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.tattoo-preview__header strong,.tattoo-preview__header span{display:block}.tattoo-preview__header strong{font-family:var(--serif);font-size:16px}.tattoo-preview__header span{font-size:12px;color:var(--ink-muted, #6b6b78)}.tattoo-preview__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tattoo-preview__collapse{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-2);min-height:36px;padding:0 13px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.tattoo-preview__collapse:hover{border-color:var(--accent);color:var(--accent-strong)}.tattoo-preview__content{display:grid;gap:10px}.tattoo-preview__content[hidden]{display:none}.tattoo-preview__requirements{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tattoo-preview__requirement{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(8ch,auto);align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line-2);border-radius:8px;background:#fff;font-size:12px}.tattoo-preview__requirement-icon{width:22px;height:18px;display:grid;place-items:center;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.02em}.tattoo-preview__requirement span:nth-child(2){font-family:var(--serif);font-size:13px}.tattoo-preview__requirement strong{min-width:0;color:var(--ink-2);font-size:12px;font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tattoo-preview__requirement--ready .tattoo-preview__requirement-icon{background:#3b8a4f26;color:var(--good)}.tattoo-preview__requirement--missing .tattoo-preview__requirement-icon{background:var(--paper-2);color:var(--muted)}.tattoo-preview__requirement--missing strong{color:var(--muted)}.tattoo-preview__hint{margin:-2px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}.tattoo-preview__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tattoo-preview__item{display:grid;gap:8px}.tattoo-preview__item a{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.tattoo-preview__item img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.tattoo-preview__toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-muted, #6b6b78)}.booking-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#14102073;display:flex;align-items:stretch;justify-content:stretch;z-index:50;padding:0}.booking-modal__card{background:var(--paper, #fff);width:100vw;height:100vh;border-radius:0;max-height:none;overflow:auto;padding:0 clamp(18px,4vw,40px) 28px;box-shadow:none;display:flex;flex-direction:column;gap:18px}.booking-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:1;padding:18px 0 10px;background:var(--paper, #fff)}.booking-modal__header h3{margin:0;font-size:clamp(22px,3vw,30px)}.booking-modal__title{display:flex;flex-direction:column;gap:4px;min-width:0}.booking-modal__step-label{font-size:12px;color:var(--ink-muted, #6b6b78);letter-spacing:.04em;text-transform:uppercase}.booking-modal__close{border:1px solid var(--line);background:#ffffffe6;font-size:24px;line-height:1;cursor:pointer;color:var(--ink-muted, #6b6b78);width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.booking-modal__hint{margin:0;font-size:14px;color:var(--ink-muted, #6b6b78);max-width:720px}.booking-picker{display:grid;gap:18px}.booking-picker__section{display:grid;gap:10px}.booking-picker__heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ink-muted, #6b6b78)}.booking-picker__heading strong{color:var(--ink);font-size:13px}.calendar{display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--line);background:#ffffffeb}.calendar__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar__title{font-size:14px;color:var(--ink);letter-spacing:.01em}.calendar__nav{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--paper, #fff);color:var(--ink);font-size:16px;line-height:1;cursor:pointer;transition:border-color .12s ease,background .12s ease}.calendar__nav:hover:not(:disabled){border-color:var(--accent)}.calendar__nav:disabled{opacity:.35;cursor:not-allowed}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar__weekday{text-align:center;font-size:11px;font-weight:600;color:var(--ink-muted, #6b6b78);letter-spacing:.06em;text-transform:uppercase}.calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar__day{position:relative;aspect-ratio:1 / 1;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .12s ease,background .12s ease,color .12s ease}.calendar__day:hover:not(:disabled){border-color:var(--accent)}.calendar__day:disabled{cursor:not-allowed;color:#6b6b7880}.calendar__day--outside{color:#6b6b7866}.calendar__day--past{color:#6b6b7866;text-decoration:line-through}.calendar__day--today{border-color:var(--line)}.calendar__day--available{color:var(--ink);font-weight:600;background:var(--paper-2, #f5f3fb)}.calendar__day--selected{background:var(--accent);color:#fff;border-color:var(--accent)}.calendar__day-num{line-height:1}.calendar__day-dot{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.calendar__day--selected .calendar__day-dot{background:#fff}.slot-list{list-style:none;padding:0;margin:4px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.slot{width:100%;padding:14px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper-2, #f5f3fb);font-size:14px;font-weight:600;text-align:center;cursor:pointer;transition:border-color .12s ease,background .12s ease}.slot:hover{border-color:var(--accent)}.slot--selected{background:var(--accent);color:#fff;border-color:var(--accent)}.booking-modal__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;position:sticky;bottom:0;padding-top:14px;padding-bottom:max(8px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(246,241,255,0),var(--paper, #fff) 28%)}@media (min-width: 900px){.booking-picker{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}}@media (max-width: 520px){.booking-modal{padding:0}.booking-modal__card{width:100%;height:100dvh;max-height:none;padding:0 16px 20px}.slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-modal__footer{justify-content:stretch}.booking-modal__footer .btn{flex:1;justify-content:center}}.booking-form{display:grid;gap:10px;margin-top:8px}.booking-form label,.slot-editor label{display:grid;gap:6px;font-size:13px;color:var(--ink-muted, #6b6b78)}.booking-form input,.slot-editor input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;color:var(--ink);background:var(--paper)}.booking-form input[aria-invalid=true]{border-color:var(--bad, #b91c1c)}.booking-form__error{font-size:12px;color:var(--bad, #b91c1c)}.booking-review{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffffeb}.booking-review__title{margin:0;font-size:14px;font-weight:600;color:var(--ink)}.booking-review__list{margin:0;display:grid;gap:8px}.booking-review__row{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:baseline}.booking-review__row dt{font-size:12px;color:var(--ink-muted, #6b6b78);letter-spacing:.03em;text-transform:uppercase}.booking-review__row dd{margin:0;font-size:14px;color:var(--ink);word-break:break-word}.route-banner{margin:0;padding:10px 12px;border-radius:12px;background:#0f172a0d;color:var(--ink-muted, #556);font-size:13px}.route-banner--error{background:#be185d17;color:#9d174d}.route-banner--warning{background:#b453091a;color:#92400e}.route-banner--success{background:#10b9811f;color:#047857}.artist-page{min-height:100vh;padding:40px clamp(20px,4vw,48px);background:radial-gradient(circle at top left,rgba(255,214,165,.22),transparent 32%),linear-gradient(180deg,#fffaf1,#fff 52%,#f7f1e8)}.artist-page__header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.artist-page__header h1{margin:6px 0 8px}.artist-page__header p{margin:0;color:var(--ink-muted, #6b6b78)}.artist-page__actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.artist-account-menu{position:relative;flex:0 0 auto}.artist-account-initial{border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:700}.artist-account-menu__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:136px;padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.artist-account-menu__panel button{width:100%;min-height:34px;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:13px;text-align:left}.artist-account-menu__panel button:hover{background:var(--paper-2)}.artist-page__back{flex-shrink:0;color:var(--accent);text-decoration:none}.artist-section-tabs{display:none}.artist-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;min-width:0}.artist-card{min-width:0;background:#ffffffe0;border:1px solid rgba(138,117,93,.16);border-radius:20px;padding:20px;box-shadow:0 24px 64px -44px #52311473}.artist-card--onboarding{display:grid;align-content:start;gap:14px}.artist-card--onboarding .btn{justify-self:start}.artist-card__header{margin-bottom:14px}.artist-card__header h2{margin:0 0 6px}.artist-card__header p{margin:0;color:var(--ink-muted, #6b6b78);font-size:14px}.onboarding-layout{display:grid;grid-template-columns:minmax(0,760px);justify-content:center}.onboarding-summary__details,.onboarding-dashboard__chips{display:flex;flex-wrap:wrap;gap:8px}.onboarding-summary__details>span,.onboarding-dashboard__chips span{display:inline-flex;align-items:center;min-height:28px;border:1px solid rgba(138,117,93,.16);border-radius:999px;padding:4px 9px;background:#f8f4ecb3;color:var(--ink-muted, #6b6b78);font-size:12px}.onboarding-step-meter{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#8a755d24}.onboarding-step-meter>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#b45309);transition:width .16s ease}.onboarding-dashboard{display:grid;gap:10px}.onboarding-dashboard p{margin:0;color:var(--ink-muted, #6b6b78);font-size:13px}.onboarding-form{display:grid;gap:24px;min-height:420px}.onboarding-section{display:grid;gap:12px}.onboarding-step-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.onboarding-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}.onboarding-choice{min-height:56px;display:grid;gap:3px;align-content:center;text-align:left;border:1px solid rgba(138,117,93,.16);border-radius:14px;padding:10px 12px;background:#f8f4ecb3;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,transform .12s ease}.onboarding-choice:hover{transform:translateY(-1px);border-color:#b91c1c3d}.onboarding-choice.is-selected{border-color:#7c3aed6b;background:#fff;box-shadow:0 0 0 3px #7c3aed1f}.onboarding-choice strong{font-size:13px;line-height:1.2}.onboarding-choice span{color:var(--ink-muted, #6b6b78);font-size:12px;line-height:1.3}.onboarding-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.onboarding-field{display:grid;gap:6px}.onboarding-field--wide{grid-column:1 / -1}.onboarding-field span{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.onboarding-field input,.onboarding-field select,.onboarding-field textarea{width:100%;border:1px solid rgba(138,117,93,.18);border-radius:12px;background:#ffffffdb;padding:10px 12px;outline:none;font-size:14px;transition:border-color .12s ease,box-shadow .12s ease}.onboarding-field input:focus,.onboarding-field select:focus,.onboarding-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed24}.onboarding-currency-input{position:relative;display:flex;align-items:center;width:100%}.onboarding-currency-input__symbol{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;font-weight:600;pointer-events:none}.onboarding-currency-input input{padding-left:26px}.slot-editor{display:grid;gap:10px;margin-bottom:18px}.availability-actions{display:flex;justify-content:flex-start;margin-bottom:12px}.time-select{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(92px,auto);align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:8px 10px;background:var(--paper)}.time-select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:#ffffffe6;border-radius:10px;padding:10px 12px;min-width:0;font:inherit;color:var(--ink)}.time-select__separator{font-weight:600;color:var(--ink-muted, #6b6b78)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.calendar-nav__button{width:38px;height:38px;border-radius:999px;border:1px solid rgba(138,117,93,.18);background:#ffffffdb;color:var(--ink);font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:border-color .12s ease,background .12s ease,transform .12s ease}.calendar-nav__button:hover:not(:disabled){border-color:#b91c1c3d;background:#fff8f0f2;transform:translateY(-1px)}.calendar-nav__button:disabled{opacity:.38;cursor:not-allowed}.calendar-nav__range{min-width:0;text-align:center;font-size:15px;font-weight:600;color:var(--ink)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:14px}.calendar-weekdays span{min-width:0;text-align:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted, #6b6b78)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:6px}.calendar-day{border:1px solid rgba(138,117,93,.16);background:#f8f4ecb3;border-radius:12px;min-height:64px;padding:9px;text-align:left;display:grid;align-content:start;gap:4px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.calendar-day:hover{transform:translateY(-1px);border-color:#b91c1c3d;box-shadow:0 18px 40px -30px #52311459}.calendar-day--selected{border-color:#b91c1c47;background:linear-gradient(180deg,#ffeee0f2,#fff8f0f2);box-shadow:0 20px 44px -34px #94311073}.calendar-day--outside{opacity:.42;background:#ffffffb8}.calendar-day--today{box-shadow:inset 0 0 0 1px #b91c1c3d}.calendar-day__date{font-size:15px;line-height:1.2}.calendar-selected-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid rgba(138,117,93,.14);border-radius:12px;background:#ffffffbd;color:var(--ink-muted, #6b6b78);font-size:12px}.calendar-selected-summary span{flex:1 1 100%;color:var(--ink);font-weight:700}.calendar-selected-summary strong{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:#7c3aed14;color:var(--accent-strong);font-size:11px;font-weight:700}.artist-list,.booking-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.artist-list__item,.booking-list__item{padding:14px;border-radius:16px;border:1px solid rgba(138,117,93,.16);background:#f8f4ecb3}.artist-list__item{display:flex;align-items:center;justify-content:space-between;gap:12px}.artist-list__item--muted{opacity:.8;background:#ece8e3e6}.artist-list__item strong,.booking-list__meta strong{display:block}.artist-list__item span,.booking-list__meta span{display:block;font-size:13px;color:var(--ink-muted, #6b6b78)}.artist-list__empty{padding:18px;border-radius:16px;border:1px dashed var(--line);text-align:center;color:var(--ink-muted, #6b6b78)}.booking-list__meta{display:grid;gap:4px}.booking-list__summary{margin:12px 0;color:var(--ink);line-height:1.5}.booking-snapshot{display:grid;gap:12px;margin:12px 0}.booking-snapshot__grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-snapshot__item{padding:10px 12px;border-radius:12px;background:#ffffffb8;border:1px solid rgba(138,117,93,.12)}.booking-snapshot__item dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted, #6b6b78);margin-bottom:4px}.booking-snapshot__item dd{margin:0;color:var(--ink);line-height:1.45}.booking-snapshot__section{display:grid;gap:8px}.booking-snapshot__section strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted, #6b6b78)}.booking-snapshot__list{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--ink)}.app-sync-page{background:linear-gradient(180deg,#ffffffeb,#f7f1e8f5),radial-gradient(circle at top right,rgba(124,58,237,.12),transparent 34%)}.app-sync-auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 20px}.app-sync-auth-card{width:min(100%,460px);display:grid;gap:16px;padding:clamp(24px,5vw,40px)}.app-sync-auth-card h1,.app-sync-auth-card p{margin:0}.app-sync-auth-card>p{color:var(--muted);line-height:1.6}.app-sync-auth-form{display:grid;gap:14px}.app-sync-auth-form .btn{justify-content:center}.app-sync-auth-back{justify-self:start}.app-sync-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:20px;align-items:start}.app-sync-main{display:grid;gap:20px;min-width:0}.app-sync-panel{border-radius:16px}.app-sync-panel--filters{position:sticky;top:20px;display:grid;gap:18px}.app-sync-form{display:grid;gap:12px}.app-sync-checkbox{display:flex;align-items:center;gap:8px;color:var(--ink-muted, #6b6b78);font-size:13px}.app-sync-checkbox input{width:16px;height:16px;accent-color:var(--accent)}.app-sync-selected{display:grid;gap:4px;padding:12px;border:1px solid rgba(138,117,93,.14);border-radius:12px;background:#ffffffbd}.app-sync-selected span{color:var(--ink-muted, #6b6b78);font-size:13px}.app-sync-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-sync-table-wrap{overflow-x:auto}.app-sync-table{width:100%;border-collapse:collapse;font-size:13px}.app-sync-table th,.app-sync-table td{padding:10px 12px;border-bottom:1px solid rgba(138,117,93,.12);text-align:left;min-width:112px;max-width:320px;vertical-align:top;overflow-wrap:anywhere}.app-sync-table th{color:var(--ink-muted, #6b6b78);font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.app-sync-details-list{display:grid;gap:8px;margin-top:14px}.app-sync-record-details{border:1px solid rgba(138,117,93,.14);border-radius:12px;background:#ffffffa3}.app-sync-record-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;font-size:13px;font-weight:700}.app-sync-record-details summary small{color:var(--ink-muted, #6b6b78);font-size:11px;font-weight:600}.app-sync-record-details .app-sync-field-grid{margin:0 12px 12px}.app-sync-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.app-sync-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.app-sync-chat-button{width:100%;display:grid;gap:8px;border:1px solid rgba(138,117,93,.16);border-radius:14px;padding:12px;background:#f8f4ecad;text-align:left;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.app-sync-chat-button:hover,.app-sync-chat-button.is-selected{border-color:#7c3aed5c;background:#ffffffeb;box-shadow:0 16px 36px -30px #52311466}.app-sync-chat-button span:first-child{display:flex;justify-content:space-between;gap:10px}.app-sync-chat-button small,.app-sync-chat-meta,.app-sync-enquiry span{color:var(--ink-muted, #6b6b78);font-size:12px}.app-sync-chat-meta{display:block;line-height:1.45;overflow-wrap:anywhere}.app-sync-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin:8px 0 0;padding-top:8px;border-top:1px solid rgba(138,117,93,.12)}.app-sync-field-grid div{min-width:0}.app-sync-field-grid dt{color:var(--ink-muted, #6b6b78);font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.3;margin-bottom:2px;text-transform:uppercase}.app-sync-field-grid dd{margin:0;color:var(--ink);font-family:var(--sans);font-size:11px;line-height:1.45;overflow-wrap:anywhere}.app-sync-enquiry{display:grid;gap:5px;padding:12px;border:1px solid rgba(138,117,93,.16);border-radius:14px;background:#f8f4ecad}.app-sync-enquiry p{margin:0;color:var(--ink);line-height:1.45}.app-sync-messages{list-style:none;display:grid;gap:10px;padding:0;margin:0}.app-sync-messages li{display:grid;gap:8px;padding:12px;border:1px solid rgba(138,117,93,.14);border-radius:14px;background:#ffffffc2}.app-sync-messages li>div{display:flex;justify-content:space-between;gap:12px;color:var(--ink-muted, #6b6b78);font-size:12px}.app-sync-messages p{margin:0;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}.booking-chat{display:grid;gap:10px;margin:14px 0}.booking-chat>strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted, #6b6b78)}.booking-chat__list{list-style:none;margin:0;padding:12px;display:grid;gap:10px;max-height:360px;overflow:auto;border-radius:18px;background:#ffffff9e;border:1px solid rgba(138,117,93,.14)}.booking-chat__message{display:grid;gap:4px;max-width:86%}.booking-chat__message--user{justify-self:end}.booking-chat__message--assistant{justify-self:start}.booking-chat__message span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted, #6b6b78)}.booking-chat__message p{margin:0;padding:10px 12px;border-radius:16px;line-height:1.5;color:var(--ink);background:#fff;border:1px solid rgba(138,117,93,.13)}.booking-chat__message--user p{color:#fff;background:linear-gradient(135deg,var(--accent),#6d35dc);border-color:transparent}.booking-references{display:grid;gap:8px;margin-bottom:12px}.booking-references>strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted, #6b6b78)}.booking-list__images{display:flex;flex-wrap:wrap;gap:10px}.booking-list__images a{display:inline-flex;border-radius:12px;overflow:hidden;width:112px;height:112px;border:1px solid rgba(138,117,93,.18);background:#ffffffb3}.booking-list__images img{width:100%;height:100%;object-fit:cover}.booking-list__actions{display:flex;gap:10px;justify-content:flex-end}.day-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.day-agenda{display:grid;gap:18px}.day-agenda__section{display:grid;gap:10px}.day-agenda__toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.day-agenda__section h3{margin:0;font-size:14px;letter-spacing:.02em}.pill{width:fit-content;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.pill--confirmed{background:#10b9811f;color:#047857}.pill--cancelled{background:#e11d481f;color:#be123c}.pill--completed{background:#3b82f61f;color:#1d4ed8}.pill--open{background:#22c55e1f;color:#15803d}.pill--blocked{background:#78716c24;color:#57534e}.ref-chip__status,.thumb__status{display:inline-flex;align-items:center;font-size:11px;color:var(--ink-muted, #6b6b78)}.ref-chip__status--error,.thumb__status--error{color:#b45309}.ref-chip__status--uploaded,.thumb__status--uploaded{color:#047857}@media (max-width: 920px){.artist-grid{grid-template-columns:1fr}.artist-page__header{flex-direction:row;align-items:flex-start}}@media (max-width: 560px){input,textarea,select,.composer__input,.intake__field input,.intake__field textarea,.time-select select,.booking-form input,.slot-editor input{font-size:16px}.artist-page{padding:24px 14px}.artist-page__header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:18px}.artist-page__header h1{margin:4px 0 6px;font-size:30px;line-height:1.1}.artist-page__header p{max-width:28ch}.artist-page__actions{width:100%;display:flex;gap:8px;justify-content:flex-end;align-items:center}.artist-page__actions .btn{width:38px;height:38px;flex:0 0 38px;justify-content:center}.artist-section-tabs{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 0 14px;padding:4px;border:1px solid rgba(138,117,93,.16);border-radius:999px;background:#fffaf1eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.artist-section-tabs__tab{min-width:0;min-height:38px;border:0;border-radius:999px;background:var(--paper);color:var(--ink-muted, #6b6b78);font-size:13px;font-weight:700}.artist-section-tabs__tab.is-active{background:var(--accent);color:#fff;box-shadow:0 8px 20px -14px #7c3aedb3}.artist-dashboard-section{display:none}.artist-dashboard-section.is-active{display:grid}.artist-card{border-radius:16px;padding:16px}.artist-card--onboarding .btn,.availability-actions .btn{width:100%;justify-content:center}.route-banner{line-height:1.45}.time-select{grid-template-columns:repeat(2,minmax(0,1fr))}.time-select__separator{display:none}.calendar-weekdays{gap:4px;margin-top:12px}.calendar-weekdays span{font-size:9px;letter-spacing:.04em}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;overflow:visible;padding-bottom:0}.calendar-day{min-width:0;min-height:48px;padding:6px 5px;border-radius:9px}.calendar-day__date{font-size:13px}.calendar-selected-summary{display:grid;gap:6px}.calendar-selected-summary strong{justify-content:center}.onboarding-fields{grid-template-columns:1fr}.day-summary{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.day-summary .pill{flex:0 0 auto}.day-agenda{gap:14px}.day-agenda__toggle{display:grid;align-items:stretch}.day-agenda__toggle .btn,.artist-list__item .btn{width:100%;justify-content:center}.artist-list__item{display:grid;align-items:stretch}.booking-list__item{padding:12px}.booking-chat__message{max-width:100%}.booking-list__images a{width:92px;height:92px}.booking-snapshot__grid{grid-template-columns:1fr}}
