.auth-toast{position:fixed;top:18px;left:50%;z-index:40;translate:-50% 0;padding:12px 16px;border:1px solid #ef8a8a55;border-radius:10px;background:#2a1218;color:#ffd7d7;font-size:13px}
.app-shell{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#000208ee,#050b16 40%,#000208)}
.app-main{flex:1;padding:110px 4.8% 40px;display:flex;min-height:0}
.cabinet-wrap,.admin-wrap{width:min(1100px,100%);margin:0 auto}
.cabinet-wrap h1,.admin-wrap h1,.chat-empty h1{font-size:clamp(34px,4vw,52px);margin:0 0 12px}
.cabinet-wrap p,.admin-wrap .lead{color:#99a4bc;max-width:620px}
.panel-grid{display:grid;gap:16px;margin-top:28px}
.panel{border:1px solid #91a7d529;border-radius:16px;background:#0a1220d6;padding:22px;backdrop-filter:blur(16px)}
.panel h2{font-size:20px;margin:0 0 14px;font-weight:550}
.panel label,.field{display:grid;gap:7px;margin-bottom:12px;color:#8e97ac;font-size:12px}
.panel input,.panel select,.panel textarea,.composer input,.composer textarea,.model-select{width:100%;border:1px solid #7698bf4d;border-radius:8px;background:#08101c;color:#f3f6ff;padding:11px 12px;font:inherit}
.ghost,.danger,.primary{border-radius:8px;padding:10px 14px;font-size:13px}
.primary{border:1px solid #80eaff66;background:#14324a;color:#d7f7ff}
.ghost{border:1px solid #7698bf4d;background:transparent;color:#d5deef}
.danger{border:1px solid #ef8a8a55;background:#2a1218;color:#ffd7d7}
.sessions{display:grid;gap:10px}
.session-row,.provider-row,.model-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #ffffff10}
.session-row:last-child,.provider-row:last-child,.model-row:last-child{border-bottom:0}
.muted{color:#8e97ac;font-size:12px}
.qr-box img{width:180px;height:180px;background:#fff;border-radius:8px}
.chat-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;width:min(1280px,100%);margin:0 auto;min-height:calc(100vh - 150px)}
.chat-sidebar,.chat-thread{border:1px solid #91a7d529;border-radius:16px;background:#0a1220d4;backdrop-filter:blur(16px);min-height:0}
.chat-sidebar{display:flex;flex-direction:column;padding:16px}
.chat-list{display:flex;flex-direction:column;gap:6px;overflow:auto;margin-top:12px}
.chat-item,.chat-item-active{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 4px 4px 10px;border-radius:10px;color:#c9d4e8;width:100%}
.chat-item button[data-open],.chat-item-active button[data-open]{flex:1;min-width:0;border:0;background:transparent;color:inherit;text-align:left;padding:8px 4px;font:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-item-active,.chat-item:hover{background:#17305680}
.chat-thread{display:flex;flex-direction:column}
.chat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #ffffff12}
.messages{flex:1;overflow:auto;padding:22px 22px 8px;display:flex;flex-direction:column;gap:14px}
.bubble{max-width:min(720px,92%);padding:14px 16px;border-radius:14px;line-height:1.6;font-size:15px;white-space:pre-wrap}
.bubble.user{margin-left:auto;background:#16324f;border:1px solid #80eaff33}
.bubble.assistant{background:#0d1524;border:1px solid #91a7d529}
.bubble small{display:block;margin-bottom:6px;color:#80eaff;font-size:11px;letter-spacing:.04em}
.composer{display:flex;gap:10px;padding:16px;border-top:1px solid #ffffff12;align-items:flex-end}
.composer textarea{min-height:52px;resize:none;flex:1}
.composer button{flex:0 0 auto;min-height:52px}
.chat-empty{display:grid;place-items:center;text-align:center;padding:40px;color:#99a4bc}
.switch{display:inline-flex;align-items:center;gap:8px}
.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.notice{margin-top:10px;color:#9edbff;font-size:13px}
@media(max-width:1024px){.chat-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:720px){.chat-layout{grid-template-columns:1fr}.chat-sidebar{max-height:220px}.admin-form{grid-template-columns:1fr}.app-main{padding:96px 6% 24px}}
