@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap";:root{--font-family:"Montserrat", sans-serif;--color-white:#fff;--color-graphite:#373a3e;--color-pink:#e443b7;--color-green:#6b9959;--color-background:#f5f4f2;--scale-color-40:#a29e9c;--scale-color-45:#b4aea8;--scale-color-50:#d0a563;--scale-color-55:#6fa595;--scale-color-60:#0eb8a0;--scale-color-65:#6b9959;--scale-color-70:#e443b7;--radius-card:12px;--shadow-card:0 1px 3px #373a3e14, 0 1px 2px #373a3e0f}*{box-sizing:border-box}body{font-family:var(--font-family);background:var(--color-background);color:var(--color-graphite);margin:0}.centered-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.page{max-width:720px;margin:0 auto;padding:32px 24px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.card{background:var(--color-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:32px}.login-card{flex-direction:column;gap:16px;width:360px;display:flex}.form-card{flex-direction:column;gap:16px;margin-bottom:16px;display:flex}label{color:#7a7d81;text-transform:uppercase;letter-spacing:.02em;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}input,select{font-family:var(--font-family);color:var(--color-graphite);text-transform:none;letter-spacing:normal;background:#f0efed;border:1px solid #e1dfde;border-radius:8px;padding:10px 12px;font-size:15px;font-weight:500}button{font-family:var(--font-family);cursor:pointer;background:var(--color-graphite);color:var(--color-white);border:none;border-radius:8px;padding:12px 20px;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background:var(--color-graphite);color:var(--color-white);border-radius:8px;padding:10px 18px;text-decoration:none;display:inline-block}.button-danger-link{color:#c0392b;background:0 0;padding:0;text-decoration:underline}.button-danger{background:#c0392b}.error-text{color:#c0392b;font-size:14px}.hint-text{color:#9a9d9f;text-align:center;font-size:13px}.section-label{text-transform:uppercase;color:#9a9d9f;border-bottom:1px solid #eee;margin:8px 0 0;padding-bottom:8px;font-size:13px;font-weight:700}.top-nav{background:var(--color-white);margin-bottom:24px;padding:0 32px}.top-nav-row{justify-content:space-between;align-items:center;display:flex}.top-nav-brand-row{border-bottom:1px solid #eee;padding:20px 0}.top-nav-brand{align-items:center;gap:12px;display:flex}.top-nav-logo{letter-spacing:.03em;font-size:15px;font-weight:800}.top-nav-divider{background:#ddd;width:1px;height:16px}.top-nav-domain{color:#9a9d9f;font-size:14px}.top-nav-logout{color:#9a9d9f;background:0 0;padding:4px 0;font-size:13px;font-weight:600}.top-nav-tabs{justify-content:flex-start;gap:24px;padding-top:14px;display:flex}.top-nav-tab{color:#9a9d9f;border-bottom:2px solid #0000;padding-bottom:14px;font-size:14px;font-weight:600;text-decoration:none}.top-nav-tab.active{color:var(--color-graphite);border-bottom-color:var(--color-graphite)}.login-page{flex-direction:column;min-height:100vh;display:flex}.login-page .centered-page{flex:1;min-height:0}.login-header{text-align:center}.login-seal{filter:drop-shadow(0 2px 6px #1a1f2912);width:64px;height:auto;margin:0 auto 12px;display:block}.login-header h1{margin:0;font-size:22px}.login-divider{border:none;border-top:1px solid #eee;margin:0}.login-hint{text-align:center;margin:0}.top-nav-brand-row{gap:16px}.top-nav-user{align-items:center;gap:12px;min-width:0;display:flex}.top-nav-user-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.role-chip{white-space:nowrap;color:var(--color-graphite);background:#f0efed;border-radius:8px;padding:3px 10px;font-size:12px;font-weight:700}.role-chip-manager{color:var(--color-pink);background:color-mix(in srgb, var(--color-pink) 10%, white)}.top-nav-tabs{scrollbar-width:none;overflow-x:auto}.top-nav-tab{white-space:nowrap}.page-admin{max-width:960px}.page-title{margin:0 0 4px;font-size:24px}.page-lead{color:#7a7d81;margin:0 0 24px;font-size:15px}.password-card{flex-direction:column;gap:16px;width:400px;max-width:100%;display:flex}.login-subtitle{color:#7a7d81;margin:8px 0 0;font-size:14px}.button-pink{background:var(--color-pink)}@media (width<=640px){.top-nav{padding:0 16px}.top-nav-domain,.top-nav-divider{display:none}.page{padding:20px 16px}.card{padding:20px}.login-card{width:100%}}:root{--ink-2:#7a7d81;--ink-3:#9a9d9f;--line:#ececea;--field:#f0efed;--tone-good:var(--color-green);--tone-bad:#c0392b;--tone-warn:#b7791f;--tone-info:#3b6ea8;--tone-dry:#8a5a9c}.muted{color:var(--ink-2)}.small{font-size:13px}.pad{padding:16px}.nowrap{white-space:nowrap}.stack{flex-direction:column;gap:16px;display:flex}.card-title{margin:0;font-size:17px}.card-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.saved-note{color:var(--color-green);font-size:13px;font-weight:600}.warn-text{color:var(--tone-warn);font-weight:600}.lock-note{background:color-mix(in srgb, var(--tone-dry) 9%, white);color:color-mix(in srgb, var(--tone-dry) 85%, black);border-radius:8px;margin:0;padding:10px 14px;font-size:13px;font-weight:600}.button-ghost{color:var(--color-graphite);background:0 0;border:1px solid #e1dfde;padding:8px 14px}.button-ghost:hover:not(:disabled){border-color:var(--color-graphite)}.icon-btn{color:var(--color-graphite);background:0 0;border:1px solid #e1dfde;padding:4px 9px;font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-pink);outline-offset:2px}textarea{font-family:var(--font-family);color:var(--color-graphite);background:var(--field);resize:vertical;border:1px solid #e1dfde;border-radius:8px;width:100%;padding:10px 12px;font-size:15px;font-weight:500}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.pill{white-space:nowrap;border-radius:8px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.pill-good{color:var(--tone-good);background:color-mix(in srgb, var(--tone-good) 12%, white)}.pill-bad{color:var(--tone-bad);background:color-mix(in srgb, var(--tone-bad) 10%, white)}.pill-warn{color:var(--tone-warn);background:color-mix(in srgb, var(--tone-warn) 12%, white)}.pill-info{color:var(--tone-info);background:color-mix(in srgb, var(--tone-info) 10%, white)}.pill-dry{color:var(--tone-dry);background:color-mix(in srgb, var(--tone-dry) 11%, white)}.pill-muted{color:var(--ink-3);background:var(--field)}.mode-banner{margin:-24px 0 24px;padding:10px 32px;font-size:13px}.mode-dry{background:color-mix(in srgb, var(--tone-dry) 10%, white);color:color-mix(in srgb, var(--tone-dry) 80%, black)}.mode-live{background:color-mix(in srgb, var(--color-green) 14%, white);color:color-mix(in srgb, var(--color-green) 70%, black);font-weight:600}.tab-badge{background:var(--color-pink);min-width:18px;color:var(--color-white);text-align:center;border-radius:9px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.seg-tabs{flex-wrap:wrap;gap:4px;display:flex}.seg-tabs-wide{margin-bottom:20px}.seg-tab{color:var(--ink-2);background:0 0;border:1px solid #0000;padding:6px 12px;font-size:13px}.seg-tab:hover{color:var(--color-graphite)}.seg-tab.active{background:var(--color-white);color:var(--color-graphite);border-color:#e1dfde}.search-input{min-width:0}.filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filters .search-input{flex:220px}.empty-state{text-align:center;padding:32px 24px}.empty-title{margin:0 0 6px;font-weight:700}.table-scroll{overflow-x:auto}.card-flat{background:var(--color-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}.table th{text-transform:uppercase;color:var(--ink-3);letter-spacing:.02em;font-size:12px;font-weight:700}.table-row-clickable{cursor:pointer}.table-row-clickable:hover td{background:#faf9f8}.cell-primary{font-weight:600}.detail-row td{background:#faf9f8}.pager{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.chat-layout{background:var(--color-white);border-radius:var(--radius-card);height:calc(100vh - 150px);min-height:480px;box-shadow:var(--shadow-card);grid-template-columns:320px minmax(0,1fr) 280px;margin:0 24px 24px;display:grid;overflow:hidden}.chat-list{border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.chat-list-head{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px;display:flex}.conv-items{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.conv-item{text-align:left;width:100%;color:var(--color-graphite);border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-direction:column;gap:4px;padding:12px 14px;font-weight:500;display:flex}.conv-item:hover{background:#faf9f8}.conv-item.active{background:color-mix(in srgb, var(--color-pink) 7%, white)}.conv-top,.conv-bottom{align-items:center;gap:8px;min-width:0;display:flex}.conv-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:700;overflow:hidden}.conv-time,.conv-meta{color:var(--ink-3);font-size:12px}.conv-preview{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.channel-tag{color:var(--ink-2);background:var(--field);white-space:nowrap;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700}.unread-dot{background:var(--color-pink);color:var(--color-white);border-radius:9px;padding:1px 7px;font-size:11px;font-weight:700}.chat-main{flex-direction:column;min-width:0;min-height:0;display:flex}.chat-empty{text-align:center;flex-direction:column;grid-column:2/4;justify-content:center;align-items:center;padding:24px;display:flex}.chat-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex}.chat-head-title{flex:1;min-width:0}.chat-head-title h2{margin:0;font-size:17px}.chat-head-title .muted{font-size:13px}.chat-head-actions{gap:8px;display:flex}.back-link{color:var(--ink-2);background:0 0;padding:4px 0;display:none}.feed{background:#faf9f8;flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.bubble{background:var(--color-white);max-width:72%;box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.bubble-in{border-top-left-radius:4px;align-self:flex-start}.bubble-out{background:color-mix(in srgb, var(--color-pink) 8%, white);border-top-right-radius:4px;align-self:flex-end}.bubble-auto{box-shadow:none;background:0 0;border:1px dashed #d9d6d3;border-top-right-radius:4px;align-self:flex-end}.bubble-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.bubble-text{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.45}.bubble-detail{color:var(--ink-2);font-size:12px}.reply-box{border-top:1px solid var(--line);padding:12px}.reply-row{align-items:flex-end;gap:8px;display:flex}.reply-row select{flex:0 0 130px}.reply-row textarea{flex:1;min-width:0}.reply-notice{color:var(--tone-dry);margin:0 0 8px;font-size:13px;font-weight:600}.client-card{border-left:1px solid var(--line);flex-direction:column;gap:8px;padding:16px;display:flex;overflow-y:auto}.kv{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px;display:grid}.kv dt{color:var(--ink-3)}.kv dd{word-break:break-word;margin:0;font-weight:600}.record-line{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding:8px 0;display:flex}.record-line.cancelled{opacity:.55}.record-when{font-size:14px;font-weight:600}.page-journal{max-width:1200px}.call-card{border-left:3px solid var(--tone-bad);margin-bottom:16px}.call-items{gap:4px;margin:8px 0 0;padding-left:18px;font-size:14px;display:grid}.channel-chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700}.chip-good{color:var(--tone-good);background:color-mix(in srgb, var(--tone-good) 12%, white)}.chip-bad{color:var(--tone-bad);background:color-mix(in srgb, var(--tone-bad) 10%, white)}.chip-info{color:var(--tone-info);background:color-mix(in srgb, var(--tone-info) 10%, white)}.chip-dry{color:var(--tone-dry);background:color-mix(in srgb, var(--tone-dry) 11%, white)}.chip-muted{color:var(--ink-3);background:var(--field)}.attempts{flex-direction:column;gap:10px;display:flex}.attempt-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attempt-text{white-space:pre-wrap;font-family:var(--font-family);background:var(--color-white);border:1px solid var(--line);border-radius:8px;max-width:640px;margin:6px 0 0;padding:8px 10px;font-size:13px}.channel-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.channel-card{flex-direction:column;gap:8px;display:flex}.channel-card p{margin:0}.channel-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.type-card{flex-direction:column;gap:14px;display:flex}.field-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.field-label{color:var(--ink-2);min-width:90px;font-size:13px;font-weight:600}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.choice-chip{text-transform:none;letter-spacing:normal;color:var(--color-graphite);cursor:pointer;background:var(--color-white);border:1px solid #e1dfde;border-radius:8px;flex-direction:row;align-items:center;padding:7px 14px;font-size:14px;font-weight:600;position:relative}.choice-chip input{opacity:0;pointer-events:none;position:absolute}.choice-chip.selected{border-color:var(--color-graphite);background:var(--color-graphite);color:var(--color-white)}.choice-chip:has(input:focus-visible){outline:2px solid var(--color-pink);outline-offset:2px}.switch{text-transform:none;letter-spacing:normal;color:var(--color-graphite);cursor:pointer;flex-direction:row;align-items:center;gap:10px;font-size:15px;font-weight:700}.switch input{opacity:0;position:absolute}.switch-track{background:#d9d6d3;border-radius:11px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.switch-track:after{content:"";background:var(--color-white);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--color-green)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--color-pink);outline-offset:2px}.cascade{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cascade-row{border:1px solid var(--line);background:var(--color-white);border-radius:8px;grid-template-columns:20px 120px minmax(0,1fr) 150px auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.cascade-row.dragging{border-color:var(--color-pink);box-shadow:0 4px 12px #373a3e1f}.cascade-row.off .cascade-channel{color:var(--ink-3);text-decoration:line-through}.drag-handle{color:var(--ink-3);cursor:grab;letter-spacing:-2px}.cascade-channel{font-weight:700}.timeout{text-transform:none;letter-spacing:normal;flex-direction:row;align-items:center;gap:6px;font-weight:500}.timeout input{width:64px}.move-buttons{gap:4px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.narrow{max-width:240px}.quiet-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.quiet-row .switch{min-width:160px}.sticky-actions{background:var(--color-background);padding:12px 0;position:sticky;bottom:0}.template-layout{grid-template-columns:170px minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}.template-channels{flex-direction:column;gap:4px;display:flex}.template-channel{color:var(--color-graphite);text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;gap:8px;padding:10px 12px;display:flex}.template-channel.active{background:var(--color-white);border-color:#e1dfde}.var-chips{flex-wrap:wrap;gap:6px;display:flex}.var-chip{background:var(--field);color:var(--color-graphite);padding:4px 8px;font-size:12px;font-weight:600}.counter-row{flex-wrap:wrap;gap:16px;display:flex}.phone-bubble{white-space:pre-wrap;word-break:break-word;background:#e7f6dd;border-radius:4px 12px 12px;padding:12px 14px;font-size:14px;line-height:1.45}.phone-bubble.channel-sms{background:#ececec}.phone-bubble.channel-telegram,.phone-bubble.channel-vk{background:#e3eefb}.phone-bubble.channel-email{background:var(--color-white);border:1px solid var(--line)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.kpi{background:var(--color-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;gap:4px;padding:16px;display:flex}.kpi-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.kpi-label{color:var(--ink-2);font-size:13px}.kpi-good .kpi-value{color:var(--color-green)}.kpi-bad .kpi-value{color:var(--tone-bad)}.bars{align-items:flex-end;gap:6px;height:160px;padding-top:18px;display:flex;overflow-x:auto}.bar-col{flex-direction:column;flex:1 0 26px;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.bar{background:var(--color-graphite);border-radius:4px 4px 0 0;width:100%;max-width:28px;min-height:2px}.bar-value{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:11px}.bar-label{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}@media (width<=1100px){.chat-layout{grid-template-columns:300px minmax(0,1fr)}.client-card{display:none}.chat-empty{grid-column:2}.template-layout{grid-template-columns:150px minmax(0,1fr)}.preview-card{grid-column:2}}@media (width<=760px){.chat-layout{border-radius:0;grid-template-columns:1fr;height:calc(100dvh - 200px);min-height:360px;margin:0}.chat-layout.has-open .chat-list,.chat-layout:not(.has-open) .chat-main,.chat-layout:not(.has-open) .chat-empty{display:none}.back-link{display:inline-block}.chat-head{flex-wrap:wrap}.bubble{max-width:88%}.reply-row{flex-wrap:wrap}.reply-row select{flex:1 0 100%}.mode-banner{padding:10px 16px}.grid-2,.template-layout{grid-template-columns:1fr}.preview-card{grid-column:auto}.template-channels{flex-flow:wrap}.cascade-row{grid-template-columns:16px 1fr auto}.cascade-row select{grid-column:2/4}.cascade-row .timeout{grid-column:2/3}}
