@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Comfortaa:wght@400;500;600&display=swap";:root{--bg: #04060d;--panel: rgba(9, 13, 22, .82);--panel-strong: rgba(12, 18, 30, .96);--border: #1b2433;--border-strong: #263248;--muted: #95a3bd;--accent: #7ae7c7;--accent-2: #59c3ff;--surface-shadow: 0 24px 60px rgba(5, 14, 33, .6);--drawer-open: 360px;--drawer-collapsed: 64px;--drawer-current: var(--drawer-open);--persona-dock-gap: 20px;font-family:Space Grotesk,Inter,system-ui,-apple-system,sans-serif;color:#eef2ff;background-color:var(--bg);line-height:1.5}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(122,231,199,.55) rgba(12,18,30,.6)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:#0c121e66;border-radius:999px}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7ae7c7cc,#59c3ffcc);border-radius:999px;border:1px solid rgba(4,6,13,.4)}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#7ae7c7,#59c3ff)}body{margin:0;min-height:100vh;background:#0c1f27;background-color:#0c1f27;color:inherit;overflow-x:hidden;overflow-y:auto}#app{position:relative;min-height:100vh;padding:0;box-sizing:border-box}.app-shell{width:100%;margin:0;display:flex;flex-direction:column;gap:1rem;height:100%}.control-bar{background:var(--panel-strong);border:1px solid var(--border);border-radius:20px;padding:1rem 1.25rem 1.1rem;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:.75rem}.brand-mark{display:flex;align-items:center;gap:.75rem}.brand-mark .orb{width:14px;height:14px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#e0fff6,#67e7bf 60%);box-shadow:0 0 18px #7ae7c7b3}.headline{margin:0;font-weight:700;letter-spacing:.01em}.eyebrow{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0}.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;align-items:end}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem}.field span{color:#cfd6e6;font-weight:600}select,input,textarea{width:100%;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--border);background:#080c14cc;color:inherit;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}select:focus,input:focus,textarea:focus{outline:none;border-color:#59c3ffcc;box-shadow:0 0 0 1px #59c3ff80}button{appearance:none;border:1px solid transparent;border-radius:12px;padding:.7rem 1rem;font-size:.95rem;font-weight:700;background:linear-gradient(120deg,#7ae7c733,#59c3ff33);color:#eaf4ff;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem;transition:box-shadow .2s ease,border-color .2s ease}button:hover{border-color:#7ae7c7b3;box-shadow:0 0 0 1px #7ae7c766}button:active{transform:scale(.97)}button svg{width:18px;height:18px}button.ghost{background:#ffffff0f;border-color:var(--border)}button.ghost:hover{border-color:#7ae7c780}.pill-button{white-space:nowrap}.drawer-pane--chat .pill-button[data-new-session]{width:100%;justify-content:space-between}.status-block{display:inline-flex;align-items:center;gap:.65rem;padding:.65rem .9rem;border-radius:14px;background:#7ae7c714;border:1px solid rgba(122,231,199,.4);min-width:200px}[data-status-pill][data-variant=busy]{background:#f8b4381a;border-color:#f8b43899}[data-status-pill][data-variant=error]{background:#ef444414;border-color:#ef44448c}.status-dot{width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.status-label{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.status-text{font-weight:700}.control-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.workspace{position:relative;flex:1;min-height:0;padding-top:88px}.main-column{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.main-inner{display:flex;flex-direction:column;gap:.85rem;min-width:0;min-height:0;max-width:40rem;width:100%;margin:0 auto;padding:0}.panel{background:var(--panel-strong);border:1px solid var(--border);border-radius:20px;padding:1rem 1.1rem;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-panel{display:flex;flex-direction:column;min-height:0;background:transparent;border:none;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.chat-area{display:flex;flex-direction:column;gap:.75rem;min-height:0;flex:1;padding-bottom:200px}.chat-log{background:transparent;border:none;border-radius:0;padding:.25rem 0;min-height:360px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.85rem;box-shadow:none}.chat-message{padding:.35rem 0;border:none;background:transparent;box-shadow:none;display:flex;flex-direction:column;gap:.4rem;max-width:100%;width:100%;position:relative;animation:message-slide-up .35s cubic-bezier(.2,.8,.2,1) forwards}@keyframes message-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-message--assistant,.chat-message--tool,.chat-message--system{margin:.6rem 0;background:transparent;border:none;box-shadow:none;padding:1.25rem .15rem}.chat-message--tool{padding:.5rem .15rem 1.35rem}.tool-card{position:relative;background:radial-gradient(140% 120% at 10% 10%,#7ae7c71f,#070a12f5);border:1px solid rgba(122,231,199,.2);border-radius:14px;padding:1rem;overflow:hidden}.tool-card--calendar{width:fit-content}.tool-card:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(89,195,255,.08),transparent 28%,transparent 72%,rgba(122,231,199,.08));pointer-events:none;opacity:.7}.tool-card__summary{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.85rem;z-index:1}.tool-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(122,231,199,.35);background:#090d16bf;color:#d7f7eb;font-size:.86rem;letter-spacing:.02em;font-weight:700;box-shadow:0 6px 16px #00000038}.tool-chip--status{border-color:#59c3ff66;background:#59c3ff24;color:#d9ecff}.tool-chip--success{border-color:#7ae7c766;background:#7ae7c724;color:#e6fff6}.tool-chip--error{border-color:#ff8a7a66;background:#ff8a7a24;color:#ffe6e1}.tool-chip--running{border-color:#ffc75966;background:#ffc75924;color:#fff5d9;display:inline-flex;align-items:center;gap:.4rem}.tool-chip__spinner{width:10px;height:10px;border:2px solid rgba(255,199,89,.3);border-top-color:#ffc759;border-radius:50%;animation:tool-spin .8s linear infinite}@keyframes tool-spin{to{transform:rotate(360deg)}}.tool-card--pending{background:transparent;border:none;padding:0;box-shadow:none}.tool-card--pending:after{display:none}.tool-card--pending .tool-card__summary{margin-bottom:0}.tool-card__grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem;z-index:1}.tool-card__section{background:#090d16d1;border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.tool-card__label{padding:.55rem .8rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#9fd7ff;background:linear-gradient(90deg,#59c3ff29,#7ae7c714);border-bottom:1px solid rgba(255,255,255,.06);font-weight:800}.tool-card__section--calendar{width:fit-content}.tool-card__section .chat-message__code{margin:0;border:none;border-radius:0;background:transparent;padding:.85rem .85rem .9rem}.tool-card__section .chat-message__code code{background:transparent}.calendar-week__header{padding:.6rem .85rem .4rem;font-weight:700;color:var(--text-strong);letter-spacing:.01em}.calendar-week__header--alt{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed rgba(122,231,199,.3);color:var(--accent);font-size:.85rem}.calendar-week__header--notice{color:#ffc759e6;font-size:.85rem;font-style:italic}.calendar-cell--alt{border-color:#7ae7c74d;background:#7ae7c714}.calendar-week{display:inline-flex;flex-direction:column;gap:.4rem;padding:.6rem;width:fit-content}.calendar-cell{border:1px solid var(--border-subtle);border-radius:8px;padding:.5rem .75rem;background:#ffffff0a;display:flex;flex-direction:row;align-items:center;gap:1rem}.calendar-cell__meta{display:flex;gap:.5rem;align-items:baseline;min-width:120px;flex-shrink:0}.calendar-cell__name{font-weight:700;font-size:.85rem;color:var(--text-strong)}.calendar-cell__date{font-size:.8rem;color:var(--text-muted)}.calendar-cell__slots{display:flex;flex-wrap:wrap;gap:.3rem;flex:1}.calendar-cell__slot{display:inline-block;background:var(--accent-ghost);color:var(--text-strong);padding:.25rem .55rem;border-radius:999px;font-size:.85rem;border:1px solid rgba(255,255,255,.05)}.calendar-cell__slot.is-empty{background:transparent;color:var(--text-muted);border:1px dashed var(--border-subtle)}.calendar-empty{color:var(--text-muted);font-style:italic;padding:.85rem .85rem .9rem}.tool-card--booking{max-width:400px}.booking-result__header{display:flex;align-items:center;gap:.6rem;padding:.75rem .85rem;background:linear-gradient(90deg,#59c3ff1f,#7ae7c70f);border-bottom:1px solid rgba(255,255,255,.08);border-radius:10px 10px 0 0;font-weight:700;color:var(--text-strong);font-size:.95rem}.booking-result__header--success{background:linear-gradient(90deg,#7ae7c733,#7ae7c70f)}.booking-result__header--success .booking-result__icon{color:#7ae7c7}.booking-result__header--cancelled{background:linear-gradient(90deg,#ff8a7a33,#ff8a7a0f)}.booking-result__header--cancelled .booking-result__icon{color:#ff8a7a}.booking-result__header--changed{background:linear-gradient(90deg,#ffc75933,#ffc7590f)}.booking-result__header--changed .booking-result__icon{color:#ffc759}.booking-result__icon{width:20px;height:20px;flex-shrink:0;color:#59c3ff}.booking-result__content{padding:.75rem .85rem;display:flex;flex-direction:column;gap:.6rem}.booking-result__row{display:flex;align-items:flex-start;gap:.65rem}.booking-result__row--primary{padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:.25rem}.booking-result__row--cancelled{opacity:.6;text-decoration:line-through}.booking-result__row-icon{width:18px;height:18px;flex-shrink:0;color:var(--accent);margin-top:2px}.booking-result__label{font-size:.8rem;color:var(--text-muted);margin-bottom:.1rem}.booking-result__value{font-size:.92rem;color:var(--text-strong)}.booking-result__value--old{font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.booking-result__comparison{text-align:center;flex:1}.booking-result__comparison-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.3rem}.booking-result__comparison-value{font-size:.9rem;padding:.45rem .65rem;border-radius:6px}.booking-result__comparison-value--old{background:#ff8a7a1f;color:#ffb4aae6;text-decoration:line-through}.booking-result__comparison-value--new{background:#7ae7c724;color:#d7f7eb;font-weight:600}.booking-result__arrow{display:flex;align-items:center;justify-content:center;padding:0 .25rem}.booking-result__arrow svg{width:20px;height:20px;color:var(--text-muted)}.booking-result__services-change{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.06)}.tool-card--weather{max-width:420px}.weather-result__header{display:flex;align-items:center;gap:.75rem;padding:.85rem;background:linear-gradient(90deg,#59c3ff1f,#7ae7c70f);border-bottom:1px solid rgba(255,255,255,.08);border-radius:10px 10px 0 0}.weather-result__header--outlook{gap:.5rem;font-weight:700;color:var(--text-strong);font-size:.95rem}.weather-result__header--outlook .weather-result__icon{width:20px;height:20px;color:#ffc759}.weather-result__icon{font-size:2.2rem;line-height:1}.weather-result__header-text{display:flex;flex-direction:column;gap:.15rem}.weather-result__date{font-weight:700;color:var(--text-strong);font-size:.95rem}.weather-result__desc{font-size:.85rem;color:var(--text-muted)}.weather-result__temps{display:flex;gap:1.5rem;padding:.85rem;justify-content:center;border-bottom:1px solid rgba(255,255,255,.06)}.weather-result__temp{display:flex;flex-direction:column;align-items:center;gap:.15rem}.weather-result__temp-value{font-size:1.75rem;font-weight:700;color:var(--text-strong)}.weather-result__temp--high .weather-result__temp-value{color:#ffb87a}.weather-result__temp--low .weather-result__temp-value{color:#7ac8ff}.weather-result__temp-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.weather-result__details{display:flex;flex-wrap:wrap;gap:.6rem;padding:.75rem .85rem;border-bottom:1px solid rgba(255,255,255,.06)}.weather-result__detail{font-size:.85rem;color:var(--text-muted);background:#ffffff0a;padding:.3rem .55rem;border-radius:4px}.weather-result__tips{padding:.75rem .85rem;display:flex;flex-direction:column;gap:.5rem}.weather-result__tip{font-size:.85rem;color:#d7f7eb;background:#7ae7c71a;border-left:3px solid rgba(122,231,199,.4);padding:.5rem .65rem;border-radius:0 6px 6px 0;line-height:1.4}.weather-result__forecast{display:flex;gap:0;padding:.5rem}.weather-result__day{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.65rem .5rem;border-radius:8px;transition:background .15s ease}.weather-result__day:hover{background:#ffffff0a}.weather-result__day-name{font-size:.8rem;font-weight:600;color:var(--text-strong)}.weather-result__day-icon{font-size:1.4rem;line-height:1}.weather-result__day-temps{display:flex;gap:.35rem;font-size:.85rem}.weather-result__day-high{color:#ffb87a;font-weight:600}.weather-result__day-low{color:#7ac8ff}.weather-result__day-rain{font-size:.75rem;color:#7ac8ff}.tool-card--time-validation{max-width:360px}.time-validation__header{display:flex;align-items:center;gap:.6rem;padding:.75rem .85rem;background:linear-gradient(90deg,#59c3ff1f,#7ae7c70f);border-bottom:1px solid rgba(255,255,255,.08);border-radius:10px 10px 0 0;font-weight:700;color:var(--text-strong);font-size:.95rem}.time-validation__header--success{background:linear-gradient(90deg,#7ae7c733,#7ae7c70f)}.time-validation__header--success .time-validation__icon{color:#7ae7c7}.time-validation__header--unavailable{background:linear-gradient(90deg,#ffc75933,#ffc7590f)}.time-validation__header--unavailable .time-validation__icon{color:#ffc759}.time-validation__icon{width:20px;height:20px;flex-shrink:0}.time-validation__content{padding:.85rem;display:flex;flex-direction:column;gap:.75rem}.time-validation__confirmed{text-align:center}.time-validation__datetime{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem}.time-validation__date{font-size:.85rem;color:var(--text-muted)}.time-validation__time{font-size:1.5rem;font-weight:700;color:#7ae7c7}.time-validation__services{font-size:.9rem;color:var(--text-strong)}.time-validation__duration{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.time-validation__requested{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.06)}.time-validation__requested-time{font-size:1.25rem;font-weight:700;color:var(--text-strong);text-decoration:line-through;opacity:.6}.time-validation__reason{font-size:.85rem;color:#ffc759}.time-validation__alternatives,.time-validation__alt-days{display:flex;flex-direction:column;gap:.5rem}.time-validation__alt-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.time-validation__alt-list{display:flex;flex-wrap:wrap;gap:.35rem}.time-validation__alt-chip{display:inline-block;background:var(--accent-ghost);color:var(--text-strong);padding:.3rem .6rem;border-radius:999px;font-size:.85rem;border:1px solid rgba(122,231,199,.2)}.tool-card--slots{max-width:480px}.slots-result__header{display:flex;align-items:center;gap:.6rem;padding:.75rem .85rem;background:linear-gradient(90deg,#7ae7c726,#7ae7c70d);border-bottom:1px solid rgba(255,255,255,.08);border-radius:10px 10px 0 0;font-weight:700;color:var(--text-strong);font-size:.95rem}.slots-result__header--available .slots-result__icon{color:#7ae7c7}.slots-result__header--empty{background:linear-gradient(90deg,#ffc75926,#ffc7590d)}.slots-result__header--empty .slots-result__icon{color:#ffc759}.slots-result__icon{width:20px;height:20px;flex-shrink:0}.slots-result__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .85rem;border-bottom:1px solid rgba(255,255,255,.06);font-size:.85rem}.slots-result__services{color:var(--text-strong);font-weight:600}.slots-result__duration,.slots-result__period{color:var(--text-muted);padding-left:.5rem;border-left:1px solid rgba(255,255,255,.1)}.slots-result__content{padding:.75rem .85rem}.slots-result__notice{color:#ffc759;font-size:.85rem;font-style:italic;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px dashed rgba(255,199,89,.3)}.slots-result__days{display:flex;flex-direction:column;gap:.5rem}.slots-result__day{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem .6rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.04)}.slots-result__day--empty{opacity:.6}.slots-result__day--alt{background:#7ae7c70f;border-color:#7ae7c726}.slots-result__day-header{display:flex;flex-direction:column;min-width:70px;flex-shrink:0}.slots-result__day-name{font-weight:700;font-size:.85rem;color:var(--text-strong)}.slots-result__day-date{font-size:.8rem;color:var(--text-muted)}.slots-result__slots{display:flex;flex-wrap:wrap;gap:.3rem;flex:1}.slots-result__slot{display:inline-block;background:var(--accent-ghost);color:var(--text-strong);padding:.25rem .55rem;border-radius:999px;font-size:.8rem;border:1px solid rgba(122,231,199,.15)}.slots-result__slot--empty{background:transparent;color:var(--text-muted);border:1px dashed rgba(255,255,255,.15)}.slots-result__alternatives{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed rgba(122,231,199,.25)}.slots-result__alt-header{font-size:.8rem;color:var(--accent);font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.chat-message--activity{margin:1rem 0 .5rem;padding:0;background:transparent;border:none;box-shadow:none;animation:activity-slide-up .4s cubic-bezier(.16,1,.3,1) forwards;display:flex;align-items:center}.chat-message--activity .chat-message__body{align-self:flex-start;width:fit-content;display:inline-flex;flex-direction:row;align-items:center;gap:.6rem;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;box-shadow:none;font-size:.85rem;color:#e0fff6;white-space:nowrap;transition:all .3s ease}.activity-spinner{display:flex;align-items:center;gap:3px;height:24px;padding:0 4px}.activity-spinner .spinner-bar{width:3px;height:10px;border-radius:2px;background:linear-gradient(180deg,#7ae7c7,#59c3ff);animation:bar-wave 1s ease-in-out infinite}.activity-spinner .spinner-bar:nth-child(1){animation-delay:0s}.activity-spinner .spinner-bar:nth-child(2){animation-delay:.1s}.activity-spinner .spinner-bar:nth-child(3){animation-delay:.2s}.activity-spinner .spinner-bar:nth-child(4){animation-delay:.3s}.activity-spinner .spinner-bar:nth-child(5){animation-delay:.4s}@keyframes bar-wave{0%,to{height:10px;opacity:.5}50%{height:22px;opacity:1}}.spinner-dot{width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,#7ae7c7,#59c3ff);box-shadow:0 0 8px #7ae7c799,0 0 16px #59c3ff4d;animation:dot-pulse 1.4s ease-in-out infinite}.spinner-dot:nth-child(1){animation-delay:0s}.spinner-dot:nth-child(2){animation-delay:.2s}.spinner-dot:nth-child(3){animation-delay:.4s}.activity-spinner svg{width:100%;height:100%}.activity-text{font-family:Comfortaa,Space Grotesk,system-ui,sans-serif;font-weight:600;font-size:.9rem;letter-spacing:.02em;background:linear-gradient(90deg,#7ae7c7,#59c3ff,#7ae7c7);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer-activity 2.5s ease-in-out infinite;transition:opacity .2s ease,transform .2s ease;display:inline-block}@keyframes shimmer-activity{0%{background-position:100% 50%}to{background-position:-100% 50%}}.activity-text.is-updating{opacity:0;transform:translateY(2px)}.activity-label{color:#95a3bd;font-weight:500;-webkit-text-fill-color:#95a3bd}.activity-arrow{margin:0 .5rem;color:#7ae7c766;font-size:.9em;-webkit-text-fill-color:rgba(122,231,199,.4)}.activity-tag{background:#7ae7c71a;border:1px solid rgba(122,231,199,.25);padding:.15rem .45rem;border-radius:6px;color:#7ae7c7;font-family:JetBrains Mono,monospace;font-size:.85em;text-transform:uppercase;letter-spacing:.05em;font-weight:600;-webkit-text-fill-color:#7ae7c7;box-shadow:0 0 10px #7ae7c71a}@keyframes activity-slide-up{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dot-pulse{0%,to{transform:scale(1);opacity:.6;box-shadow:0 0 6px #7ae7c766,0 0 12px #59c3ff33}50%{transform:scale(1.4);opacity:1;box-shadow:0 0 12px #7ae7c7cc,0 0 24px #59c3ff80}}.chat-message--user{align-self:flex-end;margin-left:auto;margin-top:.75rem;margin-bottom:.75rem;max-width:82%;width:fit-content;padding:.95rem 1.15rem;border-radius:18px;border:1px solid rgba(122,231,199,.28);background:linear-gradient(135deg,#7ae7c738,#59c3ff29);box-shadow:none;color:#e8fff7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);letter-spacing:.01em}.chat-message--user .chat-message__body{line-height:1.65;font-weight:600;font-family:Comfortaa,Space Grotesk,system-ui,-apple-system,sans-serif}.chat-message__header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#cdd9f5;position:absolute;top:-1.2rem;left:0;right:0;padding:0 .25rem;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none}.chat-message__meta{justify-self:center;margin:0 auto;font-size:.75rem;letter-spacing:.02em;color:var(--muted);background:#ffffff0f;border:1px solid var(--border);border-radius:999px;padding:.15rem .45rem}.chat-message:hover .chat-message__header{opacity:1;visibility:visible}.chat-message__body{display:flex;flex-direction:column;gap:.4rem;color:#f5f8ff;line-height:1.72;letter-spacing:.012em;font-size:1.02rem;font-weight:500;word-break:break-word;overflow-wrap:anywhere}.chat-message--assistant .chat-message__body{font-family:Comfortaa,Space Grotesk,system-ui,-apple-system,sans-serif;font-size:1.08rem;font-weight:600;line-height:1.82;letter-spacing:.016em}.chat-message__body p{margin:0}.chat-message__body ul,.chat-message__body ol{margin:.35rem 0 .35rem 1.1rem;padding:0}.chat-message__body table{width:100%;border-collapse:collapse;margin:.6rem 0;border:1px solid var(--border-strong);background:#070a12eb;box-shadow:0 12px 26px #050e2173;overflow:hidden}.chat-message__body thead th{background:linear-gradient(120deg,#7ae7c71f,#59c3ff29);color:#eaf4ff;font-weight:700;letter-spacing:.02em}.chat-message__body th,.chat-message__body td{padding:.65rem .75rem;border:1px solid var(--border);text-align:left;font-size:.95rem}.chat-message__body tbody tr:nth-child(2n){background:#ffffff05}.chat-message__body tbody tr:hover{background:#7ae7c70f}.chat-message__body table code{background:#ffffff14;padding:.1rem .35rem;border-radius:6px}.chat-message__body code{background:#ffffff0f;padding:.15rem .4rem;border-radius:6px}.chat-message__header time{justify-self:end}.chat-message__body pre,.chat-message__code{background:#06090ff2;border-radius:12px;padding:.75rem;overflow-x:auto;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.9rem;border:1px solid var(--border)}.chat-message.is-pending{opacity:.9}.chat-message.is-streaming .chat-message__header{visibility:hidden;opacity:0}.chat-message.is-streaming .typing-indicator{margin-top:.4rem;opacity:.8}.typing-indicator{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.5rem .75rem;width:fit-content;background:linear-gradient(135deg,#7ae7c714,#59c3ff0f);border:1px solid rgba(122,231,199,.15);border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.typing-indicator__waves{display:flex;align-items:center;gap:3px;height:20px}.typing-indicator__wave{width:3px;height:8px;border-radius:2px;background:linear-gradient(180deg,#7ae7c7,#59c3ff);animation:wave-pulse 1s ease-in-out infinite}.typing-indicator__wave:nth-child(1){animation-delay:0s}.typing-indicator__wave:nth-child(2){animation-delay:.1s}.typing-indicator__wave:nth-child(3){animation-delay:.2s}.typing-indicator__wave:nth-child(4){animation-delay:.3s}.typing-indicator__wave:nth-child(5){animation-delay:.4s}@keyframes wave-pulse{0%,to{height:8px;opacity:.4}50%{height:18px;opacity:1}}.typing-indicator__text{font-family:Comfortaa,Space Grotesk,system-ui,sans-serif;font-size:.85rem;font-weight:500;background:linear-gradient(90deg,#7ae7c7,#59c3ff,#7ae7c7);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer-text 2s ease-in-out infinite}@keyframes shimmer-text{0%{background-position:100% 50%}to{background-position:-100% 50%}}.typing-indicator__orbit{position:relative;width:20px;height:20px;margin-left:.25rem}.typing-indicator__orbit:before{content:"";position:absolute;width:5px;height:5px;background:#7ae7c7;border-radius:50%;box-shadow:0 0 8px #7ae7c799;animation:orbit 1.5s linear infinite}@keyframes orbit{0%{top:0;left:50%;transform:translate(-50%)}25%{top:50%;left:100%;transform:translate(-100%,-50%)}50%{top:100%;left:50%;transform:translate(-50%,-100%)}75%{top:50%;left:0;transform:translateY(-50%)}to{top:0;left:50%;transform:translate(-50%)}}.typing-indicator>span:not([class]){width:8px;height:8px;border-radius:50%;background:#7ae7c7a6;display:inline-block;animation:typing-bounce 1.2s infinite ease-in-out}.typing-indicator>span:nth-child(2):not([class]){animation-delay:.15s}.typing-indicator>span:nth-child(3):not([class]){animation-delay:.3s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-4px);opacity:1}}.code-block{line-height:1.55;tab-size:2}.code-token-key{color:#7ae7c7}.code-token-string{color:#c8b6ff}.code-token-number{color:#f8b438}.code-token-boolean{color:#ff8a7a}.code-token-null{color:#8fb5ff}.chat-form{position:fixed;left:50%;bottom:16px;transform:translate(-50%);width:clamp(360px,calc(100% - var(--drawer-current) - 20px),40rem);background:#090d16e6;border:1px solid var(--border);border-radius:999px;padding:.35rem .5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;z-index:15;box-shadow:0 18px 40px #00000061}.chat-form:hover,.chat-form:focus-within{filter:drop-shadow(0 8px 28px rgba(0,0,0,.45))}.chat-input-shell{flex:1 1 auto;display:flex;align-items:center;background:transparent;border:none;border-radius:999px;padding:.15rem .2rem .15rem .25rem}.chat-input-shell textarea{resize:none;min-height:42px;max-height:56px;border-radius:0;border:none;background:#090d16e6;width:100%;padding:.75rem .85rem;color:#f5f8ff}.chat-input-shell textarea:focus{outline:none;box-shadow:none}.chat-input-shell textarea::placeholder{color:#a9bad8}.chat-form__actions{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;color:var(--muted);gap:.75rem}.chat-form__trailing{display:flex;align-items:center;justify-content:center;min-width:48px}.chat-send{border-radius:999px;width:42px;height:42px;padding:0;background:linear-gradient(120deg,#59c3ff,#7ae7c7);border:1px solid transparent;color:#031322;font-weight:800;box-shadow:0 10px 30px #59c3ff59;display:inline-flex;align-items:center;justify-content:center}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;background:#7ae7c726;border:1px solid rgba(122,231,199,.35);font-weight:700;color:#dffff3}.persona-dock{position:fixed;top:16px;left:calc(var(--drawer-current, var(--drawer-open)) + var(--persona-dock-gap));display:inline-flex;flex-direction:column;align-items:stretch;background:#0c121ee6;border:none;border-radius:12px;padding:.5rem .65rem;box-shadow:var(--surface-shadow);z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.persona-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:36px;padding:.35rem .55rem;border-radius:10px;border:1px solid var(--border);background:#ffffff0a;color:#e6edff;cursor:pointer;width:100%;font-size:.95rem;transition:margin-bottom .3s cubic-bezier(.4,0,.2,1)}.persona-toggle[aria-expanded=true]{margin-bottom:.45rem}.persona-toggle svg{width:16px;height:16px;color:#fff;fill:currentColor;transform:rotate(-90deg);transition:transform .3s cubic-bezier(.4,0,.2,1)}.persona-toggle[aria-expanded=true] svg{transform:rotate(0)}.persona-toggle__label{font-weight:700}.persona-toggle__sub{font-size:.85rem;color:var(--muted)}.persona-menu{display:flex;flex-direction:column;gap:.35rem;overflow:hidden;max-height:0;opacity:0;padding:0;margin-bottom:0;transform:translateY(-10px);transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),margin-bottom .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1) .2s,min-width .3s cubic-bezier(.4,0,.2,1) .2s,flex-basis .3s cubic-bezier(.4,0,.2,1) .2s;max-width:0;min-width:0;flex-basis:0}.persona-menu.is-open{max-height:500px;opacity:1;padding:.4rem .3rem;margin-bottom:.45rem;transform:translateY(0);max-width:300px;min-width:220px;flex-basis:auto;transition:max-width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1),flex-basis .3s cubic-bezier(.4,0,.2,1),max-height .3s cubic-bezier(.4,0,.2,1) .2s,opacity .3s cubic-bezier(.4,0,.2,1) .2s,transform .3s cubic-bezier(.4,0,.2,1) .2s,margin-bottom .3s cubic-bezier(.4,0,.2,1) .2s,padding .3s cubic-bezier(.4,0,.2,1) .2s}.persona-menu+[data-dock-zip]{display:flex;overflow:hidden;max-height:0;opacity:0;margin-top:0;transform:translateY(-10px);transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),margin-top .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1) .2s,min-width .3s cubic-bezier(.4,0,.2,1) .2s,flex-basis .3s cubic-bezier(.4,0,.2,1) .2s;max-width:0;min-width:0!important;flex-basis:0;padding:0;border:none}.persona-menu.is-open+[data-dock-zip]{max-height:80px;opacity:1;margin-top:-.2rem;transform:translateY(0);max-width:300px;min-width:160px!important;flex-basis:auto;transition:max-width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1),flex-basis .3s cubic-bezier(.4,0,.2,1),max-height .3s cubic-bezier(.4,0,.2,1) .2s,opacity .3s cubic-bezier(.4,0,.2,1) .2s,transform .3s cubic-bezier(.4,0,.2,1) .2s,margin-top .3s cubic-bezier(.4,0,.2,1) .2s,padding .3s cubic-bezier(.4,0,.2,1) .2s}.persona-option{width:100%;text-align:left;background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:.4rem .5rem;color:#e6edff;cursor:pointer}.persona-option strong{display:block;font-weight:700}.persona-option span{color:var(--muted);font-size:.85rem}.persona-option.is-active{border-color:#7ae7c799;background:#7ae7c71a}.dock-field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;min-width:160px}.dock-field span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.side-drawer{position:fixed;top:0;bottom:0;width:var(--drawer-collapsed);background:var(--panel-strong);border:none;border-radius:0;box-shadow:inset 0 0 0 1px #ffffff05;display:grid;grid-template-rows:1fr;transition:width .35s cubic-bezier(.4,0,.2,1),box-shadow .35s ease,border-color .2s ease;overflow-x:hidden;overflow-y:hidden;z-index:10}.side-drawer.is-open{width:var(--drawer-open);box-shadow:var(--surface-shadow)}.drawer__content{opacity:0;pointer-events:none;transform:translate(-6px);transition:opacity .2s ease,transform .2s ease;display:flex;flex-direction:column;height:100%;width:var(--drawer-open);min-width:var(--drawer-open)}.side-drawer.is-open .drawer__content{opacity:1;pointer-events:auto;transform:translate(0)}.drawer__header{padding:.8rem .85rem .2rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.side-drawer--left .drawer__header{padding-right:3rem}.drawer__body{flex:1;min-height:0;min-width:0;padding:.9rem .85rem;display:flex;flex-direction:column;gap:.6rem;overflow-x:hidden}.drawer-pane{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;gap:.6rem}.drawer-pane--chat{padding-top:2.4rem}.drawer-pane--chat .chat-history__list,.drawer-pane--bookings .booking-list{flex:1;min-height:0;overflow-y:auto}.drawer__toggle{position:absolute;top:.6rem;background:#ffffff0d;border:1px solid var(--border);border-radius:10px;padding:.45rem .55rem;display:inline-flex;align-items:center;gap:.35rem;color:#d8e7ff}.side-drawer .drawer__toggle:hover{background:#ffffff14;border-color:#59c3ffd9}.drawer__toggle svg{transition:transform .2s ease}.side-drawer--left{left:0;border-right:1px solid var(--border-strong)}.side-drawer--left:hover{border-right-color:#7ae7c7a6;box-shadow:var(--surface-shadow)}.side-drawer--left.is-open .drawer__toggle{right:8px;left:auto;transform:none}.side-drawer--left.is-open{border-right-color:#7ae7c7cc}.side-drawer:not(.is-open) .drawer__toggle .toggle-label{display:none}.side-drawer--left:not(.is-open) .drawer__toggle{left:50%;right:auto;transform:translate(-50%);background:#ffffff14}.drawer__new-chat{display:none;position:absolute;background:#ffffff0d;border:1px solid var(--border);border-radius:10px;padding:.45rem .55rem;align-items:center;justify-content:center;color:#d8e7ff;cursor:pointer;transition:background .2s ease,border-color .2s ease}.side-drawer--left:not(.is-open) .drawer__new-chat{display:inline-flex;top:3rem;left:50%;transform:translate(-50%)}.drawer__new-chat:hover{background:#ffffff14;border-color:#59c3ffd9}.drawer__new-chat svg{width:18px;height:18px}.toggle-label{font-size:.9rem;color:#d5def0}.chat-history__list{display:flex;flex-direction:column;gap:.45rem}.chat-history__item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem;background:#ffffff08;border:1px solid var(--border);border-radius:12px;padding:.55rem .6rem;transition:border-color .2s ease,background .2s ease}.chat-history__item.is-active{border-color:#7ae7c799;background:#7ae7c714}.chat-history__item:not(.is-active):hover{border-color:#59c3ffe6;box-shadow:0 0 0 1px #59c3ffa6}.chat-history__select{background:transparent;border:none;padding:0;text-align:left;color:inherit;display:flex;flex-direction:column;align-items:flex-start;min-width:0;overflow:hidden;border-radius:0}.chat-history__title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chat-history__preview{color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chat-history__delete{background:transparent;border:none;color:#ffc3c3;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.chat-history__delete svg{width:26px;height:26px}.chat-history__select:hover,.chat-history__delete:hover{border-color:transparent;box-shadow:none}.booking-list{display:flex;flex-direction:column;gap:.85rem;overflow-y:auto;overflow-x:hidden;padding-right:.5rem;scrollbar-gutter:stable}.booking-search{padding:.25rem .1rem .6rem;position:sticky;top:0;background:var(--panel-strong);z-index:1}.booking-search__capsule{display:flex;align-items:center;gap:.45rem;width:100%;background:#080c14d9;border:1px solid var(--border);border-radius:12px;padding:.45rem .6rem}.booking-search__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--muted);opacity:.8}.booking-search__icon svg{width:18px;height:18px}.booking-search input{flex:1 1 auto;width:100%;border:none;padding:.1rem .3rem;background:transparent;color:#e6edff}.booking-search input:focus{outline:none;border-color:transparent;box-shadow:none}.booking-card{background:linear-gradient(150deg,#59c3ff1f,#7ae7c71a);border-radius:14px;border:1px solid var(--border);padding:.9rem;box-shadow:inset 0 0 0 1px #ffffff05;display:flex;flex-direction:column;gap:.6rem;animation:fade-in .4s ease-out forwards}@keyframes fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.booking-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:nowrap}.booking-card__primary{min-width:0;display:flex;flex-direction:column;gap:.2rem}.booking-card h3{margin:0;font-size:1rem;letter-spacing:.01em;overflow-wrap:anywhere}.booking-card__time{color:var(--muted);font-size:.88rem}.booking-card__delete{align-self:flex-start;display:inline-flex;justify-content:center;align-items:center;padding:.35rem .45rem;margin-left:auto}.booking-card__delete svg{width:18px;height:18px}.booking-card__services{margin:0;color:#d4e3ff;font-weight:600;overflow-wrap:anywhere}.booking-card__meta{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem .75rem;font-size:.88rem;color:#d0dbef}.booking-card__meta dt,.booking-card__notes dt{text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--muted)}.booking-card__meta dd,.booking-card__notes dd{margin:0;overflow-wrap:anywhere}.booking-card__notes{display:grid;gap:.25rem;overflow-wrap:anywhere}.empty-state{text-align:center;color:var(--muted);font-size:.95rem}@media(max-width:980px){#app{padding:1rem}.workspace{padding-top:24px}.persona-dock{position:sticky;top:8px;left:auto;transform:none;width:100%;margin:0 auto .75rem;justify-content:space-between;flex-wrap:wrap}.chat-form{width:calc(100% - 2rem)}.workspace{display:flex;flex-direction:column}.side-drawer{position:static;width:100%;height:auto;z-index:auto}.side-drawer .drawer__content{opacity:1;pointer-events:auto;transform:translate(0)}.drawer__toggle{display:none}}.mobile-menu-toggle,.drawer-zip-field{display:none}@media(max-width:768px){#app{padding:0}.workspace{padding-top:0}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;position:fixed;top:12px;left:12px;z-index:101;background:var(--panel-strong);border:1px solid var(--border);padding:.6rem;border-radius:12px;color:#d8e7ff;cursor:pointer}.mobile-menu-toggle:hover{background:#ffffff14;border-color:#59c3ffd9}.mobile-menu-toggle svg{width:20px;height:20px}.mobile-menu-toggle.is-hidden{display:none}.side-drawer{position:fixed;top:0;left:0;bottom:0;width:85vw;max-width:320px;height:100%;z-index:100;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.side-drawer.is-open{transform:translate(0);width:85vw;max-width:320px}.side-drawer .drawer__content{width:100%;min-width:0;opacity:1;pointer-events:auto;transform:none}.drawer__toggle{display:inline-flex;position:absolute;top:.6rem;right:8px;left:auto;transform:none}.side-drawer:not(.is-open) .drawer__toggle,.side-drawer:not(.is-open) .drawer__new-chat{display:none}.mobile-backdrop{display:none;position:fixed;inset:0;background:#0009;z-index:99;opacity:0;transition:opacity .3s ease;pointer-events:none}.mobile-backdrop.is-visible{display:block;opacity:1;pointer-events:auto}.persona-dock{position:fixed;top:12px;left:auto;right:12px;width:auto;max-width:calc(100vw - 80px);margin:0;padding:.4rem .5rem;z-index:20}.persona-toggle{min-height:32px;padding:.25rem .45rem;font-size:.9rem}.persona-toggle__sub{display:none}.persona-menu{position:absolute;top:calc(100% + 8px);right:0;left:auto;margin-top:0;background:var(--panel-strong);border:1px solid var(--border);border-radius:12px;box-shadow:var(--surface-shadow)}.persona-menu.is-open{min-width:200px;max-width:calc(100vw - 24px);padding:.5rem}.persona-dock [data-dock-zip]{display:none!important}.drawer-zip-field{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .25rem .75rem;margin-bottom:.5rem;border-bottom:1px solid var(--border)}.drawer-zip-field span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.chat-form{left:0;right:0;bottom:var(--keyboard-offset, 0px);transform:none;width:100%;border-radius:0;padding:.5rem .75rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));background:var(--panel-strong);border:none;border-top:1px solid var(--border);transition:bottom .1s ease-out}.chat-input-shell textarea{min-height:38px}.chat-send{width:38px;height:38px}.main-inner{padding:0 .75rem;padding-top:60px;max-width:100%}.chat-area{padding-bottom:100px}.chat-message--user{max-width:90%;padding:.75rem 1rem;border-radius:16px}.chat-message--assistant .chat-message__body{font-size:1rem}.drawer__body{padding:3.5rem .75rem .75rem}.drawer-pane--chat{padding-top:0}.booking-card{padding:.75rem}.booking-card__meta,.tool-card__grid{grid-template-columns:1fr}.calendar-cell{flex-direction:column;align-items:flex-start;gap:.5rem}.calendar-cell__meta{min-width:0}}
