:root{--sidebar-width:300px;--sidebar-compact:76px;--sidebar-gap:12px;--avatar-size:44px;--muted-opaque:#ffffffad}.sidebar{background:var(--sidebar-bg);border-right:1px solid #ffffff0a;box-sizing:border-box;color:var(--sidebar-text);display:flex;flex-direction:column;gap:12px;gap:var(--sidebar-gap);height:100%;min-width:0;padding:14px;position:relative;transition:width .2s ease,transform .22s ease,opacity .16s ease;width:300px;width:var(--sidebar-width);z-index:2}.sidebar.collapsed{overflow:visible;padding-inline:8px;width:76px;width:var(--sidebar-compact)}.sidebar.collapsed .sidebar-list,.sidebar.collapsed .tabs{display:none!important}.sidebar.collapsed .brand-title,.sidebar.collapsed .item-body,.sidebar.collapsed .sidebar-empty,.sidebar.collapsed .tab-btn .btn-text{display:none}.sidebar-header{align-items:center;display:flex;gap:10px;justify-content:space-between;padding-bottom:6px}.sidebar-header.collapsed{flex-direction:column;padding:10px 0}.brand,.sidebar-header.collapsed{align-items:center;display:flex;gap:10px}.brand-mark{align-items:center;background:var(--card-bg);border-radius:10px;box-shadow:0 4px 12px #0206170a;color:var(--accent);display:flex;font-size:16px;font-weight:700;height:44px;justify-content:center;width:44px}.brand-title{color:var(--sidebar-text);font-size:15px;font-weight:700;letter-spacing:.2px}.brand-vertical,.brand-vertical:empty{display:none}.sidebar-header.collapsed .brand-vertical{color:var(--sidebar-text);display:block;font-size:13px;font-weight:700;text-orientation:mixed;transform:rotate(180deg);-webkit-user-select:none;user-select:none;writing-mode:vertical-rl}.header-actions,.tabs{align-items:center;display:flex;gap:8px}.tabs{padding:6px 2px 8px}.tab-btn{background:#0000;border:1px solid #0000;border-radius:10px;color:var(--sidebar-text);cursor:pointer;font-size:13px;font-weight:600;padding:6px 10px}.tab-btn.active{background:#ffffff08;border-color:#ffffff08}.sidebar-list{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;min-height:0;overflow:auto;padding-right:6px;scrollbar-color:#0000000f #0000;scrollbar-width:thin}.sidebar-item{align-items:center;background:#0000;border-radius:10px;color:var(--sidebar-text);cursor:pointer;display:flex;gap:12px;min-width:0;padding:10px;transition:background-color .14s ease}.sidebar-item.selected{box-shadow:inset 0 0 0 1px #1e90ff0f}.sidebar.collapsed .item-left{flex:0 0 40px;width:40px}.sidebar.collapsed .item-meta,.sidebar.collapsed .item-sub{display:none}.item-left{flex:0 0 56px;width:56px}.avatar,.item-left{align-items:center;display:flex;justify-content:center}.avatar{background:#ffffff08;border-radius:10px;color:var(--accent);font-size:15px;font-weight:700;height:44px;height:var(--avatar-size);width:44px;width:var(--avatar-size)}.item-body{display:flex;flex-direction:column;gap:4px;min-width:0}.item-row{align-items:center;display:flex;gap:8px;width:100%}.item-title{color:var(--sidebar-text);font-size:14px;font-weight:700}.item-sub,.item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-sub{color:var(--muted);font-size:13px;max-width:100%}.item-meta{align-items:center;color:var(--muted);display:flex;flex-shrink:0;font-size:12px;gap:8px;margin-left:auto}.sidebar-btn{align-items:center;background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;color:var(--sidebar-text);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;justify-content:center;line-height:1;min-height:34px;padding:6px 8px;transition:background-color .12s linear,box-shadow .12s linear}.sidebar-btn.icon{display:inline-flex;height:36px;min-width:36px;padding:6px;width:36px}.sidebar-new-icon,.sidebar-reopen-btn{align-items:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;box-shadow:0 6px 14px #0000000f;color:var(--text);cursor:pointer;display:inline-flex;height:44px;justify-content:center;padding:6px;width:44px}.sidebar-hide-btn{border-radius:999px;height:36px;padding:0;width:36px}.sidebar-empty{color:#fff9;font-size:13px;padding:12px;text-align:center}.sidebar-list::-webkit-scrollbar-track{background:#0000}.sidebar-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px}.sidebar-list{scrollbar-color:var(--scrollbar-thumb) #0000}@media (max-width:900px){.sidebar.collapsed{border-radius:10px;box-shadow:0 8px 26px #0206171f;height:auto;left:8px;padding:6px;position:fixed;top:8px}.sidebar-header.collapsed{flex-direction:row;gap:8px}}@media (max-width:840px){.sidebar{width:260px}}@media (max-width:520px){.sidebar{height:100vh;left:0;position:absolute;top:0;z-index:1400}}.action-group{align-items:center;display:inline-flex;gap:8px}.action-group button,.delete-chat-btn,.delete-perm-btn,.edit-title-btn,.restore-btn{align-items:center;-webkit-appearance:none;appearance:none;background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;color:var(--sidebar-text);cursor:pointer;display:inline-flex;font-size:13px;height:36px;justify-content:center;line-height:1;padding:6px;transition:background-color .12s ease,transform .12s ease,box-shadow .12s ease;width:36px}.action-group button svg,.delete-chat-btn svg,.delete-perm-btn svg,.edit-title-btn svg,.restore-btn svg{display:block;height:16px;width:16px}.edit-title-btn{background:#ffffff05;border-color:#ffffff0a;color:var(--sidebar-text)}.delete-chat-btn,.delete-perm-btn{background:#ff50500a;border-color:#ff505014;color:#ff6b6b}.restore-btn{background:#28c8780f;border-color:#28c87814;color:#1f8a56}.action-group button:focus-visible,.delete-chat-btn:focus-visible,.delete-perm-btn:focus-visible,.edit-title-btn:focus-visible,.restore-btn:focus-visible{outline:3px solid #1e90ff24;outline-offset:3px}.sidebar.collapsed .action-group,.sidebar.collapsed .delete-chat-btn,.sidebar.collapsed .delete-perm-btn,.sidebar.collapsed .edit-title-btn,.sidebar.collapsed .restore-btn{display:none!important}.param-table{background:var(--input-bg);border-collapse:collapse;width:100%}.param-table tbody tr td:first-child{background:var(--card-bg);border:1px solid #bbb;font-weight:600;min-width:120px;padding:8px 16px 8px 0}.param-table tbody tr td:last-child{background:var(--input-bg);border:1px solid #bbb;padding:8px 12px}:root{--chip-radius:16px;--card-radius:10px;--main-bg:#f6f8fa;--card-border:#0000000f;--card-shadow:0 1px 2px #0000000a;--header-bg:#0000;--header:#0b1220;--input-bg:#fff;--input-border:#00000014;--input-text:#111;--text:#111;--button-bg:#0366d6;--chip-bg:#fff;--chip-action:#0366d6;--muted:#666;--muted-strong:#444;--scrollbar-thumb:#0000002e;--scrollbar-thumb-hover:#00000047}body.dark{--main-bg:#0b1220;--card-bg:#0c1218;--card-border:#ffffff0a;--card-shadow:none;--header:#e6eefc;--input-bg:#071016;--input-border:#ffffff0f;--input-text:#e6eefc;--text:#e6eefc;--button-bg:#1f6feb;--chip-bg:#0f1720;--chip-text:#e6eefc;--chip-action:#62a3ff;--muted:#9aa6b2;--muted-strong:#cdd7e1;--scrollbar-thumb:#ffffff1f;--scrollbar-thumb-hover:#ffffff2e}#root,body,html{background:#f6f8fa;background:var(--main-bg)}.app-shell{display:flex;height:100vh;min-width:0;position:relative;width:100%}.chat-wrapper{flex-direction:column;overflow:hidden}.chat-wrapper,.main-area{display:flex;height:100%;width:100%}.main-area{align-items:stretch;box-sizing:border-box;justify-content:stretch;min-width:0;padding:18px}.chat-layout{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-auto-rows:1fr;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:100%;width:100%}.chat-layout>*{min-height:0;min-width:0}@media (max-aspect-ratio:5/4){.chat-layout{gap:12px;grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:100%}}@media (max-width:900px){.chat-layout{gap:12px;grid-template-columns:1fr;grid-template-rows:minmax(400px,1fr) minmax(400px,1fr);height:100%;overflow-y:auto;padding:0 6px}}.chat-window{background:#fff;background:var(--card-bg);border:1px solid #0000000f;border:1px solid var(--card-border);border-radius:10px;border-radius:var(--card-radius);box-shadow:0 1px 2px #0000000a;box-shadow:var(--card-shadow);box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-heading,.chat-window>h2{background:#0000;background:var(--header-bg);border-bottom:1px solid #0000000a;color:#0b1220;color:var(--header);font-size:18px;font-weight:600;margin:0;padding:12px 14px}.chat-messages{background:#fff;background:var(--input-bg);border:1px solid #0000000a;border-radius:8px;box-sizing:border-box;flex:1 1 auto;min-height:160px;overflow-y:auto;padding:12px;width:100%}.message-row{display:flex;margin-bottom:8px}.message-row-right{justify-content:flex-end}.message-row-left{justify-content:flex-start}.chat-user{background:#0366d6;background:var(--button-bg);border-radius:16px 16px 4px 16px;box-shadow:0 1px 2px #1976d214;color:#fff;color:var(--button-text);font-weight:500}.chat-bot,.chat-user{font-size:15px;max-width:75%;padding:8px 14px;word-break:break-word}.chat-bot{background:#fff;background:var(--input-bg);border-radius:16px 16px 16px 4px;box-shadow:0 1px 2px #0000000a;color:#111;color:var(--text)}.skeleton{background:linear-gradient(90deg,#00000008 25%,#0000000f 50%,#00000008 75%);border-radius:6px;height:72px;width:100%}.skeleton-lg{height:140px;width:100%}.param-wrap{margin-top:10px}.iso-badge{align-items:center;background:#fff;background:var(--card-bg);border-radius:8px;display:inline-flex;gap:8px;margin-top:8px;padding:8px}.iso-label{background:#fff;background:var(--chip-bg);border-radius:4px;color:#0b1220;color:var(--chip-text);font-size:12px;padding:2px 6px}.iso-class{font-weight:700}.iso-conf,.iso-reason{color:#666;color:var(--muted);font-size:13px}.iso-reason{margin-top:6px}.feedback-section{background:#1e90ff0d;border-left:3px solid #1e90ff;border-radius:4px;margin-top:12px;padding:10px}.feedback-prompt{color:#111;color:var(--text);font-size:13px;font-weight:600;margin:0 0 8px}.feedback-buttons{display:flex;flex-wrap:wrap;gap:8px}.feedback-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#0b1220;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease}.feedback-btn:hover:not(:disabled){background:#f0f0f0;border-color:#999}.feedback-btn:disabled{cursor:not-allowed;opacity:.6}.feedback-btn-b{border-color:#4caf50;color:#4caf50}.feedback-btn-c{border-color:#ff9800;color:#ff9800}.feedback-btn-d{border-color:#f44336;color:#f44336}.feedback-confirmation{background:#4caf501a;border-radius:4px;color:#4caf50;font-size:12px;font-weight:600;margin-top:8px;padding:8px}.avail-block{font-size:13px;margin-top:8px}.avail-block,.avail-title{color:#666;color:var(--muted)}.avail-title{margin-bottom:6px}.avail-list{display:flex;flex-wrap:wrap;gap:8px}.avail-btn{background:#fff;background:var(--chip-bg);border:1px solid #00000014;border-radius:16px;box-shadow:0 1px 0 #00000005;color:#0b1220;color:var(--chip-text);cursor:pointer;font-size:13px;min-width:64px;padding:6px 10px;text-align:center;white-space:nowrap}.avail-note{color:#666;color:var(--muted);font-size:12px;margin-top:6px}.followups{margin:6px 0 8px}.followups-title{color:#666;color:var(--muted);margin-bottom:6px}.followups-row{-webkit-overflow-scrolling:touch;display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}.followup-group{min-width:120px}.followup-label{color:#444;color:var(--muted-strong,#444);font-size:12px;margin-bottom:6px}.followup-options{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto}.chip-btn{background:#fff;background:var(--chip-bg);border:1px solid #00000014;border-radius:16px;box-shadow:0 1px 0 #00000005;color:#0b1220;color:var(--chip-text);cursor:pointer;flex:0 0 auto;font-size:13px;min-width:64px;padding:6px 10px;text-align:center;white-space:nowrap}.chip-btn:disabled{cursor:not-allowed;opacity:.65}.suggestions-block{margin:6px 0 12px}.suggestions-title{color:#666;color:var(--muted);margin-bottom:6px}.suggestions-row{-webkit-overflow-scrolling:touch;display:flex;gap:8px;overflow-x:auto;padding:6px 2px;white-space:nowrap}.suggestion-chip{align-items:center;background:#fff;background:var(--chip-bg);border:1px solid #0000000a;border-radius:16px;border-radius:var(--chip-radius);box-shadow:none;color:#0b1220;color:var(--chip-text);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:14px;gap:8px;min-width:160px;padding:8px 12px}.suggestion-text{flex:1 1;font-size:14px;text-align:left}.suggestion-send{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:inline-flex;justify-content:center;padding:4px}.suggestion-send .send-icon{stroke:#0366d6;stroke:var(--chip-action,#0366d6);height:14px;width:14px}.suggestion-send:disabled{cursor:not-allowed;opacity:.65}.chat-input-row,.chat-window form{align-items:center;background:linear-gradient(180deg,#fff9,#ffffffe6);border-top:1px solid #0000000a;box-sizing:border-box;display:flex;flex:0 0 auto;gap:8px;padding:10px 12px}body.dark .chat-window form{background:linear-gradient(180deg,#141c2633,#0c121a73)}.chat-input{background:#fff;background:var(--input-bg);border:1.5px solid #0000000f;border:1.5px solid var(--card-border);border-radius:6px;color:#111;color:var(--input-text);flex:1 1;font-size:16px;min-width:0;padding:10px 14px}.send-btn{background:#0366d6;background:var(--button-bg);border:none;border-radius:6px;color:#fff;color:var(--button-text);cursor:pointer;font-size:16px;font-weight:600;padding:10px 18px}.send-btn:disabled{cursor:not-allowed;opacity:.65}.graph-section{box-sizing:border-box;height:100%;padding:8px;width:100%}.graph-header,.graph-section{display:flex;flex-direction:column;gap:8px}.graph-header{margin-bottom:8px}.graph-title{color:#0b1220;color:var(--header);font-size:16px;margin:0 0 6px}.graph-no-data{color:#666;color:var(--muted);font-size:14px;margin-bottom:8px}.graph-toggle-btn{border:1px solid #00000014;border-radius:6px;color:#111;color:var(--text);cursor:pointer;padding:6px 10px}.graph-container,.graph-toggle-btn{background:#fff;background:var(--card-bg)}.graph-container{border:1px solid #0000000a;border-radius:8px;flex:1 1 auto;min-height:220px;overflow:hidden}.graph-placeholder{align-items:center;border:1px dashed #0000000a;border-radius:8px;box-sizing:border-box;color:#666;color:var(--muted);display:flex;justify-content:center;min-height:80px;padding:12px}.chat-window .avail-list::-webkit-scrollbar,.chat-window .chat-messages::-webkit-scrollbar,.chat-window .followups-row::-webkit-scrollbar,.chat-window .suggestions-row::-webkit-scrollbar{height:10px;width:10px}.chat-window .avail-list::-webkit-scrollbar-thumb,.chat-window .chat-messages::-webkit-scrollbar-thumb,.chat-window .followups-row::-webkit-scrollbar-thumb,.chat-window .suggestions-row::-webkit-scrollbar-thumb{background:#0000002e;background:var(--scrollbar-thumb);border-radius:8px}.chat-window .avail-list::-webkit-scrollbar-thumb:hover,.chat-window .chat-messages::-webkit-scrollbar-thumb:hover,.chat-window .followups-row::-webkit-scrollbar-thumb:hover,.chat-window .suggestions-row::-webkit-scrollbar-thumb:hover{background:#00000047;background:var(--scrollbar-thumb-hover)}.chat-window .avail-list,.chat-window .chat-messages,.chat-window .followups-row,.chat-window .suggestions-row{scrollbar-color:#0000002e #0000;scrollbar-color:var(--scrollbar-thumb) #0000;scrollbar-width:thin}@media (max-width:900px){.graph-section{display:none}.chat-bot,.chat-user{max-width:100%}}.app-shell .top-controls{align-items:center;display:flex;gap:8px;pointer-events:auto;position:absolute;right:12px;top:12px;z-index:1200}@media (max-width:520px){.app-shell .top-controls{justify-content:flex-end;margin:8px;position:static}}.chat-loading{color:#666;font-size:40px;font-weight:700;letter-spacing:6px;padding:6px 0}.chat-loading .dot{animation:blink 1.4s infinite both}.chat-loading .dot:nth-child(2){animation-delay:.2s}.chat-loading .dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}.darkmode-toggle{background:var(--card-bg);border:1px solid var(--card-border);border-radius:999px;box-shadow:0 2px 6px #0000000f;color:var(--text);font-size:18px;height:40px;padding:0;width:40px}.darkmode-toggle:hover{transform:translateY(-1px);transition:transform .12s ease}.darkmode-toggle:focus-visible{box-shadow:0 6px 18px #0000000f;outline:3px solid #1e90ff24;outline-offset:3px}@media (max-width:520px){.darkmode-toggle{font-size:16px;height:36px;width:36px}}.welcome-root{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:100%;padding:36px;width:100%}.welcome-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--card-shadow);color:var(--text);max-width:880px;padding:22px;width:100%}.welcome-header h1{color:var(--header);font-size:1.6rem;margin:0 0 6px}.welcome-sub{color:var(--muted);margin:0 0 12px}.welcome-body{color:var(--text);line-height:1.45;margin-top:6px}.welcome-features{color:var(--text);margin:12px 0;padding-left:18px}.welcome-actions{align-items:center;display:flex;gap:12px;margin-top:18px}.btn-primary{background:var(--button-bg);border:none;border-radius:8px;color:var(--button-text);cursor:pointer;font-weight:700;padding:10px 14px}.btn-secondary{background:#0000;border:1px solid #0000000f;border-radius:8px;color:var(--text);cursor:pointer;padding:8px 12px}.welcome-foot{color:var(--muted);font-size:12px;margin-top:12px}@media (max-width:720px){.welcome-card{border-radius:8px;padding:16px}.welcome-actions{align-items:stretch;flex-direction:column;gap:8px}}.confirm-overlay{align-items:center;background:#070a0e80;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:12000}.confirm-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 12px 40px #0206171f;display:flex;flex-direction:column;gap:12px;max-width:100%;padding:20px;width:460px}.confirm-title{color:var(--text);font-size:16px;font-weight:700;line-height:1.1;margin:0}.confirm-message{color:var(--subheader);font-size:14px;line-height:1.4;margin:0;opacity:.95}.confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.confirm-actions .btn-cancel,.confirm-actions .btn-confirm{border:1px solid #0000;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 14px;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.confirm-actions .btn-cancel{background:#0000;border-color:#0000000f;color:var(--subheader)}.confirm-actions .btn-cancel:hover{background:#00000008;transform:translateY(-1px)}.confirm-actions .btn-confirm{background:var(--button-bg);box-shadow:0 6px 18px #1976d214;color:var(--button-text)}.confirm-actions .btn-confirm:hover{filter:brightness(.98);transform:translateY(-1px)}@media (max-width:480px){.confirm-panel{border-radius:10px;padding:14px;width:100%}.confirm-actions{gap:8px}.confirm-actions .btn-cancel,.confirm-actions .btn-confirm{padding:8px 10px}}.app-shell--home{display:flex;height:100vh;overflow:hidden;position:relative}.app-shell--home .top-controls{align-items:center;display:flex;gap:8px;position:absolute;right:12px;top:12px;z-index:1200}.main-area--home{display:flex;flex:1 1;min-width:0}.undo-snack-container{bottom:16px;display:flex;flex-direction:column;gap:8px;left:16px;position:fixed;z-index:9999}.undo-snack{align-items:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;box-shadow:0 6px 18px #0000000f;display:flex;gap:12px;justify-content:space-between;min-width:260px;padding:10px 12px}.undo-snack-content{display:flex;flex-direction:column;gap:4px}.undo-snack-title{color:var(--text);font-size:14px;font-weight:600;line-height:1.1}.undo-snack-sub{color:var(--muted);font-size:12px}.undo-snack-strong{color:var(--muted);font-weight:600}.undo-actions{align-items:center;display:flex;gap:8px}.btn-undo{background:#0000;border:1px solid #00000014;border-radius:6px;color:var(--text)}.btn-delete,.btn-undo{cursor:pointer;padding:6px 10px}.btn-delete{background:var(--button-bg);border:none;border-radius:6px;color:var(--button-text)}@media (max-width:520px){.app-shell--home .top-controls{justify-content:flex-end;margin:8px;position:static}.undo-snack{min-width:220px;padding:8px 10px}}.admin-panel{color:#1f2937;font-family:Inter,Roboto,Arial,sans-serif;margin:0 auto;max-width:1200px;padding:32px}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:28px}.admin-header h2{font-size:26px;margin:0}.admin-sub{color:#6b7280;font-size:13px}.admin-actions{display:flex;gap:8px}.admin-actions button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:8px 14px}.admin-actions button:hover{background:#1d4ed8}.admin-actions .danger{background:#dc2626}.admin-actions .danger:hover{background:#b91c1c}.admin-actions .ghost{background:#e5e7eb;color:#111827}.admin-actions .ghost:hover{background:#d1d5db}.kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.kpi{background:#fff;border-radius:10px;box-shadow:0 4px 14px #0000000f;padding:18px}.kpi span{color:#6b7280;font-size:13px}.kpi strong{display:block;font-size:22px;margin-top:6px}.kpi .ok{color:#16a34a}.admin-section{margin-bottom:36px}.admin-section h3{font-size:18px;margin-bottom:12px}.admin-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 4px 14px #0000000f;overflow:hidden;width:100%}.admin-table th{background:#f9fafb;color:#6b7280;font-size:13px;padding:12px;text-align:left}.admin-table td{border-top:1px solid #e5e7eb;padding:12px}.admin-table tr:hover{background:#f9fafb}.count-right{font-weight:600;text-align:right}.session-card{background:#111827;border-radius:10px;color:#e5e7eb;margin-bottom:14px;padding:16px}.session-head{align-items:center;display:flex;justify-content:space-between}.session-sub{color:#9ca3af;font-size:12px}.session-card button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:6px 10px}.session-card button:hover{background:#1d4ed8}.session-details summary{color:#93c5fd;cursor:pointer;font-size:12px;margin-top:8px}.session-pre{background:#020617;border-radius:6px;font-size:12px;margin-top:8px;overflow:auto;padding:10px}.admin-controls{display:flex;gap:8px;margin-top:12px}.admin-controls input{border:1px solid #d1d5db;border-radius:6px;padding:8px;width:260px}.admin-controls button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 14px}.admin-controls button:hover{background:#1d4ed8}.admin-error{color:#dc2626;font-size:13px;margin-top:12px}.login-wrapper{align-items:center;background:linear-gradient(135deg,#0f172a,#020617);display:flex;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 50px #00000040;max-width:380px;padding:32px 36px;width:100%}.login-title{color:#0f172a;font-size:1.4rem;font-weight:600;margin-bottom:6px}.login-subtitle{color:#475569;font-size:.9rem;margin-bottom:20px}.login-input{border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;outline:none;padding:12px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.login-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.login-button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;margin-top:18px;padding:12px;transition:background .2s,transform .05s;width:100%}.login-button:hover{background:#1d4ed8}.login-button:active{transform:translateY(1px)}.login-button:disabled{background:#94a3b8;cursor:not-allowed}.login-error{background:#fee2e2;border-radius:4px;color:#dc2626;font-size:.85rem;margin-top:14px;padding:8px 10px}.login-ai-hint{color:#666;font-size:.75rem;line-height:1.4;margin-top:14px;opacity:.85;text-align:center}:root{--bg:#f7fbff;--bg-gradient:linear-gradient(135deg,#f7fbff,#fff);--main-bg:#f7fbff;--card-bg:#fff;--card-border:#1018281f;--card-shadow:0 10px 28px #0206170f;--text:#0b1220;--header:#1976d2;--subheader:#444;--input-bg:#f4f9ff;--input-border:#1018281f;--input-focus:#1976d2;--input-text:#0b1220;--button-bg:#1976d2;--button-bg-disabled:#90caf9;--button-text:#fff;--sidebar-bg:var(--card-bg);--sidebar-contrast:#0b1220;--sidebar-text:#0f1724;--muted:#6b7280;--accent:#1e90ff;--header-bg:linear-gradient(180deg,#e6f3ff,#dfefff);--chip-bg:#eef4ff;--chip-text:#0b1220;--scrollbar-thumb:#0000000f;--scrollbar-thumb-hover:#0000001a}body.dark{--bg:#0b1220;--bg-gradient:linear-gradient(135deg,#0b1220,#07101a);--main-bg:#07101a;--card-bg:#0f1724;--card-border:#ffffff14;--card-shadow:0 10px 28px #0000005c;--text:#e6eef8;--header:#90caf9;--subheader:#cbd5e1;--input-bg:#16202a;--input-border:#21303b;--input-focus:#90caf9;--input-text:#e6eef8;--button-bg:#1e90ff;--button-bg-disabled:#374151;--button-text:#fff;--sidebar-bg:linear-gradient(180deg,#07101a,#0b1220);--sidebar-contrast:#07101a;--sidebar-text:#e6eef8;--muted:#9aa6b7;--accent:#1e90ff;--header-bg:linear-gradient(180deg,#0e2940,#092033);--chip-bg:#0c2436;--chip-text:#e6eef8;--scrollbar-thumb:#ffffff0f;--scrollbar-thumb-hover:#ffffff1a}#root,body,html{height:100%;margin:0;overflow:hidden;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7fbff;background:var(--bg);color:#0b1220;color:var(--text);font-family:Segoe UI,Arial,sans-serif;min-height:100vh}*{box-sizing:border-box}.header{color:#1976d2;color:var(--header)}input,textarea{background:#f4f9ff;background:var(--input-bg);border:1px solid #1018281f;border:1px solid var(--input-border);color:#0b1220;color:var(--input-text)}button{background:#1976d2;background:var(--button-bg);color:#fff;color:var(--button-text)}body.dark .chat-user{background:#1e90fff2;color:#fff}body.dark .chat-bot{background:#16202a;color:#0b1220;color:var(--input-text)}.darkmode-toggle{align-items:center;background:#0000;border:1px solid #0000000f;border-radius:8px;color:#fff;color:var(--button-text);cursor:pointer;display:inline-flex;font-size:.95rem;justify-content:center;padding:6px}.darkmode-toggle:hover{filter:brightness(.98)}:focus{outline:none}.darkmode-toggle:focus-visible,.sidebar-item:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{border-radius:8px;box-shadow:0 0 0 4px #1e90ff0f;outline:3px solid #1e90ff2e;outline-offset:3px}button:focus-visible{box-shadow:0 4px 14px #1e90ff0f;outline:3px solid #1e90ff38}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#1976d2;border-color:var(--input-focus);box-shadow:0 0 0 4px #1976d20f}body.dark button:focus-visible,body.dark input:focus-visible,body.dark textarea:focus-visible{box-shadow:0 0 0 4px #90caf90f;outline-color:#90caf938}button,input,select,textarea{transition:box-shadow .16s ease,border-color .14s ease,background-color .14s ease}.skeleton{animation:skeleton-pulse 1.4s linear infinite;background:linear-gradient(90deg,#0000000a,#0000000f 20%,#0000000a 40%);background-size:200% 100%;border-radius:8px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}
/*# sourceMappingURL=main.242e3ad1.css.map*/