.gcal{background:#fff}.gcal--day{display:flex;flex-direction:column;flex:1;min-height:0}.gcal-toolbar{display:flex;align-items:center;gap:12px;padding:0 4px 12px}.gcal-nav{display:flex;gap:4px}.gcal-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:10px;background:transparent;color:#6b7280;cursor:pointer;transition:background .12s,color .12s}.gcal-nav-btn:hover{background:#f3f4f6;color:#1e1e2e}.gcal-title{font-size:1rem;font-weight:600;color:#1e1e2e;margin:0;letter-spacing:-.01em}.gcal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:64px 16px;color:#6b7280;font-size:.8125rem}.gcal-spinner{width:22px;height:22px;border:2.5px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:gcal-spin .7s linear infinite}@keyframes gcal-spin{to{transform:rotate(360deg)}}.gcal-body{display:flex;flex-direction:column}.gcal-grid-wrap{padding:0 4px 12px}.gcal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:8px 0 4px}.gcal-weekday{text-align:center;font-size:.6875rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;padding:4px 0}.gcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.gcal-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px;min-height:48px;background:none;border:none;border-radius:12px;cursor:default;font-family:inherit;transition:background .12s}.gcal-day--clickable{cursor:pointer}.gcal-day--clickable:hover{background:#6366f10a}.gcal-day-number{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;font-size:.8125rem;font-weight:500;color:#374151;line-height:1;transition:all .15s}.gcal-day--today .gcal-day-number{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:600}.gcal-day--other .gcal-day-number,.gcal-day--past .gcal-day-number{color:#c4c7cc}.gcal-day--selected .gcal-day-number{background:#ede9fe;color:#4f46e5;font-weight:600}.gcal-day--selected.gcal-day--today .gcal-day-number{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;box-shadow:0 0 0 3px #ede9fe}.gcal-day--no-slots{opacity:.35}.gcal-timeline{display:grid;grid-template-columns:52px 1fr;margin:0 4px;padding-top:8px}.gcal-tl-hours{position:relative}.gcal-tl-hour{position:absolute;right:0;padding-right:12px;font-size:.6875rem;font-weight:500;color:#9ca3af;line-height:1;transform:translateY(-50%);white-space:nowrap}.gcal-tl-grid{position:relative;min-height:120px}.gcal-tl-gridline{position:absolute;left:0;right:0;height:0;border-top:1px dashed #e5e7eb}.gcal-tl-block{position:absolute;left:6px;right:6px;border-radius:10px;padding:6px 10px;font-size:.8125rem;display:flex;flex-direction:column;gap:2px;overflow:hidden;box-sizing:border-box}.gcal-tl-block--booked{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626}.gcal-tl-block--blocked{background:linear-gradient(135deg,#f9fafb,#f3f4f6);color:#6b7280}.gcal-tl-block-time{font-weight:600;font-size:.75rem}.gcal-tl-block-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.6875rem;opacity:.8}.gcal-empty{padding:48px 16px;text-align:center;color:#6b7280;font-size:.875rem}.gcal-weeknav-row{display:flex;align-items:center;gap:0;padding:0 4px 4px;flex-shrink:0}.gcal-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:none;color:#6b7280;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s;-webkit-tap-highlight-color:transparent}.gcal-back-btn:hover{background:#f3f4f6;color:#1e1e2e}.gcal-weeknav{display:flex;justify-content:space-between;flex:1;gap:2px}.gcal-timeline-wrap{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.gcal-weeknav-day{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:8px 0;background:none;border:none;border-radius:12px;cursor:pointer;font-family:inherit;transition:background .12s;-webkit-tap-highlight-color:transparent}.gcal-weeknav-day:hover{background:#f3f4f6}.gcal-weeknav-label{font-size:.6875rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.gcal-weeknav-num{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:.875rem;font-weight:500;color:#374151;transition:all .15s}.gcal-weeknav-day--selected .gcal-weeknav-num{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:600}.gcal-weeknav-day--today:not(.gcal-weeknav-day--selected) .gcal-weeknav-num{background:#ede9fe;color:#4f46e5;font-weight:600}.gcal-weeknav-day--past:not(.gcal-weeknav-day--selected) .gcal-weeknav-num{color:#c4c7cc}.gcal-weeknav-day--past:not(.gcal-weeknav-day--selected) .gcal-weeknav-label{color:#d1d5db}.gcal-weeknav-day--no-slots:not(.gcal-weeknav-day--selected){opacity:.35}.gcal-tl-now{position:absolute;left:0;right:0;height:0;border-top:2px solid #ef4444;z-index:3;pointer-events:none}.gcal-tl-now:before{content:"";position:absolute;left:0;top:-5px;width:8px;height:8px;border-radius:50%;background:#ef4444}.gcal-tl-block--pending{background:#4f46e51f;color:#4f46e5;border:2px dashed #4f46e5;animation:gcal-pending-pulse 1.5s ease-in-out infinite}@keyframes gcal-pending-pulse{0%,to{opacity:.7}50%{opacity:1}}.gcal-tl-grid--interactive{cursor:crosshair}.gcal-tl-block--interactive{cursor:pointer;transition:opacity .15s,box-shadow .15s}.gcal-tl-block--interactive:hover{opacity:.85;box-shadow:0 2px 8px #0000001a}.gcal-tl-block-client{font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcal-tl-block-phone{font-size:.6875rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.gcal-day{min-height:40px}.gcal-day-number{width:28px;height:28px;font-size:.75rem;border-radius:10px}.gcal-tl-hour{font-size:.625rem}.gcal-weeknav-num{width:32px;height:32px;font-size:.8125rem}.gcal-weeknav-label{font-size:.625rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--bg-secondary: #f9f9f9;--bg-hover: #f0f0f0;--bg-input: #f4f4f4;--bg-msg-user: #f4f4f4;--bg-msg-assistant: transparent;--text: #0d0d0d;--text-secondary: #6b6b6b;--text-muted: #999;--border: #e5e5e5;--accent: #0d0d0d;--accent-hover: #333;--accent-green: #10a37f;--error: #ef4444;--radius: 16px;--radius-sm: 10px;--max-chat-width: 768px;--header-height: 56px}html,body,#root{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent-green);text-decoration:none}a:hover{text-decoration:underline}.loading-screen{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:15px}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100%;padding:24px;background:var(--bg)}.auth-card{width:100%;max-width:380px;padding:48px 32px}.auth-card h1{font-size:28px;font-weight:600;margin-bottom:4px;text-align:center}.auth-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:14px;text-align:center}.auth-subtitle code{background:var(--bg-input);padding:2px 6px;border-radius:4px;font-size:13px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--text-secondary)}.field input{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:15px;outline:none;transition:border-color .2s}.field input:focus{border-color:var(--accent-green)}.error-msg{color:var(--error);font-size:13px;margin-bottom:12px;padding:8px 12px;background:#fef2f2;border-radius:var(--radius-sm)}.btn-primary{width:100%;padding:12px;border:none;border-radius:var(--radius-sm);background:var(--accent-green);color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#0e8c6b}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:8px 20px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-hover)}.btn-ghost{padding:6px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer}.btn-ghost:hover{color:var(--text)}.btn-sm{width:auto;padding:8px 16px}.auth-footer{text-align:center;margin-top:24px;color:var(--text-secondary);font-size:14px}.chat-layout{display:flex;flex-direction:column;height:100%;background:var(--bg)}.chat-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.header-left{display:flex;align-items:center;gap:16px}.header-right{display:flex;align-items:center;gap:8px}.logo{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.3px}.biz-name{font-size:14px;color:var(--text-secondary);font-weight:500}.user-email{font-size:13px;color:var(--text-muted)}.header-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);font-size:16px;cursor:pointer;border-radius:8px;transition:background .15s}.header-btn:hover{background:var(--bg-hover);color:var(--text)}.logout-icon{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.biz-switcher{position:relative}.biz-switcher-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.biz-switcher-btn:hover{background:var(--bg-hover)}.chevron{font-size:10px;color:var(--text-muted);margin-left:2px}.biz-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);z-index:100;overflow:hidden;box-shadow:0 4px 24px #00000014,0 2px 8px #0000000a}.biz-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--text);font-size:14px;cursor:pointer;text-align:left;transition:background .1s}.biz-option:hover{background:var(--bg-hover)}.biz-option.active{background:var(--bg-hover);font-weight:500}.biz-slug{font-size:12px;color:var(--text-muted);font-family:monospace}.schedule-link{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:var(--radius-sm);color:var(--accent-green);font-size:13px;font-weight:500;text-decoration:none;transition:background .15s;white-space:nowrap}.schedule-link:hover{background:#10a37f14;text-decoration:none}.schedule-link svg{width:14px;height:14px;flex-shrink:0}@media(max-width:480px){.schedule-link-text{display:none}}.link-banner{border-bottom:1px solid var(--border);background:var(--bg-secondary)}.link-panel{padding:12px 16px}.link-content{max-width:var(--max-chat-width);margin:0 auto}.link-content p{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.link-content code{background:var(--bg-input);padding:2px 6px;border-radius:4px}.link-form{display:flex;gap:8px;align-items:center}.link-input{width:100px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:18px;font-family:monospace;text-align:center;letter-spacing:4px;outline:none}.link-input:focus{border-color:var(--accent-green)}.chat-main{flex:1;overflow-y:auto;display:flex;flex-direction:column}.chat-messages{flex:1;max-width:var(--max-chat-width);width:100%;margin:0 auto;padding:24px 16px 16px}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary);text-align:center;padding:40px 20px}.empty-icon{font-size:48px;opacity:.3}.empty-chat p{font-size:16px;max-width:320px;line-height:1.5}.chat-msg{display:flex;gap:14px;padding:12px 0}.chat-msg+.chat-msg{padding-top:8px}.chat-msg.user{justify-content:flex-end}.chat-msg.user .msg-avatar{display:none}.chat-msg.user .msg-body{align-items:flex-end}.msg-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:2px;background:var(--accent-green);color:#fff}.msg-body{display:flex;flex-direction:column;gap:8px;max-width:85%}.msg-text{padding:10px 16px;border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.7}.chat-msg.user .msg-text{background:var(--bg-msg-user);border-radius:20px 20px 4px;color:var(--text)}.chat-msg.assistant .msg-text{background:var(--bg-msg-assistant);color:var(--text)}.msg-buttons{display:flex;flex-wrap:wrap;gap:6px}.action-btn{padding:6px 16px;border:1px solid var(--border);border-radius:20px;background:var(--bg);color:var(--text);font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap;font-weight:500}.action-btn:hover:not(:disabled){background:var(--accent-green);border-color:var(--accent-green);color:#fff}.action-btn:disabled{opacity:.4;cursor:not-allowed}.chat-footer{padding:12px 16px 24px;background:var(--bg)}.input-form{max-width:var(--max-chat-width);margin:0 auto;display:flex;align-items:flex-end;gap:8px;background:var(--bg-input);border-radius:26px;border:1px solid var(--border);padding:4px 6px 4px 12px;transition:border-color .2s,box-shadow .2s}.input-form:focus-within{border-color:#ccc;box-shadow:0 0 0 2px #10a37f14}.commands-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);font-size:18px;font-weight:700;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;font-family:monospace}.commands-btn:hover{background:var(--bg-hover);color:var(--text)}.chat-textarea{flex:1;border:none;background:transparent;color:var(--text);font-size:15px;resize:none;outline:none;padding:8px 4px;min-height:36px;max-height:200px;font-family:inherit;line-height:1.4}.chat-textarea::placeholder{color:var(--text-muted)}.send-btn{width:32px;height:32px;border:none;border-radius:50%;background:var(--accent);color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}.send-btn:disabled{opacity:.15;cursor:not-allowed}.command-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:flex-end;justify-content:center;z-index:200;padding:16px}.command-panel{width:100%;max-width:var(--max-chat-width);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);max-height:60vh;display:flex;flex-direction:column;box-shadow:0 8px 40px #0000001f}.command-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.command-header h3{font-size:16px;font-weight:600}.close-btn{width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:var(--bg-hover);color:var(--text)}.command-list{overflow-y:auto;padding:8px}.command-category+.command-category{margin-top:4px}.category-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 14px 4px}.command-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 14px;border:none;background:transparent;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background .1s}.command-item:hover{background:var(--bg-hover)}.command-text{font-size:14px;color:var(--text);font-family:monospace;font-weight:500}.command-desc{font-size:12px;color:var(--text-muted)}.tab-bar{display:flex;border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;padding-bottom:env(safe-area-inset-bottom,0)}.tab-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;background:none;border:none;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:color .15s;font-family:inherit;-webkit-tap-highlight-color:transparent}.tab-bar-item:hover{color:var(--text-secondary)}.tab-bar-item--active{color:var(--accent-green)}.tab-bar-icon{width:22px;height:22px}.calendar-main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.cal-page{height:100%;display:flex;flex-direction:column;padding:12px 8px 0}.cal-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center;padding:40px 20px;font-size:15px}.cal-empty-day{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 16px;text-align:center;color:var(--text-secondary);font-size:15px}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:300;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:500px;background:var(--bg);border-radius:16px 16px 0 0;max-height:85vh;overflow-y:auto;animation:sheet-up .25s ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:12px auto 0}.sheet-content{padding:16px 20px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0))}.sheet-title{font-size:18px;font-weight:600;margin-bottom:4px}.sheet-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.sheet-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.sheet-row{display:flex;flex-direction:column;gap:4px}.sheet-row label{font-size:13px;font-weight:500;color:var(--text-secondary)}.sheet-row input{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:16px;outline:none;font-family:inherit;min-height:44px}.sheet-row input:focus,.sheet-row textarea:focus{border-color:var(--accent-green)}.sheet-row textarea{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:16px;outline:none;font-family:inherit;resize:vertical;min-height:44px}.sheet-error{padding:10px 14px;background:#fef2f2;color:var(--error);border-radius:var(--radius-sm);font-size:14px;margin-bottom:12px}.sheet-error--warning{background:#fffbeb;color:#d97706}.sheet-actions{display:flex;flex-direction:column;gap:8px}.sheet-detail{display:flex;flex-direction:column;gap:0;margin-bottom:20px}.sheet-detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);font-size:15px}.sheet-detail-row:last-child{border-bottom:none}.sheet-detail-label{font-size:13px;color:var(--text-secondary)}.sheet-detail-row a{color:var(--accent-green)}.sheet-confirm-text{font-size:15px;color:var(--text);margin-bottom:4px;text-align:center}.btn-danger{width:100%;padding:12px;border:none;border-radius:var(--radius-sm);background:var(--error);color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:opacity .2s;min-height:44px}.btn-danger:hover:not(:disabled){opacity:.9}.btn-danger:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.user-email{display:none}.chat-messages{padding:16px 12px 12px}.chat-footer{padding:8px 12px 12px}.auth-card{padding:32px 20px}}
