:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#1e2530;-webkit-font-smoothing:antialiased;background:#eef1f6;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;height:100%;display:flex}.topbar{background:linear-gradient(#fff,#f6f8fc);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;display:flex}.menu-btn{color:#2a3342;cursor:pointer;background:#f6f8fb;border:1px solid #d7dfea;border-radius:10px;padding:6px 11px;font-size:20px;line-height:1;display:none}.menu-btn:hover{border-color:#3a5cff}.side-drawer-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:none}.side-drawer-title{color:#2f5fd0;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.side-close{color:#8a93a6;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:26px;line-height:1}.side-close:hover{color:#d64550}.side-backdrop{display:none}.brand{align-items:baseline;gap:10px;display:flex}.logo{color:#3a5cff;font-size:22px}.title{letter-spacing:.5px;color:#1e2530;font-size:20px;font-weight:700}.subtitle{color:#6b7280;font-size:13px}.status{text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;font-size:13px;display:flex}.status .dot{background:#b6bdc9;border-radius:50%;width:10px;height:10px}.status.up{color:#1f9d57}.status.up .dot{background:#1f9d57;box-shadow:0 0 10px #1f9d5766}.status.down{color:#d64550}.status.down .dot{background:#d64550}.status.unknown{color:#9aa2af}.top-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.picker{color:#2a3342;cursor:pointer;background:#f6f8fb;border:1px solid #d7dfea;border-radius:9px;outline:none;padding:6px 8px;font-family:inherit;font-size:12.5px}.picker:hover{border-color:#3a5cff}.voicebtn{cursor:pointer;background:#f6f8fb;border:1px solid #d7dfea;border-radius:10px;padding:5px 10px;font-size:16px;line-height:1}.voicebtn.on{background:#e9eeff;border-color:#3a5cff}.tenant-chip{background:#eef2ff;border:1px solid #c3d2f5;border-radius:9px;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 11px;line-height:1.2;display:flex}.tenant-chip-label{text-transform:uppercase;letter-spacing:.7px;color:#7c8bb0;font-size:9.5px}.tenant-chip-name{color:#2f5fd0;text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:12.5px;font-weight:700;overflow:hidden}.mic{cursor:pointer;color:#2a3342;background:#f6f8fb;border:1px solid #d7dfea;border-radius:12px;align-self:stretch;padding:0 16px;font-size:18px}.mic:hover{border-color:#3a5cff}.mic:disabled{opacity:.5;cursor:default}.mic.listening{color:#c02b3a;background:#fde4e6;border-color:#d64550;animation:1.1s infinite micpulse}.stopspeak{color:#8a6410;cursor:pointer;background:#fdf1d8;border:1px solid #e6c98a;border-radius:12px;align-self:stretch;padding:0 16px;font-size:18px}.stopspeak:hover{background:#fbe9c2}@keyframes micpulse{0%,to{box-shadow:0 0 #d6455073}50%{box-shadow:0 0 0 7px #d6455000}}.grid{flex:1;grid-template-columns:280px 1fr;gap:16px;width:100%;max-width:1200px;min-height:0;margin:0 auto;padding:16px;display:grid}@media (width<=820px){.app{height:100dvh}.topbar{flex-wrap:wrap;gap:8px;padding:9px 12px}.menu-btn{justify-content:center;align-items:center;display:inline-flex}.brand{flex:1;gap:8px;min-width:0}.title{font-size:18px}.subtitle{display:none}.top-right{flex-wrap:wrap;justify-content:flex-start;gap:6px;width:100%}.top-right .picker{padding:7px 8px;font-size:12.5px}.status,.tenant-chip{display:none}.userbtn{align-items:center;padding:6px 10px}.user-email{display:none}.user-logout{color:#2a3342;font-size:12.5px}.grid{grid-template-columns:minmax(0,1fr);gap:0;padding:10px;overflow-x:hidden}.composer textarea{min-width:0}.side{z-index:60;border-radius:0 16px 16px 0;width:84%;max-width:320px;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:0 12px 40px #1e293b47}.side.open{transform:translate(0)}.side-drawer-head{display:flex}.side-backdrop{z-index:55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1e293b6b;display:block;position:fixed;inset:0}.session-list{max-height:40vh}.thread{gap:12px;padding:14px}.bubble{max-width:88%}.werkstatt{max-height:45%}.login-in{font-size:16px}}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #1e293b0d}.side{flex-direction:column;min-height:0;padding:14px;display:flex;overflow:hidden}.newchat{color:#fff;cursor:pointer;background:#3a5cff;border:none;border-radius:10px;width:100%;padding:10px 14px;font-size:14px;font-weight:600}.newchat:hover{background:#2f4fe0}.newchat:disabled{opacity:.5;cursor:default}.side-sec-title{text-transform:uppercase;letter-spacing:1px;color:#8a93a6;align-items:center;gap:8px;margin:16px 4px 8px;font-size:12px;display:flex}.count{color:#2f5fd0;background:#e5edff;border-radius:999px;padding:1px 8px;font-size:11px}.session-list{flex-direction:column;flex-shrink:0;gap:4px;max-height:30vh;display:flex;overflow-y:auto}.session-item{cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;padding:9px 11px;display:flex}.session-item:hover{background:#f1f5fb}.session-item.active{background:#e9eefc;border-color:#c3d2f5}.session-title{color:#2a3342;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13.5px;overflow:hidden}.session-del{color:#9aa2af;opacity:0;border-radius:6px;padding:0 4px;font-size:18px;line-height:1}.session-item:hover .session-del{opacity:1}.session-del:hover{color:#d64550;background:#fde4e6}.skill-list{flex-direction:column;flex:auto;gap:6px;min-height:60px;display:flex;overflow-y:auto}.skill-card{text-align:left;cursor:pointer;color:inherit;font:inherit;background:#f6f8fb;border:1px solid #e2e8f0;border-radius:9px;padding:8px 11px}.skill-card:hover{background:#eef3fb;border-color:#3a5cff}.skill-card:disabled{opacity:.6;cursor:default}.skill-row{align-items:center;gap:6px;display:flex}.skill-name{color:#2a3342;flex:1;font-size:13px;font-weight:600}.skill-del{color:#9aa2af;opacity:0;border-radius:6px;padding:0 3px;font-size:17px;line-height:1}.skill-card:hover .skill-del{opacity:1}.skill-del:hover{color:#d64550;background:#fde4e6}.skill-desc{color:#6b7280;margin-top:3px;font-size:11.5px;line-height:1.35}.skill-meta{color:#8a93a6;margin-top:4px;font-size:10.5px}.usage{cursor:pointer;border-top:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:2px;margin-top:10px;padding-top:12px;display:flex}.usage-main{color:#2a3342;font-size:13px;font-weight:600}.usage-sub{color:#8a93a6;font-size:11px}.usage:hover .usage-main{color:#3a5cff}.chat{flex-direction:column;min-width:0;min-height:0;display:flex}.thread{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.welcome{text-align:center;color:#8a93a6;margin:auto}.welcome-logo{color:#b9c6ef;font-size:40px}.welcome-title{color:#4a5568;margin-top:8px;font-size:18px;font-weight:600}.welcome-sub{max-width:360px;margin-top:4px;font-size:13px;line-height:1.5}.msg{display:flex}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.bubble{border-radius:14px;max-width:78%;padding:11px 14px}.msg.user .bubble{color:#fff;background:#3a5cff;border:1px solid #3a5cff;border-bottom-right-radius:4px}.msg.assistant .bubble{color:#26303f;background:#f4f7fb;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.msg-meta{align-items:center;gap:8px;margin-bottom:6px;display:flex}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:600}.b-haiku{color:#157a45;background:#e3f7ec}.b-sonnet{color:#2f5fd0;background:#e5edff}.b-opus{color:#6b3fd0;background:#efe7ff}.b-skill{color:#9a6b13;background:#fdf1d8}.b-web{color:#0e7a86;background:#dbf4f7}.esc{color:#8a93a6;font-size:11px}.msg-text{white-space:pre-wrap;word-break:break-word;font-size:15px;line-height:1.55}.chart{white-space:normal;background:#fbfcfe;border:1px solid #e2e8f0;border-radius:10px;margin:10px 0;padding:10px 12px}.chart-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.chart-title{color:#2a3342;font-size:12.5px;font-weight:600}.chart-change{white-space:nowrap;font-size:12.5px;font-weight:700}.chart-svg{width:100%;height:84px;display:block}.chart-foot{color:#6b7280;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:11.5px;display:flex}.chart-foot b{color:#26303f}.typing{gap:5px;padding:4px 2px;display:flex}.typing span{background:#9db0d6;border-radius:50%;width:7px;height:7px;animation:1.2s infinite both blink}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.attach-row{flex-wrap:wrap;gap:8px;padding:10px 14px 0;display:flex}.attach-chip{color:#2a3342;background:#eef3fb;border:1px solid #c3d2f5;border-radius:9px;align-items:center;gap:6px;max-width:220px;padding:5px 8px 5px 9px;font-size:12.5px;display:inline-flex}.attach-chip.uploading{color:#8a6410;background:#fdf1d8;border-color:#e6c98a}.attach-ico{font-size:14px;line-height:1}.attach-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attach-x{cursor:pointer;color:#8a93a6;border-radius:5px;padding:0 2px;font-size:16px;line-height:1}.attach-x:hover{color:#d64550;background:#fde4e6}.tbl-wrap{border:1px solid #e2e8f0;border-radius:10px;margin:8px 0;overflow-x:auto}.tbl{border-collapse:collapse;background:#fff;width:100%;font-size:13px}.tbl th,.tbl td{text-align:left;white-space:nowrap;border-bottom:1px solid #eef1f6;padding:7px 11px}.tbl th{color:#26303f;background:#f4f7fb;font-weight:700;position:sticky;top:0}.tbl tbody tr:nth-child(2n){background:#fafbfd}.tbl tbody tr:hover{background:#eef3fb}.tbl td{color:#2a3342}.tbl-empty{color:#8a93a6;padding:8px 11px;font-size:12.5px}.up-block{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.up-img{border:1px solid #0000001f;border-radius:10px;max-width:260px;max-height:260px;display:block}.msg.user .up-img{border-color:#ffffff73}.attach-btn{cursor:pointer;color:#2a3342;background:#f6f8fb;border:1px solid #d7dfea;border-radius:12px;align-self:stretch;padding:0 14px;font-size:18px;line-height:1}.attach-btn:hover:not(:disabled){background:#eef3fb;border-color:#3a5cff}.attach-btn:disabled{opacity:.45;cursor:default}.composer{border-top:1px solid #e2e8f0;gap:10px;padding:14px;display:flex}.composer textarea{resize:none;color:#1e2530;background:#f6f8fb;border:1px solid #d7dfea;border-radius:12px;outline:none;flex:1;min-height:46px;max-height:200px;padding:13px 15px;font-family:inherit;font-size:15px;line-height:1.4;transition:height .12s;overflow-y:auto}.composer textarea:focus{background:#fff;border-color:#3a5cff}.send{color:#fff;cursor:pointer;background:#3a5cff;border:none;border-radius:12px;align-self:stretch;padding:0 22px;font-size:15px;font-weight:600}.send:hover:not(:disabled){background:#2f4fe0}.send:disabled{opacity:.5;cursor:default}.empty{color:#8a93a6;padding:4px 2px;font-size:12.5px}.werkstatt{background:#f8fafd;border-bottom:1px solid #e2e8f0;max-height:55%;padding:12px 14px;overflow-y:auto}.werkstatt-title{color:#4a5568;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:700}.build-card{background:#fff;border:1px solid #e2e8f0;border-left:3px solid #3a5cff;border-radius:10px;margin-bottom:10px;padding:12px 14px}.build-card.ready{border-left-color:#1f9d57}.build-card.failed{border-left-color:#d64550}.build-card.building{border-left-color:#b7791f}.build-head{align-items:center;gap:10px;display:flex}.build-status{color:#4a5568;white-space:nowrap;font-size:12px;font-weight:600}.build-name{color:#26303f;word-break:break-word;font-size:14px;font-weight:700}.build-edit{color:#9a6b13;white-space:nowrap;background:#fdf1d8;border-radius:999px;padding:2px 8px;font-size:11px}.build-model{color:#2f5fd0;white-space:nowrap;background:#e5edff;border-radius:999px;padding:2px 8px;font-size:11px}.build-spec{color:#6b7280;margin-top:6px;font-size:12.5px;font-style:italic}.build-desc{color:#4a5568;margin-top:6px;font-size:13px}.build-test{border-radius:8px;margin-top:8px;padding:7px 10px;font-size:12.5px}.build-test.ok{color:#157a45;background:#e3f7ec}.build-test.err{color:#b03340;background:#fde4e6}.build-err{color:#b03340;margin-top:6px;font-size:12.5px}.build-toggle{color:#2f5fd0;cursor:pointer;background:0 0;border:1px solid #c3d2f5;border-radius:8px;margin-top:8px;padding:5px 10px;font-size:12px}.build-code{margin-top:8px}.build-file{color:#8a93a6;text-transform:uppercase;letter-spacing:.5px;margin:8px 0 3px;font-size:11px}.build-code pre{color:#2a3342;background:#f6f8fb;border:1px solid #e2e8f0;border-radius:8px;max-height:240px;margin:0;padding:10px;font-size:12px;overflow:auto}.build-actions{gap:10px;margin-top:12px;display:flex}.build-approve{color:#fff;cursor:pointer;background:#1f9d57;border:none;border-radius:9px;padding:8px 16px;font-size:13px;font-weight:600}.build-approve:hover{background:#1a8a4c}.build-discard{color:#c02b3a;cursor:pointer;background:#fde4e6;border:1px solid #f2c2c7;border-radius:9px;padding:8px 16px;font-size:13px;font-weight:600}.build-discard:hover{background:#fbd4d8}.voice-hint{color:#8a93a6;cursor:pointer;text-align:center;padding:0 14px 12px;font-size:12px}.voice-hint:hover{color:#4a5568}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e293b59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:calc(100% - 48px);max-width:420px;padding:22px 24px;box-shadow:0 18px 50px #1e293b38}.modal-title{color:#1e2530;margin-bottom:10px;font-size:1.15rem;font-weight:700}.modal-text{color:#4a5568;line-height:1.45}.modal-text b{color:#1e2530}.modal-hint{color:#8a93a6;margin-top:10px;font-size:.85rem}.modal-actions{gap:12px;margin-top:18px;display:flex}.modal-actions button{cursor:pointer;border:none;border-radius:10px;flex:1;padding:13px 0;font-size:1rem;font-weight:600}.modal-no{color:#334155;background:#eef2f7}.modal-no:hover{background:#e2e8f0}.modal-yes{color:#fff;background:#d64550}.modal-yes:hover{background:#c02b3a}.session-num{color:#5a6478;background:#eef2f8;border:1px solid #d7dfea;border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:11px;font-weight:700;display:inline-flex}.session-item.active .session-num{color:#2f5fd0;background:#dbe6ff;border-color:#b9ccff}.fileblock{max-width:380px;color:inherit;cursor:pointer;background:#f4f7fb;border:1px solid #d7dfea;border-radius:11px;align-items:center;gap:12px;margin:8px 0;padding:11px 14px;text-decoration:none;display:flex}.fileblock:hover{background:#eef3fb;border-color:#b9ccff}.file-icon{font-size:26px;line-height:1}.file-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-meta b{color:#26303f;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.file-meta small{color:#8a93a6;font-size:11px}.file-dl{color:#2f5fd0;background:#e5edff;border:1px solid #c3d2f5;border-radius:8px;flex:none;padding:7px 11px;font-size:12.5px;font-weight:600}.fileblock:hover .file-dl{color:#274fc0;background:#d5e2ff}.md{white-space:normal}.md-p{min-height:0;margin:0}.md-gap{height:9px}.md-h{color:#1e2530;margin:6px 0 3px;font-weight:700}.md-h1{font-size:18px}.md-h2{font-size:16.5px}.md-h3{font-size:15.5px}.md-h4{font-size:15px}.md-ul{margin:4px 0 4px 4px;padding-left:18px}.md-ul li{margin:2px 0}.md-hr{border:none;border-top:1px solid #e2e8f0;margin:10px 0}.md a{color:#2f5fd0;text-underline-offset:2px;word-break:break-all;text-decoration:underline}.md a:hover{color:#274fc0}.md code{background:#eef2f8;border:1px solid #d7dfea;border-radius:5px;padding:1px 5px;font-size:13px}.boot{color:#8a93a6;justify-content:center;align-items:center;height:100vh;font-size:22px;display:flex}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:12px;width:320px;max-width:100%;padding:30px 26px;display:flex;box-shadow:0 18px 50px #1e293b24}.login-logo{color:#3a5cff;text-align:center;font-size:34px}.login-title{text-align:center;letter-spacing:.5px;color:#1e2530;font-size:22px;font-weight:800}.login-sub{color:#8a93a6;text-align:center;margin-bottom:6px;font-size:13px}.login-in{color:#1e2530;background:#f6f8fb;border:1px solid #d7dfea;border-radius:9px;padding:11px 13px;font-size:15px}.login-in:focus{background:#fff;border-color:#3a5cff;outline:none}.login-err{color:#d64550;text-align:center;font-size:13px}.login-btn{color:#fff;cursor:pointer;background:#3a5cff;border:none;border-radius:9px;margin-top:4px;padding:12px;font-size:15px;font-weight:700}.login-btn:hover:not(:disabled){background:#2f4fe0}.login-btn:disabled{opacity:.5;cursor:default}.userbtn{cursor:pointer;color:inherit;background:0 0;border:1px solid #d7dfea;border-radius:9px;flex-direction:column;align-items:flex-end;gap:1px;padding:5px 10px;line-height:1.2;display:flex}.userbtn:hover{background:#f1f5fb;border-color:#b9ccff}.user-email{color:#2a3342;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:11.5px;overflow:hidden}.user-logout{color:#8a93a6;font-size:10px}.userbtn:hover .user-logout{color:#d64550}.werkstatt.agents{border-color:#e2e8f0}.agent-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin:8px 0;padding:10px 12px}.agent-card.running{border-color:#b9ccff}.agent-card.done{border-color:#bfe6cf}.agent-card.failed{border-color:#f2c2c7}.agent-live{color:#4a5568;align-items:center;gap:6px;margin:6px 0;font-size:12.5px;display:flex}.agent-live:before{content:"▸";color:#3a5cff}.agent-result{color:#26303f;background:#f8fafd;border:1px solid #e2e8f0;border-radius:9px;margin:8px 0;padding:10px 12px;font-size:14px;line-height:1.5}.agent-steps{border-left:2px solid #e2e8f0;max-height:260px;margin:6px 0;padding-left:10px;overflow-y:auto}.agent-step{color:#6b7280;white-space:pre-wrap;word-break:break-word;padding:2px 0;font-size:12px}.agent-step.k-tool{color:#2f5fd0}.agent-step.k-note{color:#4a5568}.agent-step.k-sys{color:#8a93a6;font-style:italic}.adminbtn{color:#2f5fd0;cursor:pointer;background:#e9eeff;border:1px solid #c3d2f5;border-radius:9px;align-items:center;padding:6px 11px;font-size:12.5px;line-height:1;text-decoration:none;display:inline-flex}.adminbtn:hover{background:#dbe6ff;border-color:#a9c0f5}.admin-page{flex-direction:column;min-height:100%;display:flex}.admin-top .brand{gap:12px}.admin-back{color:#2a3342;cursor:pointer;background:#f6f8fb;border:1px solid #d7dfea;border-radius:9px;padding:6px 12px;font-size:13px;font-weight:600}.admin-back:hover{color:#2f5fd0;background:#eef3fb;border-color:#3a5cff}.admin-main{flex:1;padding:24px 16px 40px;overflow-y:auto}.admin-content{flex-direction:column;gap:20px;max-width:860px;margin:0 auto;display:flex}.admin-warn{color:#8a6410;background:#fdf1d8;border:1px solid #e6c98a;border-radius:10px;padding:10px 14px;font-size:13px}.admin-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.admin-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:3px;padding:16px 18px;display:flex;box-shadow:0 1px 3px #1e293b0d}.admin-stat b{color:#1e2530;font-size:26px;font-weight:800;line-height:1}.admin-stat span{color:#8a93a6;font-size:12.5px}.admin-section{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;box-shadow:0 1px 3px #1e293b0d}.admin-section-title{color:#1e2530;align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:700;display:flex}.admin-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:640px;max-width:calc(100% - 40px);max-height:85vh;padding:20px 22px;overflow-y:auto;box-shadow:0 18px 50px #1e293b38}.admin-title{color:#1e2530;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:18px;font-weight:800;display:flex}.admin-close{color:#8a93a6;cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.admin-close:hover{color:#d64550}.admin-newtenant{gap:8px;margin-bottom:10px;display:flex}.admin-newtenant input{flex:1}.admin-panel input,.admin-panel select{color:#1e2530;background:#f6f8fb;border:1px solid #d7dfea;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px}.admin-panel input:focus,.admin-panel select:focus{background:#fff;border-color:#3a5cff;outline:none}.admin-save{color:#fff;cursor:pointer;background:#3a5cff;border:none;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.admin-save:hover:not(:disabled){background:#2f4fe0}.admin-save:disabled{opacity:.45;cursor:default}.admin-del{color:#334155;cursor:pointer;background:#eef2f7;border:1px solid #d7dfea;border-radius:8px;padding:6px 10px;font-size:12.5px}.admin-del:hover{color:#c02b3a;background:#fde4e6;border-color:#f2c2c7}.admin-msg{color:#2f5fd0;margin:8px 0;font-size:12.5px}.admin-tenants{flex-direction:column;gap:8px;margin-top:8px;display:flex}.tenant-card{background:#fbfcfe;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.tenant-head{cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.tenant-head:hover{background:#f1f5fb}.tenant-name{color:#26303f;font-weight:600}.tenant-id{color:#8a93a6;font-family:monospace;font-size:11px}.tenant-badge{color:#5a6478;background:#eef2f8;border:1px solid #d7dfea;border-radius:999px;padding:2px 8px;font-size:11px}.tenant-badge.key-on{color:#157a45;background:#e3f7ec;border-color:#bfe6cf}.tenant-badge.key-off{color:#8a93a6}.tenant-toggle{color:#8a93a6;margin-left:auto}.tenant-body{border-top:1px solid #e2e8f0;flex-direction:column;gap:10px;padding:12px;display:flex}.admin-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-grid label{color:#5a6478;flex-direction:column;gap:4px;font-size:12px;display:flex}.admin-check{align-items:center;flex-direction:row!important;gap:8px!important}.admin-sub{color:#8a93a6;text-transform:uppercase;letter-spacing:.5px;margin-top:6px;font-size:12px}.admin-keyrow{flex-wrap:wrap;gap:8px;display:flex}.admin-keyrow input{flex:1;min-width:120px}.admin-users{flex-direction:column;gap:4px;display:flex}.admin-user{color:#2a3342;align-items:center;gap:8px;font-size:13px;display:flex}.admin-user span:first-child{flex:1}.admin-del-tenant{color:#c02b3a;cursor:pointer;background:#fde4e6;border:1px solid #f2c2c7;border-radius:8px;align-self:flex-start;margin-top:6px;padding:7px 12px;font-size:12.5px}.admin-del-tenant:hover{background:#fbd4d8}.admin-hint{color:#8a93a6;margin-top:6px;font-size:12px}.admin-status{border:1px solid;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.admin-status.active{background:#e9f7ef;border-color:#bfe6cf}.admin-status.blocked{background:#fdecee;border-color:#f2c2c7}.admin-status-txt{flex-direction:column;gap:1px;display:flex}.admin-status-txt b{color:#26303f;font-size:13.5px}.admin-status-txt span{color:#6b7280;font-size:12px}.admin-status-btn{cursor:pointer;border:none;border-radius:8px;flex:none;padding:8px 14px;font-size:13px;font-weight:600}.admin-status-btn.block{color:#fff;background:#d64550}.admin-status-btn.block:hover{background:#c02b3a}.admin-status-btn.unblock{color:#fff;background:#1f9d57}.admin-status-btn.unblock:hover{background:#1a8a4c}.admin-namefield{color:#5a6478;flex-direction:column;gap:4px;font-size:12px;display:flex}.admin-namefield input{width:100%}.admin-locked{color:#8a6410;background:#fdf1d8;border:1px solid #e6c98a;border-radius:8px;align-self:flex-start;margin-top:6px;padding:7px 12px;font-size:12.5px}.toast{z-index:100;cursor:pointer;color:#fff;border-radius:12px;align-items:center;gap:10px;min-width:240px;max-width:380px;padding:13px 16px;font-size:14px;font-weight:600;animation:.22s cubic-bezier(.2,.9,.3,1.2) toast-in;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 34px #1e293b47}.toast-ok{background:#1f9d57}.toast-err{background:#d64550}.toast-icon{background:#ffffff38;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:inline-flex}.toast-msg{line-height:1.35}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}@media (width<=820px){.composer{flex-wrap:wrap;gap:8px;padding:10px}.composer textarea{flex:100%;order:-1;width:100%;padding:12px 14px;font-size:16px}.send{flex:auto;align-self:auto;min-height:48px;padding:0 18px}.mic,.attach-btn,.stopspeak{align-self:auto;min-height:48px;padding:0 16px}}
