:root{color:#172026;background:#eef2f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;height:100vh;overflow:hidden;background:#eef2f4}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,select:disabled,textarea:disabled{cursor:not-allowed}.app-nav{position:sticky;top:0;z-index:10;display:flex;gap:8px;border-bottom:1px solid #cbd5dc;background:#fff;padding:10px 20px}.app-nav button,.secondary-button,.row-actions button{min-height:36px;border:1px solid #cbd5dc;border-radius:6px;background:#fff;color:#172026;font-weight:700;padding:0 12px}.app-nav button.is-active,.secondary-button:hover,.row-actions button:hover{border-color:#1f7664;background:#e9f4f1}.danger-button{min-height:36px;border:1px solid #e53e3e;border-radius:6px;background:#fff;color:#e53e3e;font-weight:700;padding:0 12px;cursor:pointer}.danger-button:hover{background:#fff5f5}.dashboard-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:calc(100vh - 57px);overflow:hidden;padding:20px;gap:14px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}.topbar h1,.chat-header h2{margin:0;line-height:1.1;letter-spacing:0}.topbar h1{font-size:1.45rem}.topbar p,.chat-header p{margin:4px 0 0;color:#5d6972}.topbar-actions{display:flex;align-items:end;gap:12px;min-width:min(100%,560px)}.field,.search-field,.message-input label{display:grid;gap:6px}.field span,.search-field span,.message-input span,.credit-label{color:#53616b;font-size:.78rem;font-weight:700;text-transform:uppercase}.field{flex:1}select,input,textarea{width:100%;border:1px solid #cbd5dc;border-radius:6px;background:#fff;color:#172026;outline:none}select,input{min-height:42px;padding:0 12px}textarea{min-height:82px;resize:vertical;padding:10px 12px}select:focus,input:focus,textarea:focus{border-color:#1f7664;box-shadow:0 0 0 3px #1f766429}.credit-badge{display:grid;grid-template-columns:auto auto;grid-template-areas:"label label" "value state";align-items:center;min-width:150px;min-height:64px;gap:2px 10px;border:1px solid #cbd5dc;border-radius:8px;background:#fff;padding:10px 12px}.credit-badge strong{grid-area:value;font-size:1.35rem}.credit-badge span:last-child{grid-area:state;color:#53616b;font-size:.86rem}.credit-label{grid-area:label}.credit-badge.is-ok{border-left:4px solid #1f7664}.credit-badge.is-warning{border-left:4px solid #b7791f}.credit-badge.is-danger{border-left:4px solid #b42318}.error-banner,.full-state,.center-state,.empty-state{color:#53616b}.error-banner{border:1px solid #f0b8ad;border-radius:8px;background:#fff3f0;color:#8a271a;padding:10px 12px}.workspace{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);min-height:0;border:1px solid #ccd7dd;border-radius:8px;overflow:hidden;background:#fff}.chat-session-pane{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border-right:1px solid #d8e0e5;background:#f8fafb}.chat-session-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:12px;border-bottom:1px solid #d8e0e5}.chat-session-toolbar select{flex:1;min-width:120px}.chat-session-list,.message-list{min-height:0;overflow:auto}.chat-session-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;min-height:72px;gap:10px;border:0;border-bottom:1px solid #e4eaee;background:transparent;color:inherit;padding:10px 12px;text-align:left}.chat-session-row:hover,.chat-session-row.is-selected{background:#e9f4f1}.chat-session-row.is-mine{border-left:3px solid #1f7664}.chat-session-main,.chat-session-meta{display:grid;min-width:0;gap:3px}.chat-session-main strong,.chat-session-main small,.chat-session-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-session-main small,.chat-session-meta small{color:#5d6972}.chat-session-meta .chat-session-time{color:#8a9db0}.chat-session-last-operator{font-weight:600;color:#5b7fb5!important}.chat-session-last-operator--mine{color:#1f7664!important}.chat-session-meta{justify-items:end}.unread-count{display:inline-grid;min-width:24px;height:24px;place-items:center;border-radius:999px;background:#1f7664;color:#fff;font-size:.78rem;font-weight:700}.chat-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;overflow:hidden}.chat-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;min-height:68px;gap:12px;padding:12px 18px;border-bottom:1px solid #d8e0e5;background:#fff}.chat-header h2{font-size:1.02rem}.chat-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-header-actions .rag-reset-button{margin-left:0;font-size:.78rem}.chat-rules-button{min-height:28px;border:1px solid #cbd5dc;border-radius:6px;background:#fff;color:#53616b;font-size:.78rem;font-weight:700;padding:0 10px}.chat-rules-button:hover{border-color:#1f7664;background:#e9f4f1;color:#1f7664}.rag-reset-done{font-size:.78rem;color:#2e7d32;font-weight:700}.status-pill{border:1px solid #cbd5dc;border-radius:999px;color:#53616b;padding:3px 10px;font-size:.78rem}.conv-status{font-size:.72rem;font-weight:600;text-transform:uppercase;color:#53616b}.conv-status--open{color:#2e7d32}.conv-status--closed{color:#b42318}.conv-status--pending{color:#b46b00}.poll-indicator{display:flex;align-items:center;gap:5px;font-size:.75rem;color:#8a9db0;-webkit-user-select:none;user-select:none;white-space:nowrap}.poll-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a8bcc9;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.message-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;padding:16px 18px;overflow-y:auto;overflow-x:hidden;background:#f0f2f5;scroll-behavior:smooth}.message-bubble{max-width:min(74%,600px);border-radius:14px 14px 14px 4px;background:#fff;padding:9px 13px 7px;box-shadow:0 1px 2px #00000014;border:none}.message-bubble.is-outbound{align-self:flex-end;border-radius:14px 14px 4px;background:#d9fdd3;box-shadow:0 1px 2px #0000001a}.message-bubble.is-inbound{align-self:flex-start}.message-bubble p{margin:0 0 3px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.93rem;line-height:1.45;color:#172026}.message-bubble footer{display:flex;justify-content:flex-end;align-items:center;gap:5px;color:#8e9ca8;font-size:.71rem}.date-separator{display:flex;align-items:center;margin:12px 0 8px;gap:8px}.date-separator:before,.date-separator:after{content:"";flex:1;height:1px;background:#dde3e7}.date-separator span{font-size:.72rem;color:#8e9ca8;white-space:nowrap;padding:0 4px}.msg-status-failed{color:#e53e3e;font-weight:600}.msg-status-sent:after{content:"✓"}.msg-status-delivered:after{content:"✓✓";color:#8e9ca8}.msg-status-read:after{content:"✓✓";color:#4fc3f7}.msg-status-received:after{content:""}.msg-credit{color:#a0adb5}.message-input{flex-shrink:0;display:grid;grid-template-columns:minmax(0,8fr) minmax(230px,4fr);grid-template-rows:auto auto auto auto;align-items:stretch;gap:10px;border-top:1px solid #d8e0e5;padding:10px 14px;background:#f0f2f5}.message-input>label{display:block;grid-column:1;grid-row:1 / span 4}.message-input label span{display:none}.message-input .schedule-picker span,.message-input .attachment-picker span,.message-form .schedule-picker span,.message-form .attachment-picker span{display:block}.message-input textarea{width:100%;height:100%;min-height:112px;max-height:220px;border-radius:20px;border:1px solid #d0d9df;background:#fff;padding:10px 16px;resize:none;font-size:.94rem;line-height:1.4}.message-input textarea:focus{border-color:#1f7664;box-shadow:0 0 0 3px #1f766424}.message-input-actions{display:contents}.message-input-actions>.attachment-picker{grid-column:2;grid-row:1}.message-input-actions>.schedule-picker{grid-column:2;grid-row:2}.message-input-actions>.attachment-draft{grid-column:2;grid-row:2}.message-input-actions>.template-picker-button{grid-column:2;grid-row:3;width:calc(50% - 4px);justify-self:start}.message-input-actions>.rag-button{grid-column:2;grid-row:3;width:calc(50% - 4px);min-width:0;justify-self:end;z-index:1}.message-input-actions>button[type=submit]{grid-column:2;grid-row:4;justify-self:end}.message-input button{min-height:44px;min-width:80px;border:0;border-radius:22px;background:#1f7664;color:#fff;font-weight:700;padding:0 16px;font-size:.88rem;white-space:nowrap;transition:background .15s}.message-input button:hover:not(:disabled){background:#195f51}.message-input button:disabled{background:#c2cdd3;color:#fff}.message-input .template-picker-button{min-height:32px;min-width:0;border:1px solid #aebbc3;border-radius:16px;background:#fff;color:#40505a;padding:0 10px;font-size:.76rem;font-weight:600}.message-input .template-picker-button:hover:not(:disabled){background:#e8eef1}.schedule-picker,.attachment-picker{display:flex;flex-direction:column;align-items:stretch;gap:6px;color:#40505a;font-size:.76rem;font-weight:600}.attachment-picker{cursor:pointer}.attachment-picker small{color:#73828c;font-size:.72rem;font-weight:500;line-height:1.2}.attachment-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:34px;width:100%;border:1px solid #aebbc3;border-radius:999px;background:#fff;color:#40505a!important;font-size:.8rem!important;font-weight:700!important;text-transform:none!important;transition:border-color .15s,background .15s,color .15s}.attachment-picker:hover .attachment-button{border-color:#1f7664;background:#e9f4f1;color:#1f7664!important}.attachment-picker:focus-within .attachment-button{border-color:#1f7664;box-shadow:0 0 0 3px #1f766424}.attachment-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.attachment-draft{display:flex;align-items:center;min-width:0;gap:8px;border:1px solid #cbd5dc;border-radius:10px;background:#fff;color:#40505a;padding:6px 8px;font-size:.78rem}.attachment-draft span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none!important}.attachment-draft button{min-width:auto;min-height:26px;border:0;border-radius:999px;background:#eef2f4;color:#40505a;font-size:.74rem;padding:0 9px}.attachment-draft button:hover:not(:disabled){background:#ffe5e0;color:#8a271a}.schedule-picker input{width:100%;min-height:32px;border:1px solid #aebbc3;border-radius:8px;padding:0 6px}.msg-status-scheduled,.message-scheduled{color:#8a6412;font-weight:700}.message-attachment,.cancel-scheduled{display:block;margin-top:6px;border:0;background:transparent;color:#1769aa;text-decoration:underline;cursor:pointer;font-size:.78rem;padding:0}.message-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.message-action-button{border:0;border-radius:999px;background:#ffffffa6;color:#40505a;font-size:.72rem;font-weight:700;padding:3px 9px;cursor:pointer}.message-action-button:hover{background:#fff}.message-action-danger{color:#8a271a}.rag-button{background:#5b4fcf!important;min-width:110px}.rag-button:hover:not(:disabled){background:#4a40b0!important}.rag-sources{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;border-top:1px solid #e4eaee;padding:6px 14px;background:#f8fafb;font-size:.8rem}.rag-sources-label{color:#53616b;font-weight:700;text-transform:uppercase;font-size:.75rem}.rag-source-chip{border:1px solid #c6d2ff;border-radius:999px;background:#eef0ff;color:#3730a3;padding:2px 10px;font-size:.78rem;cursor:default}.rag-reset-button{margin-left:auto;border:1px solid #cbd5dc;border-radius:6px;background:transparent;color:#53616b;font-size:.78rem;font-weight:700;padding:2px 8px;cursor:pointer}.rag-reset-button:hover{background:#f0f4f7;border-color:#b42318;color:#b42318}.ai-typing-indicator{display:flex;align-items:center;gap:5px;padding:6px 14px 4px;opacity:.7}.ai-typing-dot{width:7px;height:7px;border-radius:50%;background:#25d366;animation:ai-typing-bounce 1.2s infinite ease-in-out}.ai-typing-dot:nth-child(2){animation-delay:.2s}.ai-typing-dot:nth-child(3){animation-delay:.4s}@keyframes ai-typing-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.ai-typing-label{font-size:.78rem;color:#555;margin-left:4px}.rag-error{flex-shrink:0;border-top:1px solid #f0b8ad;background:#fff3f0;color:#8a271a;padding:7px 14px;font-size:.84rem}.rag-tokens{flex-shrink:0;display:flex;align-items:center;gap:6px;border-top:1px solid #e4eaee;padding:5px 14px;background:#f8fafb;font-size:.75rem;color:#8a9db0}.rag-tokens-label{font-weight:700;text-transform:uppercase;font-size:.72rem;color:#a0adb5;margin-right:2px}.rag-tokens-value{color:#5d6972}.rag-tokens-sep{color:#c2cdd3}.whitelist-button{min-height:28px;border:1px solid;border-radius:6px;font-size:.75rem;font-weight:700;padding:0 10px;cursor:pointer;white-space:nowrap;transition:opacity .15s}.whitelist-button.is-whitelisted{border-color:#1f7664;background:#e9f4f1;color:#1f7664}.whitelist-button.is-whitelisted:hover{background:#d0ebe5}.whitelist-button.is-blocked{border-color:#b46b00;background:#fff8ee;color:#b46b00}.whitelist-button.is-blocked:hover{background:#ffefd0}.ai-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.ai-status-dot--on{background:#1f7664}.ai-status-dot--off{background:#b46b00}.auto-reply-toggle{display:flex;align-items:center;gap:7px}.auto-reply-label{font-size:.75rem;font-weight:700;color:#53616b;text-transform:uppercase;white-space:nowrap}.toggle-switch{position:relative;display:inline-flex;align-items:center;width:40px;height:22px;min-width:40px;min-height:22px;border:none;border-radius:999px;background:#c2cdd3;padding:0;cursor:pointer;transition:background .2s}.toggle-switch.is-on{background:#1f7664}.toggle-knob{position:absolute;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.toggle-switch.is-on .toggle-knob{transform:translate(18px)}.full-state,.center-state,.empty-state{padding:18px}.center-state{display:grid;place-items:center}.admin-shell{grid-template-rows:auto auto auto minmax(0,auto);overflow-y:auto}.admin-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:14px;min-height:0}.metric-strip{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}.metric-item,.admin-panel{border:1px solid #ccd7dd;border-radius:8px;background:#fff}.metric-item{display:grid;gap:4px;min-height:84px;padding:14px}.metric-item span{color:#53616b;font-size:.82rem;font-weight:700}.metric-item strong{font-size:1.7rem;line-height:1}.admin-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-height:0;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d8e0e5;padding:14px}.panel-header h2{margin:0;font-size:1.05rem;line-height:1.1}.panel-header p{margin:4px 0 0;color:#5d6972}.credit-controls{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:10px;border-bottom:1px solid #e4eaee;padding:12px 14px}.credit-controls label{display:grid;gap:6px}.credit-controls span{color:#53616b;font-size:.78rem;font-weight:700;text-transform:uppercase}.inline-error{margin:12px 14px 0;border:1px solid #f0b8ad;border-radius:8px;background:#fff3f0;color:#8a271a;padding:8px 10px}.admin-table{min-height:0;overflow:auto}.admin-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(72px,.5fr) minmax(130px,.8fr) minmax(250px,1.2fr);gap:10px;align-items:center;min-height:64px;border-bottom:1px solid #e4eaee;padding:10px 14px}.phone-table .admin-row{grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(92px,.55fr) minmax(130px,.75fr)}.admin-row-head{min-height:42px;background:#f8fafb;color:#53616b;font-size:.78rem;font-weight:800;text-transform:uppercase}.admin-user{display:grid;min-width:0;gap:2px}.admin-user strong,.admin-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user small{color:#5d6972}.state-ok,.state-danger{font-weight:700}.state-ok{color:#1f7664}.state-danger{color:#b42318}.row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.contacts-panel{grid-template-rows:auto auto auto auto auto minmax(0,1fr);margin-top:14px}.pre-add-section{border-bottom:1px solid #e4eaee;padding:12px 14px;background:#f8fbf9}.pre-add-title{font-size:.85rem;font-weight:700;color:#1f7664;margin:0 0 8px}.pre-add-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pre-add-form input,.pre-add-form select{min-height:32px;border:1px solid #cbd5dc;border-radius:6px;padding:0 10px;font-size:.87rem}.pre-add-form input{width:240px}.pre-add-form select{min-width:200px}.pre-add-success{margin:6px 0 0;font-size:.83rem;color:#1f7664;font-weight:600}.contacts-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid #e4eaee;padding:10px 14px}.filter-tabs{display:flex;gap:6px}.filter-tab{min-height:32px;border:1px solid #cbd5dc;border-radius:6px;background:#fff;color:#53616b;font-size:.85rem;font-weight:600;padding:0 12px}.filter-tab.active{border-color:#1f7664;background:#e9f4f1;color:#1f7664}.search-form{display:flex;gap:8px;margin-left:auto}.search-form input{min-height:32px;border:1px solid #cbd5dc;border-radius:6px;padding:0 10px;width:220px}.contacts-table .admin-row{grid-template-columns:minmax(160px,1.2fr) minmax(150px,1fr) minmax(140px,.9fr) minmax(120px,.7fr) minmax(160px,.9fr)}.pagination-info{border-top:1px solid #e4eaee;color:#5d6972;font-size:.82rem;padding:10px 14px;margin:0}@media(max-width:860px){.dashboard-shell{padding:12px}.topbar,.topbar-actions{align-items:stretch;flex-direction:column}.topbar-actions{min-width:0}.workspace{grid-template-columns:1fr;grid-template-rows:260px minmax(460px,1fr)}.chat-session-pane{border-right:0;border-bottom:1px solid #d8e0e5}.message-input{grid-template-columns:1fr}.message-input>label,.message-input-actions>.attachment-picker,.message-input-actions>.schedule-picker,.message-input-actions>.template-picker-button,.message-input-actions>.rag-button,.message-input-actions>button[type=submit],.message-form>.attachment-picker,.message-form>.schedule-picker,.message-form>.secondary-button,.message-form .message-input,.message-form>.message-send{grid-column:1;grid-row:auto;width:100%;justify-self:stretch}.message-form{grid-template-columns:1fr;grid-template-rows:none}.message-form:after{display:none}.message-bubble{max-width:92%}.admin-grid,.metric-strip{grid-template-columns:1fr}.contacts-toolbar{flex-direction:column;align-items:stretch}.search-form{margin-left:0}.search-form input{width:100%}.admin-row,.phone-table .admin-row,.contacts-table .admin-row{grid-template-columns:1fr;align-items:start}.admin-row-head{display:none}.credit-controls{grid-template-columns:1fr}}.login-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#eef2f4;padding:20px}.login-card{background:#fff;border:1px solid #cbd5dc;border-radius:12px;padding:40px 36px;width:100%;max-width:380px;box-shadow:0 2px 12px #0000000f}.login-title{margin:0 0 4px;font-size:1.5rem;color:#172026}.login-subtitle{margin:0 0 28px;color:#5a6a72;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:8px}.login-label{font-weight:600;font-size:.875rem;color:#172026;margin-top:8px}.login-input{border:1px solid #cbd5dc;border-radius:6px;padding:8px 12px;font-size:1rem;outline:none;transition:border-color .15s}.login-input:focus{border-color:#1f7664}.login-button{margin-top:16px;background:#1f7664;color:#fff;border:none;border-radius:6px;padding:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s}.login-button:hover:not(:disabled){background:#175c4e}.login-button:disabled{opacity:.6}.login-error{background:#fdecea;border:1px solid #f5c2be;border-radius:6px;color:#b91c1c;font-size:.875rem;padding:8px 12px;margin:0}.logout-button{margin-left:auto;min-height:36px;border:1px solid #cbd5dc;border-radius:6px;background:#fff;color:#5a6a72;font-weight:700;padding:0 12px}.logout-button:hover{border-color:#b91c1c;color:#b91c1c;background:#fef2f2}.new-conv-btn{flex-shrink:0;width:32px;height:32px;border:1px solid #1f7664;border-radius:50%;background:#1f7664;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.new-conv-btn:hover{background:#175c4e}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box{background:#fff;border-radius:10px;padding:24px;width:min(420px,94vw);box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;gap:16px}.modal-box h2{margin:0;font-size:1.1rem;color:#1a2e35}.modal-field{display:flex;flex-direction:column;gap:4px;font-size:.875rem;font-weight:600;color:#3d5066}.modal-field input,.modal-field textarea{border:1px solid #cbd5dc;border-radius:6px;padding:8px 10px;font-size:.9rem;font-family:inherit;resize:vertical}.modal-field input:focus,.modal-field textarea:focus{outline:none;border-color:#1f7664}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions button{padding:8px 18px;border-radius:6px;border:1px solid #cbd5dc;background:#fff;cursor:pointer;font-size:.9rem}.chat-rules-modal{max-width:620px}.chat-rules-list{display:grid;gap:10px;margin:0;padding-left:20px;color:#40505a;font-size:.92rem}.chat-rules-list li{line-height:1.45}.chat-rules-list strong{color:#172026}.primary-button{background:#1f7664!important;color:#fff!important;border-color:#1f7664!important}.primary-button:hover:not(:disabled){background:#175c4e!important}.primary-button:disabled{opacity:.6;cursor:not-allowed}.credit-badge.is-interactive{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.credit-badge.is-interactive:hover{transform:translateY(-2px);box-shadow:0 4px 12px #53616b1f;border-color:#9bb2c0;background:#fdfdfd}.credit-badge.is-interactive:active{transform:translateY(0);box-shadow:0 2px 6px #53616b14}.credit-badge.is-interactive span:last-child{text-decoration:underline;color:#1f7664;font-weight:500}.credit-badge.is-interactive.is-warning span:last-child{color:#b7791f}.credit-badge.is-interactive.is-danger span:last-child{color:#b42318}.modal-overlay{position:fixed;inset:0;background:#1e293b99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeInOverlay .25s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.credit-history-modal{background:#fff;border-radius:12px;width:100%;max-width:650px;max-height:85vh;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0;animation:slideInModal .28s cubic-bezier(.34,1.56,.64,1)}@keyframes slideInModal{0%{transform:scale(.95) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{padding:18px 24px;border-bottom:1px solid #edf2f7;display:flex;justify-content:space-between;align-items:flex-start;background:#fafafc}.modal-header h2{margin:0;font-size:1.4rem;color:#1a202c;font-weight:600}.modal-subtitle{margin:4px 0 0;font-size:.88rem;color:#718096}.close-button{background:none;border:none;font-size:1.75rem;color:#a0aec0;cursor:pointer;line-height:1;padding:2px 8px;border-radius:4px;transition:all .15s ease}.close-button:hover{color:#4a5568;background:#edf2f7}.modal-body{padding:20px 24px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;min-height:250px}.modal-tabs{display:flex;gap:8px;border-bottom:2px solid #edf2f7;padding-bottom:2px}.tab-button{background:none;border:none;padding:8px 16px;font-size:.95rem;color:#718096;cursor:pointer;font-weight:500;position:relative;transition:all .2s ease}.tab-button:hover{color:#2d3748}.tab-button.active{color:#1f7664;font-weight:600}.tab-button.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:3px;background:#1f7664;border-radius:2px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;gap:12px;color:#718096}.spinner{width:32px;height:32px;border:3px solid rgba(31,118,100,.1);border-top:3px solid #1f7664;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;color:#a0aec0;text-align:center;gap:12px}.empty-state-icon{color:#cbd5e0}.empty-state-text{font-size:.98rem;color:#718096}.movements-list{display:flex;flex-direction:column;gap:12px}.movement-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s ease}.movement-card:hover{border-color:#cbd5e0}.movement-card.has-refund-details{border-left:4px solid #1f7664}.movement-main-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.movement-badge{padding:4px 8px;border-radius:4px;font-size:.78rem;font-weight:600;text-transform:uppercase}.badge-type-credit{background:#e6fffa;color:#047481}.badge-type-debit{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.badge-type-refund{background:#f0fdf4;color:#166534}.badge-type-adjustment{background:#fffaf0;color:#b7791f}.movement-date{font-size:.85rem;color:#a0aec0;margin-right:auto}.movement-amount{font-size:1.15rem;font-weight:700}.value-positive{color:#166534}.value-negative{color:#b42318}.movement-balance{font-size:.85rem;color:#718096;background:#f7fafc;padding:3px 8px;border-radius:4px;border:1px solid #edf2f7}.movement-desc{font-size:.92rem;color:#4a5568;line-height:1.4;padding-left:2px}.refund-error-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px;margin-top:2px;display:flex;flex-direction:column;gap:8px}.details-header{font-size:.85rem;color:#475569;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;font-size:.88rem}.col-span-full{grid-column:1 / -1}.detail-label{color:#64748b;font-weight:500;margin-right:6px}.detail-value{color:#1e293b;font-weight:600}.message-text-preview{margin:4px 0 0;font-style:italic;color:#334155;background:#fff;padding:6px 10px;border-radius:4px;border:1px dashed #cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-error-alert{display:flex;gap:10px;background:#fff5f5;border:1px solid #fed7d7;border-radius:6px;padding:10px;margin-top:4px}.alert-icon{font-size:1.15rem;line-height:1.2}.alert-content{display:flex;flex-direction:column;gap:2px;font-size:.84rem}.alert-content strong{color:#9b2c2c}.alert-desc{margin:0;color:#c53030;line-height:1.4;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.error-code-badge{background:#e53e3e;color:#fff;padding:1px 6px;border-radius:3px;font-size:.72rem;font-weight:700;text-transform:uppercase}.modal-pagination{margin-top:auto;padding:14px 24px;border-top:1px solid #edf2f7;background:#fafafc;display:flex;justify-content:space-between;align-items:center}.pagination-btn{padding:6px 14px;font-size:.88rem;border:1px solid #cbd5dc;border-radius:4px;background:#fff;cursor:pointer;font-weight:500;color:#4a5568;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background:#edf2f7;border-color:#a0aec0}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.88rem;color:#718096}@media(max-width:640px){.credit-history-modal{max-width:100%;height:100vh;max-height:100vh;border-radius:0}.modal-pagination{padding:10px 16px}}.operator-shell{display:flex;height:calc(100vh - 57px);overflow:hidden}.operator-shell .chat-session-pane{width:300px;min-width:220px;flex-shrink:0;border-right:1px solid #d8e0e5}.message-panel{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff}.message-panel--empty{align-items:center;justify-content:center;color:#8a9db0;font-size:.95rem}.message-panel-header{min-height:58px;padding:9px 18px;border-bottom:1px solid #d8e0e5;display:flex;flex-direction:column;justify-content:center;gap:2px;color:#172026}.message-panel-header small{color:#657786}.message-area{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:8px;background:#f0f2f5}.message-bubble--inbound{align-self:flex-start;max-width:min(72%,560px);background:#fff;border-radius:14px 14px 14px 4px;padding:9px 13px 7px;box-shadow:0 1px 2px #00000014;display:flex;flex-direction:column;gap:3px}.message-bubble--outbound{align-self:flex-end;max-width:min(72%,560px);background:#d9fdd3;border-radius:14px 14px 4px;padding:9px 13px 7px;box-shadow:0 1px 2px #0000001a;display:flex;flex-direction:column;gap:3px;align-items:flex-end}.message-body{font-size:.93rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;color:#172026}.message-time{font-size:.71rem;color:#8e9ca8}.message-operator{display:block;font-size:.71rem;font-weight:600;color:#5b7fb5;margin-top:.1rem}.message-error{color:#b91c1c;font-size:.72rem;font-weight:700}.template-preview{padding:12px;border:1px solid #d8e0e5;border-radius:6px;background:#f8fafc;white-space:pre-wrap}.template-admin{padding:18px;display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:18px}.template-form{align-self:start;display:flex;flex-direction:column;gap:12px}.template-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.5fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid #e5eaee;align-items:center}.template-row div{display:flex;flex-direction:column}.template-status{padding:4px 8px;border-radius:999px;background:#fff3cd;font-size:.75rem;font-weight:700}.template-status--approved{background:#d4edda;color:#155724}.template-status--rejected{background:#f8d7da;color:#721c24}.message-form{flex-shrink:0;display:grid;grid-template-columns:minmax(0,8fr) minmax(230px,4fr);grid-template-rows:auto auto auto auto;gap:10px;align-items:stretch;border-top:1px solid #d8e0e5;padding:10px 14px;background:#f0f2f5}.message-form>.attachment-picker{grid-column:2;grid-row:1}.message-form>.schedule-picker{grid-column:2;grid-row:2}.message-form>.attachment-draft{grid-column:2;grid-row:2}.message-form>.secondary-button{grid-column:2;grid-row:3;width:calc(50% - 4px);justify-self:start}.message-form>.operator-rag-button{grid-column:2;grid-row:3;width:calc(50% - 4px);min-width:0;justify-self:end}.message-form .message-input{grid-column:1;grid-row:1 / span 4;min-height:112px;border:1px solid #d0d9df;border-radius:20px;padding:10px 16px;font-size:.94rem;background:#fff;width:100%;resize:vertical;line-height:1.4}.message-form .message-input:focus{outline:none;border-color:#1f7664;box-shadow:0 0 0 3px #1f766424}.message-send{min-height:42px;min-width:72px;border:0;border-radius:20px;background:#1f7664;color:#fff;font-weight:700;padding:0 16px;font-size:.88rem;transition:background .15s}.message-form>.message-send{grid-column:2;grid-row:4;justify-self:stretch}.message-send:hover:not(:disabled){background:#195f51}.message-send:disabled{background:#c2cdd3}.operator-notification-banner{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #d2a100;background:#fff3cd;color:#5c4700;padding:10px 16px;text-align:left}.operator-notification-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.operator-notification-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operator-notification-enable{flex-shrink:0;min-height:30px;border:1px solid #9a7b00;border-radius:999px;background:#fff;color:#5c4700;font-size:.78rem;font-weight:700;padding:0 12px}.operator-notification-enable:hover{background:#fff8db}.operator-notification-help{flex-shrink:0;font-size:.78rem;font-weight:700}.admin-panel table.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-panel table.admin-table th,.admin-panel table.admin-table td{text-align:left;padding:10px 14px;border-bottom:1px solid #e4eaee}.admin-panel table.admin-table thead th{background:#f8fafb;color:#53616b;font-size:.78rem;font-weight:800;text-transform:uppercase}.admin-panel>h2{margin:0;padding:14px 16px;font-size:1.05rem;border-bottom:1px solid #d8e0e5}.admin-panel>p{padding:14px 16px;color:#5d6972}@media(max-width:760px){.operator-shell{flex-direction:column}.operator-shell .chat-session-pane{width:100%;height:200px;border-right:none;border-bottom:1px solid #d8e0e5}}
