:root{--color-bg:#0a0a0f;--color-bg-elevated:#111118;--color-surface:#111118;--color-surface-secondary:#1a1a24;--color-accent:#a070f0;--color-accent-light:color-mix(in srgb, var(--color-accent) 65%, white);--color-accent-fill:color-mix(in srgb, var(--color-accent) 82%, black);--color-accent-contrast:#fff;--color-label:#e8e8f0;--color-label-secondary:#6f6f9a;--color-label-tertiary:#45455f;--color-separator:#2a2a3a;--color-danger:#f56;--color-warning:#f0a04a;--color-success:#4af0a0;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--surface-border:1px solid var(--color-separator);--shadow-elevation-1:0 8px 20px -6px #00000080;--shadow-accent-glow:0 2px 14px -2px color-mix(in srgb, var(--color-accent) 35%, transparent);color:var(--color-label);background:var(--color-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace}body{background:var(--color-bg);min-width:280px;min-height:100vh;margin:0}button,input{font:inherit}.widget-shell{width:100vw;height:100vh;color:var(--color-label);background:var(--color-bg);grid-template-rows:auto 1fr auto auto;display:grid;overflow:hidden}.widget-header{border-bottom:1px solid var(--color-separator);background:var(--color-surface);align-items:center;min-height:58px;padding:10px 14px;display:flex}.widget-header strong,.widget-header span{display:block}.widget-header strong{font-family:Unbounded,ui-sans-serif,sans-serif;font-size:15px;font-weight:600}.widget-header span{color:var(--color-label-secondary);margin-top:2px;font-size:13px}.widget-messages{flex-direction:column;gap:8px;min-height:0;padding:16px 12px;display:flex;overflow-y:auto}.widget-empty{color:var(--color-label-secondary);text-align:center;gap:4px;margin:auto;display:grid}.widget-empty strong{color:var(--color-label)}.widget-date-divider{align-items:center;gap:10px;margin:4px 0;display:flex}.widget-date-divider:before,.widget-date-divider:after{content:"";background:var(--color-separator);flex:1;height:1px}.widget-date-divider span{color:var(--color-label-secondary);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex:none;font-size:10px;font-weight:600}.widget-row{display:flex}.widget-row.operator{justify-content:flex-start}.widget-row.client{justify-content:flex-end}.widget-bubble{border:var(--surface-border);border-radius:var(--radius-lg);background:var(--color-surface-secondary);max-width:min(78%,420px);box-shadow:var(--shadow-elevation-1);color:var(--color-label);word-break:break-word;padding:10px 13px;line-height:1.42}.widget-bubble span{display:block}.widget-image{border-radius:var(--radius-md);object-fit:contain;max-width:min(260px,100%);max-height:260px;margin-bottom:7px;display:block}.widget-row.client .widget-bubble{color:var(--color-accent-contrast);border-color:color-mix(in srgb, var(--color-accent) 60%, black);background:var(--color-accent-fill);box-shadow:var(--shadow-accent-glow)}.widget-error{border:1.5px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-sm);color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 12%, transparent);margin:0 12px 8px;padding:9px 10px;font-size:13px}.widget-composer{border-top:1px solid var(--color-separator);background:var(--color-surface);grid-template-columns:40px 1fr 40px;gap:8px;padding:10px;display:grid}.widget-composer button{border:var(--surface-border);width:40px;height:40px;color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-bg));border-radius:50%;place-items:center;transition:filter .15s;display:grid}.widget-composer button:hover:not(:disabled){filter:brightness(1.2)}.widget-composer button:disabled{color:var(--color-label-tertiary);background:var(--color-surface)}.widget-file-input{display:none}.widget-composer input{border:1.5px solid var(--color-separator);border-radius:var(--radius-pill);min-width:0;height:40px;color:var(--color-label);background:var(--color-surface-secondary);outline:none;padding:0 14px;transition:border-color .2s,box-shadow .2s}.widget-composer input:focus{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 12%, transparent)}.widget-composer input::placeholder{color:var(--color-label-tertiary)}:root{--color-bg:#0a0a0f;--color-bg-elevated:#111118;--color-surface:#111118;--color-surface-secondary:#1a1a24;--color-accent:#a070f0;--color-accent-light:color-mix(in srgb, var(--color-accent) 65%, white);--color-accent-fill:color-mix(in srgb, var(--color-accent) 82%, black);--color-accent-contrast:#fff;--color-label:#e8e8f0;--color-label-secondary:#6f6f9a;--color-label-tertiary:#45455f;--color-separator:#2a2a3a;--color-danger:#f56;--color-warning:#f0a04a;--color-success:#4af0a0;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--font-display:"Unbounded", ui-sans-serif, sans-serif;--surface-border:1px solid var(--color-separator);--shadow-elevation-1:0 8px 20px -6px #00000080;--shadow-elevation-2:0 40px 80px #0009, 0 0 0 1px #ffffff08;--shadow-accent-glow:0 2px 14px -2px color-mix(in srgb, var(--color-accent) 35%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--color-label);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--color-bg);min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,select{font:inherit}textarea{resize:vertical;min-height:92px;font:inherit}button{cursor:pointer}.runtime-badge{border-radius:var(--radius-sm);color:#cbd5e1;white-space:nowrap;background:#0f172ae0;border:1px solid #ffffff24;align-items:center;gap:8px;max-width:calc(100vw - 16px);padding:5px 7px;font-size:11px;line-height:1;display:flex}.runtime-badge span{text-overflow:ellipsis;max-width:96px;overflow:hidden}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}.app-shell{width:100vw;height:100dvh;color:var(--color-label);background:var(--color-bg);grid-template-columns:280px minmax(240px,340px) minmax(420px,1fr) minmax(280px,360px);display:grid;overflow:hidden}.mobile-bottom-nav{display:none}.login-page{min-height:100vh;color:var(--color-label);background:var(--color-bg);place-items:center;padding:20px;display:grid}.login-card{border:var(--surface-border);border-radius:var(--radius-md);width:min(420px,100%);color:var(--color-label);background:var(--color-surface);box-shadow:var(--shadow-elevation-2);gap:14px;padding:26px;display:grid}.login-card p{color:var(--color-label-secondary);line-height:1.5}.login-brand .brand-mark{color:var(--color-bg)}.app-shell.settings-mode{grid-template-columns:280px minmax(0,1fr)}.project-rail{min-height:0;color:var(--color-label);background:var(--color-bg);flex-direction:column;gap:18px;padding:20px;display:flex;overflow-y:auto}.brand{align-items:center;gap:12px;display:flex}.logout-button{border:var(--surface-border);border-radius:var(--radius-sm);min-height:38px;color:var(--color-label);background:var(--color-bg-elevated);box-shadow:var(--shadow-elevation-1);transition:filter .15s}.logout-button:hover{filter:brightness(1.15)}.brand-mark{border-radius:var(--radius-sm);width:42px;height:42px;color:var(--color-bg);background:#39d98a;place-items:center;font-weight:800;display:grid}.brand span,.section-header p,.chat-header p{color:var(--color-label-secondary);margin:3px 0 0;font-size:13px;display:block}.project-rail .brand span,.project-rail .panel-title{color:var(--color-label-secondary)}.panel{border:var(--surface-border);border-radius:var(--radius-md);color:var(--color-label);background:var(--color-surface);box-shadow:var(--shadow-elevation-1)}.project-rail .panel{border-color:var(--color-separator);background:var(--color-bg-elevated)}.compact{padding:14px}.panel-title{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.main-nav{gap:8px;display:grid}.main-nav button{border:var(--surface-border);border-radius:var(--radius-sm);min-height:42px;color:var(--color-label);background:var(--color-bg-elevated);box-shadow:var(--shadow-elevation-1);text-align:left;align-items:center;gap:9px;padding:0 12px;transition:filter .15s;display:flex}.main-nav button:hover{filter:brightness(1.15)}.main-nav button.active{border-color:color-mix(in srgb, var(--color-accent) 45%, transparent);color:var(--color-accent-light);background:color-mix(in srgb, var(--color-accent) 12%, transparent);box-shadow:var(--shadow-accent-glow)}.project-list,.role-list,.tickets{gap:8px;display:grid}.project-button{border:var(--surface-border);border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--color-label);background:var(--color-bg-elevated);box-shadow:var(--shadow-elevation-1);text-align:left;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:9px 10px;transition:filter .15s;display:grid}.project-button:hover{filter:brightness(1.15)}.project-button.active{border-color:color-mix(in srgb, var(--color-accent) 60%, transparent);box-shadow:var(--shadow-accent-glow), inset 3px 0 0 var(--color-accent)}.project-button small{color:var(--color-label-secondary);grid-column:2/3}.project-button b{border-radius:var(--radius-pill);color:#fff;background:var(--color-danger);text-align:center;grid-area:1/3/3/4;min-width:28px;padding:4px 8px}.status-dot{border-radius:50%;width:10px;height:10px}.status-dot.red{background:var(--color-danger)}.status-dot.yellow{background:var(--color-warning)}.status-dot.green{background:var(--color-success)}.role-list span{border:var(--surface-border);border-radius:var(--radius-sm);color:var(--color-label);background:var(--color-bg-elevated);padding:8px 10px;font-size:14px}.ticket-list,.chat-column,.context-column{border-right:1px solid var(--color-separator);min-width:0;color:var(--color-label);background:var(--color-bg)}.ticket-list{min-height:0;padding:20px 16px;overflow-y:auto}.section-header,.chat-header{justify-content:space-between;align-items:center;gap:12px;display:flex}h1,h2,h3,p{margin:0}h1{font-family:var(--font-display);letter-spacing:-.01em;font-size:26px;font-weight:800}h2{font-family:var(--font-display);font-size:18px;font-weight:600}.icon-button,.send-button{border:var(--surface-border);border-radius:var(--radius-sm);width:42px;height:42px;color:var(--color-label);background:var(--color-bg-elevated);box-shadow:var(--shadow-elevation-1);flex:none;place-items:center;transition:filter .15s,transform 50ms;display:grid}.icon-button:hover:not(:disabled),.send-button:hover:not(:disabled){filter:brightness(1.15)}.icon-button.active{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 18%, var(--color-bg-elevated))}.queue-summary{grid-template-columns:1fr;gap:8px;margin:18px 0;display:grid}.queue-summary input{border:1.5px solid var(--color-separator);border-radius:var(--radius-sm);width:100%;min-width:0;height:42px;color:var(--color-label);background:var(--color-surface-secondary);padding:0 12px}.queue-summary input::placeholder{color:var(--color-label-tertiary)}.admin-form{border:var(--surface-border);border-radius:var(--radius-md);color:var(--color-label);background:var(--color-surface);box-shadow:var(--shadow-elevation-1);gap:10px;margin-top:18px;padding:14px;display:grid}.admin-form input,.admin-form select,.admin-form textarea,.settings-group input,.settings-group select,.settings-group textarea,.modal input,.modal select,.modal textarea,.internal-note-editor textarea,.composer input,.login-card input{border:1.5px solid var(--color-separator);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--color-label);background:var(--color-surface-secondary);outline:none;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.settings-group input:focus,.settings-group select:focus,.settings-group textarea:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.internal-note-editor textarea:focus,.composer input:focus,.login-card input:focus{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);background:color-mix(in srgb, var(--color-accent) 6%, var(--color-surface-secondary));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 12%, transparent)}.admin-form input::placeholder,.settings-group input::placeholder,.settings-group textarea::placeholder,.admin-form textarea::placeholder,.modal input::placeholder,.internal-note-editor textarea::placeholder,.composer input::placeholder,.login-card input::placeholder{color:var(--color-label-tertiary)}.admin-form select,.settings-group select{height:44px}.inline-form{gap:10px;display:grid}.time-form label{color:var(--color-label-secondary);gap:6px;font-size:13px;font-weight:700;display:grid}.time-form input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.member-form{border-top:1px solid var(--color-separator);padding-top:10px}.checkbox-row{color:var(--color-label);align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-row input{width:18px;height:18px;accent-color:var(--color-accent)}.compact-checkbox{gap:6px;font-size:12px}.compact-checkbox input{width:15px;height:15px}.department-row small{color:var(--color-label-secondary);font-size:12px}.member-row{grid-template-columns:1fr auto}.member-row small,.member-actions{grid-column:1/-1}.member-actions{flex-wrap:wrap;gap:8px;display:flex}.modal-check-list{gap:10px;max-height:min(420px,55dvh);display:grid;overflow-y:auto}.primary-button{border:1px solid color-mix(in srgb, var(--color-accent) 70%, black);border-radius:var(--radius-sm);min-height:40px;color:var(--color-accent-contrast);background:var(--color-accent-fill);box-shadow:var(--shadow-accent-glow);letter-spacing:.02em;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:filter .15s,transform 50ms;display:inline-flex}.primary-button:hover:not(:disabled){filter:brightness(1.08)}.primary-button:active:not(:disabled){filter:brightness(.96);transform:scale(.98)}.department-list{gap:8px;display:grid}.department-row{border:var(--surface-border);border-radius:var(--radius-sm);color:var(--color-label);background:var(--color-surface);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:grid}.department-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.department-actions button{min-height:34px;padding:7px 10px}.link-button{color:#f87171;background:0 0;border:0;font-size:13px}.settings-note{color:var(--color-label-secondary);font-size:13px;line-height:1.45}.code-block,.webhook-box code{border:var(--surface-border);border-radius:var(--radius-sm);color:#93c5fd;background:var(--color-bg)}.code-block{overflow-wrap:anywhere;padding:10px 12px;font-size:13px;display:block}.project-create-form{max-width:520px}.department-row span,.empty-text{color:var(--color-label-secondary);font-size:13px}.webhook-box{border:var(--surface-border);border-radius:var(--radius-sm);color:var(--color-label);background:var(--color-surface);gap:7px;padding:12px;display:grid}.webhook-box code{overflow-wrap:anywhere;padding:0;font-size:13px}.webhook-box span{color:var(--color-label-secondary);font-size:13px}.error-box{border-radius:var(--radius-sm);color:#fecaca;background:#1a0505;border:1px solid #7f1d1d;margin-top:14px;padding:10px 12px;font-size:14px}.queue-summary div{border:var(--surface-border);border-radius:var(--radius-sm);color:var(--color-label);background:var(--color-surface);box-shadow:var(--shadow-elevation-1);grid-template-columns:auto auto;align-items:center;gap:4px 8px;padding:12px;display:grid}.queue-summary span{color:var(--color-label-secondary);grid-column:1/3;font-size:13px}.ticket-card{border:var(--surface-border);border-radius:var(--radius-md);width:100%;color:var(--color-label);background:var(--color-surface);box-shadow:var(--shadow-elevation-1);text-align:left;padding:14px;transition:filter .15s;display:block}.ticket-card:hover{filter:brightness(1.1)}.ticket-card.active{border-color:color-mix(in srgb, var(--color-accent) 60%, transparent);box-shadow:var(--shadow-accent-glow), inset 3px 0 0 var(--color-accent)}.ticket-card.needs-answer{border-color:var(--color-danger)}.ticket-card.wait-green{border-color:var(--color-success)}.ticket-card.wait-orange{border-color:var(--color-warning)}.ticket-card.wait-red{border-color:var(--color-danger)}.ticket-card-top{color:var(--color-label-secondary);justify-content:space-between;margin:0;font-size:13px;display:flex}.ticket-card p{color:var(--color-label-secondary);margin:0;font-size:14px}.ticket-card strong{align-items:center;gap:7px;display:flex}.ticket-wait{border-top:1px solid var(--color-separator);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:9px;font-size:13px;display:flex}.ticket-wait span{color:var(--color-label-secondary)}.ticket-wait strong{font-variant-numeric:tabular-nums}.ticket-card.wait-green .ticket-wait strong{color:var(--color-success)}.ticket-card.wait-orange .ticket-wait strong{color:var(--color-warning)}.ticket-card.wait-red .ticket-wait strong{color:var(--color-danger)}.unanswered-dot{background:var(--color-danger);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 3px #2a0808}.settings-page{min-width:0;min-height:0;color:var(--color-label);background:var(--color-bg);padding:22px;overflow-y:auto}.settings-shell{grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start;gap:24px;min-width:0;margin-top:18px;display:grid}.settings-nav{gap:4px;width:100%;min-width:0;display:grid;position:sticky;top:0}.settings-nav-item{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--color-label);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.settings-nav-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.settings-nav-chevron{color:var(--color-label-tertiary);flex:none}.settings-nav-item:hover{background:var(--color-bg-elevated)}.settings-nav-item.active{color:var(--color-accent-light);background:color-mix(in srgb, var(--color-accent) 12%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent) 40%, transparent)}.settings-nav-item.active .settings-nav-chevron{color:var(--color-accent)}.settings-detail{align-content:start;gap:16px;width:100%;min-width:0;display:grid}.settings-back-button{color:var(--color-accent);background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:15px;font-weight:600;display:none}.settings-group{box-sizing:border-box;border:var(--surface-border);border-radius:var(--radius-md);width:100%;min-width:0;color:var(--color-label);background:var(--color-surface);box-shadow:var(--shadow-elevation-1);gap:10px;padding:14px;display:grid}.settings-group-caption{color:var(--color-label-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:700}.settings-row{border-bottom:1px solid var(--color-separator);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.settings-row:last-child{border-bottom:0;padding-bottom:0}.settings-row>span:first-child{color:var(--color-label-secondary)}.color-field-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.color-field-row label{color:var(--color-label);font-size:14px}.color-field-control{align-items:center;gap:10px;display:flex}.color-field-control span{color:var(--color-label-secondary);font-variant-numeric:tabular-nums;text-transform:uppercase;font-size:13px}.color-field-control input[type=color]{border:var(--surface-border);border-radius:var(--radius-sm);background:var(--color-surface-secondary);cursor:pointer;width:42px;height:32px;padding:2px}.stats-summary-button{background:0 0;border:0;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin:18px 0 0;padding:0;display:grid}.stats-summary-button>span{border:var(--surface-border);border-radius:var(--radius-sm);color:var(--color-label);background:var(--color-surface);box-shadow:var(--shadow-elevation-1);text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;padding:12px;display:grid}.stats-summary-button strong{font-variant-numeric:tabular-nums}.stats-summary-button small{color:var(--color-label-secondary);grid-column:1/3}.stats-page-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:16px;display:grid}.stats-big-number{color:var(--color-label);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:32px;font-weight:800}.scoreboard{margin-top:16px}.scoreboard-table{gap:8px;display:grid;overflow-x:auto}.scoreboard-head,.scoreboard-row{grid-template-columns:minmax(160px,1fr) minmax(110px,auto) minmax(110px,auto) minmax(100px,auto) minmax(130px,auto) minmax(130px,auto);align-items:center;gap:12px;min-width:780px;display:grid}.scoreboard-head{color:var(--color-label-secondary);text-transform:uppercase;font-size:12px;font-weight:700}.scoreboard-row{border-top:1px solid var(--color-separator);font-variant-numeric:tabular-nums;padding:10px 0}.chat-column{height:100%;min-height:0;color:var(--color-label);background:var(--color-bg);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.chat-header{border-bottom:1px solid var(--color-separator);color:var(--color-label);background:var(--color-surface);padding:18px 20px}.chat-title-row{align-items:center;gap:10px;min-width:0;display:flex}.chat-title-row h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.wait-badge{border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;border:1px solid;flex:none;padding:0 12px;font-size:20px;font-weight:800}.wait-badge.wait-green{color:var(--color-success)}.wait-badge.wait-orange{color:var(--color-warning)}.wait-badge.wait-red{color:var(--color-danger)}.danger-button{border:1.5px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-sm);min-height:38px;color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 12%, transparent);padding:0 14px;font-weight:600;transition:filter .15s}.danger-button:hover:not(:disabled){filter:brightness(1.15)}.secondary-button{border:var(--surface-border);border-radius:var(--radius-sm);min-height:40px;color:var(--color-label);background:var(--color-bg-elevated);box-shadow:var(--shadow-elevation-1);padding:0 14px;font-weight:700;transition:filter .15s}.secondary-button:hover:not(:disabled){filter:brightness(1.15)}.client-profile-actions{flex-wrap:wrap;gap:8px;display:flex}.client-profile-actions .secondary-button,.client-profile-actions .muted-button{align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:13px;display:inline-flex}.muted-button{border-radius:var(--radius-sm);color:var(--color-label-secondary);background:0 0;border:1px solid #0000;font-weight:500}.muted-button:hover{color:var(--color-label);background:var(--color-surface-secondary)}.spin{animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);background:#0000008c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:var(--surface-border);border-radius:var(--radius-lg);width:min(520px,100%);color:var(--color-label);background:var(--color-surface);box-shadow:var(--shadow-elevation-2);gap:12px;padding:28px;display:grid}.dnd-warning{border-radius:var(--radius-sm);color:#fecaca;background:#1a0505;border:1px solid #7f1d1d;gap:6px;padding:14px;display:grid}.dnd-warning p{color:#fecaca;line-height:1.45}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.messages{overscroll-behavior:contain;height:100%;min-height:0;color:var(--color-label);background:var(--color-bg);scrollbar-color:var(--color-accent) var(--color-bg);scrollbar-width:thin;flex-direction:column;gap:10px;padding:24px;display:flex;overflow-y:scroll}.messages:before{content:"";margin-top:auto}.date-divider{align-items:center;gap:12px;margin:6px 0;display:flex}.date-divider:before,.date-divider:after{content:"";background:var(--color-separator);flex:1;height:1px}.date-divider span{color:var(--color-label-secondary);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex:none;font-size:11px;font-weight:600}.timeline-divider{color:#f0a04a;text-align:center;justify-items:center;gap:4px;margin:6px 0;font-size:12px;display:grid}.timeline-divider span{border-radius:var(--radius-pill);background:#f0a04a1a;border:1px solid #f0a04a59;padding:5px 10px}.timeline-divider small{max-width:min(520px,86%);color:var(--color-label-secondary);line-height:1.35}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track{background:var(--color-bg)}.messages::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:var(--color-accent)}.ticket-strip{border-bottom:1px solid var(--color-separator);background:var(--color-surface);gap:8px;padding:10px 14px;display:none;overflow-x:auto}.mini-ticket{border:var(--surface-border);border-radius:var(--radius-sm);min-width:150px;color:var(--color-label);background:var(--color-bg-elevated);box-shadow:var(--shadow-elevation-1);text-align:left;gap:2px;padding:9px 10px;display:grid}.mini-ticket.active{border-color:var(--color-accent)}.mini-ticket span{color:var(--color-label-secondary);font-size:13px}.mini-ticket small{color:var(--color-label-secondary)}.bubble-row{display:flex}.bubble-row.operator{justify-content:flex-end}.bubble{border:var(--surface-border);border-radius:var(--radius-lg);max-width:min(72%,520px);color:var(--color-label);background:var(--color-surface-secondary);box-shadow:var(--shadow-elevation-1);padding:12px 14px;line-height:1.45}.message-image-link{max-width:min(360px,100%);color:inherit;margin-bottom:8px;display:block;position:relative}.message-image{border-radius:var(--radius-md);object-fit:contain;width:100%;max-height:320px;display:block}.message-image-overlay{border-radius:var(--radius-md);color:#fff;text-align:center;background:#0000007a;place-items:center;padding:12px;font-size:13px;font-weight:700;display:grid;position:absolute;inset:0}.message-image-overlay.error{background:#7f1d1ddb}.hidden-file-input{display:none}.bubble-meta{color:#9aa6b8;font-variant-numeric:tabular-nums;text-align:right;justify-content:flex-end;gap:8px;margin-top:5px;font-size:12px;font-weight:600;display:flex}.bubble-meta strong{font-weight:700}.operator .bubble{color:var(--color-accent-contrast);border-color:color-mix(in srgb, var(--color-accent) 60%, black);background:var(--color-accent-fill);box-shadow:var(--shadow-accent-glow)}.operator .bubble-meta{color:#ffffffc7}.typing-notice{color:var(--color-label-secondary);background:var(--color-bg);padding:0 16px 8px;font-size:13px}.composer{border-top:1px solid var(--color-separator);color:var(--color-label);background:var(--color-surface);gap:10px;padding:14px;display:flex;position:relative}.quick-replies{z-index:12;border:var(--surface-border);border-radius:var(--radius-md);background:var(--color-surface-secondary);color:var(--color-label);box-shadow:var(--shadow-elevation-2);gap:6px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:14px;right:14px}.quick-replies button{color:var(--color-label);text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;padding:9px 10px}.quick-replies button:hover{border-color:var(--color-separator);background:var(--color-surface-secondary)}.quick-replies-modal,.api-readable-modal{width:min(680px,100vw - 28px)}.quick-replies-editor,.api-readable-editor{gap:10px;max-height:min(56vh,520px);display:grid;overflow-y:auto}.quick-reply-editor-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.quick-reply-editor-row textarea{min-height:74px}.api-readable-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.split-actions{grid-template-columns:auto 1fr auto auto;display:grid}.composer input{width:100%;min-width:0;height:42px;padding:0 14px}.send-button{border-color:color-mix(in srgb, var(--color-accent) 70%, black);color:var(--color-accent-contrast);background:var(--color-accent-fill);box-shadow:var(--shadow-accent-glow)}.context-column{min-height:0;color:var(--color-label);background:var(--color-bg);border-right:0;flex-direction:column;gap:16px;padding:20px;display:flex;overflow-y:auto}.context-column .panel{padding:16px}.client-data{grid-template-columns:auto 1fr;gap:10px 14px;margin:0;font-size:14px;display:grid}.client-data dt{color:var(--color-label-secondary)}.client-data dd{text-align:right;margin:0;font-weight:700}.client-profile-card{gap:10px;margin-top:14px;display:grid}.readable-profile{grid-template-columns:1fr;gap:8px}.readable-profile-row{grid-template-columns:minmax(100px,auto) 1fr;align-items:center;gap:8px 12px;display:grid}.readable-profile-row dd{word-break:break-word}.profile-link-button{border:var(--surface-border);border-radius:var(--radius-sm);min-height:32px;color:var(--color-label);background:var(--color-bg-elevated);justify-content:center;align-items:center;padding:6px 12px;text-decoration:none;transition:filter .15s;display:inline-flex}.profile-link-button:hover{filter:brightness(1.15)}.full-json-modal{width:min(780px,100vw - 28px)}.full-json-view{border:1px solid var(--color-separator);border-radius:var(--radius-sm);max-height:360px;color:var(--color-label-secondary);background:var(--color-bg);white-space:pre-wrap;word-break:break-word;margin:0;padding:10px;font-size:12px;line-height:1.45;overflow:auto}.knowledge-preview{border:var(--surface-border);border-radius:var(--radius-md);min-height:220px;color:var(--color-label);background:var(--color-surface);box-shadow:var(--shadow-elevation-1);padding:14px}.knowledge-preview p{color:var(--color-label-secondary);margin-top:8px;line-height:1.5}.notes-panel{gap:12px;display:grid}.internal-note-editor{gap:10px;display:grid}.internal-note-editor textarea{resize:vertical;min-height:260px;line-height:1.5}.internal-note-status{min-height:18px;color:var(--color-success);justify-content:space-between;gap:10px;font-size:12px;display:flex}.internal-note-status small{color:var(--color-label-secondary)}@media (width<=1180px){.app-shell:not(.settings-mode){grid-template-columns:220px minmax(220px,300px) minmax(360px,1fr) minmax(240px,300px)}.settings-shell{grid-template-columns:220px minmax(0,1fr)}}@media (width<=820px){.api-readable-row,.readable-profile-row{grid-template-columns:1fr}.readable-profile-row dd{text-align:left}.split-actions,.department-row{grid-template-columns:1fr}.department-actions{justify-content:stretch}.department-actions button{flex:auto}.app-shell{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;height:100dvh;padding-bottom:74px}.app-shell:not(.settings-mode),.app-shell.settings-mode{grid-template-columns:1fr}.app-shell:not(.settings-mode) .project-rail,.app-shell:not(.settings-mode) .ticket-list,.app-shell:not(.settings-mode) .chat-column,.app-shell:not(.settings-mode) .context-column{display:none}.app-shell:not(.settings-mode)[data-mobile-pane=projects] .project-rail{display:flex}.app-shell:not(.settings-mode)[data-mobile-pane=tickets] .ticket-list{display:block}.app-shell:not(.settings-mode)[data-mobile-pane=chat] .chat-column{display:grid}.app-shell:not(.settings-mode)[data-mobile-pane=context] .context-column{display:flex}.app-shell.settings-mode .project-rail{display:none}.project-rail,.ticket-list,.context-column,.settings-page{height:calc(100dvh - 74px);min-height:0;padding:16px;overflow-y:auto}.context-column{border-right:0;overflow-y:auto}.chat-column{border-right:0;grid-template-rows:auto minmax(0,1fr) auto;height:calc(100dvh - 74px)}.chat-header{padding:14px 16px}.chat-header h2{font-size:18px}.messages{justify-content:flex-start;padding:16px}.bubble{max-width:86%}.composer{padding:10px 12px 12px}.settings-shell{grid-template-columns:1fr}.settings-shell[data-settings-mobile-pane=nav] .settings-detail,.settings-shell[data-settings-mobile-pane=detail] .settings-nav{display:none}.settings-back-button{display:inline-flex}.settings-nav{position:static}.stats-page-grid{grid-template-columns:1fr}.scoreboard-head,.scoreboard-row{grid-template-columns:1fr;gap:4px;min-width:0}.quick-reply-editor-row,.split-actions{grid-template-columns:1fr}.mobile-bottom-nav{z-index:30;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--color-separator);background:var(--color-bg-elevated);grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav button{border-radius:var(--radius-sm);min-width:0;min-height:52px;color:var(--color-label-secondary);background:0 0;border:0;place-items:center;gap:3px;font-size:11px;font-weight:700;display:grid}.mobile-bottom-nav button.active{color:#fff;background:var(--color-surface)}.mobile-bottom-nav svg{width:19px;height:19px}}.app-shell[data-telegram-mobile=true]{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;height:100dvh;padding-bottom:74px}.app-shell[data-telegram-mobile=true]:not(.settings-mode),.app-shell[data-telegram-mobile=true].settings-mode{grid-template-columns:1fr}.app-shell[data-telegram-mobile=true]:not(.settings-mode) .project-rail,.app-shell[data-telegram-mobile=true]:not(.settings-mode) .ticket-list,.app-shell[data-telegram-mobile=true]:not(.settings-mode) .chat-column,.app-shell[data-telegram-mobile=true]:not(.settings-mode) .context-column{display:none}.app-shell[data-telegram-mobile=true]:not(.settings-mode)[data-mobile-pane=projects] .project-rail{display:flex}.app-shell[data-telegram-mobile=true]:not(.settings-mode)[data-mobile-pane=tickets] .ticket-list{display:block}.app-shell[data-telegram-mobile=true]:not(.settings-mode)[data-mobile-pane=chat] .chat-column{display:grid}.app-shell[data-telegram-mobile=true]:not(.settings-mode)[data-mobile-pane=context] .context-column{display:flex}.app-shell[data-telegram-mobile=true].settings-mode .project-rail{display:none}.app-shell[data-telegram-mobile=true] .project-rail,.app-shell[data-telegram-mobile=true] .ticket-list,.app-shell[data-telegram-mobile=true] .context-column,.app-shell[data-telegram-mobile=true] .settings-page{height:calc(100dvh - 74px);min-height:0;padding:16px;overflow-y:auto}.app-shell[data-telegram-mobile=true] .context-column{border-right:0;overflow-y:auto}.app-shell[data-telegram-mobile=true] .chat-column{border-right:0;grid-template-rows:auto minmax(0,1fr) auto;height:calc(100dvh - 74px)}.app-shell[data-telegram-mobile=true] .chat-header{padding:14px 16px}.app-shell[data-telegram-mobile=true] .chat-header h2{font-size:18px}.app-shell[data-telegram-mobile=true] .messages{justify-content:flex-start;padding:16px}.app-shell[data-telegram-mobile=true] .bubble{max-width:86%}.app-shell[data-telegram-mobile=true] .composer{padding:10px 12px 12px}.app-shell[data-telegram-mobile=true] .settings-shell{grid-template-columns:1fr}.app-shell[data-telegram-mobile=true] .settings-shell[data-settings-mobile-pane=nav] .settings-detail,.app-shell[data-telegram-mobile=true] .settings-shell[data-settings-mobile-pane=detail] .settings-nav{display:none}.app-shell[data-telegram-mobile=true] .settings-back-button{display:inline-flex}.app-shell[data-telegram-mobile=true] .settings-nav{position:static}.app-shell[data-telegram-mobile=true] .stats-page-grid{grid-template-columns:1fr}.app-shell[data-telegram-mobile=true] .mobile-bottom-nav{z-index:30;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--color-separator);background:var(--color-bg-elevated);grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.app-shell[data-telegram-mobile=true] .mobile-bottom-nav button{border-radius:var(--radius-sm);min-width:0;min-height:52px;color:var(--color-label-secondary);background:0 0;border:0;place-items:center;gap:3px;font-size:11px;font-weight:700;display:grid}.app-shell[data-telegram-mobile=true] .mobile-bottom-nav button.active{color:#fff;background:var(--color-surface)}.app-shell[data-telegram-mobile=true] .mobile-bottom-nav svg{width:19px;height:19px}
