:root{--cream: #fff7df;--coral: #e88c84;--coral-hover: #d77971;--coral-soft: #f4ada6;--soft-pink: #f0c3c3;--light-pink: #ffe4e4;--gold: #c4a052;--gold-deep: #a87f3d;--gold-soft: #f3e8cf;--espresso: #2a2018;--espresso-2: #1c150e;--bg: #fbf9f4;--bg-alt: var(--cream);--surface: #ffffff;--surface-2: #faf6f1;--surface-muted: var(--light-pink);--text: #1f1a1a;--text-2: #4a3f3f;--text-muted: #8a7c7c;--text-faint: #b5a8a8;--primary: var(--coral);--primary-hover: var(--coral-hover);--primary-soft: var(--light-pink);--accent: var(--soft-pink);--success: #16a34a;--error: #dc2626;--warning: #f59e0b;--info: #0ea5e9;--border: #ece3e3;--border-strong: var(--soft-pink);--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-pill: 999px;--shadow-xs: 0 1px 2px rgba(31, 26, 26, .04);--shadow-sm: 0 2px 8px rgba(31, 26, 26, .06);--shadow-md: 0 6px 20px rgba(232, 140, 132, .1);--shadow-lg: 0 14px 40px rgba(232, 140, 132, .18);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--t-xs: 11px;--t-sm: 13px;--t-base: 14px;--t-md: 15px;--t-lg: 18px;--t-xl: 22px;--t-2xl: 28px;--t-3xl: 34px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--t-base);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}h1,h2,h3,h4{margin:0;color:var(--text);font-weight:600;letter-spacing:-.01em}h1{font-size:var(--t-2xl)}h2{font-size:var(--t-xl)}h3{font-size:var(--t-lg)}h4{font-size:var(--t-md)}p{margin:0;color:var(--text-2)}.shell{min-height:100%;display:flex;flex-direction:column;background:var(--bg)}.topbar{position:sticky;top:0;z-index:50;height:64px;background:var(--surface);border-bottom:1px solid var(--border);backdrop-filter:saturate(180%) blur(8px);display:flex;align-items:center;justify-content:space-between;padding:0 var(--s-6)}.topbar-brand{display:flex;align-items:center;gap:var(--s-3);font-weight:600;font-size:var(--t-md);color:var(--text)}.topbar-logo{width:32px;height:32px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--coral) 0%,var(--coral-hover) 100%);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;box-shadow:0 4px 12px #e88c8466}.topbar-nav{display:flex;align-items:center;gap:var(--s-1)}.topbar-nav a{padding:8px 14px;border-radius:var(--r-sm);color:var(--text-2);font-size:var(--t-base);font-weight:500;transition:background .15s,color .15s}.topbar-nav a:hover{background:var(--surface-2);color:var(--text)}.topbar-nav a.active{background:var(--light-pink);color:var(--coral-hover);font-weight:600}.topbar-actions{display:flex;align-items:center;gap:var(--s-3)}.user-chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:4px 10px 4px 4px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:background .15s}.user-chip:hover{background:var(--light-pink)}.user-chip-name{font-size:var(--t-sm);font-weight:600;color:var(--text)}.role-badge{display:inline-flex;align-items:center;padding:2px 8px;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-hover) 100%);color:#fff;border-radius:var(--r-pill);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-left:4px}.avatar{border-radius:50%;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-hover) 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;box-shadow:0 2px 8px #e88c8440}.avatar.size-xs{width:24px;height:24px;font-size:10px}.avatar.size-sm{width:32px;height:32px;font-size:13px}.avatar.size-md{width:40px;height:40px;font-size:15px}.avatar.size-lg{width:64px;height:64px;font-size:24px}.avatar.size-xl{width:120px;height:120px;font-size:44px}.avatar.size-2xl{width:140px;height:140px;font-size:56px}.main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:var(--s-8) var(--s-6)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--s-4);margin-bottom:var(--s-8)}.page-header h1{font-size:var(--t-2xl);margin-bottom:var(--s-1)}.page-header .subtitle{color:var(--text-muted);font-size:var(--t-base);margin:0}.section-title{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600;margin:0 0 var(--s-3)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-6);box-shadow:var(--shadow-sm)}.card-lg{padding:var(--s-8)}.card-muted{background:var(--surface-2);box-shadow:none}.card-accent{background:linear-gradient(135deg,var(--cream) 0%,var(--light-pink) 100%);border-color:var(--soft-pink)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4)}.card-title{font-size:var(--t-lg);font-weight:600;margin:0 0 4px}.card-subtitle{font-size:var(--t-sm);color:var(--text-muted);margin:0}.card-icon{width:44px;height:44px;border-radius:var(--r-sm);background:var(--light-pink);color:var(--coral-hover);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.card-icon svg{width:22px;height:22px}.divider{height:1px;background:var(--border);margin:var(--s-5) 0;border:none}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-4);margin-bottom:var(--s-8)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card .stat-label{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.stat-card .stat-value{font-size:var(--t-3xl);font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1}.stat-card .stat-meta{font-size:var(--t-sm);color:var(--text-muted)}.stat-card .stat-icon{position:absolute}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field-label{font-size:var(--t-sm);font-weight:600;color:var(--text)}.field-help{font-size:var(--t-xs);color:var(--text-muted)}.input,.select,.field input,.field select{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--t-base);outline:none;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s;font-family:inherit}.input:focus,.select:focus,.field input:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #e88c841f}.input::placeholder{color:var(--text-faint)}.input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);background:var(--surface-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:10px 16px;border-radius:var(--r-sm);font-size:var(--t-base);font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .15s;font-family:inherit;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #e88c844d}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 6px 18px #e88c8466;color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);border-color:transparent}.btn-danger{background:var(--error);color:#fff;border-color:var(--error)}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;color:#fff}.btn-sm{padding:6px 12px;font-size:var(--t-sm)}.btn-lg{padding:13px 22px;font-size:var(--t-md)}.btn-block{width:100%}.btn svg{width:16px;height:16px}.alert{padding:12px 14px;border-radius:var(--r-sm);font-size:var(--t-sm);display:flex;gap:var(--s-2);align-items:flex-start}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.alert-info{background:#f0f9ff;color:#075985;border:1px solid #bae6fd}.error{background:#fef2f2;color:var(--error);padding:10px 14px;border-radius:var(--r-sm);font-size:var(--t-sm);border:1px solid #fecaca}.link-row{display:flex;gap:var(--s-2)}.link-row .input{flex:1}.actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.auth-page{min-height:100%;display:grid;grid-template-columns:1fr;background:var(--bg)}@media (min-width: 900px){.auth-page{grid-template-columns:1fr 1fr}}.auth-aside{display:none;background:radial-gradient(120% 90% at 50% 38%,#fffdf8,#faf3e3 55%,#f4e9d2);padding:var(--s-12);position:relative;overflow:hidden}.auth-aside:before{content:"";position:absolute;top:50%;left:50%;width:460px;height:460px;transform:translate(-50%,-62%);border-radius:50%;background:radial-gradient(circle,#c4a0522e,#c4a05200 70%);pointer-events:none}@media (min-width: 900px){.auth-aside{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--s-6)}}.auth-aside-logo{position:relative;z-index:1;width:min(280px,60%);height:auto;object-fit:contain;display:block;filter:drop-shadow(0 12px 28px rgba(168,127,61,.28))}.auth-aside-brand-text{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--s-2)}.auth-aside-brand-text h1{font-size:var(--t-3xl);font-weight:700;color:var(--espresso);letter-spacing:-.01em;margin:0}.auth-aside-brand-text p{font-size:var(--t-md);color:#8a7553;margin:0}.auth-form-pane{display:flex;align-items:center;justify-content:center;padding:var(--s-8) var(--s-6);background:#fff;position:relative;overflow:hidden}@media (min-width: 900px){.auth-form-pane{border-left:1px solid #efe6d4}}.auth-form{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--s-5);background:#fff;border:1px solid #efe6d4;border-radius:var(--r-lg);box-shadow:0 18px 48px #785a231f;padding:var(--s-8);position:relative;z-index:1;overflow:hidden}.auth-form:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-deep))}.auth-form-header{text-align:center}.auth-form-header h1{font-size:var(--t-2xl);font-weight:700;color:var(--espresso);margin-bottom:var(--s-2)}.auth-form-header p{color:var(--text-muted);font-size:var(--t-base)}.auth-form .input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #c4a05229}.input-wrap{position:relative}.input-wrap .input{width:100%;padding-right:44px}.input-toggle{position:absolute;top:50%;right:10px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm)}.input-toggle:hover{color:var(--text)}.input-toggle svg{width:18px;height:18px}.auth-forgot{align-self:flex-end;margin-top:calc(-1 * var(--s-3));font-size:var(--t-sm);font-weight:600;color:var(--gold-deep);background:none;border:0;padding:0;cursor:pointer}.auth-forgot:hover{color:var(--espresso);text-decoration:underline}.btn-auth{background:linear-gradient(135deg,var(--espresso) 0%,var(--espresso-2) 100%);color:#fff;border:0;letter-spacing:.01em;box-shadow:0 8px 20px #2a201847}.btn-auth:hover:not(:disabled){background:linear-gradient(135deg,#3a2c1f 0%,var(--espresso) 100%);box-shadow:0 10px 26px #2a20185c;color:#fff}.btn-auth:focus-visible{outline:none;box-shadow:0 0 0 4px #c4a05259}.btn-auth:disabled{opacity:.5;cursor:not-allowed}.action-card{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s,border-color .15s}.action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--soft-pink)}.action-card>svg{width:20px;height:20px;color:var(--text-faint);flex-shrink:0;transition:color .15s,transform .15s}.action-card:hover>svg{color:var(--coral);transform:translate(3px)}.action-card-body{flex:1;min-width:0}.action-card-body h3{font-size:var(--t-md);margin:0 0 4px;white-space:normal}.action-card-body p{font-size:var(--t-sm);color:var(--text-muted);margin:0;line-height:1.5}.steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-4)}.steps li{display:flex;gap:var(--s-3);align-items:flex-start}.step-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--light-pink);color:var(--coral-hover);display:inline-flex;align-items:center;justify-content:center;font-size:var(--t-sm);font-weight:700}.step-body strong{display:block;font-size:var(--t-base);color:var(--text);font-weight:600;margin-bottom:2px}.step-body span{font-size:var(--t-sm);color:var(--text-muted)}.grid-2{display:grid;grid-template-columns:1fr;gap:var(--s-6)}@media (min-width: 880px){.grid-2{grid-template-columns:1.4fr 1fr}}.success-banner{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:#f0fdf4;color:#166534;border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:500;border:1px solid #bbf7d0}.success-icon{width:22px;height:22px;border-radius:50%;background:var(--success);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.dots{display:inline-flex;gap:6px}.dots span{width:8px;height:8px;background:var(--coral);border-radius:50%;animation:dot 1.2s ease-in-out infinite}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes dot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.loading-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);padding:var(--s-8)}.page-center{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--s-6);background:var(--bg)}.call-screen{position:fixed;inset:0;background:linear-gradient(135deg,var(--cream) 0%,var(--light-pink) 100%);color:var(--text);display:flex;flex-direction:column}.call-topbar{height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--s-5);flex-shrink:0}.call-topbar-left,.call-topbar-right{display:flex;align-items:center;gap:var(--s-2)}.call-topbar-center{font-size:var(--t-sm);color:var(--text-muted);font-weight:500}.call-timer{display:inline-flex;align-items:center;gap:var(--s-2);padding:6px 12px;background:var(--light-pink);border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:600;color:var(--coral-hover);font-variant-numeric:tabular-nums}.call-timer .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.topbar-icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);transition:background .15s,color .15s}.topbar-icon-btn svg{width:20px;height:20px}.topbar-icon-btn:hover{background:var(--light-pink);color:var(--coral)}.topbar-icon-btn.active{color:var(--coral);background:var(--light-pink)}.topbar-icon-btn.danger{color:var(--error)}.topbar-icon-btn.danger:hover{background:#fee2e2}.connection-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.connection-badge.good{background:#dcfce7;color:#15803d}.connection-badge.poor{background:#fef3c7;color:#b45309}.connection-badge.bad{background:#fee2e2;color:var(--error)}.call-warning{background:var(--warning);color:#1a2032;padding:8px 16px;font-size:var(--t-sm);text-align:center;font-weight:500}.video-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.video-remote{position:absolute;inset:0;background:var(--light-pink);display:flex;align-items:center;justify-content:center}.video-local{position:absolute;bottom:24px;right:24px;width:220px;height:140px;background:var(--soft-pink);border:3px solid var(--surface);border-radius:var(--r-md);overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}.placeholder{color:var(--text-muted);font-size:var(--t-base)}.audio-stage{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-3)}.avatar-call{width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-hover) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:56px;font-weight:700;box-shadow:0 8px 24px #e88c8466;position:relative}.avatar-call.ringing:after{content:"";position:absolute;inset:-8px;border-radius:50%;border:3px solid var(--coral);opacity:0;animation:ring 1.6s ease-out infinite}@keyframes ring{0%{transform:scale(.95);opacity:.6}to{transform:scale(1.25);opacity:0}}.audio-stage h2{font-size:var(--t-xl)}.status-text{color:var(--text-muted);font-size:var(--t-base);margin:0}.call-controls{display:flex;gap:var(--s-3);justify-content:center;align-items:center;padding:var(--s-5);background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.ctrl{width:60px;height:60px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--t-xs);font-weight:600;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:2px}.ctrl:hover{background:var(--light-pink);border-color:var(--coral)}.ctrl.off{background:var(--soft-pink);border-color:var(--coral);color:var(--coral-hover)}.ctrl.end{background:var(--error);border-color:var(--error);color:#fff;width:76px}.ctrl.end:hover{background:#b91c1c;border-color:#b91c1c}.ctrl svg{width:22px;height:22px}.ctrl-label{font-size:10px;margin-top:2px}.lobby-popup{position:absolute;top:16px;left:50%;transform:translate(-50%);background:var(--surface);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:10;min-width:320px;animation:slideDown .25s ease-out}@keyframes slideDown{0%{transform:translate(-50%,-16px);opacity:0}to{transform:translate(-50%);opacity:1}}.lobby-popup-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:var(--t-sm);color:var(--text-muted);font-weight:500}.lobby-popup-header svg{width:18px;height:18px;color:var(--coral)}.lobby-popup-name{font-size:var(--t-md);font-weight:600;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:8px}.lobby-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--light-pink);color:var(--coral-hover);border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:600}.lobby-popup-actions{display:flex;gap:8px}.lobby-popup-actions .btn{flex:1;padding:8px 12px}.lobby-waiting{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-4);padding:var(--s-6)}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:var(--text);color:#fff;padding:10px 18px;border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:500;box-shadow:var(--shadow-lg);z-index:100;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.expert-mode-active{display:inline-flex;align-items:center;gap:6px;color:var(--coral);font-weight:500}.expert-mode-active svg{width:16px;height:16px}.booking-filters{margin-bottom:var(--s-4)}.quick-range-chips{display:flex;gap:var(--s-2);flex-wrap:wrap}.chip{appearance:none;border:1px solid var(--border);background:#fff;color:var(--text-2);padding:6px 14px;border-radius:999px;font-size:var(--t-sm);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip:hover{background:#fef2f2;color:var(--coral);border-color:var(--coral)}.chip-active{background:var(--coral);color:#fff;border-color:var(--coral)}.booking-list{display:flex;flex-direction:column;gap:var(--s-5);margin-top:var(--s-5)}.booking-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}.booking-card-user{display:flex;align-items:center;gap:var(--s-3)}.booking-card-name{font-weight:600;font-size:var(--t-lg);color:var(--text)}.status-pill{padding:4px 12px;border-radius:999px;font-size:var(--t-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);color:var(--text-2)}.status-pill.status-confirmed{background:#ecfdf5;color:#047857}.status-pill.status-completed{background:#eef2ff;color:#4338ca}.status-pill.status-cancelled{background:#fef2f2;color:#b91c1c}.status-pill.status-pending{background:#fef9c3;color:#92400e}.booking-meta{display:flex;flex-direction:column;gap:var(--s-3)}.booking-meta-row{display:flex;align-items:flex-start;gap:var(--s-3);background:#fef2f2;padding:var(--s-3) var(--s-4);border-radius:var(--r-sm)}.meta-icon{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--coral);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.meta-icon svg{width:18px;height:18px}.meta-label{font-size:var(--t-xs);color:var(--text-muted);margin-bottom:2px;display:flex;align-items:center;gap:var(--s-2)}.meta-value{font-size:var(--t-md);color:var(--text);font-weight:600}.slot-row{display:inline-flex;align-items:center;gap:var(--s-2)}.slot-row svg{width:14px;height:14px;color:var(--text-muted)}.duration-pill{padding:2px 10px;border-radius:999px;background:#fff;color:var(--coral);font-weight:600;font-size:var(--t-xs)}.booking-link-panel{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s-3)}.call-body{flex:1;display:flex;min-height:0;position:relative}.chat-panel{width:0;flex-shrink:0;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .22s ease}.chat-panel.open{width:360px}.chat-header{height:60px;flex-shrink:0;padding:0 var(--s-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.chat-header-info{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-title{font-size:var(--t-md);font-weight:600;color:var(--text)}.chat-subtitle{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--text-muted)}.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint);flex-shrink:0}.presence-dot.online{background:#34c759}.chat-close{width:34px;height:34px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chat-close svg{width:18px;height:18px}.chat-close:hover{background:var(--light-pink);color:var(--coral)}.chat-messages{flex:1;overflow-y:auto;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);background:var(--surface-2)}.chat-state{margin:auto;text-align:center;color:var(--text-muted);font-size:var(--t-sm);padding:var(--s-4)}.chat-state-error{color:var(--error)}.chat-date-sep{text-align:center;margin:var(--s-2) 0}.chat-date-sep span{display:inline-block;padding:3px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--t-xs);color:var(--text-muted)}.chat-bubble-row{display:flex}.chat-bubble-row.in{justify-content:flex-start}.chat-bubble-row.out{justify-content:flex-end}.chat-bubble{max-width:78%;padding:8px 12px;border-radius:var(--r-md);font-size:var(--t-sm);line-height:1.4;position:relative;box-shadow:var(--shadow-xs)}.chat-bubble-row.in .chat-bubble{background:var(--surface);color:var(--text);border-bottom-left-radius:var(--r-xs)}.chat-bubble-row.out .chat-bubble{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-hover) 100%);color:#fff;border-bottom-right-radius:var(--r-xs)}.chat-text{white-space:pre-wrap;word-break:break-word}.chat-time{display:block;margin-top:4px;font-size:10px;opacity:.7;text-align:right}.chat-image-link{display:block}.chat-image{display:block;max-width:220px;max-height:220px;border-radius:var(--r-sm);object-fit:cover}.chat-file{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-weight:500}.chat-file svg{width:20px;height:20px;flex-shrink:0}.chat-typing{display:inline-flex;gap:4px;align-items:center}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-faint);animation:chatTypingBlink 1.2s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chatTypingBlink{0%,60%,to{opacity:.3}30%{opacity:1}}.chat-input-bar{flex-shrink:0;display:flex;align-items:flex-end;gap:var(--s-2);padding:var(--s-3);border-top:1px solid var(--border);background:var(--surface)}.chat-attach{position:relative}.chat-attach-btn,.chat-send-btn{width:40px;height:40px;flex-shrink:0;border:none;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chat-attach-btn{background:var(--surface-2);color:var(--text-muted)}.chat-attach-btn:hover:not(:disabled){background:var(--light-pink);color:var(--coral)}.chat-send-btn{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-hover) 100%);color:#fff}.chat-attach-btn svg,.chat-send-btn svg{width:18px;height:18px}.chat-attach-btn:disabled,.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-attach-menu{position:absolute;bottom:48px;left:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:150px;z-index:5}.chat-attach-menu button{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;background:transparent;color:var(--text);font-size:var(--t-sm);border-radius:var(--r-sm);cursor:pointer;text-align:left}.chat-attach-menu button:hover{background:var(--surface-2)}.chat-attach-menu svg{width:18px;height:18px;color:var(--coral)}.chat-textarea{flex:1;resize:none;max-height:120px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-lg);font-family:inherit;font-size:var(--t-sm);color:var(--text);background:var(--surface-2);outline:none}.chat-textarea:focus{border-color:var(--coral-soft)}.chat-toggle-wrap{position:relative;display:inline-flex}.chat-unread-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--coral);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}@media (max-width: 720px){.chat-panel.open{width:100%;position:absolute;inset:0;z-index:20;border-left:none}}
