:root{--bg: #f8f9fb;--bg-chat: #f3f5f8;--surface: #ffffff;--surface-hover: #fafbfc;--border: #e8ecf1;--border-strong: #d8dee6;--text: #2c3440;--text-secondary: #5c6773;--muted: #8b95a1;--accent: #6b8cae;--accent-hover: #5a7a9a;--accent-soft: #eef3f8;--accent-muted: #dce6f0;--success: #3d8f6e;--success-soft: #edf7f2;--danger: #c45c5c;--danger-soft: #fdf4f4;--bubble-in: #ffffff;--bubble-out: #e4ecf4;--bubble-out-text: #2c3440;--link: #5b8fc7;--radius: 8px;--radius-lg: 12px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--font: "Inter", system-ui, -apple-system, sans-serif;--header-h: 56px}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh}button,input,textarea{font:inherit;color:inherit}a{color:var(--link)}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.app-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 1.25rem;border-bottom:1px solid var(--border);background:var(--surface)}.app-header h1{margin:0;font-size:.9375rem;font-weight:600;letter-spacing:-.01em}.app-header .meta{font-size:.8125rem;color:var(--muted);margin-top:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .875rem;border-radius:var(--radius);border:none;cursor:pointer;font-size:.8125rem;font-weight:500;transition:background .12s,border-color .12s,color .12s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.btn-icon{padding:.4375rem .5625rem;min-width:36px}.btn-sm{padding:.375rem .625rem;font-size:.75rem}.btn-remove{color:var(--muted)!important;border:none!important;background:transparent!important;min-width:32px}.btn-remove:hover{color:var(--danger)!important;background:var(--danger-soft)!important}.btn-send{border-radius:var(--radius);padding:.5625rem 1rem;min-width:76px}.btn-full{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.field input,.field textarea,.search-row input,.chat-compose textarea{padding:.5625rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .12s,box-shadow .12s}.field input:focus,.field textarea:focus,.search-row input:focus,.chat-compose textarea:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px #6b8cae26}.error-banner{padding:.625rem .75rem;border-radius:var(--radius);background:var(--danger-soft);border:1px solid #fecaca;color:#b91c1c;font-size:.8125rem;margin-bottom:1rem}.info-banner{padding:.625rem .75rem;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--border);color:var(--text-secondary);font-size:.8125rem;line-height:1.45}.chip{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;background:var(--accent-soft);color:var(--muted);border:1px solid var(--border)}.chip-success{background:var(--success-soft);color:var(--success);border-color:#c6e8dc}.chip-window-open{background:#eef6ff;color:#3b6ea5;border-color:#c5daf0;text-transform:none;letter-spacing:0}.chip-window-closed{background:var(--danger-soft);color:var(--danger);border-color:#f5d0d0;text-transform:none;letter-spacing:0}.service-window-closed{padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface);text-align:center}.service-window-text{margin:0;font-size:.875rem;color:var(--muted)}.login-tabs{display:flex;gap:.25rem;padding:.25rem;background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:1.25rem}.login-tab{flex:1;padding:.4375rem .75rem;border:none;border-radius:6px;background:transparent;color:var(--muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .12s,color .12s}.login-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.success-banner{padding:.625rem .75rem;border-radius:var(--radius);background:var(--success-soft);border:1px solid #c6e8dc;color:var(--success);font-size:.8125rem;margin-bottom:1rem}.admin-shell{min-height:100vh}.admin-tabs-bar{padding:1rem 1.25rem 0;max-width:1100px;margin:0 auto}.admin-page-tabs{max-width:280px;margin-bottom:0}.admin-flash{max-width:1100px;margin:.75rem auto 0;padding:0 1.25rem}.admin-flash.error-banner,.admin-flash.success-banner{margin-bottom:0}.admin-layout-agents{padding-top:1rem}.steps-list{margin:0 0 1.25rem;padding-left:1.25rem;color:var(--text-secondary);font-size:.8125rem;line-height:1.6}.invite-details{margin-bottom:1.25rem;padding:.75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-hover)}.invite-details summary{cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.admin-edit-form{width:100%;display:flex;flex-direction:column;gap:.25rem}.admin-edit-form .field label{font-size:.75rem}.field select{padding:.5625rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:100%}.admin-note code{font-size:.7rem;background:var(--accent-soft);padding:.125rem .25rem;border-radius:4px}.admin-note-footer{max-width:1100px;margin:1rem auto 1.5rem;padding:0 1.25rem}.admin-layout{display:grid;grid-template-columns:1fr 360px;gap:1.25rem;padding:1.25rem;max-width:1100px;margin:0 auto}.admin-form-card h2,.admin-list-panel h2{margin:0 0 .375rem;font-size:1rem;font-weight:600}.section-hint{color:var(--muted);font-size:.8125rem;margin:0 0 1.25rem;line-height:1.5}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.cred-card{padding:.875rem 1rem;margin-bottom:1rem;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent-muted)}.cred-title{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.cred-list{margin:0 0 .75rem;display:grid;gap:.375rem}.cred-list dt{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.cred-list dd{margin:0;font-family:ui-monospace,monospace;font-size:.875rem}.admin-list-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;height:fit-content}.admin-agent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.admin-agent{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-hover)}.admin-agent.disabled{opacity:.55}.admin-agent-main{display:flex;flex-direction:column;gap:.125rem;min-width:0}.admin-agent-main strong{font-size:.875rem}.admin-agent-actions{display:flex;gap:.25rem;flex-shrink:0}.agent-phones{font-size:.75rem}.admin-note{margin:1rem 0 0;font-size:.75rem;color:var(--muted);line-height:1.45}.header-actions{display:flex;gap:.375rem}.meta-intervention{color:var(--accent)}.msg-event{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin:.75rem 0;width:100%}.msg-event-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-full);background:var(--accent-soft);border:1px solid var(--accent-muted);font-size:.75rem;color:var(--text-secondary)}.msg-event-label{color:var(--muted)}.msg-event-agent{font-weight:600;color:var(--accent-hover)}.msg-event-time{font-size:.625rem;color:var(--muted)}.admin-top{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:1.25rem 1.25rem 0;max-width:1100px;margin:0 auto}.admin-lookup-card,.admin-intervened-card{padding:1.25rem}.lookup-result{margin-top:1rem;padding:.875rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-hover);display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.lookup-agent{display:flex;align-items:baseline;gap:.375rem;margin-left:auto}.lookup-label{font-size:.75rem;color:var(--muted)}.lookup-agent-name{font-size:.9375rem;font-weight:600;color:var(--accent-hover)}.intervened-table{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto}.intervened-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.intervened-row:last-child{border-bottom:none}.intervened-row-main{display:flex;flex-direction:column;gap:.125rem;min-width:0}.intervened-row-main strong{font-size:.8125rem}.intervened-agent{font-size:.8125rem;font-weight:500;color:var(--accent-hover);flex-shrink:0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg)}.login-card{width:100%;max-width:380px;padding:2rem}.brand{display:flex;align-items:center;gap:.625rem;margin-bottom:1.75rem}.brand-mark{width:36px;height:36px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-muted);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;letter-spacing:-.02em}.brand-name{font-size:.9375rem;font-weight:600;letter-spacing:-.02em}.login-card h1{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.login-card .subtitle{color:var(--muted);margin:0 0 1.5rem;font-size:.875rem}.home-shell{min-height:100vh}.home-layout{flex:1;display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - var(--header-h))}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;overflow:auto}.section-label{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.phone-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.assigned-item{display:flex;gap:.25rem;align-items:stretch}.assigned-phone{flex:1;min-width:0;text-align:left;padding:.5rem .625rem;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;font-size:.8125rem;font-variant-numeric:tabular-nums;transition:background .12s}.assigned-phone:hover{background:var(--accent-soft)}.main-panel{padding:2rem;max-width:560px}.main-panel h2{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;letter-spacing:-.02em}.main-hint{color:var(--muted);margin:0 0 1.5rem;font-size:.875rem;line-height:1.55}.search-row{display:flex;gap:.5rem}.search-row input{flex:1}.search-card{padding:.75rem;margin-bottom:0}.contact-result{margin-top:1rem;padding:.875rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:1rem}.contact-result strong{font-size:.9375rem;font-weight:600}.empty-list{color:var(--muted);font-size:.8125rem;padding:.5rem 0;list-style:none}.chat-shell{height:100vh;max-height:100dvh;background:var(--bg-chat)}.top-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);z-index:100;animation:progress-pulse 1s ease-in-out infinite}@keyframes progress-pulse{0%,to{opacity:.4}50%{opacity:1}}.chat-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 1rem;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.chat-header-info{min-width:0}.chat-header-info h1{margin:0;font-size:.9375rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.chat-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--text);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.meta-dot{color:var(--muted)}.chat-error{margin:.75rem 1rem 0;flex-shrink:0}.chat-layout{flex:1;display:flex;flex-direction:column;min-height:0}.chat-messages{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.25rem}.date-divider{display:flex;justify-content:center;margin:1rem 0 .75rem}.date-divider span{font-size:.6875rem;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--border);padding:.1875rem .625rem;border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.msg-row{display:flex;width:100%;margin-bottom:.125rem}.msg-row-in{justify-content:flex-start}.msg-row-out{justify-content:flex-end}.bubble{max-width:min(78%,480px);padding:.625rem .875rem;border-radius:var(--radius-lg);font-size:.875rem;line-height:1.5;word-break:break-word;box-shadow:var(--shadow-sm)}.bubble-in{background:var(--bubble-in);border:1px solid var(--border);border-bottom-left-radius:4px}.bubble-out{background:var(--bubble-out);color:var(--bubble-out-text);border:1px solid var(--accent-muted);border-bottom-right-radius:4px;box-shadow:var(--shadow-sm)}.bubble-body{display:flex;flex-direction:column;gap:.375rem}.bubble-line{margin:0;white-space:pre-wrap}.bubble-link{color:var(--link);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.bubble-out .bubble-link{color:var(--link)}.bubble-badge{font-size:.625rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.375rem}.bubble-out .bubble-badge{color:var(--muted)}.bubble-media{margin-bottom:.375rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.bubble-out .bubble-media{border-color:var(--border)}.media-preview img{display:block;max-width:100%;max-height:240px;object-fit:cover}.media-video video{max-width:100%;max-height:240px;background:#000}.media-file{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:var(--accent-soft);border-radius:var(--radius);color:inherit;text-decoration:none;font-size:.8125rem}.bubble-out .media-file{background:var(--surface)}.bubble-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.375rem;padding-top:.25rem;border-top:1px solid transparent}.bubble-in .bubble-footer,.bubble-out .bubble-footer{border-top-color:var(--border)}.bubble-sender{display:none}.bubble-time{font-size:.625rem;color:var(--muted)}.bubble-out .bubble-time{color:var(--muted)}.bubble-muted{color:var(--muted);font-style:italic;font-size:.8125rem}.chat-compose{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface);display:flex;gap:.5rem;align-items:flex-end;flex-shrink:0}.chat-compose textarea{flex:1;min-height:40px;max-height:120px;resize:none;border-radius:var(--radius);line-height:1.45}.chat-skeleton{flex:1;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.sk-date,.sk-bubble{border-radius:var(--radius);background:linear-gradient(90deg,#e8eaef 25%,#f0f1f4,#e8eaef 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.sk-date{width:88px;height:20px;margin:0 auto;border-radius:var(--radius-full)}.sk-row{display:flex}.sk-in{justify-content:flex-start}.sk-out{justify-content:flex-end}.sk-small{width:36%;height:36px}.sk-medium{width:52%;height:44px}.sk-large{width:68%;height:72px}.sk-wide{width:44%;height:40px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);padding:2rem;text-align:center;gap:.5rem}.empty-state p{margin:0}.empty-sub{font-size:.875rem;max-width:280px}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.admin-layout,.admin-top,.field-grid{grid-template-columns:1fr}.lookup-agent{margin-left:0;width:100%}}@media(max-width:768px){.home-layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:40vh}.main-panel{padding:1.25rem}}@media(max-width:640px){.btn-logout{display:none}.bubble{max-width:90%}.chat-messages{padding:1rem}}
