pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #00d4ff 100%);--gradient-success: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);--gradient-cyan: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%);--gradient-purple: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);--shadow-card: 0 25px 50px -12px rgba(0, 0, 0, .4)}.chat-page-inner{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;position:relative;overflow:hidden;box-sizing:border-box}.chat-page-inner:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#6366f108,#22d3ee05,#a855f708);pointer-events:none}.chat-toolbar,.session-toolbar{display:flex;flex-wrap:nowrap;gap:.75rem;align-items:center;margin-bottom:.75rem;padding:.85rem 1rem;border-bottom:1px solid rgba(99,102,241,.15);background:linear-gradient(180deg,#0f172af2,#0f172ab3);border-radius:16px 16px 0 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;flex-shrink:0;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.45) transparent}.chat-toolbar::-webkit-scrollbar,.session-toolbar::-webkit-scrollbar{height:6px}.chat-toolbar::-webkit-scrollbar-thumb,.session-toolbar::-webkit-scrollbar-thumb{background:#6366f166;border-radius:4px}.chat-toolbar::-webkit-scrollbar-track,.session-toolbar::-webkit-scrollbar-track{background:#0f172a66;border-radius:4px}.chat-toolbar--compact{gap:.5rem .65rem;align-items:center}.session-toolbar--compact{gap:.5rem .65rem}.chat-tool-group{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.chat-tool-group--grow{flex:1 1 12rem;min-width:0;max-width:100%;overflow:hidden}.chat-tool-icon-inline{display:flex;align-items:center;justify-content:center;color:#64748b;flex-shrink:0}.chat-toolbar--compact .chat-tool-group:not(.chat-tool-group--grow){flex-shrink:0}.chat-toolbar--compact .chat-tool-group:not(.chat-tool-group--grow) .chat-tool-select{flex:0 0 auto;width:clamp(8.5rem,26vw,13rem);min-width:8.5rem;max-width:13rem}.chat-tool-group--grow .chat-tool-select,.chat-tool-group--grow .chat-tool-select--session{min-width:0;width:100%;max-width:none}.chat-tool-select--session{min-width:0}.chat-tool-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border-radius:10px;border:1px solid rgba(71,85,105,.75);background:#0f172ae6;color:#cbd5e1;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;flex-shrink:0}.chat-tool-icon-btn:hover{background:#3b82f61f;border-color:#60a5fa73;color:#f1f5f9}.chat-tool-icon-btn--accent{border-color:#6366f173;background:#4f46e538;color:#c7d2fe}.chat-tool-icon-btn--accent:hover{background:#6366f152;border-color:#818cf8a6;color:#eef2ff}.chat-tool-icon-btn--dashed{border-style:dashed;border-color:#94a3b873;background:transparent;color:#94a3b8}.chat-tool-icon-btn--dashed:hover{border-color:#93c5fd;color:#e2e8f0}.session-toolbar__actions{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.25rem;margin-left:auto;flex-shrink:0}.chat-toolbar label,.session-toolbar label{font-size:.78rem;color:#94a3b8;display:flex;flex-direction:column;gap:.25rem;font-weight:500}.chat-toolbar select,.session-toolbar select,.chat-tool-select{background:#0f172ae6;color:#e2e8f0;border:1px solid rgba(99,102,241,.25);border-radius:12px;padding:.5rem .75rem;font-size:.88rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.chat-toolbar select:focus,.session-toolbar select:focus,.chat-tool-select:focus{outline:none;border-color:#60a5fa99;box-shadow:0 0 0 3px #3b82f62e,0 0 20px #60a5fa26}.chat-toolbar select:hover,.session-toolbar select:hover,.chat-tool-select:hover{border-color:#60a5fa66}.msg-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border-radius:6px;border:none;background:transparent;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease}.msg-icon-btn:hover{background:#64748b26;color:#94a3b8}.msg-icon-btn--done{color:#4ade80}.chat-container-scroll{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:1rem;border-radius:0 0 16px 16px;background:#0f172a99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.loading-more{text-align:center;padding:.5rem;color:#64748b;font-size:.8rem}.chat-container-scroll::-webkit-scrollbar{width:6px}.chat-container-scroll::-webkit-scrollbar-track{background:#1e293b80;border-radius:3px}.chat-container-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#60a5fa,#8b5cf6);border-radius:3px}.chat-container-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#3b82f6,#7c3aed)}.message{display:flex;gap:1rem;margin-bottom:1.5rem;animation:message-appear .3s ease-out;min-width:0}@keyframes message-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse;align-items:flex-start;gap:.5rem}.message .avatar{width:2.75rem;height:2.75rem;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.message.assistant .avatar{background:linear-gradient(135deg,#a855f7,#7c3aed);box-shadow:0 4px 16px #a855f759}.message .content{flex:1;min-width:0;max-width:min(75%,52rem)}.chat-msg-assistant{align-items:flex-start;gap:.5rem}.chat-msg-assistant__aside{flex-shrink:0;width:1.75rem;padding-top:.45rem}.chat-msg-assistant__mark{width:1.65rem;height:1.65rem;border-radius:7px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#6366f1f2,#8b5cf6e0);color:#fffffff2;box-shadow:0 2px 10px #6366f140}.chat-msg-assistant__main{flex:1;min-width:0;max-width:min(100%,56rem)}.chat-msg-assistant__head{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;margin-bottom:.35rem;min-width:0;flex-wrap:nowrap}.chat-msg-assistant__label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b;flex-shrink:0}.chat-msg-assistant__footer{display:flex;align-items:center;justify-content:flex-start;gap:.3rem;margin-top:.4rem;padding-left:.15rem}.chat-msg-assistant__body{padding:0;margin:0;background:transparent;border:none;box-shadow:none;border-radius:0;border-left:2px solid rgba(99,102,241,.28);padding-left:.75rem;margin-left:.1rem;min-width:0;overflow-x:auto}.message.user .content{text-align:right}.chat-msg-user__main{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.message.assistant:not(.chat-msg-assistant) .content{background:#1e293bcc;border:1px solid rgba(99,102,241,.15);border-radius:18px 18px 18px 4px;padding:.9rem 1.2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 28px #0003}.chat-user-text{color:#f8fafc;font-size:.95rem;line-height:1.6;padding:.75rem 1rem;border:1px solid rgba(59,130,246,.2);border-radius:16px 16px 4px;border-right:2px solid rgba(59,130,246,.4);background:#1e293b4d;transition:all .2s ease}.chat-msg-user__main:hover .chat-user-text{background:#1e293b80;border-color:#3b82f64d}.chat-user-footer{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.chat-user-actions{display:flex;align-items:center;gap:.2rem;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s ease}.chat-msg-user__main:hover .chat-user-actions{opacity:1;visibility:visible;transform:translateY(0)}.chat-user-time{font-size:.7rem;color:#64748b;margin-right:.2rem}.chat-user-account{font-size:.7rem;color:#64748b;opacity:0;visibility:hidden;transition:all .2s ease}.chat-msg-user__main:hover .chat-user-account{opacity:1;visibility:visible}.message.assistant .chat-md{color:#e2e8f0;font-size:.95rem;line-height:1.7}.message.assistant .chat-md :deep(p){margin:.5rem 0}.message.assistant .chat-md :deep(p:first-child){margin-top:0}.message.assistant .chat-md :deep(p:last-child){margin-bottom:0}.message.assistant .chat-md :deep(code){background:#0f172acc;padding:.15rem .4rem;border-radius:6px;font-family:Fira Code,Consolas,monospace;font-size:.85rem;color:#f8fafc}.message.assistant .chat-md :deep(pre){background:#0f172af2;border:1px solid rgba(99,102,241,.2);border-radius:12px;padding:1rem;overflow-x:auto;margin:.75rem 0;position:relative}.message.assistant .chat-md :deep(pre):before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-cyan);border-radius:12px 12px 0 0}.message.assistant .chat-md :deep(pre code){background:transparent;padding:0;font-size:.82rem;line-height:1.6}.message.assistant .chat-md :deep(ul),.message.assistant .chat-md :deep(ol){margin:.5rem 0;padding-left:1.5rem}.message.assistant .chat-md :deep(li){margin:.25rem 0}.message.assistant .chat-md :deep(strong){color:#f8fafc;font-weight:600}.message.assistant .chat-md :deep(a){color:#60a5fa;text-decoration:none;border-bottom:1px solid rgba(96,165,250,.3);transition:all .2s ease}.message.assistant .chat-md :deep(a:hover){color:#93c5fd;border-bottom-color:#60a5fa99}.assistant-msg-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.25rem;margin:0;justify-content:flex-end;flex-shrink:0}.msg-fork:hover{background:#a855f726;border-color:#a855f766;color:#e2e8f0}.stream-live{white-space:pre-wrap;word-break:break-word;color:#e2e8f0}.stream-live:after{content:"▌";animation:blink .8s ease-in-out infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.input-wrapper{display:flex;flex-direction:column;background:#0f172af2;border-top:1px solid rgba(71,85,105,.3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.input-hint{padding:.5rem 1rem;font-size:.75rem;color:#64748b;border-bottom:1px solid rgba(71,85,105,.2)}.input-hint code{display:inline-block;padding:.125rem .35rem;background:#6366f133;border-radius:4px;color:#a5b4fc;font-family:JetBrains Mono,monospace;font-size:.7rem}.input-container{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;min-width:0;flex-shrink:0;box-sizing:border-box}.input-toolbar{display:flex;align-items:center;gap:.2rem}.input-tool-btn{width:1.75rem;height:1.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:#64748b;cursor:pointer;transition:color .15s ease;font-size:.85rem}.input-tool-btn:hover{color:#94a3b8}.input-container textarea{flex:1 1 auto;min-width:0;min-height:64px;max-height:240px;resize:vertical;background:#1e293b99;color:#e2e8f0;border:1px solid rgba(71,85,105,.4);border-radius:12px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;line-height:1.5;transition:all .25s cubic-bezier(.4,0,.2,1)}.input-container textarea:focus{outline:none;border-color:#60a5fa8c;box-shadow:0 0 0 3px #3b82f626,0 0 30px #60a5fa1f}.input-container textarea::placeholder{color:#64748b}.input-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.input-model-select{padding:.35rem .5rem;background:#1e293bcc;border:1px solid rgba(71,85,105,.4);border-radius:8px;color:#94a3b8;font-size:.78rem;cursor:pointer;outline:none;transition:all .2s ease}.input-model-select:focus{border-color:#60a5fa80}.input-model-select:hover{border-color:#60a5fa66}.input-container button{width:2.5rem;height:2.5rem;border-radius:12px;border:none;background:linear-gradient(135deg,#2563eb,#6366f1,#8b5cf6);color:#fff;cursor:pointer;box-shadow:0 6px 20px #2563eb4d;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.input-container button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 28px #6366f161}.input-container button:active:not(:disabled){transform:translateY(0)}.input-container button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-stop{padding:.5rem 1rem!important;width:auto!important;background:#ef444433!important;border:1px solid rgba(239,68,68,.4)!important;color:#fca5a5!important;box-shadow:0 0 12px #ef44444d!important;animation:pulse 1.5s ease-in-out infinite}.btn-stop:hover{background:#ef44444d!important;animation:none}@keyframes pulse{0%,to{box-shadow:0 0 12px #ef44444d}50%{box-shadow:0 0 24px #ef444480}}.typing-indicator{display:flex;gap:.75rem;align-items:center;padding:1rem;color:#94a3b8}.typing-dots{display:flex;gap:.25rem}.typing-dots span{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#8b5cf6);animation:typing-dot 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-dot{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.hljs-lang-label{position:absolute;top:.5rem;left:3.25rem;font-size:.65rem;color:#94a3b8;background:#0f172acc;padding:.2rem .4rem;border-radius:6px}.hljs-copy{position:absolute;top:.45rem;right:.65rem;width:1.85rem;height:1.85rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid rgba(71,85,105,.8);background:#0f172ad9;color:#94a3b8;cursor:pointer;transition:all .2s ease}.hljs-copy:hover{background:#3b82f633;border-color:#60a5fa66;color:#e2e8f0}.hljs-copy--done{color:#4ade80;border-color:#4ade8059}.pre-with-lang{padding-top:2rem}.chat-cost-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.55rem 1rem;margin-bottom:.5rem;border-radius:12px;background:#1e293ba6;border:1px solid rgba(99,102,241,.2);font-size:.82rem;color:#94a3b8;min-width:0;max-width:100%;box-sizing:border-box}.chat-cost-bar__main{min-width:0;word-break:break-word}.chat-cost-bar__main strong{color:#e2e8f0;font-weight:600}.chat-cost-bar__est{color:#64748b;font-size:.78rem}.chat-cost-bar__link{margin-left:auto;color:#93c5fd;text-decoration:none;font-weight:500}.chat-cost-bar__link:hover{text-decoration:underline}.chat-resume-hint{margin:0 0 .5rem;font-size:.8rem;color:#64748b}.chat-resume-hint a{color:#93c5fd}.btn-snippet-add{font-size:.82rem;padding:.45rem .65rem;border-radius:10px;border:1px dashed rgba(148,163,184,.5);background:transparent;color:#94a3b8;cursor:pointer}.btn-snippet-add:hover{border-color:#93c5fd;color:#e2e8f0}.btn-stop{background:linear-gradient(135deg,#b45309,#92400e)!important;color:#fff!important}.chat-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:10050;padding:1rem}.chat-modal{width:min(520px,100%);max-height:min(80vh,560px);display:flex;flex-direction:column;background:#1e293b;border:1px solid #334155;border-radius:16px;box-shadow:0 25px 50px #00000073}.chat-modal__head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;border-bottom:1px solid #334155}.chat-modal__head h3{margin:0;font-size:1rem;color:#f1f5f9}.chat-modal__close{border:none;background:transparent;color:#94a3b8;font-size:1.5rem;line-height:1;cursor:pointer}.chat-modal__body{padding:1rem;overflow:hidden;display:flex;flex-direction:column;gap:.75rem}.chat-modal__search-row{display:flex;gap:.5rem}.chat-modal__input{flex:1;padding:.5rem .65rem;border-radius:10px;border:1px solid #475569;background:#0f172a;color:#e2e8f0;font-size:.9rem}.chat-modal__search-row button{padding:.5rem .85rem;border-radius:10px;border:none;background:#2563eb;color:#fff;cursor:pointer;font-size:.85rem}.chat-modal__hits{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:360px}.chat-modal__empty{color:#64748b;padding:1rem;text-align:center}.chat-modal__hit{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;text-align:left;padding:.65rem .75rem;margin-bottom:.35rem;border-radius:10px;border:1px solid #334155;background:#0f172a;color:#cbd5e1;cursor:pointer;font-size:.82rem}.chat-modal__hit:hover{border-color:#64748b}.chat-modal__hit-sid{font-size:.72rem;color:#64748b}.chat-modal__hit-text{color:#e2e8f0;white-space:pre-wrap;word-break:break-word}.msg-retry{margin-left:0;color:#93c5fd;border-color:#475569d9;background:#3b82f614}.msg-retry:hover{background:#3b82f62e;border-color:#60a5fa73}.msg-feedback{margin-left:.25rem;display:inline-flex;gap:.25rem;padding:.2rem .35rem;border-radius:8px;background:#0f172a80;border:1px solid rgba(71,85,105,.5)}.msg-thumb{opacity:.75;transition:all .2s ease}.msg-thumb:hover{opacity:1;background:#3b82f626;border-color:#60a5fa66}.msg-thumb--active{opacity:1;border-color:#3b82f6;background:#3b82f626;color:#93c5fd;box-shadow:0 0 12px #60a5fa4d}.msg-thumb--active:hover{box-shadow:0 0 16px #60a5fa73}@media(max-width:768px){.chat-page-inner{height:calc(100vh - 100px)}.message .content{max-width:min(92%,100%)}.chat-msg-assistant__main{max-width:100%}.chat-toolbar,.session-toolbar{padding:.65rem .75rem;gap:.5rem}.chat-toolbar--compact .chat-tool-group:not(.chat-tool-group--grow) .chat-tool-select{width:clamp(7.25rem,36vw,10.5rem);min-width:7.25rem;max-width:10.5rem}.chat-sidebar{position:absolute;left:0;top:0;bottom:0;z-index:100;transform:translate(0);box-shadow:4px 0 20px #0000004d;width:240px}.chat-sidebar--collapsed{transform:translate(-100%);width:240px}.chat-sidebar__collapse-btn{right:-24px;left:auto;border-left:1px solid rgba(99,102,241,.25);border-right:none;border-radius:8px 0 0 8px}}@media(max-width:480px){.input-container{flex-wrap:wrap}.input-container textarea{flex:1 1 100%;width:100%;min-width:100%}.input-container button{width:100%;justify-content:center}}.chat-collapse{position:relative}.chat-collapse__preview{padding:0;margin:0}.chat-collapse__btn{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;margin-top:.5rem;padding:.5rem .75rem;background:#3b82f61f;border:1px solid rgba(96,165,250,.3);border-radius:8px;color:#60a5fa;font-size:.82rem;cursor:pointer;transition:all .2s ease}.chat-collapse__btn:hover{background:#3b82f633;border-color:#60a5fa73;color:#93c5fd}.chat-collapse__btn--collapsed{background:#4755694d;border-color:#64748b4d;color:#94a3b8}.chat-collapse__btn--collapsed:hover{background:#47556966;border-color:#64748b80;color:#cbd5e1}.chat-collapse__btn-text{font-weight:500}.chat-collapse__btn-count{opacity:.75;font-weight:400}.chat-collapse--code .chat-collapse__preview{max-height:200px;overflow:hidden;position:relative}.chat-collapse--code .chat-collapse__preview:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(to top,rgba(15,23,42,.98),transparent);pointer-events:none}.chat-page-wrapper{display:flex;flex-direction:row;height:calc(100vh - 120px);min-height:420px;width:100%;max-width:100%;position:relative;overflow:hidden}.chat-sidebar{width:clamp(240px,25vw,320px);background:#0f172af2;border-right:1px solid rgba(99,102,241,.15);display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative}.chat-sidebar--collapsed{width:48px}.chat-sidebar__collapse-btn{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:48px;background:#1e293bf2;border:1px solid rgba(99,102,241,.25);border-left:none;border-radius:0 8px 8px 0;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.chat-sidebar__collapse-btn:hover{background:#3b82f633;color:#e2e8f0;border-color:#60a5fa66}.chat-sidebar__section{border-bottom:1px solid rgba(71,85,105,.3)}.chat-sidebar__section:last-child{border-bottom:none;flex:1}.chat-sidebar__section-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .85rem;background:#1e293b80;border:none;cursor:pointer;width:100%;color:#94a3b8;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:background .2s ease}.chat-sidebar__section-header:hover{background:#1e293bb3;color:#cbd5e1}.chat-sidebar__section-title{display:flex;align-items:center;gap:.4rem}.chat-sidebar__section-count{font-size:.65rem;padding:.15rem .4rem;background:#6366f133;border-radius:10px;color:#93c5fd;font-weight:400}.chat-sidebar__chevron{transition:transform .2s ease}.chat-sidebar__chevron--rotated{transform:rotate(-90deg)}.chat-sidebar__content{padding:.65rem;display:flex;flex-direction:column;gap:.5rem}.chat-sidebar__group{display:flex;flex-direction:column;gap:.25rem}.chat-sidebar__label{font-size:.72rem;color:#64748b;font-weight:500}.chat-sidebar__select{background:#0f172ae6;color:#e2e8f0;border:1px solid rgba(71,85,105,.6);border-radius:10px;padding:.5rem .65rem;font-size:.82rem;cursor:pointer;transition:all .2s ease;width:100%}.chat-sidebar__select:focus{outline:none;border-color:#60a5fa80;box-shadow:0 0 0 2px #3b82f626}.chat-sidebar__select:hover{border-color:#60a5fa66}.chat-sidebar__select--session{min-height:auto}.chat-sidebar__add-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem;background:transparent;border:1px dashed rgba(148,163,184,.4);border-radius:10px;color:#94a3b8;font-size:.82rem;cursor:pointer;transition:all .2s ease;margin-top:.25rem}.chat-sidebar__add-btn:hover{border-color:#93c5fd;color:#e2e8f0}.chat-sidebar__actions{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.chat-sidebar__action-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:#1e293b80;border:1px solid rgba(71,85,105,.5);border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s ease}.chat-sidebar__action-btn:hover{background:#3b82f626;border-color:#60a5fa66;color:#e2e8f0}.chat-sidebar__collapsed-actions{display:flex;flex-direction:column;align-items:center;padding:1rem 0;gap:.5rem}.chat-sidebar__collapsed-btn{width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:#1e293b80;border:1px solid rgba(71,85,105,.4);border-radius:10px;color:#64748b;cursor:pointer;transition:all .2s ease}.chat-sidebar__collapsed-btn:hover{background:#3b82f62e;border-color:#60a5fa73;color:#e2e8f0}.chat-sidebar__collapsed-divider{width:50%;height:1px;background:#4755694d;margin:.25rem 0}.chat-sidebar__group--card-list{gap:.4rem}.chat-sidebar__label-row{display:flex;align-items:center;justify-content:space-between}.chat-sidebar__mini-btn{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:#3b82f626;border:1px solid rgba(96,165,250,.3);border-radius:6px;color:#60a5fa;cursor:pointer;transition:all .2s ease}.chat-sidebar__mini-btn:hover{background:#3b82f640;border-color:#60a5fa80;color:#93c5fd}.chat-sidebar__card-container{display:flex;flex-direction:column;gap:.35rem;max-height:200px;overflow-y:auto;padding-right:.25rem}.chat-sidebar__card-container::-webkit-scrollbar{width:4px}.chat-sidebar__card-container::-webkit-scrollbar-track{background:#47556933;border-radius:2px}.chat-sidebar__card-container::-webkit-scrollbar-thumb{background:#6366f166;border-radius:2px}.chat-sidebar__card{display:flex;flex-direction:column;align-items:flex-start;padding:.55rem .65rem;background:#1e293b99;border:1px solid rgba(71,85,105,.4);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.chat-sidebar__card:hover{background:#3b82f61f;border-color:#60a5fa66;transform:translate(4px)}.chat-sidebar__card-title{font-size:.82rem;font-weight:600;color:#e2e8f0;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.chat-sidebar__card-preview{font-size:.72rem;color:#64748b;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-sidebar__empty{font-size:.78rem;color:#64748b;padding:.75rem;text-align:center;background:#1e293b4d;border-radius:8px}.chat-sidebar__insert-indicator{position:fixed;bottom:100px;left:300px;background:#1e293bf2;border:1px solid rgba(99,102,241,.3);border-radius:12px;padding:.65rem 1rem;color:#94a3b8;font-size:.82rem;box-shadow:0 8px 24px #0000004d;animation:slideIn .3s ease-out;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.chat-page-wrapper{height:calc(100vh - 100px)}.chat-sidebar{width:240px}.chat-sidebar--collapsed{width:44px}}@media(max-width:480px){.chat-sidebar{position:absolute;left:0;top:0;bottom:0;z-index:100;transform:translate(0);box-shadow:4px 0 20px #0000004d}.chat-sidebar--collapsed{transform:translate(-100%)}.chat-sidebar__collapse-btn{right:-24px;left:auto;border-left:1px solid rgba(99,102,241,.25);border-right:none;border-radius:8px 0 0 8px}}.consumption-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;align-items:flex-end;padding:1rem 1.15rem;border-radius:14px;background:#1e293b8c;border:1px solid rgba(99,102,241,.12);box-shadow:0 6px 24px #00000026}.consumption-filters #filterBtn{padding:.5rem 1.15rem;border-radius:12px;border:none;font-weight:700;cursor:pointer;font-family:inherit;background:linear-gradient(135deg,#2563eb,#6366f1);color:#fff;box-shadow:0 6px 20px #2563eb59;transition:transform .12s ease,filter .12s ease}.consumption-filters #filterBtn:hover{filter:brightness(1.06);transform:translateY(-1px)}.consumption-filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#94a3b8}.consumption-filters input,.consumption-filters select{background:#1e293b;color:#e2e8f0;border:1px solid #475569;border-radius:8px;padding:.4rem .5rem}.consumption-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid rgba(99,102,241,.12);background:#1e293b73;box-shadow:var(--ut-card-glow, 0 8px 28px rgba(0, 0, 0, .2));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.consumption-table-wrap .data-table{width:100%;border-collapse:collapse}.consumption-table-wrap .data-table th{text-align:left;padding:.85rem 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;border-bottom:1px solid rgba(51,65,85,.85);background:#0f172a80}.consumption-table-wrap .data-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(30,41,59,.85);font-size:.88rem}.consumption-table-wrap .data-table tbody tr:hover{background:#3b82f60f}.amount-negative{color:#fb7185;font-weight:600}.model-tag{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:linear-gradient(135deg,#3b82f640,#6366f126);color:#bfdbfe;font-size:.78rem;border:1px solid rgba(96,165,250,.3)}:root{--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #00d4ff 100%);--gradient-success: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);--gradient-warning: linear-gradient(135deg, #fc4a1a 0%, #f7b733 100%);--gradient-cyan: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%);--gradient-purple: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%)}.dashboard-page{padding:1.75rem;max-width:1400px;margin:0 auto;box-sizing:border-box}.dashboard-greeting-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.25rem;margin-bottom:2.5rem}.dashboard-greeting-row .greeting-content{display:flex;flex-direction:column;gap:.35rem}.dashboard-greeting-row h1{margin:0;font-size:clamp(1.75rem,3vw,2.3rem);font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,#f8fafc,#93c5fd,#c4b5fd 60%,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}.dashboard-greeting-row h1:after{content:"";position:absolute;bottom:-8px;left:0;width:70px;height:4px;background:var(--gradient-primary);border-radius:2px;animation:underline-flow 3.5s ease-in-out infinite}@keyframes underline-flow{0%,to{width:70px}50%{width:140px}}.dashboard-greeting-row p{margin:0;color:#94a3b8;font-size:1.05rem}.live-stats{display:inline-flex;align-items:center;gap:.65rem;font-size:.88rem;color:#94a3b8;padding:.65rem 1.1rem;border-radius:999px;border:1px solid rgba(99,102,241,.3);background:linear-gradient(135deg,#1e293bf2,#0f172ad9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0003}.live-dot{width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#10b981);box-shadow:0 0 14px #22c55e99,0 0 28px #22c55e4d;animation:pulse-dot 2.5s ease-in-out infinite;position:relative}.live-dot:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:#22c55e4d;animation:pulse-ring 2.5s ease-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.88)}}@keyframes pulse-ring{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#1e293be6,#0f172ad9);border:1px solid rgba(99,102,241,.18);border-radius:20px;padding:1.5rem 1.75rem;transition:all .35s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #00000040}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);opacity:.95}.stat-card:after{content:"";position:absolute;top:-40%;right:-30%;width:90%;height:90%;background:radial-gradient(circle,rgba(99,102,241,.12) 0%,transparent 70%);transition:opacity .35s ease;opacity:0}.stat-card:hover{transform:translateY(-8px) scale(1.015);border-color:#818cf880;box-shadow:0 0 0 1px #6366f140,0 25px 55px #00000059,0 0 50px #6366f11f}.stat-card:hover:after{opacity:1}.stat-card.balance-card:before{background:var(--gradient-success)}.stat-card.balance-card .value{color:#34d399}.stat-card.usage-card:before{background:var(--gradient-cyan)}.stat-card.usage-card .value{color:#22d3ee}.stat-card.keys-card:before{background:var(--gradient-purple)}.stat-card.keys-card .value{color:#a855f7}.stat-card.spent-card:before{background:var(--gradient-warning)}.stat-card.spent-card .value{color:#fbbf24}.stat-card .label{font-size:.82rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.65rem;display:flex;align-items:center;gap:.5rem}.stat-card .label:before{content:"";width:4px;height:4px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#818cf8)}.stat-card .value{font-size:1.85rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.45rem;display:flex;align-items:baseline;gap:.35rem}.stat-card .change{font-size:.88rem;display:flex;align-items:center;gap:.3rem}.stat-card .change.up{color:#34d399}.stat-card .change.down{color:#f87171}.low-balance-banner{display:none;align-items:center;gap:.85rem;padding:1.1rem 1.5rem;margin-bottom:1.75rem;border-radius:16px;background:linear-gradient(90deg,#f59e0b33,#fbbf241a);border:1px solid rgba(251,191,36,.5);color:#fde68a;font-size:1rem;box-shadow:0 8px 32px #f59e0b1f}.low-balance-banner.show{display:flex}.low-balance-banner:before{content:"⚠";font-size:1.3rem}.usage-trend-card{background:linear-gradient(145deg,#1e293bb3,#0f172a99);border:1px solid rgba(99,102,241,.15);border-radius:20px;padding:1.75rem;margin-bottom:2.5rem;box-shadow:0 12px 40px #00000040}.usage-trend-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.usage-trend-head h2{margin:0;font-size:1.35rem;font-weight:700;color:#f1f5f9;display:flex;align-items:center;gap:.5rem}.usage-trend-head h2:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gradient-primary);box-shadow:0 0 10px #6366f180}.usage-trend-head select{background:#0f172ad9;color:#e2e8f0;border:1px solid rgba(99,102,241,.25);border-radius:12px;padding:.55rem .85rem;font-size:.9rem;cursor:pointer;transition:all .2s ease}.usage-trend-head select:focus{outline:none;border-color:#60a5fa80}.usage-trend-chart{padding:1.25rem 0}.trend-bars{display:flex;justify-content:space-between;align-items:flex-end;height:180px;padding:0 .75rem}.trend-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:28px}.trend-bar-stack{display:flex;flex-direction:column;align-items:center;height:155px;justify-content:flex-end;width:100%}.trend-bar{width:55%;min-width:14px;max-width:36px;background:linear-gradient(180deg,#60a5fa,#8b5cf6 60%,#6366f1);border-radius:10px 10px 4px 4px;transition:height .6s cubic-bezier(.4,0,.2,1),opacity .3s ease,transform .3s ease;position:relative;box-shadow:0 4px 15px #60a5fa4d}.trend-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:#ffffff59;border-radius:10px 10px 0 0}.trend-bar:hover{opacity:.88;transform:scaleX(1.15);box-shadow:0 6px 22px #60a5fa73}.trend-bar:hover:before{background:#ffffff80}.trend-label{font-size:.72rem;color:#64748b;margin-top:.65rem;text-align:center;letter-spacing:.03em}.trend-empty{text-align:center;color:#64748b;padding:2.5rem;font-size:.95rem}.quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-bottom:2.5rem}.action-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#1e293be6,#0f172ad9);border:1px solid rgba(99,102,241,.18);border-radius:22px;padding:2rem 1.75rem;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 35px #00000040}.action-card:before{content:"";position:absolute;top:-50%;right:-25%;width:110%;height:110%;background:radial-gradient(circle at 35% 0%,rgba(56,189,248,.2),transparent 65%);transition:opacity .45s ease;opacity:0}.action-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;padding:1px;background:linear-gradient(135deg,rgba(99,102,241,.3),transparent,rgba(34,211,238,.3));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease}.action-card:hover{transform:translateY(-10px) scale(1.02);border-color:#818cf880;box-shadow:0 0 0 1px #6366f140,0 22px 50px #00000059,0 0 55px #6366f11f}.action-card:hover:before,.action-card:hover:after{opacity:1}.action-card .icon{font-size:2.5rem;margin-bottom:.85rem;display:inline-block;transition:transform .35s cubic-bezier(.4,0,.2,1)}.action-card:hover .icon{transform:scale(1.2) rotate(6deg)}.action-card .title{font-weight:700;font-size:1.15rem;margin-bottom:.45rem;color:#f1f5f9}.action-card .desc{font-size:.9rem;color:#94a3b8;line-height:1.5}.recent-activity{background:linear-gradient(145deg,#1e293bb3,#0f172a99);border:1px solid rgba(99,102,241,.15);border-radius:20px;padding:1.75rem;box-shadow:0 12px 40px #00000040}.recent-activity h2{margin:0 0 1.5rem;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:.65rem;color:#f1f5f9}.recent-activity h2:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gradient-primary);box-shadow:0 0 12px #6366f180}.activity-list{list-style:none;margin:0;padding:0}.activity-item{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;border-bottom:1px solid rgba(71,85,105,.3);transition:all .25s ease}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#6366f10f;margin:0 -1rem;padding-left:1rem;padding-right:1rem;border-radius:14px}.activity-item .info{display:flex;gap:1.1rem;align-items:center}.activity-item .info>.icon{width:3.2rem;height:3.2rem;display:flex;align-items:center;justify-content:center;border-radius:16px;font-size:1.45rem;background:linear-gradient(145deg,#334155b3,#1e293bcc);box-shadow:inset 0 2px 4px #0000004d,inset 0 1px #ffffff0f;transition:transform .25s ease}.activity-item:hover .info>.icon{transform:scale(1.1)}.activity-item .detail{display:flex;flex-direction:column;gap:.35rem}.activity-item .detail .title{font-weight:600;color:#f1f5f9;font-size:.95rem}.activity-item .detail .time{font-size:.85rem;color:#64748b}.activity-item .amount{font-size:1rem;font-weight:600}.activity-item .amount.positive{color:#34d399}.activity-item .amount.negative{color:#f87171}.dashboard-embed-hint{margin-top:2.5rem;font-size:.92rem;color:#64748b}.dashboard-embed-hint a{color:#93c5fd;font-weight:500;text-decoration:none;padding:.4rem .85rem;border-radius:12px;border:1px solid rgba(147,197,253,.3);margin-left:.4rem;transition:all .25s ease;background:#3b82f60f}.dashboard-embed-hint a:hover{background:#3b82f62e;border-color:#93c5fd80;box-shadow:0 0 22px #3b82f626}@media(max-width:768px){.dashboard-page{padding:1.25rem}.stats{grid-template-columns:repeat(2,1fr)}.quick-actions{grid-template-columns:1fr}.dashboard-greeting-row{flex-direction:column;align-items:flex-start}.live-stats{margin-top:.5rem}}@media(max-width:480px){.stats{grid-template-columns:1fr}.dashboard-greeting-row h1{font-size:1.65rem}}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.title button{background:linear-gradient(135deg,#2563eb,#4f46e5);padding:.75rem 1.5rem;border:none;border-radius:12px;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 6px 22px #2563eb59;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.title button:hover{filter:brightness(1.05);box-shadow:0 8px 28px #4f46e566;transform:translateY(-1px)}.title button:disabled{background:#475569;cursor:not-allowed}.level-info{background:linear-gradient(90deg,#3b82f629,#6366f114);padding:1rem 1.15rem;border-radius:14px;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(96,165,250,.25);box-shadow:0 8px 28px #0000001f}.level-info .level-badge{background:linear-gradient(135deg,#8b5cf659,#a78bfa33);color:#e9d5ff;padding:.35rem .9rem;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid rgba(167,139,250,.35)}.level-info .key-limit{color:#94a3b8;font-size:.9rem}.level-info .key-limit span{color:#f1f5f9;font-weight:600}.key-card{background:linear-gradient(160deg,#1e293bf2,#0f172abf);padding:1.5rem;border-radius:16px;margin-bottom:1rem;border:1px solid rgba(99,102,241,.12);box-shadow:var(--ut-card-glow, 0 10px 32px rgba(0, 0, 0, .22));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.key-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.key-header .name{font-weight:600;font-size:1.1rem}.key-header .status{padding:.3rem .8rem;border-radius:20px;font-size:.8rem}.key-header .status.active{background:#10b98133;color:#10b981}.key-header .status.inactive{background:#9ca3af33;color:#9ca3af}.key-value{display:flex;align-items:stretch;gap:.75rem;margin-bottom:1rem;padding:.5rem .65rem;background:#0f172abf;border:1px solid rgba(51,65,85,.85);border-radius:8px}.key-value code{flex:1;min-width:0;display:flex;align-items:center;font-family:monospace;font-size:.875rem;line-height:1.45;color:#cbd5e1;word-break:break-all;background:#02061773;border:1px solid rgba(51,65,85,.65);border-radius:6px;padding:.55rem .75rem}.key-value button{align-self:center;flex-shrink:0;background:#3b82f633;color:#3b82f6;border:none;padding:.4rem .85rem;border-radius:6px;cursor:pointer;font-size:.8rem}.key-footer{display:flex;justify-content:space-between;align-items:center;color:#64748b;font-size:.85rem}.key-footer .actions{display:flex;gap:1rem}.key-footer .actions button{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.3rem .6rem;border-radius:4px}.key-footer .actions button:hover{background:#ffffff0d;color:#f1f5f9}.key-footer .actions .danger{color:#ef4444}.empty-state{text-align:center;padding:4rem;color:#64748b}.empty-state .icon{font-size:4rem;margin-bottom:1rem}.empty-state p{margin-bottom:1rem}.empty-state button{background:linear-gradient(135deg,#3b82f6,#6366f1);padding:.75rem 1.5rem;border:none;border-radius:12px;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 6px 22px #3b82f659}:root{--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #00d4ff 100%);--gradient-bg-1: radial-gradient(circle at 20% 20%, rgba(99, 102, 241, .18) 0%, transparent 45%);--gradient-bg-2: radial-gradient(circle at 80% 80%, rgba(34, 211, 238, .12) 0%, transparent 45%);--gradient-bg-3: radial-gradient(circle at 50% 50%, rgba(168, 85, 247, .1) 0%, transparent 55%);--auth-panel-max: min(480px, calc(100vw - 2rem) )}body.user-portal:has(.auth-page){min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;overflow:hidden!important;margin:0!important;padding:1.5rem!important;box-sizing:border-box!important;background:#0a0f1a!important}body.user-portal:has(.auth-page) #root{width:100%;max-width:100%;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.auth-page-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--gradient-bg-1),var(--gradient-bg-2),var(--gradient-bg-3);animation:bg-float 25s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes bg-float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(3%,-3%) rotate(1deg)}66%{transform:translate(-3%,3%) rotate(-1deg)}}.auth-page{position:relative;z-index:1;width:100%;max-width:var(--auth-panel-max);box-sizing:border-box}.auth-card{background:linear-gradient(145deg,#1e293bfa,#0f172af2);border:1px solid rgba(99,102,241,.25);border-radius:24px;padding:2.25rem;box-shadow:0 30px 60px -15px #00000080,0 0 100px #6366f11f,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}.auth-card__header{text-align:center;margin-bottom:2.5rem}.auth-card__logo{font-size:2.75rem;font-weight:800;background:linear-gradient(135deg,#f8fafc,#93c5fd,#c4b5fd 60%,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 .75rem;letter-spacing:-.05em;transition:all .3s ease}.auth-card__logo:hover{transform:scale(1.02);filter:brightness(1.1)}.auth-card__subtitle{color:#94a3b8;font-size:1.05rem;margin:0;font-weight:400}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-form__group{display:flex;flex-direction:column;gap:.65rem}.auth-form__label{font-size:.88rem;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.auth-form__input{padding:1rem 1.25rem;background:#0f172ae6;border:1px solid rgba(99,102,241,.25);border-radius:16px;color:#f1f5f9;font-size:1rem;transition:all .25s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.auth-form__input:focus{outline:none;border-color:#60a5fa99;box-shadow:0 0 0 3px #3b82f633,0 0 35px #60a5fa26}.auth-form__input::placeholder{color:#64748b}.auth-form__input:hover{border-color:#6366f166}.auth-form__submit{padding:1.15rem 1.5rem;border-radius:16px;border:none;background:linear-gradient(135deg,#2563eb,#6366f1,#8b5cf6);color:#fff;font-weight:700;font-size:1.1rem;letter-spacing:.08em;cursor:pointer;box-shadow:0 12px 36px #2563eb6b;transition:all .25s cubic-bezier(.4,0,.2,1);margin-top:.5rem}.auth-form__submit:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-3px);box-shadow:0 16px 44px #6366f17a}.auth-form__submit:active:not(:disabled){transform:translateY(-1px)}.auth-form__submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.auth-card__footer{margin-top:2rem}.auth-card__link-row{text-align:center;color:#94a3b8;font-size:.95rem;margin:0 0 1.75rem}.auth-card__link{color:#60a5fa;text-decoration:none;font-weight:500;transition:all .2s ease;border-bottom:1px solid transparent}.auth-card__link:hover{color:#93c5fd;border-bottom-color:#60a5fa80}.auth-card__bottom-bar{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid rgba(71,85,105,.35)}.auth-card__back-link{color:#64748b;text-decoration:none;font-size:.9rem;transition:all .2s ease;display:flex;align-items:center;gap:.3rem}.auth-card__back-link:hover{color:#94a3b8}.auth-card__legal{display:flex;align-items:center;gap:1rem}.auth-card__legal a{color:#64748b;text-decoration:none;font-size:.85rem;transition:all .2s ease}.auth-card__legal a:hover{color:#94a3b8}.auth-card__divider{color:#475569}.sms-row{display:flex;gap:.75rem}.sms-code-input{flex:1}.btn-sms{padding:.85rem 1.25rem;border-radius:12px;border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.btn-sms:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 8px 24px #10b98166}.btn-sms:disabled{opacity:.5;cursor:not-allowed}.hint{font-size:.8rem;color:#64748b;margin-top:.35rem}.validation{font-size:.85rem;margin-top:.5rem;font-weight:500}.validation.valid{color:#10b981}.validation.invalid{color:#ef4444}.suggestions{margin-top:.75rem;font-size:.85rem;color:#94a3b8}.suggestions button{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;margin-left:.5rem;margin-top:.35rem;border-radius:8px;border:1px solid rgba(99,102,241,.3);background:#6366f11a;color:#93c5fd;font-size:.8rem;cursor:pointer;transition:all .2s ease}.suggestions button:hover{background:#6366f133;border-color:#6366f180}.checkbox{display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;color:#94a3b8;cursor:pointer}.checkbox input[type=checkbox]{margin-top:.2rem;width:18px;height:18px;accent-color:#6366f1}.checkbox a{color:#60a5fa;text-decoration:none;transition:color .2s ease}.checkbox a:hover{color:#93c5fd}.auth-form__input.valid{border-color:#10b98199}.auth-form__input.invalid{border-color:#ef444499}@media(max-width:640px){.auth-page{padding:0}.auth-card{padding:2.25rem 1.75rem;border-radius:24px}.auth-card__logo{font-size:2.25rem}.auth-card__subtitle{font-size:.95rem}.auth-card__bottom-bar{flex-direction:column;gap:.75rem;text-align:center}.sms-row{flex-direction:column}.btn-sms{width:100%}}.title h1{margin:0;font-size:clamp(1.5rem,3vw,1.85rem);font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#f8fafc,#94a3b8);-webkit-background-clip:text;background-clip:text;color:transparent}.order-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;align-items:flex-end;padding:1rem 1.15rem;border-radius:14px;background:#1e293b80;border:1px solid rgba(99,102,241,.12);box-shadow:0 6px 22px #00000024}.order-filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#94a3b8}.order-filters select{min-width:140px;background:#1e293b;color:#e2e8f0;border:1px solid #475569;border-radius:8px;padding:.4rem .5rem}.order-filters #filterBtn{padding:.5rem 1.15rem;border-radius:12px;border:none;font-weight:700;cursor:pointer;font-family:inherit;background:linear-gradient(135deg,#2563eb,#6366f1);color:#fff;box-shadow:0 6px 20px #2563eb59;transition:transform .12s ease,filter .12s ease}.order-filters #filterBtn:hover{filter:brightness(1.06);transform:translateY(-1px)}#orderList{overflow-x:auto;border-radius:16px;border:1px solid rgba(99,102,241,.12);background:#1e293b73;box-shadow:var(--ut-card-glow, 0 8px 28px rgba(0, 0, 0, .2));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:1rem}#orderList .order-table-header{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr 1fr .8fr 1.5fr;gap:1rem;padding:.85rem 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;border-bottom:1px solid rgba(51,65,85,.85);background:#0f172a80}#orderList .order-card:last-child{border-bottom-width:0}#orderList .order-card:hover{background:#3b82f60f;border-color:#3b82f60f;box-shadow:none;transform:none}#orderList .order-card{margin-bottom:0;border-radius:0;border-width:0 0 1px 0;border-color:#1e293bd9;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:.75rem 1rem}#orderList .order-card.data-row{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr 1fr .8fr 1.5fr;gap:1rem;align-items:center}#orderList .order-card.data-row .order-info{display:flex;align-items:center;color:#e2e8f0;font-size:.88rem}#orderList .order-card.data-row .order-no{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}#orderList .order-card.data-row .order-info .amount{color:#3b82f6;font-weight:600}#orderList .order-card.data-row .status-cell{justify-content:center}#orderList .order-card.data-row .status{font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:999px}#orderList .order-card.data-row .actions-cell{justify-content:flex-end}#orderList .order-card.data-row .actions{display:flex;gap:.4rem}#orderList .order-card.data-row .actions button{padding:.35rem .65rem;border-radius:8px;border:1px solid rgba(71,85,105,.85);background:#0f172aa6;color:#e2e8f0;font-size:.78rem;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}#orderList .order-card.data-row .actions button:hover{background:#3b82f633;border-color:#60a5fa73;color:#bfdbfe}.order-card{background:linear-gradient(165deg,#1e293beb,#0f172ac7);border:1px solid rgba(99,102,241,.14);border-radius:16px;padding:1.15rem 1.25rem;box-shadow:var(--ut-card-glow, 0 10px 32px rgba(0, 0, 0, .22));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.order-card:hover{border-color:#818cf847;box-shadow:0 0 0 1px #6366f126,0 14px 40px #00000047;transform:translateY(-1px)}.order-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(51,65,85,.65)}.order-header .order-no{font-size:.82rem;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.order-header .status{font-size:.78rem;font-weight:600;padding:.3rem .75rem;border-radius:999px}.order-header .status.paid,.order-header .status.success{background:#10b9812e;color:#6ee7b7;border:1px solid rgba(52,211,153,.35)}.order-header .status.pending,.order-header .status.unpaid{background:#fbbf241f;color:#fcd34d;border:1px solid rgba(251,191,36,.35)}.order-header .status.cancelled,.order-header .status.failed{background:#f871711f;color:#fca5a5;border:1px solid rgba(248,113,113,.3)}.order-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem 1rem}.order-item .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.2rem}.order-item .value{font-size:.92rem;color:#e2e8f0;font-weight:500}.order-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.65rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(51,65,85,.55)}.order-footer .time{font-size:.82rem;color:#64748b}.order-footer .actions{display:flex;flex-wrap:wrap;gap:.5rem}.order-footer .actions button{padding:.45rem .85rem;border-radius:10px;border:1px solid rgba(71,85,105,.85);background:#0f172aa6;color:#e2e8f0;font-size:.82rem;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.order-footer .actions button:hover{background:#3b82f633;border-color:#60a5fa73;color:#bfdbfe}.order-detail-modal-content{background:#1e293b;border-radius:12px;padding:24px;min-width:400px;max-width:90%;max-height:80vh;overflow-y:auto;border:1px solid #334155}.order-detail-modal-content h3{margin:0 0 20px;color:#f1f5f9;font-size:18px;padding-bottom:12px;border-bottom:1px solid #334155}.order-detail-modal-content .detail-row{display:flex;padding:10px 0;border-bottom:1px solid #334155}.order-detail-modal-content .detail-label{width:100px;color:#94a3b8;font-size:14px}.order-detail-modal-content .detail-value{flex:1;color:#f1f5f9;font-size:14px}.order-detail-modal-content .detail-value.amount{color:#3b82f6;font-size:18px;font-weight:600}.order-detail-modal-content .modal-footer{margin-top:20px;display:flex;justify-content:flex-end}.order-detail-modal-content .btn{padding:10px 20px;border-radius:8px;border:none;cursor:pointer;background:#334155;color:#cbd5e1}.title h1{margin:0 0 .25rem;font-size:clamp(1.5rem,3vw,1.85rem);font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#f8fafc,#94a3b8);-webkit-background-clip:text;background-clip:text;color:transparent}html[data-user-theme=light] .title h1{background:linear-gradient(135deg,#0f172a,#475569);-webkit-background-clip:text;background-clip:text;color:transparent}.recharge-balance{margin-bottom:1.5rem;padding:1.15rem 1.35rem;border-radius:16px;background:linear-gradient(125deg,#1e293bf2,#0f172abf);border:1px solid rgba(99,102,241,.18);box-shadow:var(--ut-card-glow, 0 10px 32px rgba(0, 0, 0, .22))}.recharge-balance .label{font-size:.85rem;color:#94a3b8;margin-bottom:.35rem}.recharge-balance .value{font-size:1.35rem;font-weight:600}#packagesContainer{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-bottom:1.75rem}.plan.selectable{position:relative;background:#1e293bd9;padding:2rem;border-radius:16px;text-align:center;border:2px solid transparent;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.plan.selectable:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000040}.plan.selectable.selected{border-color:#3b82f6;background:#3b82f61f;box-shadow:0 0 0 3px #3b82f64d,0 0 40px #3b82f633,0 20px 40px #0000004d;transform:translateY(-5px)}.plan.selectable.selected:before{content:"";position:absolute;top:-2px;right:-2px;width:24px;height:24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:0 16px 0 999px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #3b82f666}.plan.selectable.selected:after{content:"✓";position:absolute;top:4px;right:6px;font-size:12px;font-weight:700;color:#fff;z-index:2}.plan.selectable.has-tags{border-color:#3b82f6;background:#3b82f61a}.plan.selectable.has-tags.selected{background:#3b82f62e;box-shadow:0 0 0 3px #3b82f659,0 0 50px #3b82f640,0 20px 40px #0000004d}.plan-tags{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin-bottom:1rem}.plan-tag{font-size:.75rem;padding:.22rem .65rem;border-radius:999px;background:#3b82f659;color:#e8efff;border:1px solid rgba(96,165,250,.5)}.plan.selectable h3{font-size:1.35rem;margin:0 0 .5rem}.plan.selectable .price{font-size:2.5rem;color:#3b82f6;margin-bottom:.25rem;font-weight:700}.plan.selectable .original-price{text-decoration:line-through;color:#64748b;font-size:1.1rem;display:block;margin-bottom:.5rem}.plan.selectable .token{color:#94a3b8;margin-bottom:1.5rem;display:block}.plan.selectable ul{list-style:none;padding:0;margin:0 0 1.5rem;text-align:left}.plan.selectable li{padding:.5rem 0;color:#cbd5e1;border-bottom:1px solid rgba(148,163,184,.1);font-size:.9rem}.plan.selectable li:last-child{border-bottom:none}.plan.selectable button{width:100%;padding:.8rem;border:none;border-radius:10px;background:#3b82f6;color:#fff;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s ease}.plan.selectable button:hover{background:#2563eb}.plan.selectable.has-tags button,.plan.selectable.selected button{background:linear-gradient(90deg,#3b82f6,#8b5cf6)}.plan.selectable.has-tags button:hover,.plan.selectable.selected button:hover{background:linear-gradient(90deg,#2563eb,#7c3aed)}.payment-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.payment{flex:1;min-width:140px;padding:1.1rem;border-radius:14px;border:2px solid rgba(51,65,85,.85);cursor:pointer;text-align:center;background:#1e293b8c;transition:border-color .18s ease,box-shadow .18s ease}.payment:hover{border-color:#94a3b873}.payment.selected{border-color:#4ade80;box-shadow:0 0 0 1px #4ade8040,0 8px 28px #22c55e26}.payment .name{font-weight:600}.order-summary{border:1px solid rgba(99,102,241,.15);border-radius:16px;padding:1.1rem 1.3rem;margin-bottom:1rem;background:#1e293b73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.order-summary .row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9rem}.order-summary .label{color:#94a3b8}.order-summary .value{color:#e2e8f0}.order-summary .row.total{padding-top:.75rem;margin-top:.75rem;border-top:1px solid rgba(71,85,105,.3)}.order-summary .row.total .label{font-weight:600;color:#f8fafc}.order-summary .row.total .value{font-size:1.25rem;font-weight:700;color:#3b82f6}#mainPayBtn{width:100%;padding:.95rem;font-size:1rem;font-weight:700;border-radius:14px;border:none;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#6366f1,#8b5cf6);color:#fff;box-shadow:0 10px 32px #4f46e561;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}#mainPayBtn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 14px 40px #7c3aed59}#mainPayBtn:disabled{opacity:.6;cursor:not-allowed}.payment-modal,.order-detail-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.payment-modal-content{background:#1e293b;border-radius:12px;max-width:90vw;width:420px;border:1px solid #334155;overflow:hidden}.payment-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #334155}.payment-header h3{margin:0;font-size:1.1rem}.close-btn{background:none;border:none;color:#94a3b8;font-size:1.5rem;cursor:pointer;line-height:1}.payment-body{padding:1.25rem}.qrcode-box{text-align:center;margin-bottom:1rem}.qrcode-hint{color:#94a3b8;font-size:.85rem;margin-top:.5rem}.simulate-pay-btn{margin-top:.75rem;padding:.55rem 1.1rem;border-radius:12px;border:none;background:linear-gradient(135deg,#2563eb,#6366f1);color:#fff;cursor:pointer;font-weight:600;box-shadow:0 6px 20px #2563eb59}.order-info{margin-bottom:1rem}.info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(71,85,105,.3)}.info-row .label{color:#94a3b8}.info-row .value{color:#e2e8f0}.info-row .value.amount{color:#3b82f6;font-weight:600}.test-tip{background:#3b82f61a;border-radius:10px;padding:1rem;text-align:center}.test-tip p{color:#94a3b8;font-size:.85rem;margin:0 0 .75rem}.success-content{text-align:center;padding:2rem 0}.success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-size:3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 10px 30px #10b9814d}.success-content h4{margin:0 0 .5rem;font-size:1.3rem;color:#f8fafc}.success-content p{color:#94a3b8;margin:0}
