.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg);position:relative}.login-theme-toggle{position:absolute;top:1rem;right:1rem;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,color .2s}.login-theme-toggle:hover{background:var(--border);color:var(--text)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:0 4px 24px #00000026}.login-header{text-align:center;margin-bottom:1.75rem}.login-logo{width:56px;height:56px;margin:0 auto 1rem;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff}.login-header h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text)}.login-tagline{margin:.25rem 0 0;font-size:.9rem;color:var(--text-muted)}.login-subtitle{margin:.5rem 0 0;font-size:.8rem;color:var(--text-muted);opacity:.9}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form label{font-size:.875rem;font-weight:500;color:var(--text)}.login-form input{padding:.65rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:1rem;transition:border-color .15s}.login-form input:focus{outline:none;border-color:var(--primary)}.login-form input::placeholder{color:var(--text-muted)}.login-form input:disabled{opacity:.6;cursor:not-allowed}.login-error{padding:.65rem 1rem;background:#f851491f;border:1px solid rgba(248,81,73,.3);border-radius:8px;color:var(--error);font-size:.9rem}.login-form button{margin-top:.25rem;padding:.75rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .15s}.login-form button:hover:not(:disabled){background:var(--primary-hover)}.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.login-form button:disabled{opacity:.7;cursor:not-allowed}.login-hint{margin-top:1rem;font-size:.8rem;color:var(--text-muted);line-height:1.4}.login-hint code{font-size:.85em;opacity:.9}.login-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted);text-align:center;line-height:1.4}.clarification-options{display:flex;flex-direction:column;gap:8px;margin-top:10px}.clarification-option-btn{text-align:left;border:1px solid var(--border-color, #3a3a3a);background:transparent;color:inherit;border-radius:10px;padding:8px 10px;cursor:pointer}.clarification-option-btn:hover:not(:disabled){background:#8080801f}.clarification-option-btn:disabled{opacity:.6;cursor:not-allowed}:root,[data-theme=dark]{--bg: #0d1117;--surface: #161b22;--surface-elevated: #21262d;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--primary: #0066cc;--primary-hover: #0052a3;--accent: #00a884;--accent-hover: #06cf9c;--user-bubble: #1f6feb;--user-bubble-bg: rgba(31, 111, 235, .15);--bot-bubble: #21262d;--success: #3fb950;--error: #f85149}[data-theme=light]{--bg: #ffffff;--surface: #ffffff;--surface-elevated: #ffffff;--border: #d0d7de;--text: #0d1117;--text-muted: #424a53;--primary: #0969da;--primary-hover: #0550ae;--accent: #00a884;--accent-hover: #059669;--user-bubble: #0969da;--user-bubble-bg: rgba(9, 105, 218, .12);--bot-bubble: #ffffff;--success: #1a7f37;--error: #cf222e}html[data-theme=light],html[data-theme=light] body,html[data-theme=light] #root,[data-theme=light].layout,[data-theme=light] .main-area,[data-theme=light] .header,[data-theme=light] .web-topbar,[data-theme=light] .sidebar,[data-theme=light] .composer-surface,[data-theme=light] .modal{background:#fff!important}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}@media (max-width: 767px){html,body,#root{height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}}button,input,textarea{font-family:inherit}.layout{display:flex;flex-direction:column;max-width:680px;margin:0 auto;height:100dvh;height:100vh;width:100%;padding:0;background:var(--bg);box-shadow:0 0 0 1px var(--border);overflow:hidden}@media (min-width: 768px){.layout.layout-web{max-width:none;margin:0;box-shadow:none;flex-direction:row}.layout.layout-web .sidebar{display:flex;flex-direction:column;width:260px;min-width:260px;flex-shrink:0;height:100vh;max-height:100dvh;min-height:0;overflow:hidden;border-right:1px solid var(--border);background:var(--surface);padding:.75rem 0}.layout.layout-web .main-area{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;max-width:900px;margin:0 auto;box-shadow:0 0 0 1px var(--border)}.layout.layout-web .header{display:none}.layout.layout-web .web-topbar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0;padding:.75rem 1.25rem;border-bottom:1px solid transparent;background:var(--surface)}}.main-area{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.web-topbar,.sidebar{display:none}.sidebar-new-chat{flex-shrink:0;display:flex;align-items:center;gap:.6rem;width:calc(100% - 1rem);margin:0 .5rem .75rem;padding:.65rem .9rem;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-size:.9rem;cursor:pointer;transition:background .15s,border-color .15s}.sidebar-new-chat:hover{background:var(--surface-elevated);border-color:var(--primary);color:var(--primary)}.sidebar-new-chat svg{flex-shrink:0}.sidebar-menu{flex-shrink:0;padding:0 .5rem .75rem;border-bottom:1px solid var(--border);margin-bottom:.5rem;display:flex;flex-direction:column;gap:.1rem}.sidebar-menu-item{display:block;width:100%;padding:.5rem .75rem;text-align:left;border:none;border-radius:6px;background:transparent;color:var(--text);font-size:.875rem;cursor:pointer;transition:background .15s}.sidebar-menu-item:hover:not(:disabled){background:var(--surface-elevated)}.sidebar-menu-item:disabled{opacity:.5;cursor:not-allowed}.sidebar-history{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}.sidebar-history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem .25rem .65rem;flex-shrink:0}.sidebar-history-title{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #6b7280)}.history-clear-all-btn{display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;color:var(--text-muted, #6b7280);font-size:.72rem;padding:.25rem .4rem;border-radius:6px;cursor:pointer}.history-clear-all-btn:hover{color:#dc2626;background:#dc262614}.history-panel-toolbar{display:flex;justify-content:flex-end;margin-bottom:.5rem}.history-list-wrap{display:flex;flex-direction:column;min-height:0}.sidebar-history-scroll{flex:1 1 0%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-tap-highlight-color:transparent;-webkit-focus-ring-color:transparent;padding:0 .15rem 0 .5rem;display:flex;flex-direction:column;gap:.15rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sidebar-history-scroll:focus,.sidebar-history-scroll:focus-visible,.sidebar-history-scroll:focus-within{outline:none!important;outline-width:0!important;outline-style:none!important;outline-color:transparent!important;box-shadow:none!important}.panel-body-scroll:focus,.panel-body-scroll:focus-visible,.panel-body-scroll:focus-within{outline:none!important;outline-width:0!important;outline-style:none!important;outline-color:transparent!important;box-shadow:none!important}.sidebar-history-scroll::-webkit-scrollbar{width:0;height:0;background:transparent}.sidebar-history-scroll::-webkit-scrollbar-thumb{background:transparent}.sidebar-history-empty-wrap{padding:0 .25rem}.sidebar-history-empty{margin:.75rem .5rem 0;font-size:.85rem;color:var(--text-muted)}.sidebar-history-hint{margin:.5rem .5rem 0;padding:.5rem .55rem;font-size:.78rem;line-height:1.4;color:var(--text-muted);background:var(--surface-elevated);border-radius:6px;border:1px solid var(--border)}.sidebar-history-hint-warn{color:var(--text);border-color:#b45309;background:#b453091f}[data-theme=dark] .sidebar-history-hint-warn{border-color:#f59e0b;background:#f59e0b1f}.sidebar-history-hint code{font-size:.72rem}.panel-history-empty-block .sidebar-history-hint{margin-left:0;margin-right:0}.sidebar-history-meta{display:block;margin-top:.35rem;font-size:.75rem;opacity:.9}.panel-empty-detail{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-muted)}.sidebar-history-row{flex-shrink:0;display:flex;align-items:center;gap:.2rem;border-radius:8px;padding-right:.05rem}.sidebar-history-row:hover{background:var(--surface-elevated)}.sidebar-history-row.active .sidebar-history-item{color:var(--primary)}.sidebar-history-item{display:block;flex:1;min-width:0;padding:.45rem .25rem .45rem .65rem;text-align:left;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:.85rem;line-height:1.25;cursor:pointer;transition:background .15s;overflow:hidden}.sidebar-history-item:hover{background:transparent}.sidebar-history-delete{flex-shrink:0;align-self:center;width:1.75rem;height:1.75rem;margin-right:0;margin-left:.05rem;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:1.15rem;line-height:1;cursor:pointer}.sidebar-history-delete:hover{background:#c8505033;color:#c44}.sidebar-history-item-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.header{flex-shrink:0;position:sticky;top:0;z-index:1001;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-left{display:flex;align-items:center;gap:.75rem;position:relative}.header-menu-btn{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;transition:background .2s,border-color .2s}.header-menu-btn:hover{background:var(--surface-elevated);border-color:var(--primary);color:var(--primary)}.header-menu-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000040;z-index:100;min-width:160px;overflow:hidden}.header-menu-dropdown button{display:block;width:100%;padding:.6rem 1rem;text-align:left;border:none;background:transparent;color:var(--text);font-size:.9rem;cursor:pointer;transition:background .15s}.header-menu-dropdown button:hover:not(:disabled){background:var(--surface-elevated)}.header-menu-dropdown button:disabled{opacity:.5;cursor:not-allowed}.header-brand:empty{display:none}.header-icon-btn{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.header-icon-btn svg{pointer-events:none}.header-icon-btn:hover{background:var(--surface-elevated);color:var(--text);border-color:var(--border)}.header-icon-btn.theme-toggle,.header-icon-btn.logout-btn,.header-icon-btn.sync-btn{border:1px solid var(--border);background:var(--surface-elevated)}.header-icon-btn.sync-btn:disabled{opacity:.65;cursor:wait}.header-icon-btn.sync-btn--spin svg{animation:sync-btn-spin .85s linear infinite}@keyframes sync-btn-spin{to{transform:rotate(360deg)}}.client-sync-panel{max-width:42rem;padding:.25rem 0 1.5rem}.client-sync-card{padding:1rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-elevated)}.client-sync-card--disabled{opacity:.85}.client-sync-card-head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.client-sync-client-badge{flex-shrink:0;padding:.35rem .55rem;border-radius:6px;font-size:.75rem;font-weight:700;letter-spacing:.06em;background:color-mix(in srgb,var(--accent, #3b82f6) 22%,transparent);border:1px solid color-mix(in srgb,var(--accent, #3b82f6) 45%,transparent)}.client-sync-card-kicker{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.client-sync-card-title{margin:.15rem 0 0;font-size:1.05rem;font-weight:600}.client-sync-card-desc{margin:0 0 .85rem;font-size:.88rem;color:var(--text-muted);line-height:1.45}.client-sync-future-note{margin:0;font-size:.8rem;color:var(--text-muted);font-style:italic}.client-sync-header h2{margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.client-sync-lead{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted);line-height:1.45}.client-sync-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem}@media (min-width: 520px){.client-sync-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.client-sync-stat{padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-elevated)}.client-sync-stat-label{display:block;font-size:.72rem;color:var(--text-muted);margin-bottom:.2rem}.client-sync-stat-value{font-size:.95rem;font-weight:600}.client-sync-hint{font-size:.85rem;color:var(--text-muted);margin:0 0 .75rem}.client-sync-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.client-sync-start-btn{min-width:12rem}.client-sync-live{padding:.75rem;margin-bottom:.85rem;border-radius:8px;border:1px solid var(--accent, #3b82f6);background:color-mix(in srgb,var(--accent, #3b82f6) 12%,transparent)}.client-sync-live-title{margin:0 0 .35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.client-sync-progress-bar{font-family:ui-monospace,monospace;font-size:.8rem}.client-sync-ok{color:var(--success, #22c55e);font-size:.9rem;margin:0 0 .75rem}.client-sync-log{margin:0 0 1rem;font-size:.82rem}.client-sync-log ul{margin:.35rem 0 0;padding-left:1.1rem}.client-sync-log-type{font-family:ui-monospace,monospace;color:var(--text-muted)}.client-sync-render-note{font-size:.8rem;color:var(--text-muted);line-height:1.45;padding:.65rem .75rem;border-left:3px solid var(--border);margin:0}.modal-overlay{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;min-height:100vh;min-height:100dvh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;box-sizing:border-box;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;max-width:420px;width:100%;box-sizing:border-box;margin:auto;flex-shrink:0;box-shadow:0 16px 48px #0000004d}.modal h3{margin:0 0 1.25rem;font-size:1.1rem;color:var(--text)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-header h3{margin:0}.modal-close{width:32px;height:32px;padding:0;font-size:1.5rem;line-height:1;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.modal-close:hover{background:var(--surface-elevated);color:var(--text)}.modal-body{max-height:60vh;overflow-y:auto}.content-modal{max-width:480px;max-height:80vh;display:flex;flex-direction:column}.content-modal .modal-body{flex:1;min-height:0}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.35rem}.form-group input,.form-group select{width:100%;padding:.5rem .75rem;font-size:.9rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.modal.download-catalog-modal{max-width:520px}.download-catalog-intro{margin:-.5rem 0 1rem;font-size:.85rem;color:var(--text-muted);line-height:1.45}.download-catalog-section{margin-bottom:1.15rem}.download-catalog-sections-wrap .download-catalog-subsection{margin-bottom:1.25rem}.download-catalog-sections-wrap .download-catalog-subsection:last-child{margin-bottom:0}.download-section-lead{margin:-.15rem 0 .5rem}.download-section-title{margin:0 0 .5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.download-catalog-muted{font-size:.85rem;margin:.25rem 0}.download-catalog-hospitals{list-style:none;margin:0;padding:0;max-height:min(40vh,280px);overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.download-catalog-hospitals li{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.download-catalog-hospitals li:last-child{border-bottom:none}.download-hospital-name{display:block;font-size:.9rem;color:var(--text)}.download-hospital-meta{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.download-catalog-note{margin:.65rem 0 0;font-size:.75rem;line-height:1.4;color:var(--text-muted)}.download-otras-list,.download-filtros-list{margin:0;padding-left:1.15rem;font-size:.85rem;color:var(--text);line-height:1.45}.download-otras-list li,.download-filtros-list li{margin-bottom:.5rem}.download-otras-desc{font-size:.8rem;color:var(--text-muted);margin-top:.15rem}.download-otras-route{font-size:.75rem;color:var(--text-muted);font-weight:400}.download-filtros-hint{padding:.65rem .75rem;border-radius:8px;background:var(--surface-elevated);border:1px solid var(--border)}.download-excel-divider{height:1px;background:var(--border);margin:1rem 0 1.1rem}.neon-dl-overlay{align-items:center;justify-content:center;padding:1rem}.neon-dl-modal{width:min(860px,100%);max-height:min(92vh,820px);display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:14px;box-shadow:0 24px 64px #00000047}.neon-dl-header{padding:1.15rem 1.35rem .85rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--surface-elevated) 0%,var(--surface) 100%)}.neon-dl-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.neon-dl-kicker{margin:0 0 .15rem;font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.neon-dl-title{margin:0;font-size:1.35rem;font-weight:650;color:var(--text);letter-spacing:-.02em}.neon-dl-close{border:none;background:transparent;color:var(--text-muted);font-size:1.6rem;line-height:1;cursor:pointer;padding:.1rem .35rem;border-radius:8px}.neon-dl-close:hover{background:var(--surface-elevated);color:var(--text)}.neon-dl-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .35rem;margin-top:.85rem;font-size:.8rem}.neon-dl-crumb button{border:none;background:none;color:var(--text-muted);cursor:pointer;padding:.15rem .35rem;border-radius:6px;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.neon-dl-crumb button:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.neon-dl-crumb button.is-current{color:var(--text);font-weight:600}.neon-dl-crumb-sep{color:var(--border);-webkit-user-select:none;user-select:none}.neon-dl-progress{display:flex;gap:.35rem;margin-top:.75rem}.neon-dl-progress-dot{height:3px;flex:1;border-radius:99px;background:var(--border);transition:background .25s ease}.neon-dl-progress-dot.is-on{background:var(--primary)}.neon-dl-body{flex:1;overflow:auto;padding:1.15rem 1.35rem 1.4rem;animation:neon-dl-enter .28s ease}@keyframes neon-dl-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.neon-dl-section-title{margin:0 0 .25rem;font-size:1.05rem;font-weight:650;color:var(--text)}.neon-dl-section-lead{margin:0 0 1rem;font-size:.88rem;color:var(--text-muted);line-height:1.45}.neon-dl-grid{display:grid;gap:.75rem}.neon-dl-grid-clients{grid-template-columns:repeat(2,minmax(0,1fr))}.neon-dl-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.neon-dl-grid-subs{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}@media (max-width: 640px){.neon-dl-grid-clients,.neon-dl-grid-3{grid-template-columns:1fr}}.neon-dl-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;padding:1rem 1.05rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-elevated);color:var(--text);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.neon-dl-card:hover:not(:disabled):not(.is-disabled){border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}.neon-dl-card.is-disabled,.neon-dl-card:disabled{opacity:.45;cursor:not-allowed}.neon-dl-card-badge{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}.neon-dl-card-title{font-size:1rem;font-weight:650}.neon-dl-card-meta{font-size:.78rem;color:var(--text-muted);line-height:1.35}.neon-dl-devices-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.neon-dl-devices-head .neon-dl-section-lead{margin-bottom:0}.neon-dl-search{flex:1;min-width:12rem;max-width:20rem;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.88rem}.neon-dl-device-groups{display:flex;flex-direction:column;gap:.85rem;max-height:360px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.neon-dl-device-groups::-webkit-scrollbar{width:8px;background:transparent}.neon-dl-device-groups::-webkit-scrollbar-track{background:transparent}.neon-dl-device-groups::-webkit-scrollbar-thumb{background:transparent;border-radius:8px}.neon-dl-device-groups::-webkit-scrollbar-thumb:hover,.neon-dl-device-groups::-webkit-scrollbar-thumb:active{background:transparent}.neon-dl-center-group{margin:0}.neon-dl-center-title{margin:0 0 .4rem;padding:0 .15rem;font-size:.78rem;font-weight:650;letter-spacing:.02em;text-transform:none;color:var(--text-muted)}.neon-dl-device-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.neon-dl-device-list li+li{border-top:1px solid var(--border)}.neon-dl-device-row{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.7rem .9rem;border:none;background:transparent;color:var(--text);cursor:pointer;text-align:left;transition:background .15s ease}.neon-dl-device-row:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.neon-dl-device-name{font-size:.9rem;font-weight:550}.neon-dl-device-meta{font-size:.75rem;color:var(--text-muted)}.neon-dl-dates-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.15rem}.neon-dl-field{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.neon-dl-field input{padding:.5rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.9rem;min-width:10rem}.neon-dl-dates-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.neon-dl-btn-primary{padding:.65rem 1.25rem;border:none;border-radius:9px;background:var(--primary);color:#fff;font-size:.92rem;font-weight:600;cursor:pointer}.neon-dl-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.neon-dl-btn-primary:disabled{opacity:.55;cursor:not-allowed}.neon-dl-btn-ghost{padding:.65rem 1rem;border-radius:9px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.88rem;cursor:pointer}.neon-dl-btn-ghost:hover{color:var(--text);border-color:var(--text-muted)}.neon-dl-muted,.neon-dl-empty{color:var(--text-muted);font-size:.9rem}.neon-dl-error{color:var(--error, #f85149);font-size:.88rem;margin:.5rem 0}.btn-primary{padding:.5rem 1rem;font-size:.9rem;border:none;border-radius:8px;background:var(--primary);color:#fff;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-group-checkbox{margin-top:.5rem}.form-group-checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-group-checkbox input[type=checkbox]{width:1rem;height:1rem}.btn-secondary{padding:.5rem 1rem;font-size:.9rem;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);cursor:pointer;transition:background .2s}.btn-secondary:hover{background:var(--surface-elevated)}.header-logo-btn{padding:0;border:none;background:transparent;cursor:pointer;border-radius:8px;transition:opacity .15s,transform .15s}.header-logo-btn:hover{opacity:.9;transform:scale(1.05)}.header-logo{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.header h1{margin:0;font-size:1.15rem;font-weight:600;color:var(--text);letter-spacing:-.02em}.tagline{margin:.2rem 0 0;font-size:.75rem;color:var(--text-muted)}.client-badge{margin:.15rem 0 0;font-size:.7rem;color:var(--accent);font-weight:500}.client-badge-auto{color:var(--text-muted);font-weight:400}.client-badge-select{display:inline-flex;align-items:center;gap:.35rem}.client-badge-select select{font-size:.7rem;font-weight:600;color:var(--accent);background:var(--bg-elevated, rgba(255, 255, 255, .06));border:1px solid var(--border, rgba(255, 255, 255, .12));border-radius:4px;padding:.1rem .25rem}.logout-btn{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.logout-btn:hover{background:var(--surface-elevated);color:var(--error);border-color:#f851494d}.header-right{display:flex;align-items:center;position:relative;z-index:110;gap:.75rem}.theme-toggle{width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-elevated);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,color .2s}.theme-toggle:hover{background:var(--border);color:var(--text)}.header-action-btn{padding:.4rem .75rem;font-size:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-elevated);color:var(--text);cursor:pointer;transition:background .2s,border-color .2s}.header-action-btn:hover:not(:disabled){background:var(--border)}.header-action-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.header-action-btn:disabled{opacity:.5;cursor:not-allowed}.dashboard-panel{flex-shrink:0;border-bottom:1px solid var(--border);background:var(--surface-elevated);max-height:280px;overflow:hidden;display:flex;flex-direction:column;position:relative;z-index:1}.layout.panel-view .dashboard-panel.dashboard-panel-full{flex:1 1 0%;min-height:0;max-height:none;border-bottom:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.layout.panel-view .dashboard-panel-full .panel-content{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}.layout.panel-view .dashboard-panel-full .panel-body-scroll{flex:1 1 0%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-tap-highlight-color:transparent;-webkit-focus-ring-color:transparent;-webkit-overflow-scrolling:touch;padding:.75rem 1rem}.panel-tabs{display:flex;gap:.5rem;padding:.5rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center}.panel-header-row{flex-shrink:0}.panel-title{font-size:1rem;font-weight:600;color:var(--text)}.panel-close-btn{margin-left:auto;width:28px;height:28px;padding:0;font-size:1.25rem;line-height:1;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.panel-close-btn:hover{background:var(--surface);color:var(--text)}.panel-tabs button{padding:.4rem .8rem;font-size:.8rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.panel-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.panel-tabs button:hover:not(.active){background:var(--surface);color:var(--text)}.panel-supervise{margin-bottom:1rem;font-size:.75rem;padding:.3rem .6rem}.prefactura-section{margin-bottom:1.25rem}.prefactura-section-title{margin:0 0 .35rem;font-size:.9rem;font-weight:600;color:var(--text)}.prefactura-section-desc{margin:0 0 .75rem;font-size:.8rem;color:var(--text-muted)}.prefactura-form.panel-supervise{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 0}.prefactura-form-row label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.prefactura-select{padding:.4rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;min-width:10rem}.prefactura-periodo{display:flex;gap:.5rem;flex-wrap:wrap}.prefactura-mensaje{padding:.6rem .75rem;border-radius:8px;margin-bottom:1rem;font-size:.85rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.prefactura-mensaje-ok{background:#3fb95026;border:1px solid var(--success);color:var(--text)}.prefactura-mensaje-rechazo{background:#f851491a;border:1px solid var(--error);color:var(--text)}.prefactura-mensaje-dismiss{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:1.1rem;padding:0 .25rem;line-height:1}.prefactura-mensaje-dismiss:hover{color:var(--text)}.prefactura-mensaje-multiline{white-space:pre-line}.prefactura-back{background:none;border:none;color:var(--primary);font-size:.85rem;margin-bottom:1rem;padding:0;cursor:pointer}.prefactura-back:hover{text-decoration:underline}.prefactura-module-menu{margin-bottom:1rem}.prefactura-module-desc{font-size:.9rem;color:var(--text-muted);margin:0 0 1rem;line-height:1.45}.prefactura-module-prompt{font-size:.85rem;font-weight:600;margin:0 0 .75rem;color:var(--text)}.prefactura-menu-options{display:flex;flex-direction:column;gap:.5rem}.prefactura-menu-btn{text-align:left;padding:.65rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.9rem;cursor:pointer;transition:background .15s,border-color .15s}.prefactura-menu-btn:hover{background:var(--surface-elevated);border-color:var(--primary)}.pref-home-header{margin-bottom:.85rem}.pref-home-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin-bottom:.45rem}.pref-home-title{margin:0;font-size:1.35rem;font-weight:650;letter-spacing:-.03em;color:var(--text);line-height:1.15}.pref-home-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.pref-home-tools .pref-period-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.pref-subnav{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.pref-subnav-btn{border:none;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:600;padding:.35rem .55rem;border-radius:6px;cursor:pointer}.pref-subnav-btn:hover{background:var(--surface);color:var(--text)}.pref-home-period{margin:.25rem 0 0;font-size:.85rem;color:var(--text-muted)}.pref-period-label{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.pref-period-picker{display:inline-flex;align-items:center;gap:.4rem}.pref-period-select{min-width:9.5rem;font-size:.85rem}.pref-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.pref-section-head .prefactura-section-title,.pref-section-head .prefactura-dashboard-title{margin:0}.pref-summary-card{border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;background:var(--surface);margin-bottom:1rem}.pref-summary-label{margin:0 0 .65rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.pref-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem}@media (min-width: 520px){.pref-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.pref-summary-item{display:flex;flex-direction:column;gap:.15rem}.pref-summary-value{font-size:1.35rem;font-weight:700;color:var(--text);line-height:1.1}.pref-summary-key{font-size:.72rem;color:var(--text-muted)}.pref-summary-item.pref-ok .pref-summary-value{color:var(--success)}.pref-summary-item.pref-warn .pref-summary-value{color:#c47a00}.pref-summary-item.pref-crit .pref-summary-value{color:var(--error)}.pref-summary-item.pref-send .pref-summary-value{color:var(--primary)}.pref-section-h{margin:0 0 .5rem;font-size:.82rem;font-weight:600;color:var(--text)}.pref-client-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.pref-client-btn{width:100%;display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;text-align:left;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.pref-client-btn:hover{border-color:var(--primary)}.pref-client-name{font-weight:600;font-size:.85rem}.pref-client-meta{font-size:.72rem;color:var(--text-muted)}.pref-client-empty{font-size:.8rem;color:var(--text-muted);padding:.5rem 0}.pref-summary-card.pref-summary-loading{opacity:.78}.pref-client-table-wrap{overflow-x:auto;margin-bottom:1rem}.pref-client-table{width:100%;border-collapse:collapse;font-size:.8rem}.pref-client-table th,.pref-client-table td{text-align:left;padding:.5rem .45rem;border-bottom:1px solid var(--border)}.pref-client-table th{font-size:.68rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.pref-client-table tbody tr{cursor:pointer}.pref-client-table tbody tr:hover{background:var(--surface)}.pref-action-grid{display:flex;flex-direction:column;gap:.4rem}.pref-action-btn{text-align:left;padding:.65rem .8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;font-size:.88rem}.pref-action-btn:hover:not(:disabled){border-color:var(--primary)}.pref-action-btn:disabled{opacity:.65;cursor:wait}.pref-action-primary{background:color-mix(in srgb,var(--primary) 12%,var(--surface));border-color:color-mix(in srgb,var(--primary) 45%,var(--border));font-weight:600}.pref-radio-list{display:flex;flex-direction:column;gap:.45rem}.pref-radio{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem;color:var(--text)}.pref-gen-last{border:1px dashed var(--border);border-radius:8px;padding:.65rem .75rem;margin-bottom:.75rem}.pref-gen-label{margin:0;font-size:.72rem;color:var(--text-muted);text-transform:uppercase}.pref-gen-value{margin:.25rem 0 0;font-size:.9rem;color:var(--text)}.pref-hint{margin-top:.75rem;font-size:.75rem;color:var(--text-muted)}.pref-link-btn{background:none;border:none;padding:0;color:var(--accent, #5b9fd4);cursor:pointer;text-decoration:underline;font:inherit}.pref-detail-dl{display:grid;grid-template-columns:8.5rem 1fr;gap:.35rem .75rem;margin:.75rem 0 0;font-size:.82rem}.pref-detail-dl dt{color:var(--text-muted);margin:0}.pref-detail-dl dd{margin:0;color:var(--text)}.pref-inc-row:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.pref-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.pref-bar-row{display:grid;grid-template-columns:6.5rem 1fr auto;gap:.5rem;align-items:center;font-size:.75rem}.pref-bar-btn{display:grid;grid-template-columns:6.5rem 1fr auto;gap:.5rem;align-items:center;width:100%;margin:0;padding:.2rem 0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.pref-bar-btn:hover .pref-bar-label{text-decoration:underline}.pref-bar-label{font-weight:600;color:var(--text)}.pref-bar-track{height:.55rem;border-radius:999px;background:var(--border);overflow:hidden}.pref-bar-fill{display:block;height:100%;background:var(--error);border-radius:999px}.pref-bar-num{color:var(--text-muted);white-space:nowrap}.prefactura-dashboard{margin-bottom:1.5rem}.prefactura-dashboard-title{margin:0 0 .75rem;font-size:1rem;font-weight:700;color:var(--text)}.prefactura-dashboard-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-bottom:1.25rem}.prefactura-kpi{padding:.75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-elevated);text-align:center}.prefactura-kpi-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text);line-height:1.2}.prefactura-kpi-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.prefactura-kpi-ok .prefactura-kpi-value{color:var(--success)}.prefactura-kpi-err .prefactura-kpi-value{color:var(--error)}.prefactura-dashboard-section{margin:1rem 0 .5rem;font-size:.9rem;font-weight:600;color:var(--text)}.prefactura-dashboard-empty{margin:0 0 .5rem;font-size:.85rem;color:var(--text-muted)}.prefactura-dashboard-list{margin-bottom:.5rem}.prefactura-alertas-list{list-style:none;margin:0 0 .5rem;padding:0;font-size:.85rem}.prefactura-alerta{padding:.35rem 0;border-bottom:1px solid var(--border)}.prefactura-alerta-warning{color:#e67700}.prefactura-alerta-info{color:var(--primary)}.prefactura-alerta-ok{color:var(--success)}.prefactura-actividad-list{list-style:none;margin:0;padding:0;font-size:.82rem;color:var(--text)}.prefactura-actividad-item{padding:.3rem 0;border-bottom:1px solid var(--border)}.prefactura-compact-title{font-size:.85rem;font-weight:600;margin:0 0 .5rem;color:var(--text)}.prefactura-compact-list{list-style:none;margin:0;padding:0;font-size:.85rem;font-family:ui-monospace,monospace}.prefactura-compact-list li{padding:.35rem 0;border-bottom:1px solid var(--border);color:var(--text)}.prefactura-detail-card{margin-top:1rem;padding:1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-elevated);font-size:.9rem}.prefactura-detail-card p{margin:.35rem 0}.prefactura-detail-id{font-weight:700;font-size:1rem;margin-bottom:.5rem!important}.prefactura-optional{font-weight:400;color:var(--text-muted);font-size:.85em}.prefactura-input{min-width:100%;max-width:20rem}.btn-ver-detalle{padding:.25rem .5rem;font-size:.8rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer}.btn-ver-detalle:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.prefactura-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.prefactura-modal{background:var(--surface);border-radius:12px;border:1px solid var(--border);max-width:420px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 8px 24px #00000040}.prefactura-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-weight:600;font-size:.95rem}.prefactura-modal-close{background:none;border:none;font-size:1.25rem;color:var(--text-muted);cursor:pointer;padding:0 .25rem;line-height:1}.prefactura-modal-close:hover{color:var(--text)}.prefactura-modal .prefactura-detail-card{margin:0;border-radius:0;border:none}.prefactura-aprobar-list{display:flex;flex-direction:column;gap:.5rem}.prefactura-aprobar-item{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:.85rem}.prefactura-aprobar-id{font-weight:600;font-family:ui-monospace,monospace;min-width:5rem}.prefactura-aprobar-estado{color:var(--text-muted);margin-left:auto}.prefactura-aprobar-actions{display:flex;gap:.35rem}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.btn-rechazar{background:transparent;border:1px solid var(--error);color:var(--error)}.btn-rechazar:hover{background:#f8514926}.prefactura-list{display:flex;flex-direction:column;gap:.75rem}.prefactura-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}.prefactura-table{width:100%;border-collapse:collapse;font-size:.8rem}.prefactura-table th,.prefactura-table td{padding:.5rem .6rem;text-align:left;border-bottom:1px solid var(--border)}.prefactura-table th{background:var(--surface-elevated);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:.7rem}.prefactura-table tbody tr:hover{background:var(--bg-hover, rgba(255,255,255,.03))}.prefactura-table tbody tr.has-anomalies{border-left:3px solid #f0ad4e}.prefactura-table .prefactura-id{font-weight:600;font-family:ui-monospace,monospace}.prefactura-estado-select{padding:.25rem .4rem;font-size:.78rem;border-radius:4px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.prefactura-th-actions,.prefactura-actions-cell{white-space:nowrap}.prefactura-actions-cell{display:flex;flex-wrap:wrap;gap:.25rem}.prefactura-actions-cell .btn-assistant-download,.prefactura-actions-cell .btn-assistant-explicar,.prefactura-actions-cell .btn-assistant-delete{padding:.25rem .5rem;font-size:.75rem}[data-theme=light] .prefactura-table td{color:#000}.prefactura-item{display:flex;flex-direction:column;gap:.5rem}.prefactura-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.prefactura-fields{display:flex;flex-direction:column;gap:.25rem}.prefactura-field{display:flex;flex-direction:column;gap:.05rem}.prefactura-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.prefactura-value{font-size:.85rem;font-weight:600}[data-theme=light] .prefactura-value{color:#000}.prefactura-item-actions{display:flex;flex-wrap:wrap;gap:.35rem}.panel-content{flex:1 1 0%;min-height:0;overflow-y:auto;padding:.75rem 1rem}.panel-empty{margin:0;color:var(--text-muted);font-size:.85rem}.panel-empty.panel-error{color:var(--error)}.sidebar-history-error{margin:.5rem .5rem 0;padding:.55rem .65rem;font-size:.78rem;line-height:1.4;color:#fff;background:#a40e26;border-radius:6px;border:1px solid rgba(0,0,0,.12)}[data-theme=dark] .sidebar-history-error{background:#da3633;color:#fff}.chat-banner-error{flex-shrink:0;margin:.5rem 1rem 0;padding:.65rem .85rem;font-size:.82rem;line-height:1.45;color:#fff;background:#a40e26;border-radius:8px;border:1px solid rgba(0,0,0,.12)}[data-theme=dark] .chat-banner-error{background:#da3633;color:#fff}.sidebar-history-devhint{display:block;margin-top:.45rem;font-size:.72rem;line-height:1.35;color:#b45309}[data-theme=dark] .sidebar-history-devhint{color:#fbbf24}.sidebar-history-devhint code{font-size:.68rem}.sidebar-dev-foot{margin-top:auto;padding:.65rem .75rem .5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem;font-size:.68rem;line-height:1.35;color:var(--text-muted)}.sidebar-dev-foot code{font-size:.65rem;word-break:break-all}.sidebar-dev-foot-line{display:block}.alerts-list,.history-list{display:flex;flex-direction:column;gap:.5rem}.alert-item{padding:.5rem .75rem;border-radius:6px;font-size:.85rem;border-left:3px solid var(--error)}.alert-item.severity-medium{border-left-color:#f0ad4e}.alert-item.severity-low{border-left-color:var(--accent)}.alert-item strong{color:inherit}[data-theme=light] .alerts-list .alert-item,[data-theme=light] .alerts-list .alert-item strong,[data-theme=light] .assistant-file-header strong,[data-theme=light] .assistant-file-item{color:#000}.alert-item small{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.7rem}.history-item-wrap{display:flex;align-items:center;gap:.25rem;border-bottom:1px solid var(--border)}.history-item-wrap:last-child{border-bottom:none}.history-item{display:block;flex:1;width:0;padding:.4rem 0;border:none;font-size:.85rem;text-align:left;background:transparent;color:inherit;cursor:pointer;border-radius:0}.history-item:hover{background:var(--bg-hover, rgba(255, 255, 255, .06))}.history-item-delete{flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer}.history-item-delete:hover{background:#c8505033;color:#c44}.history-msg{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item small{color:var(--text-muted);font-size:.7rem}.tariff-import-card{margin-bottom:1.25rem;padding:1rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-elevated)}.tariff-import-heading{margin:0 0 .5rem;font-size:1rem;color:var(--text)}.tariff-import-help{margin:0 0 1rem;font-size:.8rem;line-height:1.45;color:var(--text-muted)}.tariff-import-help code{font-size:.75rem}.tariff-import-row{margin-bottom:.75rem}.tariff-import-file{font-size:.8rem;max-width:100%}.tariff-import-check{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .5rem;font-size:.78rem;color:var(--text);cursor:pointer}.tariff-import-check input{margin-top:.15rem}.btn-tariff-import{margin-top:.5rem;padding:.5rem 1rem;font-size:.85rem;border-radius:6px;border:none;cursor:pointer;background:var(--accent, #3b82f6);color:#fff}.btn-tariff-import:disabled{opacity:.5;cursor:not-allowed}.tariff-import-notice{margin:.75rem 0 0;font-size:.8rem;line-height:1.4}.tariff-import-notice.ok{color:#22c55e}.tariff-import-notice.err{color:#f87171}.assistant-files-title{margin:0 0 .75rem;font-size:1rem;color:var(--text)}.assistant-files-search{width:100%;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.9rem;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);color:var(--text)}.assistant-files-search::placeholder{color:var(--text-muted)}.assistant-files-list{display:flex;flex-direction:column;gap:1rem}.assistant-file-item{padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:.8rem}.assistant-file-item.has-anomalies{border-left:3px solid #f0ad4e}.assistant-file-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.8rem}.assistant-file-title-wrap{flex:1 1 12rem;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.assistant-file-lines{display:flex;flex-direction:column;gap:.15rem;min-width:0;overflow:visible}.assistant-file-line1{font-size:.85rem;font-weight:600;overflow:visible;word-break:break-word}.assistant-file-line2{font-size:.78rem;font-weight:400;overflow:visible;word-break:break-word;overflow-wrap:anywhere}[data-theme=light] .assistant-file-line2{color:#000}.assistant-file-generated{font-size:.7rem;color:var(--text-muted);font-weight:400}.assistant-file-header strong{font-size:.85rem;font-weight:600}.assistant-file-meta-inline{font-size:.75rem;color:var(--text-muted);font-weight:400}.assistant-file-icon{font-size:1.1rem}.assistant-file-badge{font-size:.7rem;color:#f0ad4e}.assistant-file-meta{margin:.35rem 0 .5rem;font-size:.75rem;color:var(--text-muted)}.assistant-file-actions{display:flex;flex-wrap:wrap;gap:.35rem;flex-shrink:0;margin-top:0}.btn-assistant-download,.btn-assistant-explicar,.btn-assistant-delete{padding:.35rem .65rem;font-size:.8rem;border-radius:6px;border:1px solid var(--border);background:var(--surface-elevated);color:var(--text);cursor:pointer}.btn-assistant-download:hover,.btn-assistant-explicar:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-assistant-delete:hover{background:#c8505026;border-color:#c44;color:#c44}.assistant-file-hint{font-size:.75rem;color:var(--text-muted);align-self:center}.explicacion-modal{max-width:520px;max-height:85vh;overflow-y:auto}.explicacion-resumen{margin-bottom:1rem;padding:.75rem;background:var(--surface-elevated);border-radius:6px}.explicacion-resumen-text{margin:0;font-size:.9rem;white-space:pre-wrap;font-family:inherit;color:var(--text)}.explicacion-label{font-size:.85rem;color:var(--text-muted);margin-bottom:.35rem}.explicacion-completa .explicacion-text{margin:0;font-size:.9rem;line-height:1.5}.chat{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.chat::-webkit-scrollbar{width:8px}.chat::-webkit-scrollbar-track{background:transparent}.chat::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.chat::-webkit-scrollbar-thumb:hover{background:transparent}.chat::-webkit-scrollbar-thumb:active{background:transparent}.chat{scrollbar-width:thin;scrollbar-color:transparent transparent}.welcome-text{margin:0;line-height:1.5;white-space:pre-wrap}.welcome-text+.welcome-text{margin-top:.5rem}.bubble{max-width:88%;align-self:flex-start}.bubble.user{align-self:flex-end}.bubble-content{padding:.75rem 1rem;border-radius:12px;font-size:.9375rem;line-height:1.5;color:var(--text)}.bubble.user .bubble-content{background:var(--user-bubble-bg);border:1px solid rgba(31,111,235,.3);border-bottom-right-radius:4px}.bubble.assistant .bubble-content{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px}[data-theme=light] .bubble.assistant .bubble-content{box-shadow:0 1px 2px #0000000a}.bubble-text{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:inherit;color:inherit}.bubble-inline-link{color:var(--primary);text-decoration:underline;word-break:break-all}.bubble-inline-link:hover{opacity:.9}.bubble-duration{margin:.5rem 0 0;font-size:.8rem;color:var(--text-muted)}.bubble-download{margin-top:.75rem}.btn-download-informe{padding:.4rem .75rem;font-size:.85rem;border-radius:8px;border:1px solid var(--primary);background:var(--surface);color:var(--primary);cursor:pointer}.btn-download-informe:hover{background:var(--primary);color:var(--surface)}.typing{display:flex;align-items:center;gap:4px;color:var(--text-muted)}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:bounce 1.4s ease-in-out infinite both}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.1);opacity:1}}.consulting-state{display:flex;align-items:flex-start;gap:.75rem;color:var(--text-muted);font-size:.9rem}.consulting-copy{display:flex;flex-direction:column;gap:.35rem;min-width:0}.consulting-eta{font-size:.82rem;color:var(--text-muted);opacity:.9}.consulting-spinner{flex-shrink:0;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.consulting-text{line-height:1.4}@keyframes spin{to{transform:rotate(360deg)}}.sources{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.sources small{color:var(--text-muted);font-size:.7rem}.input-area{flex-shrink:0;position:sticky;bottom:0;z-index:50;display:flex;justify-content:center;align-items:flex-end;width:100%;padding:.75rem 1.25rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px));border-top:none;background:linear-gradient(to top,var(--bg) 55%,transparent);--composer-border-radius: 26px}.composer-surface{display:flex;align-items:flex-end;gap:.35rem;width:100%;max-width:40rem;min-height:52px;padding:5px 8px 5px 14px;border-radius:var(--composer-border-radius);background:var(--surface);border:1px solid var(--border);box-shadow:0 0 0 1px #00000005,0 2px 8px #0000000a;box-sizing:border-box}[data-theme=dark] .composer-surface{background:var(--surface-elevated);box-shadow:0 0 0 1px #ffffff0f,0 2px 10px #00000059}.composer-attach{position:relative;flex-shrink:0;align-self:center}.btn-attach-chat{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1.25rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.btn-attach-chat:disabled{opacity:.5;cursor:not-allowed}.composer-attach-menu{position:absolute;bottom:calc(100% + 6px);left:0;min-width:180px;padding:.35rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #0000002e;z-index:60;display:flex;flex-direction:column;gap:2px}.composer-attach-menu button{text-align:left;border:0;background:transparent;color:var(--text);padding:.55rem .65rem;border-radius:6px;cursor:pointer;font-size:.875rem}.composer-attach-menu button:hover:not(:disabled){background:var(--bg)}.composer-attach-menu button:disabled{opacity:.45;cursor:not-allowed}.chat-reply-blocks{margin-top:.75rem;display:flex;flex-direction:column;gap:.65rem}.chat-kpi-card{border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;background:var(--bg);max-width:280px}.chat-kpi-title{font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.chat-kpi-value{font-size:1.35rem;font-weight:600;color:var(--text)}.chat-kpi-delta{margin-top:.25rem;font-size:.85rem;color:var(--text-muted)}.chat-kpi-sub{margin-top:.2rem;font-size:.78rem;color:var(--text-muted)}.chat-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.chat-table-title{padding:.55rem .75rem 0;font-size:.8rem;color:var(--text-muted)}.chat-table-search{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem .25rem}.chat-table-search input{flex:1;min-width:0;border:1px solid var(--border);border-radius:6px;padding:.35rem .55rem;font-size:.85rem;background:var(--panel, var(--bg));color:var(--text)}.chat-table-search-meta{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.chat-table-scroll{max-height:280px;overflow-y:auto}.chat-inline-table{width:100%;border-collapse:collapse;font-size:.85rem}.chat-inline-table th,.chat-inline-table td{padding:.45rem .7rem;border-top:1px solid var(--border);text-align:left}.chat-inline-table th{color:var(--text-muted);font-weight:500}.chat-bar-chart{display:flex;align-items:flex-end;gap:.45rem;height:110px;padding:.75rem}.chat-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:.25rem}.chat-bar{width:100%;max-width:28px;background:var(--primary);border-radius:4px 4px 0 0;min-height:4px}.chat-bar-label{font-size:.65rem;color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.input-area textarea{flex:1;min-width:0;padding:.55rem .35rem;border:none;border-radius:0;background:transparent;color:var(--text);font-size:1rem;line-height:1.4;resize:none;min-height:40px;max-height:min(30svh,13rem);overflow-y:auto;field-sizing:content;transition:none}.input-area textarea::placeholder{color:var(--text-muted)}.input-area textarea:focus{outline:none}.input-area .btn-send-chat{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0;align-self:flex-end;padding:0;width:36px;height:36px;min-width:36px;min-height:36px;margin-bottom:2px;background:var(--primary);color:#fff;border:none;border-radius:999px;font-weight:500;font-size:.9rem;transition:background .15s,opacity .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.input-area .btn-attach-chat{width:36px;height:36px;min-width:36px;min-height:36px;margin-bottom:2px;background:transparent;color:var(--text-muted);border:none;border-radius:999px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.input-area .btn-attach-chat:hover:not(:disabled){background:#8080801f;color:var(--text)}.input-area .btn-send-label{display:none}.input-area .btn-send-chat:hover:not(:disabled){background:var(--primary-hover)}.input-area .btn-send-chat:disabled,.input-area .btn-attach-chat:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 767px){.main-area{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-top:0}.header{position:relative;top:auto;left:auto;right:auto;flex-shrink:0;z-index:70;height:auto;min-height:0;padding-top:calc(constant(safe-area-inset-top,0px) + .5rem);padding-top:calc(env(safe-area-inset-top,0px) + .5rem);padding-right:max(.75rem,env(safe-area-inset-right,0px));padding-bottom:.5rem;padding-left:max(.75rem,env(safe-area-inset-left,0px));border-bottom:none;background:transparent;box-shadow:none;pointer-events:auto}.header-left{gap:.35rem;padding:2px;border-radius:10px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 0 0 1px color-mix(in srgb,var(--border) 65%,transparent)}[data-theme=dark] .header-left{background:color-mix(in srgb,var(--surface-elevated) 78%,transparent)}.header-menu-btn{width:44px;height:44px;border:none;border-radius:8px;background:transparent;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.header-menu-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent);border-color:transparent;color:var(--text)}.header-brand{margin-left:0;min-width:0}.header-brand:empty{display:none}.header .client-badge{margin-top:0;font-size:.65rem}.header-right{gap:.35rem;padding:2px;border-radius:10px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 0 0 1px color-mix(in srgb,var(--border) 65%,transparent)}[data-theme=dark] .header-right{background:color-mix(in srgb,var(--surface-elevated) 78%,transparent)}.header-icon-btn{width:44px;height:44px;border:none;border-radius:8px;background:transparent;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.header-icon-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent);border-color:transparent}.header-icon-btn.theme-toggle,.header-icon-btn.logout-btn,.header-icon-btn.sync-btn{border:none;background:transparent}.main-area>.chat{flex:1 1 0%;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:.75rem 1rem}.input-area{position:relative;left:auto;right:auto;bottom:auto;flex-shrink:0;z-index:60;padding-top:.5rem;padding-right:max(.75rem,env(safe-area-inset-right,0px));padding-bottom:calc(constant(safe-area-inset-bottom,0px) + .5rem);padding-bottom:calc(env(safe-area-inset-bottom,0px) + .5rem);padding-left:max(.75rem,env(safe-area-inset-left,0px));border-top:none;background:transparent;pointer-events:none}.input-area .composer-surface{pointer-events:auto;max-width:40rem;margin:0 auto;min-height:52px;border-radius:26px;border:none;background:var(--surface);box-shadow:0 0 0 1px #0000000a,0 2px 8px #0000000a,0 4px 40px 8px #00000006}[data-theme=dark] .input-area .composer-surface{background:var(--surface-elevated);box-shadow:0 0 0 1px #ffffff14,0 2px 8px #00000059,0 4px 40px 8px #00000040}.input-area textarea{font-size:16px;min-height:42px;padding:.55rem .4rem}.input-area .btn-send-chat{width:44px;height:44px;min-width:44px;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}html.keyboard-open .layout{height:calc(100dvh - var(--keyboard-inset, 0px));max-height:calc(100dvh - var(--keyboard-inset, 0px))}html.keyboard-open .input-area{padding-left:max(.75rem,env(safe-area-inset-left,0px));padding-right:max(.75rem,env(safe-area-inset-right,0px));padding-bottom:.5rem}}@media (min-width: 768px){.input-area{position:sticky}.input-area .btn-send-chat{width:auto;min-width:5.5rem;padding:0 1.1rem;border-radius:999px}.input-area .btn-send-label{display:inline}.input-area .btn-send-chat svg{display:none}}@media (max-width: 600px){.layout{max-width:100%}.bubble{max-width:92%}.layout{height:100dvh;height:100vh}.modal-overlay .modal{max-height:calc(100dvh - 2rem);max-height:calc(100vh - 2rem)}.chat::-webkit-scrollbar{width:6px}.chat::-webkit-scrollbar-track{background:transparent}.chat::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.chat::-webkit-scrollbar-thumb:hover{background:transparent}.chat::-webkit-scrollbar-thumb:active{background:transparent}.chat{scrollbar-width:thin;scrollbar-color:transparent transparent}}@media (min-width: 601px) and (max-width: 1024px){.chat::-webkit-scrollbar{width:8px}.chat::-webkit-scrollbar-track{background:transparent}.chat::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.chat::-webkit-scrollbar-thumb:hover{background:transparent}.chat::-webkit-scrollbar-thumb:active{background:transparent}.chat{scrollbar-width:thin;scrollbar-color:transparent transparent}}.panel-content::-webkit-scrollbar,.panel-body-scroll::-webkit-scrollbar,.modal-body::-webkit-scrollbar{width:8px}.panel-content::-webkit-scrollbar-track,.panel-body-scroll::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb,.panel-body-scroll::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.panel-content::-webkit-scrollbar-thumb:hover,.panel-body-scroll::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover{background:transparent}.panel-content,.panel-body-scroll,.modal-body{scrollbar-width:thin;scrollbar-color:transparent transparent}.dashboard-standalone-root{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.dashboard-standalone-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap;background:var(--surface)}.dashboard-standalone-brand h1{margin:0;font-size:1.15rem}.dashboard-standalone-sub{margin:2px 0 0;font-size:.85rem;opacity:.85}.dashboard-standalone-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboard-standalone-main{flex:1;padding:16px;overflow:auto}.portal-quick-actions{margin-bottom:1rem;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-elevated)}.portal-quick-actions-inner{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.portal-quick-actions-msg{margin:10px 0 0;font-size:.85rem;color:var(--text-muted)}.dashboard-standalone-root--portal .dashboard-standalone-header{border-bottom-color:var(--border)}.dq-dashboard{display:flex;flex-direction:column;gap:14px}.dq-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.dq-kpi-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-elevated);display:flex;flex-direction:column;gap:6px}.dq-kpi-value{font-size:1.4rem;font-weight:700}.dq-kpi-label{font-size:.85rem;opacity:.85}.dq-section{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface-elevated)}.dq-section h4{margin:0 0 8px}.dq-muted{margin:0 0 8px;font-size:.92rem;opacity:.9}.dq-pressure-strip .dq-muted{margin-bottom:4px}.dq-pressure-top{margin-top:0;font-size:.85rem}.dq-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.dq-pill-low{background:#22c55e26;color:#16a34a}.dq-pill-medium{background:#eab3082e;color:#ca8a04}.dq-pill-high{background:#ef444426;color:#dc2626}.dq-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.dq-table-wrap{overflow-x:auto}.dq-table{width:100%;border-collapse:collapse;font-size:.92rem}.dq-table th,.dq-table td{border-bottom:1px solid var(--border);text-align:left;padding:8px 6px;vertical-align:top}.dq-status{display:inline-block;border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:600}.dq-status-healthy{background:#22c55e2e;color:#22c55e}.dq-status-warning{background:#f59e0b33;color:#f59e0b}.dq-status-degraded{background:#ef444433;color:#ef4444}.dashboard-standalone-max{max-width:1180px;margin:0 auto;width:100%}.dashboard-standalone-root--portal .dashboard-standalone-main{padding:20px 18px 32px}.dashboard-standalone-root--portal .dashboard-standalone-header{position:relative;padding:18px 22px;border-bottom:none;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-elevated) 55%,var(--surface) 100%);box-shadow:0 1px 0 var(--border)}.dashboard-standalone-root--portal .dashboard-standalone-brand h1{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(90deg,var(--text) 0%,var(--accent) 120%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .dashboard-standalone-root--portal .dashboard-standalone-brand h1{background:none;-webkit-background-clip:unset;background-clip:unset;color:var(--text)}.dashboard-standalone-root--portal .dashboard-standalone-brand h1:after{content:"";display:block;width:48px;height:3px;margin-top:8px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent))}.dashboard-standalone-root--portal{background:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(0,168,132,.12),transparent 55%),radial-gradient(ellipse 80% 50% at 100% 50%,rgba(0,102,204,.08),transparent 45%),var(--bg)}[data-theme=light] .dashboard-standalone-root--portal{background:radial-gradient(ellipse 100% 60% at 50% 0%,rgba(0,168,132,.08),transparent 50%),radial-gradient(ellipse 60% 40% at 100% 30%,rgba(9,105,218,.06),transparent 40%),var(--bg)}.portal-quick-actions--visual{padding:0;border:none;background:transparent;margin-bottom:1.5rem}.portal-quick-actions-head{margin-bottom:14px}.portal-quick-actions-title{margin:0 0 4px;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.portal-quick-actions-sub{margin:0;font-size:.88rem;color:var(--text-muted);max-width:52ch;line-height:1.45}.portal-quick-actions--visual .portal-quick-actions-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.portal-qa-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface-elevated);color:var(--text);font-size:.95rem;font-weight:600;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.portal-qa-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 28px #0000002e;border-color:var(--primary)}[data-theme=light] .portal-qa-btn:hover:not(:disabled){box-shadow:0 8px 24px #0969da1f}.portal-qa-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.portal-qa-btn-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:1.1rem;background:#8080801f}.portal-qa-btn--primary .portal-qa-btn-icon{background:#06c3;color:var(--primary)}.portal-qa-btn--accent .portal-qa-btn-icon{background:#00a88433;color:var(--accent)}.portal-qa-btn--ghost .portal-qa-btn-icon{background:#8b949e26;font-size:.85rem;font-weight:700;font-family:ui-monospace,monospace}.portal-qa-btn--primary{border-color:#0066cc59;background:linear-gradient(145deg,var(--surface-elevated),rgba(0,102,204,.08))}.portal-qa-btn--accent{border-color:#00a88459;background:linear-gradient(145deg,var(--surface-elevated),rgba(0,168,132,.07))}.portal-qa-btn-text{line-height:1.25}.dq-dashboard--portal{gap:22px}.dq-portal-hero{position:relative;overflow:hidden;border-radius:20px;padding:28px 26px 24px;border:1px solid var(--border);background:linear-gradient(125deg,var(--surface-elevated) 0%,rgba(0,102,204,.12) 42%,rgba(0,168,132,.1) 100%);display:flex;align-items:stretch;justify-content:space-between;gap:20px;flex-wrap:wrap}[data-theme=light] .dq-portal-hero{background:linear-gradient(125deg,#fff,#0969da0f 45%,#00a8840f)}.dq-portal-hero-glow{position:absolute;inset:-40% -20% auto auto;width:55%;height:120%;background:radial-gradient(circle at 70% 30%,rgba(0,168,132,.25),transparent 55%);pointer-events:none}.dq-portal-hero-inner{position:relative;z-index:1;flex:1 1 280px;min-width:0}.dq-portal-eyebrow{margin:0 0 8px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.dq-portal-title{margin:0 0 10px;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.2}.dq-portal-lead{margin:0 0 16px;font-size:.95rem;color:var(--text-muted);max-width:46ch;line-height:1.55}.dq-portal-meta{display:flex;flex-wrap:wrap;gap:10px}.dq-portal-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:.8rem;background:#0003;border:1px solid var(--border)}[data-theme=light] .dq-portal-chip{background:#0969da0f}.dq-portal-chip--client{border-color:#00a88459}.dq-portal-chip-icon{opacity:.85;font-size:.9rem}.dq-spark-bars{position:relative;z-index:1;display:flex;align-items:flex-end;gap:5px;height:72px;padding:0 8px;flex:0 0 100px}.dq-portal-hero .dq-spark-bars{align-self:flex-end;height:96px;flex:0 0 120px;opacity:.9}.dq-spark-bar{flex:1;min-height:8px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--accent),var(--primary));opacity:.55;transition:opacity .25s ease}.dq-spark-bar:nth-child(1){opacity:.95}.dq-spark-bar:nth-child(2){opacity:.75}.dq-spark-bar:nth-child(3){opacity:.6}.dq-spark-bar:nth-child(4){opacity:.85}.dq-kpi-card .dq-spark-bars{height:44px;flex:0 0 56px;padding:0;opacity:.65}.dq-kpi-card .dq-spark-bar{background:linear-gradient(180deg,#ffffff59,#ffffff14)}[data-theme=light] .dq-kpi-card .dq-spark-bar{background:linear-gradient(180deg,#0000001f,#0000000a)}.dq-kpi-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.dq-kpi-icon{font-size:1.35rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.dq-kpi-grid{gap:14px}.dq-kpi-card{position:relative;overflow:hidden;border-radius:16px;padding:16px 16px 14px;border:1px solid var(--border);background:var(--surface-elevated);box-shadow:0 4px 20px #0000001f;transition:transform .2s ease,box-shadow .2s ease}.dq-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px;background:var(--primary);opacity:.9}.dq-kpi-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0003}[data-theme=light] .dq-kpi-card:hover{box-shadow:0 12px 32px #0969da1a}.dq-kpi-card--alerts:before{background:linear-gradient(180deg,#f59e0b,#ef4444)}.dq-kpi-card--downloads:before{background:linear-gradient(180deg,var(--primary),#60a5fa)}.dq-kpi-card--queries:before{background:linear-gradient(180deg,#a78bfa,#6366f1)}.dq-kpi-card--clients:before{background:linear-gradient(180deg,var(--accent),#34d399)}.dq-kpi-value{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.dq-kpi-label{font-size:.82rem;color:var(--text-muted);opacity:1}.dq-card{border-radius:16px;border:1px solid var(--border);background:var(--surface-elevated);box-shadow:0 2px 14px #00000014}.dq-section.dq-card{padding:18px 18px 16px}.dq-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.dq-card-head h4{margin:0;flex:1;font-size:1rem;font-weight:700;letter-spacing:-.02em}.dq-card-head-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#8080801f;font-size:1rem}.dq-card-badge{font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;background:#f8514926;color:var(--error)}.dq-table-modern tbody tr{transition:background .15s ease}.dq-table-modern tbody tr:hover{background:#8080800f}.dq-table-client{font-weight:700;letter-spacing:.02em}.dq-table-sub{font-size:.82rem;color:var(--text-muted)}.dq-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.dq-feed--compact{gap:8px;margin-top:12px}.dq-feed-item{border-radius:12px;border:1px solid var(--border);padding:12px 14px;background:#8080800f;border-left:4px solid var(--accent)}.dq-feed-item--high{border-left-color:#ef4444;background:#ef444414}.dq-feed-item--medium{border-left-color:#f59e0b;background:#f59e0b14}.dq-feed-item--low{border-left-color:var(--accent)}.dq-feed-client{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.dq-feed-type{display:inline-block;margin-left:8px;font-size:.75rem;padding:2px 8px;border-radius:6px;background:#80808026;color:var(--text-muted)}.dq-feed-msg{margin:8px 0 6px;font-size:.92rem;line-height:1.45}.dq-feed-meta{font-size:.8rem;color:var(--text-muted)}.dq-feed-item-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.dq-empty-hint{margin:0;padding:20px;text-align:center;color:var(--text-muted);font-size:.92rem;border-radius:12px;border:1px dashed var(--border);background:#8080800a}.dq-download-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.dq-dl-stat{flex:1 1 120px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#8080800f}.dq-dl-stat-label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px}.dq-dl-stat-value{font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums}.dq-dl-stat--ok .dq-dl-stat-value{color:var(--success)}.dq-dl-stat--err .dq-dl-stat-value{color:var(--error)}.dq-pill-dl{text-transform:capitalize;background:#0066cc1f;color:var(--primary)}.dq-query-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.dq-query-row{display:flex;align-items:flex-start;gap:14px;padding:14px 4px;border-bottom:1px solid var(--border)}.dq-query-row:last-child{border-bottom:none}.dq-query-avatar{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.dq-query-body{min-width:0;flex:1}.dq-query-title{display:block;font-weight:600;font-size:.95rem;line-height:1.35}.dq-query-sub{display:block;margin-top:4px;font-size:.82rem;color:var(--text-muted)}.dq-loading{display:flex;flex-direction:column;gap:16px}.dq-skeleton-hero{height:120px;border-radius:20px;background:linear-gradient(90deg,var(--surface-elevated) 25%,var(--border) 40%,var(--surface-elevated) 55%);background-size:200% 100%;animation:dq-shimmer 1.2s ease-in-out infinite}.dq-skeleton-hero--wide{height:140px}.dq-skeleton-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.dq-skeleton-kpi{height:100px;border-radius:16px;background:linear-gradient(90deg,var(--surface-elevated) 25%,var(--border) 40%,var(--surface-elevated) 55%);background-size:200% 100%;animation:dq-shimmer 1.2s ease-in-out infinite}.dq-skeleton-block{height:180px;border-radius:16px;background:linear-gradient(90deg,var(--surface-elevated) 25%,var(--border) 40%,var(--surface-elevated) 55%);background-size:200% 100%;animation:dq-shimmer 1.2s ease-in-out infinite}.dq-skeleton-block--short{height:100px}@keyframes dq-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.dq-error-card{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:16px;border:1px solid rgba(248,81,73,.35);background:#f8514914}.dq-error-card-icon{font-size:1.75rem;line-height:1}.dq-error-card-title{margin:0 0 8px;font-size:1.05rem}.dq-error-card-msg{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-muted)}.dq-animate-in{animation:dq-fade-up .45s ease backwards}@keyframes dq-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dq-ts-chart-wrap{--dq-ts-c-alerts: linear-gradient(180deg, #fb923c, #ef4444);--dq-ts-c-downloads: linear-gradient(180deg, #60a5fa, var(--primary));--dq-ts-c-chat: linear-gradient(180deg, #a78bfa, #6366f1)}.dq-ts-chart-wrap .dq-card-head{align-items:flex-start}.dq-ts-head-text{flex:1;min-width:0}.dq-ts-head-text h4{margin:0 0 6px;font-size:1rem;font-weight:700;letter-spacing:-.02em}.dq-ts-summary{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.45}.dq-ts-chart{display:flex;flex-direction:column;gap:14px;margin-top:4px}.dq-ts-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:end}.dq-ts-row-head{display:flex;flex-direction:column;gap:4px;padding-bottom:4px}.dq-ts-row-icon{font-size:1.15rem;line-height:1}.dq-ts-row-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.dq-ts-bars{display:flex;align-items:flex-end;gap:3px;min-height:64px;padding:4px 2px 0;border-radius:12px;background:#8080800f;border:1px solid var(--border)}.dq-ts-cell{flex:1 1 0;min-width:0;height:64px;display:flex;align-items:flex-end;justify-content:center}.dq-ts-bar{width:100%;max-width:10px;margin:0 auto;border-radius:6px 6px 3px 3px;min-height:0;opacity:.92;transition:opacity .15s ease,transform .15s ease}.dq-ts-cell:hover .dq-ts-bar{opacity:1;transform:scaleY(1.04);transform-origin:bottom}.dq-ts-xaxis{display:flex;justify-content:space-between;margin-top:10px;padding:0 4px 0 104px;font-size:.75rem;color:var(--text-muted)}@media (max-width: 520px){.dq-ts-xaxis{padding-left:0;margin-top:6px}.dq-ts-row{grid-template-columns:1fr}.dq-ts-row-head{flex-direction:row;align-items:center;gap:8px;padding-bottom:0}}@media (prefers-reduced-motion: reduce){.dq-animate-in,.dq-skeleton-hero,.dq-skeleton-kpi,.dq-skeleton-block{animation:none!important}.dq-kpi-card:hover,.portal-qa-btn:hover:not(:disabled){transform:none}.dq-ts-cell:hover .dq-ts-bar{transform:none}}.dq-tree-wrap{display:flex;flex-direction:column;gap:.6rem}.dq-tree-category,.dq-tree-group,.dq-tree-node{border:1px solid var(--line, rgba(255, 255, 255, .08));border-radius:10px;padding:.45rem .6rem;background:#14182261}.dq-tree-category>summary,.dq-tree-group>summary,.dq-tree-node>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-weight:600}.dq-tree-category>summary::-webkit-details-marker,.dq-tree-group>summary::-webkit-details-marker,.dq-tree-node>summary::-webkit-details-marker{display:none}.dq-tree-category>summary small,.dq-tree-group>summary small,.dq-tree-node>summary small{opacity:.72;font-weight:500}.dq-tree-subgroups,.dq-tree-devices{margin-top:.5rem;display:flex;flex-direction:column;gap:.45rem}.dq-tree-series{margin-top:.55rem;display:flex;flex-direction:column;gap:.35rem}.dq-tree-series-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.9rem}.dq-tree-more,.dq-tree-empty,.dq-error-inline{margin:.45rem 0 .1rem;font-size:.9rem;opacity:.82}.dq-error-inline{color:#ff9b9b}.toast-stack{position:fixed;bottom:1.25rem;right:1.25rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:min(420px,calc(100vw - 2rem))}.toast{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-radius:8px;box-shadow:0 8px 24px #0000002e;font-size:.9rem;line-height:1.4;animation:toast-in .2s ease-out}.toast--info{background:#1e3a5f;color:#e8f1ff;border:1px solid #2d5a8a}.toast--success{background:#0f3d2e;color:#d7f5e8;border:1px solid #1a6b4f}.toast--error{background:#4a1515;color:#ffe8e8;border:1px solid #8b2e2e}.toast-close{background:transparent;border:none;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;opacity:.8;padding:0}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-skeleton{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0}.chat-skeleton-row{height:14px;border-radius:6px;background:linear-gradient(90deg,#ffffff0f,#ffffff24,#ffffff0f);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.chat-skeleton-row--short{width:55%}.chat-skeleton-row--medium{width:78%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sync-console-grid{display:grid;gap:1rem;margin-bottom:1.5rem}.sync-console-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1rem 1.25rem}.sync-console-card h3{margin:0 0 .5rem;font-size:1rem}.sync-console-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.85rem;opacity:.9}.sync-status-ok{color:#3dd68c}.sync-status-warn{color:#f5c542}.sync-status-bad{color:#ff7b7b}.admin-root{min-height:100vh;display:flex;background:radial-gradient(1200px 500px at 10% -10%,rgba(0,102,204,.18),transparent 55%),radial-gradient(900px 420px at 100% 0%,rgba(0,168,132,.1),transparent 50%),var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;scrollbar-width:none;-ms-overflow-style:none}.admin-root::-webkit-scrollbar{width:0;height:0;background:transparent}html:has(.admin-root),html:has(.admin-root) body,.admin-main,.admin-content{scrollbar-width:none;-ms-overflow-style:none}html:has(.admin-root)::-webkit-scrollbar,html:has(.admin-root) body::-webkit-scrollbar,.admin-main::-webkit-scrollbar,.admin-content::-webkit-scrollbar{width:0;height:0;background:transparent}.admin-login{min-height:100vh;width:100%;display:grid;place-items:center;padding:32px 16px;position:relative}.admin-login-panel{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:36px 32px 28px;box-shadow:0 24px 80px #00000047}.admin-login-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-weight:600;margin:0 0 12px}.admin-login-panel h1{margin:0;font-size:1.7rem;letter-spacing:-.03em}.admin-login-panel p.lead{margin:8px 0 24px;color:var(--text-muted);font-size:.95rem}.admin-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.admin-field label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;padding:.7rem .9rem;font-size:.95rem}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0066cc2e}.admin-btn{border:0;border-radius:10px;padding:.75rem 1.1rem;font-weight:600;font-size:.95rem;cursor:pointer}.admin-btn-primary{background:linear-gradient(180deg,var(--primary),var(--primary-hover));color:#fff;width:100%}.admin-btn-primary:disabled{opacity:.65;cursor:not-allowed}.admin-btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.admin-btn-subtle{background:var(--surface-elevated);color:var(--text);border:1px solid var(--border)}.admin-error{background:#f851491f;border:1px solid rgba(248,81,73,.28);color:var(--error);border-radius:10px;padding:10px 12px;font-size:.88rem;margin-bottom:12px}.admin-ok{background:#3fb9501f;border:1px solid rgba(63,185,80,.28);color:var(--success);border-radius:10px;padding:10px 12px;font-size:.88rem;margin-bottom:12px}.admin-login-foot{margin-top:22px;font-size:.78rem;color:var(--text-muted);line-height:1.5}.admin-sidebar{width:268px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:100vh}.admin-brand{padding:22px 20px 18px;border-bottom:1px solid var(--border)}.admin-brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-weight:700;margin-bottom:12px}.admin-brand h1{margin:0;font-size:1.05rem;letter-spacing:-.02em}.admin-brand p{margin:4px 0 0;font-size:.78rem;color:var(--text-muted)}.admin-nav{padding:14px 12px;display:flex;flex-direction:column;gap:4px}.admin-nav a{text-decoration:none;color:var(--text-muted);padding:10px 12px;border-radius:10px;font-size:.9rem;font-weight:500}.admin-nav a:hover{background:#8080801a;color:var(--text)}.admin-nav a.active{background:#0066cc29;color:var(--text)}.admin-sidebar-foot{margin-top:auto;padding:16px 18px 22px;border-top:1px solid var(--border);font-size:.78rem;color:var(--text-muted)}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 28px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-topbar-title{min-width:0;flex:1}.admin-topbar h2{margin:0;font-size:1.15rem;letter-spacing:-.02em;line-height:1.25;overflow-wrap:anywhere}.admin-topbar .sub{margin:2px 0 0;font-size:.82rem;color:var(--text-muted)}.admin-topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-topbar-chat-short,.admin-topbar-logout-short{display:none}.admin-stat-strip{display:flex;flex-wrap:nowrap;align-items:center;gap:.65rem 1rem;margin-bottom:14px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:.8rem;color:var(--text-muted);overflow-x:auto;white-space:nowrap}.admin-stat-strip strong{color:var(--text);font-weight:700;margin-left:4px}.admin-content{padding:24px 28px 40px;overflow:auto}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.admin-kpi{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 18px 16px;position:relative;overflow:hidden}.admin-kpi:after{content:"";position:absolute;inset:auto -20px -30px auto;width:90px;height:90px;border-radius:50%;background:#0066cc1f}.admin-kpi .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.admin-kpi .value{font-size:2rem;font-weight:650;letter-spacing:-.04em;margin-top:6px}.admin-kpi .hint{margin-top:4px;font-size:.8rem;color:var(--text-muted)}.admin-grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.admin-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-stat-card strong{font-size:1.6rem;display:block;margin-top:4px}.admin-stat-card .meta{margin:0;color:var(--text-muted);font-size:.8rem}.admin-pill-ok{background:#00a8842e;color:var(--text)}.admin-pill-danger{background:#c83c3c2e;color:var(--text)}.admin-link-btn{background:none;border:0;padding:0;color:inherit;cursor:pointer;text-align:left;font:inherit}.admin-link-btn:hover strong{text-decoration:underline}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px}.admin-card h3{margin:0 0 14px;font-size:.95rem}.admin-source-row{display:grid;grid-template-columns:92px 1fr 40px;gap:10px;align-items:center;margin-bottom:10px;font-size:.85rem}.admin-bar{height:8px;background:var(--border);border-radius:99px;overflow:hidden}.admin-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:99px}.admin-coverage{display:flex;align-items:center;gap:18px}.admin-ring{width:108px;height:108px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.admin-ring-inner{width:78px;height:78px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-weight:700;font-size:1.15rem}.admin-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:12px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-elevated) 70%,var(--surface))}.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:0}.admin-pills{display:flex;flex-wrap:wrap;gap:6px}.admin-pill{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:99px;background:#0066cc24;color:var(--text)}.admin-pill-muted{background:#80808024;color:var(--text-muted)}.admin-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:6px}.admin-badge-dexcell{background:#0066cc29}.admin-badge-postgres,.admin-badge-mysql{background:#00a88429}.admin-badge-excel{background:#d299222e}.admin-badge-api{background:#a371f729}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.admin-toolbar h3{margin:0}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:40;padding:20px}.admin-modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px}.admin-modal h3{margin:0 0 6px}.admin-modal .hint{color:var(--text-muted);font-size:.85rem;margin:0 0 16px}.admin-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.admin-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:8px 0 14px}.admin-check{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:.85rem}.admin-matrix{overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.admin-matrix table{border-collapse:collapse;min-width:640px;width:100%}.admin-matrix th,.admin-matrix td{padding:10px;border-bottom:1px solid var(--border);text-align:center;font-size:.82rem}.admin-matrix th:first-child,.admin-matrix td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);min-width:160px}.admin-empty{padding:36px 16px;text-align:center;color:var(--text-muted)}.admin-client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.admin-client-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}.admin-client-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.admin-client-card h4{margin:0;font-size:1rem}.admin-client-card .meta{font-size:.8rem;color:var(--text-muted)}.admin-nav-section{margin:12px 12px 4px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.admin-nav a.deferred{opacity:.78}.admin-sidebar-plane{padding:8px 12px 4px;border-top:1px solid var(--border)}.admin-chat-launch{display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);font-weight:650;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 12%,var(--surface));margin:4px 0}.admin-chat-launch:hover{background:color-mix(in srgb,var(--primary) 20%,var(--surface))}.admin-chat-hint{margin:0 4px 8px;font-size:.72rem;color:var(--text-muted);line-height:1.4}.admin-session-card{display:flex;flex-direction:column;gap:2px}.admin-session-card span{font-size:.72rem}.admin-btn-chat{background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:var(--text);border:1px solid color-mix(in srgb,var(--primary) 40%,var(--border));text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}.admin-breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px;padding:0;font-size:.75rem;color:var(--text-muted)}.admin-breadcrumbs a{color:var(--text-muted);text-decoration:none}.admin-breadcrumbs a:hover{color:var(--text)}.admin-breadcrumbs-sep{margin:0 2px;opacity:.6}.admin-ops-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-radius:16px;border:1px solid var(--border);background:var(--surface);margin-bottom:16px}.admin-ops-banner h3{margin:0 0 4px;font-size:1rem}.admin-ops-banner p{margin:0;color:var(--text-muted);font-size:.88rem}.admin-ops-banner-meta{font-size:.82rem;color:var(--text-muted);white-space:nowrap}.admin-attention-list,.admin-status-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.admin-attention{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--bg)}.admin-attention p{margin:4px 0 0;font-size:.82rem;color:var(--text-muted)}.admin-attention-critical{border-color:#f8514959}.admin-attention-warning{border-color:#d2992266}.admin-status-list li a{display:flex;justify-content:space-between;gap:8px;text-decoration:none;color:var(--text);font-size:.92rem}.admin-status-list .meta{margin-top:4px;font-size:.78rem;color:var(--text-muted)}.admin-tone{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:6px}.admin-tone-ok{background:#3fb95029;color:var(--success, #3fb950)}.admin-tone-warn{background:#d299222e}.admin-tone-muted{background:#80808029;color:var(--text-muted)}.admin-org-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.admin-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.admin-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.admin-tabs button.is-active{color:var(--text);border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 14%,var(--surface))}.admin-dl{display:grid;gap:12px;margin:0}.admin-dl div{display:grid;grid-template-columns:160px 1fr;gap:8px;font-size:.9rem}.admin-dl dt{color:var(--text-muted);font-weight:600}.admin-dl dd{margin:0}.admin-tree{margin:0;padding-left:1.1rem;font-size:.9rem}.admin-tree ul{margin:6px 0 0;padding-left:1.1rem}.admin-row-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-json-preview{margin:0;max-height:280px;overflow:auto;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);font-size:.72rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}margin: 0 0 8px; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primary); } .admin-placeholder-body{color:var(--text-muted);font-size:.92rem;line-height:1.5;max-width:52rem}.admin-nav-toggle{display:none}.admin-nav-toggle-bars{display:flex;flex-direction:column;justify-content:center;gap:5px;width:18px;height:14px}.admin-nav-toggle-bars>span{display:block;height:2px;width:100%;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.admin-nav-toggle.is-open .admin-nav-toggle-bars>span:nth-child(1){transform:translateY(7px) rotate(45deg)}.admin-nav-toggle.is-open .admin-nav-toggle-bars>span:nth-child(2){opacity:0}.admin-nav-toggle.is-open .admin-nav-toggle-bars>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.admin-nav-backdrop{display:none}@media (max-width: 1100px){.admin-kpi-grid,.admin-grid-2{grid-template-columns:1fr 1fr}.admin-nav-toggle{display:inline-flex;align-items:center;justify-content:center;position:fixed;top:12px;left:12px;z-index:60;width:42px;height:42px;padding:0;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;cursor:pointer}.admin-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:55;border:0}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,88vw);z-index:70;transform:translate(-105%);transition:transform .2s ease,visibility .2s ease;min-height:100vh;visibility:hidden;pointer-events:none;box-shadow:none}.admin-sidebar.is-open{transform:translate(0);visibility:visible;pointer-events:auto;box-shadow:8px 0 32px #00000040}.admin-topbar{padding:12px 14px 12px 64px;flex-wrap:nowrap;align-items:center;gap:10px}.admin-topbar h2{font-size:1.02rem}.admin-topbar .sub{display:none}.admin-topbar-actions{gap:6px}.admin-topbar-actions .admin-btn{padding:.55rem .7rem;font-size:.82rem;white-space:nowrap}.admin-topbar-icon-btn{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}.admin-topbar-chat-full,.admin-topbar-logout-full{display:none}.admin-topbar-chat-short,.admin-topbar-logout-short{display:inline}.admin-content{padding:16px 14px 28px}.admin-toolbar{flex-wrap:wrap;align-items:flex-start}}@media (max-width: 860px){.admin-kpi-grid,.admin-grid-2{grid-template-columns:1fr}.admin-grid-4{grid-template-columns:1fr 1fr}.admin-ops-banner{flex-direction:column;align-items:flex-start}.admin-dl div{grid-template-columns:1fr}.admin-topbar{padding:10px 12px 10px 58px}.admin-topbar h2{font-size:.98rem}.admin-breadcrumbs{font-size:.72rem;margin-bottom:2px}.admin-stat-strip{gap:.5rem .85rem;font-size:.75rem;padding:7px 10px}}.saas-settings{min-height:100vh;padding:2rem clamp(1rem,4vw,3rem);background:linear-gradient(160deg,#f7f4ef,#e8eef2 55%,#f3f6f8);color:#1c2430;font-family:Segoe UI,IBM Plex Sans,sans-serif}.saas-settings__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.saas-settings__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;margin:0 0 .35rem;color:#5a6a7a}.saas-settings h1{margin:0;font-size:1.75rem;font-weight:650}.saas-settings__sub{margin:.35rem 0 0;color:#5a6a7a}.saas-settings__actions{display:flex;gap:.75rem;align-items:center}.saas-settings__actions a,.saas-settings__actions button{border:1px solid #c5d0da;background:#fff;padding:.45rem .85rem;border-radius:6px;color:inherit;text-decoration:none;cursor:pointer;font:inherit}.saas-settings__nav{display:flex;gap:.5rem;margin-bottom:1rem}.saas-settings__nav button{border:none;background:transparent;padding:.5rem .9rem;cursor:pointer;font:inherit;color:#5a6a7a;border-bottom:2px solid transparent}.saas-settings__nav button.active{color:#1c2430;border-bottom-color:#2f6fed}.saas-settings__panel{background:#ffffffb8;border:1px solid #d7e0e8;border-radius:10px;padding:1.25rem 1.5rem;max-width:720px}.saas-settings__panel ul{padding-left:1.1rem}.saas-settings__panel li span{color:#6a7a8a;font-size:.9em}.saas-settings__error,.saas-settings__warn{color:#9a3412;margin-bottom:1rem}.saas-settings__plans{display:flex;flex-direction:column;gap:.6rem}.saas-settings__plans button{text-align:left;padding:.75rem 1rem;border-radius:8px;border:1px solid #c5d0da;background:#fff;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:.2rem}.saas-settings__plans button:disabled{opacity:.55;cursor:default}.saas-settings__plans button span{color:#5a6a7a;font-size:.85rem}:root{--bg: #0f0f12;--surface: #18181c;--border: #2a2a30;--text: #e4e4e7;--text-muted: #a1a1aa;--accent: #6366f1;--accent-hover: #818cf8;--success: #22c55e;--user-bubble: #2d2d35;--bot-bubble: #1e1e24}*{box-sizing:border-box}body{margin:0;font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}#root{min-height:100vh;display:flex;flex-direction:column}button,select,input{font-family:inherit}button{cursor:pointer}
