:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg: #0b0e14;--panel: #121722;--muted: #8691a3;--primary: #fbaa70;--primary-2: #fd6c12;--good: #2ecc71;--danger: #ff6b6b;--border: #b9b9b9;--bubble-user: #fcb565;--bubble-assistant: #eff2f7;--radius: 14px;--header-gap: 24px;--header-pad-x: 16px}*{box-sizing:border-box}.chat-fab{position:fixed;right:24px;bottom:24px;width:56px;height:56px;display:grid;place-items:center;border:none;border-radius:50%;background:linear-gradient(180deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 14px 34px #00000059,0 2px 8px #00000040;cursor:pointer;z-index:60;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.chat-fab:hover{transform:translateY(-1px) scale(1.1);box-shadow:0 18px 44px #0006,0 8px 25px #00000047;filter:saturate(1.1)}.chat-fab:active{transform:translateY(0) scale(1.05)}.chat-fab.fab-active{transform:rotate(45deg);background:linear-gradient(180deg,#ff4757,#c44569)}.chat-fab.fab-active:hover{transform:rotate(45deg) scale(1.1)}.fab-icon-wrap{position:relative;width:24px;height:24px;display:block}.mui-icon{position:absolute;top:0;right:0;bottom:0;left:0;font-size:24px;color:#fff;transition:opacity .35s ease,transform .35s ease;will-change:opacity,transform}.icon-chat{opacity:1;transform:scale(1) rotate(0)}.icon-close{opacity:0;transform:scale(.85) rotate(-90deg)}.chat-fab.fab-active .icon-chat{opacity:0;transform:scale(.85) rotate(90deg)}.chat-fab.fab-active .icon-close{opacity:1;transform:scale(1) rotate(45deg)}.chat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:55;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.chat-backdrop.backdrop-entering{opacity:0;animation:backdropFadeIn .3s cubic-bezier(.4,0,.2,1) forwards}.chat-backdrop.backdrop-exiting{animation:backdropFadeOut .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}.chat-modal-container{--fab-gap-bottom: 90px;--fab-gap-right: 24px;position:fixed;right:var(--fab-gap-right);bottom:var(--fab-gap-bottom);display:grid;place-items:end;z-index:56;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:1;transform:translateY(0) scale(1)}.chat-modal-container.modal-entering{opacity:0;transform:translateY(20px) scale(.95);animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1) forwards}.chat-modal-container.modal-exiting{opacity:1;transform:translateY(0) scale(1);animation:modalSlideOut .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}.chat-modal-container .chat-widget{width:min(350px,94vw);height:min(82vh,680px);border-radius:5%}@media (max-width: 520px){.chat-modal-container{--fab-gap-right: 12px;--fab-gap-bottom: 86px}.chat-modal-container .chat-widget{width:calc(100vw - 24px);height:min(70vh,600px)}}.chat-widget{border:1px solid var(--border);background:#f3e9d6b8;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%);width:100%;height:100%;border-radius:14px;box-shadow:0 24px 60px #00000073;display:flex;flex-direction:column;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-widget.chat-closing{animation:chatWidgetSlideOut .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes chatWidgetSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.chat-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--header-gap);padding:6px var(--header-pad-x);background:linear-gradient(180deg,var(--primary),var(--primary-2));border-bottom:1px solid var(--border);animation:headerSlideIn .4s cubic-bezier(.4,0,.2,1) .1s both}@keyframes headerSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-left{justify-self:start}.header-center{display:inline-flex;align-items:center;gap:10px;justify-self:center}.header-right{justify-self:end}.brand-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px #fff3}.chat-title{color:#fff;font-weight:600;letter-spacing:.2px}.icon-button{background:transparent;border:none;color:#dfe7ff;padding:8px;border-radius:10px;cursor:pointer}.icon-button:active{transform:scale(.96)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.2px}.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--good);box-shadow:0 0 16px #2ecc7199;animation:dotPulse 2s ease-in-out infinite}@keyframes dotPulse{0%,to{box-shadow:0 0 16px #2ecc7199}50%{box-shadow:0 0 20px #2ecc71cc}}.chat-list{position:relative;flex:1 1 auto;overflow-y:auto;padding:12px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#212a3b transparent}.chat-list::-webkit-scrollbar{width:10px;height:10px}.chat-list::-webkit-scrollbar-track{background:transparent}.chat-list::-webkit-scrollbar-thumb{background:#1a2131;border:3px solid transparent;background-clip:content-box;border-radius:8px}.chat-list.bg{background-image:var(--chat-bg);background-size:cover;background-position:center;background-repeat:no-repeat}.msg{display:flex;animation:messageSlideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.bubble{max-width:min(800px,75%);white-space:pre-wrap;word-break:break-word;padding:12px 14px;border:1px solid var(--border);border-radius:14px;line-height:1.15;box-shadow:0 8px 24px #00000040;font-size:13px;transition:transform .2s ease,box-shadow .2s ease}.bubble:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0000004d}.msg.user .bubble{background:var(--bubble-user);border-top-right-radius:4px}.msg.assistant .bubble{background:var(--bubble-assistant);border-top-left-radius:4px}.bubble.typing{display:inline-flex;gap:6px;align-items:center}.dot-anim{width:6px;height:6px;border-radius:50%;background:#cbd7ff;animation:bounce 1.2s infinite}.dot-anim:nth-child(2){animation-delay:.15s}.dot-anim:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.chat-input{flex:0 0 auto;display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:var(--primary-2);border-top:1px solid var(--border);padding-bottom:max(12px,env(safe-area-inset-bottom));animation:inputSlideIn .4s cubic-bezier(.4,0,.2,1) .2s both}@keyframes inputSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.input-area{resize:none;background:#f5eeee;color:#18181a;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;outline:none;min-height:44px;max-height:180px;overflow-y:auto;scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:#686a6e transparent;transition:border-color .2s ease,box-shadow .2s ease}.input-area:focus{border-color:#223051;box-shadow:0 0 0 2px #22305133}.input-area::-webkit-scrollbar{width:8px}.input-area::-webkit-scrollbar-track{background:transparent}.input-area::-webkit-scrollbar-thumb{background:#b8c2d6;border-radius:8px}.input-area::-webkit-scrollbar-thumb:hover{background:#9fb0cc}.send-btn{background:transparent;border:none;padding:6px;margin:0;line-height:0;display:grid;place-items:center;cursor:pointer;color:#fff;border-radius:50%;transition:all .2s ease}.send-btn:hover{color:#c6d0dd;transform:scale(1.1)}.send-btn:active{transform:scale(.95)}.send-btn:disabled{color:#d4d1d1;cursor:not-allowed;transform:none}.send-icon{width:20px;height:20px;fill:currentColor;transition:transform .2s ease}.send-btn:not(:disabled):hover .send-icon{transform:translate(2px)}.drawer-body{padding:14px 16px 18px;overflow:auto}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.gap8{gap:8px}.field{display:grid;gap:6px}.field>span{font-size:12px;color:var(--muted)}.input,.select{background:#0e1422;color:#e8eefc;border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input:focus,.select:focus{border-color:#243356;box-shadow:0 0 0 2px #24335633}.btn{background:linear-gradient(180deg,var(--primary),var(--primary-2));color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-size:14px;transition:all .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #fbaa704d}.btn:active{transform:translateY(0)}.btn.secondary{background:#2c3e50;color:#ecf0f1}.btn.secondary:hover{background:#34495e;box-shadow:0 4px 12px #34495e4d}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.output{margin-top:12px;background:#0b0f1b;color:#d8e2ff;border:1px dashed #2a3350;border-radius:12px;padding:12px;white-space:pre-wrap;word-break:break-word;max-height:40vh;overflow:auto}.error{margin-top:10px;color:var(--danger)}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#05080e8c;z-index:80}.modal{width:min(760px,96vw);background:#0e1422;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 20px 120px #0000008c;animation:pop .12s ease-out}@keyframes pop{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}.modalHeader,.modalFooter{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.modalFooter{border-top:1px solid var(--border);border-bottom:none}.modalBody{padding:12px}.modalClose{background:#151c2d;color:#e8eefc;border:1px solid var(--border);border-radius:10px;padding:6px 10px;cursor:pointer;transition:background .2s ease,transform .2s ease}.modalClose:hover{background:#12192a;transform:scale(1.05)}.filters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 720px){.grid-2,.filters-grid{grid-template-columns:1fr}.bubble{max-width:92%}}.crud-float{position:fixed;z-index:57;width:var(--crud-w, 560px);height:var(--crud-h, 520px);min-width:320px;min-height:260px;max-width:96vw;max-height:86vh;background:#0e1422;border:1px solid var(--border);border-radius:14px;display:grid;grid-template-rows:auto 1fr;box-shadow:0 24px 60px #00000073;overflow:hidden}.crud-left{left:24px;top:50%;transform:translateY(-50%)}.crud-center{left:50%;top:50%;transform:translate(-50%,-50%)}.crud-right{right:24px;top:50%;transform:translateY(-50%)}.crud-tl{left:24px;top:24px}.crud-tr{right:24px;top:24px}.crud-bl{left:24px;bottom:24px}.crud-br{right:24px;bottom:24px}.crud-header{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border);cursor:move;-webkit-user-select:none;user-select:none;background:linear-gradient(180deg,var(--primary),var(--primary-2))}.crud-title{margin:0;color:#fff;font-size:16px}.crud-actions{display:inline-flex;align-items:center;gap:8px}.crud-pos-label{color:#fff;font-size:12px;display:inline-flex;align-items:center;gap:6px}.crud-pos-select{min-width:160px}.crud-resize{position:absolute;z-index:2;background:transparent}.crud-resize.r{top:0;right:-3px;width:10px;height:100%;cursor:ew-resize}.crud-resize.b{left:0;bottom:-3px;width:100%;height:10px;cursor:ns-resize}.crud-resize.br{right:-4px;bottom:-4px;width:14px;height:14px;cursor:nwse-resize;border-bottom-right-radius:6px}.crud-resize.br:after{content:"";position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-right:2px solid rgba(255,255,255,.5);border-bottom:2px solid rgba(255,255,255,.5)}
