*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f172a;color:#e2e8f0}button{font-family:inherit;cursor:pointer}.shared-report-page{min-height:100vh;height:100vh;display:flex;flex-direction:column;background:#0f172a}.shared-report-header{min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid #1f2937;background:#111827}.shared-report-header img{width:36px;height:36px}.shared-report-header strong,.shared-report-header span{display:block}.shared-report-header span{margin-top:2px;color:#94a3b8;font-size:12px}.shared-report-content{flex:1;min-height:0;display:flex;position:relative}.shared-report-state{flex:1;display:grid;place-content:center;padding:24px;color:#94a3b8;text-align:center}.shared-report-state h1{margin:0 0 8px;color:#e2e8f0;font-size:22px}.shared-report-state p{margin:0}.shared-report-error{color:#fca5a5}img,svg{max-width:100%}input,select,textarea,button{min-width:0}.error-boundary{min-height:100vh;display:grid;place-items:center;padding:24px}.error-boundary>div,.error-boundary{background:#1e293b;border-radius:12px;padding:32px;max-width:480px;text-align:center}.error-boundary h2{margin:0 0 8px;color:#fca5a5}.error-boundary button{margin-top:16px;padding:10px 20px;border:0;border-radius:8px;background:#3b82f6;color:#fff;font-weight:600}.login-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0f172a,#1e293b)}.login-content{flex:1;display:grid;place-items:center;padding:24px}.login-card{width:360px;padding:32px;border-radius:12px;background:#1e293b;box-shadow:0 12px 40px #0006}.login-card h1{margin:0 0 4px;font-size:24px}.login-logo{display:block;width:180px;height:auto;margin:0 auto 28px;background:#fff;padding:12px 16px;border-radius:8px}.subtitle{margin:0 0 24px;color:#94a3b8;font-size:14px}.login-card label{display:block;font-size:13px;margin-bottom:16px;color:#cbd5e1}.login-card input{width:100%;margin-top:6px;padding:10px 12px;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:14px}.login-card input:focus{outline:2px solid #3b82f6;border-color:transparent}.login-card button{width:100%;padding:12px;margin-top:8px;border:0;border-radius:8px;background:#3b82f6;color:#fff;font-weight:600}.login-card button:disabled{opacity:.6;cursor:not-allowed}.error{padding:10px 12px;margin-bottom:12px;border-radius:8px;background:#7f1d1d;color:#fee2e2;font-size:13px}.dashboard-layout{display:grid;grid-template-columns:280px 1fr;height:100vh;height:100dvh;min-width:0}.dashboard-sidebar-shell{min-width:0;height:100%}.sidebar{background:#111827;border-right:1px solid #1f2937;display:flex;flex-direction:column;padding:20px 16px;height:100%}.mobile-app-bar,.admin-mobile-bar,.mobile-nav-close,.nav-backdrop,.admin-mobile-nav-head,.admin-nav-backdrop{display:none}.sidebar-header h2{margin:0;font-size:18px;line-height:1}.user-info{font-size:13px;color:#cbd5e1;margin-bottom:16px}.user-info strong{display:block}.role-badge{display:inline-block;margin-top:4px;padding:2px 8px;background:#1e3a8a;color:#dbeafe;font-size:11px;border-radius:999px}.nav-title{font-size:11px;text-transform:uppercase;color:#64748b;margin:16px 0 8px}.sidebar-nav{flex:1;overflow-y:auto}.sidebar-nav ul{list-style:none;margin:0;padding:0}.sidebar-nav button{width:100%;text-align:left;display:flex;gap:10px;padding:10px 12px;margin-bottom:4px;border:0;border-radius:8px;background:transparent;color:#cbd5e1;transition:background .15s}.sidebar-nav button:hover{background:#1f2937}.sidebar-nav button.active{background:#1d4ed8;color:#fff}.sidebar-nav button .dot{width:6px;height:6px;margin-top:8px;border-radius:50%;background:currentColor;flex-shrink:0}.sidebar-nav button .name{display:block;font-size:14px}.sidebar-nav button .desc{display:block;font-size:11px;opacity:.7;margin-top:2px}.sidebar-report-search{position:relative;margin:4px 0 2px}.sidebar-report-search svg{position:absolute;top:50%;left:11px;width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:#64748b;stroke-linecap:round;stroke-width:1.8;pointer-events:none}.sidebar-report-search input{width:100%;height:38px;padding:8px 10px 8px 34px;background:#0b1220;border:1px solid #334155;border-radius:9px;color:#e2e8f0;font-size:12px}.sidebar-report-search input:focus{outline:2px solid #3b82f6;border-color:transparent}.sidebar-report-tree .sidebar-report-group{margin-bottom:4px}.sidebar-nav .sidebar-group-trigger{align-items:center;gap:7px;margin-bottom:2px;padding:9px 10px;color:#dbe5f2;font-weight:650}.sidebar-group-trigger>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-group-trigger small{min-width:20px;padding:2px 5px;border-radius:999px;background:#1e293b;color:#94a3b8;font-size:10px;text-align:center}.sidebar-group-chevron,.sidebar-group-folder{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.sidebar-group-chevron{color:#64748b;transition:transform .15s ease}.sidebar-group-trigger[aria-expanded=true] .sidebar-group-chevron{transform:rotate(90deg)}.sidebar-group-folder{color:#60a5fa}.sidebar-nav .sidebar-group-children{padding-left:17px}.sidebar-group-children>li{position:relative}.sidebar-group-children>li:before{content:"";position:absolute;left:-8px;top:0;bottom:4px;width:1px;background:#334155}.sidebar-group-children>li button{padding-block:8px}.empty{color:#64748b;font-size:13px;padding:8px 12px}.logout{margin-top:12px;padding:10px;border:1px solid #334155;background:transparent;color:#cbd5e1;border-radius:8px}.logout:hover{background:#1f2937}.sidebar-footer{display:flex;flex-direction:column;gap:10px}.sidebar-theme-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#cbd5e1;font-size:13px;font-weight:600}.sidebar-theme-row .theme-toggle{min-width:70px}.sidebar-footer .logout{margin-top:0;width:100%}.dashboard-main{position:relative;background:#0b1220;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto}.loading{padding:24px;color:#94a3b8}.report-viewer{flex:1;position:relative;display:flex;width:100%;height:100%;min-height:400px;background:#202832;isolation:isolate}.report-frame{flex:1;position:relative;min-height:100%;width:100%;height:100%;display:flex;background:#202832}.report-frame>*{width:100%!important;height:100%!important;flex:1}.report-frame iframe{display:block;width:100%!important;height:100%!important;border:0;background:#202832;color-scheme:normal}.report-empty,.report-error{flex:1;display:grid;place-items:center;color:#64748b}.report-actions{position:absolute;top:12px;right:12px;z-index:9999;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:calc(100% - 24px);pointer-events:auto}.report-action-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#0f172aeb;border:1px solid #475569;border-radius:6px;color:#e2e8f0;font-size:12px;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s,color .15s;box-shadow:0 4px 12px #0006}.report-action-btn:hover{background:#1e293b;color:#fff;border-color:#64748b}.report-action-btn svg{flex-shrink:0}.report-install-btn{background:#1d4ed8f0;border-color:#60a5fa;color:#fff}.report-install-btn:hover{background:#2563eb;border-color:#93c5fd}.report-viewer-wrap:fullscreen .report-actions,.report-viewer:fullscreen .report-actions{top:16px;right:16px}.report-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0b1220cc;z-index:2;color:#93c5fd}.report-error{color:#fca5a5}.admin-layout{min-height:100vh;background:#0b1220;display:flex;flex-direction:column}.admin-header{padding:24px 32px 8px;background:#0f172a;border-bottom:1px solid #1f2937}.admin-header h1{margin:0 0 4px;font-size:22px}.admin-header .subtitle{margin:0;color:#94a3b8;font-size:14px}.admin-tabs{display:flex;gap:4px;padding:0 32px;background:#0f172a;border-bottom:1px solid #1f2937}.admin-tab{padding:12px 16px;color:#94a3b8;text-decoration:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500}.admin-tab:hover{color:#e2e8f0}.admin-tab-active{color:#3b82f6;border-bottom-color:#3b82f6}.admin-content{flex:1;padding:24px 32px;overflow:auto}.admin-loading{padding:24px;color:#94a3b8}.admin-section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px}.admin-section-header h2{margin:0;font-size:18px}.admin-section-actions{display:flex;align-items:center;gap:10px}.admin-section-actions button{min-height:42px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#1e293b;border:1px solid #475569;border-radius:8px;color:#e2e8f0;font-weight:650;cursor:pointer}.admin-section-actions button:hover{background:#334155}.admin-section-actions button.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.admin-section-actions button.primary:hover{background:#2563eb}.admin-section-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:1.8}.muted{color:#94a3b8;font-size:13px;margin:4px 0 0}.small{font-size:12px}.admin-table{width:100%;border-collapse:collapse;background:#111827;border-radius:8px;overflow:hidden}.admin-table-scroll{width:100%;max-width:100%;overflow-x:auto;border-radius:8px;-webkit-overflow-scrolling:touch}.admin-table-scroll .admin-table{min-width:720px}.admin-table-scroll:focus-visible{outline:2px solid #3b82f6;outline-offset:3px}.admin-table th,.admin-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #1f2937;font-size:14px;vertical-align:middle}.admin-table th{background:#0f172a;font-weight:600;color:#94a3b8;text-transform:uppercase;font-size:11px;letter-spacing:.05em}.admin-table tbody tr:hover{background:#1e293b}.admin-table .row-inactive{opacity:.5}.admin-table code{font-size:12px;background:#0b1220;padding:2px 6px;border-radius:4px;color:#cbd5e1}.admin-actions{display:flex;justify-content:flex-end;white-space:nowrap}.admin-actions button{padding:6px 10px;font-size:12px;background:#1e293b;color:#cbd5e1;border:1px solid #334155;border-radius:6px}.admin-actions button:hover{background:#334155}.admin-actions button.danger{color:#fca5a5;border-color:#7f1d1d}.admin-actions button.danger:hover{background:#7f1d1d;color:#fff}.admin-actions-heading{text-align:right!important}.admin-actions .admin-actions-trigger{width:36px;height:32px;display:inline-grid;place-items:center;padding:0}.admin-actions-trigger svg{pointer-events:none}.admin-actions-menu{position:fixed;z-index:11000;width:200px;padding:6px;background:#111827;border:1px solid #334155;border-radius:8px;box-shadow:0 14px 32px #00000073}.admin-actions-menu button{width:100%;display:block;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#cbd5e1;font-size:13px;text-align:left}.admin-actions-menu button:hover,.admin-actions-menu button:focus-visible{outline:none;background:#1e293b;color:#fff}.admin-actions-menu button.danger{color:#fca5a5}.admin-actions-menu button.danger:hover,.admin-actions-menu button.danger:focus-visible{background:#7f1d1d;color:#fff}.admin-actions-menu button:disabled{opacity:.45;cursor:not-allowed}.report-share-modal{width:min(620px,calc(100vw - 32px))}.report-share-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.report-share-title-row h3{margin:0}.report-share-close{width:34px;height:34px;border:1px solid #334155;border-radius:7px;background:#1e293b;color:#cbd5e1;font-size:22px;line-height:1}.report-share-status{padding:14px;border:1px solid #334155;border-radius:8px;background:#0f172a}.report-share-status dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0}.report-share-status dt{color:#94a3b8;font-size:11px;text-transform:uppercase}.report-share-status dd{margin:3px 0 0;color:#e2e8f0;font-size:13px}.report-share-link-block,.report-share-renew{margin-top:18px}.report-share-link-block>label,.report-share-renew>label{display:block;margin-bottom:6px;color:#cbd5e1;font-size:13px}.report-share-link-block>div,.report-share-renew>div{display:flex;align-items:center;gap:8px}.report-share-link-block input,.report-share-renew input{min-width:0;padding:9px 10px;border:1px solid #334155;border-radius:7px;background:#0b1220;color:#e2e8f0}.report-share-link-block input{flex:1}.report-share-renew input{width:90px}.report-share-link-block button,.report-share-renew button,.report-share-actions button{padding:9px 12px;border:1px solid #334155;border-radius:7px;background:#1e293b;color:#e2e8f0}.report-share-renew button.primary{background:#2563eb;border-color:#3b82f6}.report-share-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.report-share-actions button.danger{color:#fca5a5;border-color:#7f1d1d}.report-share-actions button:disabled,.report-share-close:disabled{opacity:.45;cursor:not-allowed}.report-share-warning{margin:18px 0 0;padding:10px 12px;border-radius:7px;background:#78350f47;color:#fcd34d;font-size:12px;line-height:1.5}.admin-empty{padding:24px;text-align:center;color:#64748b}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:#1e3a8a;color:#dbeafe}.pill-ok{background:#14532d;color:#bbf7d0}.pill-off{background:#3f3f46;color:#d4d4d8}.rls-attrs{display:none}.admin-form{display:flex;flex-direction:column;gap:12px}.admin-form h3{margin:0 0 8px;font-size:18px}.admin-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#cbd5e1}.admin-form input,.admin-form select,.admin-form textarea{padding:8px 12px;background:#0b1220;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:14px;font-family:inherit}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:2px solid #3b82f6;border-color:transparent}.admin-form input.input-invalid{border-color:#f87171}.admin-form input.input-invalid:focus{outline-color:#f87171}.field-hint{font-size:11px;color:#f87171;margin-top:2px}.admin-form-fieldset{border:1px solid #1f2937;border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px}.admin-form-fieldset legend{font-size:12px;color:#94a3b8;padding:0 4px}.admin-form-checkbox{flex-direction:row!important;align-items:center;gap:8px!important}.admin-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.admin-form-actions button{padding:8px 16px;background:#1e293b;border:1px solid #334155;border-radius:6px;color:#cbd5e1}.admin-form-actions button:hover{background:#334155}.admin-form-actions button.primary{background:#3b82f6;color:#fff;border-color:transparent}.admin-form-actions button.primary:hover{background:#2563eb}.admin-form-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-section-header button.primary{padding:8px 16px;background:#3b82f6;color:#fff;border:0;border-radius:6px;font-weight:600}.admin-section-header button.primary:hover{background:#2563eb}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100;padding:16px}.modal{background:#111827;border:1px solid #1f2937;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow:auto;padding:24px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0;gap:16px;padding:20px 24px;border-bottom:1px solid #1f2937;flex-shrink:0}.modal-header h3{margin:0}.modal-close{background:transparent;border:0;color:#94a3b8;font-size:24px;line-height:1;padding:0 8px;cursor:pointer}.modal-close:hover{color:#fff}.modal-body{padding:0}.modal-preview{max-width:95vw;width:1200px;height:90vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.modal-body-preview{flex:1;position:relative;min-height:0;display:flex;flex-direction:column;overflow:hidden}.report-viewer-wrap{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;height:100%}.matrix-wrap{background:#111827;border-radius:8px;overflow:hidden;border:1px solid #1f2937}.matrix-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0f172a;border-bottom:1px solid #1f2937}.matrix-filter{padding:6px 12px;background:#0b1220;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:13px;min-width:280px}.matrix-filter:focus{outline:2px solid #3b82f6;border-color:transparent}.matrix-count{color:#94a3b8;font-size:12px}.matrix-scroll{overflow:auto;max-height:60vh}.matrix-table{border-collapse:collapse;width:100%;font-size:13px}.matrix-table th,.matrix-table td{padding:10px 12px;text-align:center;border-bottom:1px solid #1f2937;border-right:1px solid #1f2937}.matrix-table th{background:#0f172a;font-weight:600}.matrix-corner{position:sticky;left:0;top:0;z-index:3;text-align:left!important;min-width:230px;background:#0f172a!important}.matrix-row-label{position:sticky;left:0;z-index:2;text-align:left!important;background:#0f172a;min-width:230px;font-weight:600}.matrix-row-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.matrix-row-content>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-row-edit{min-height:30px;padding:5px 9px;display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;background:#1e293b;border:1px solid #475569;border-radius:7px;color:#dbe5f2;font-size:11px;font-weight:650;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.matrix-row-edit svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.matrix-row-edit:hover,.matrix-row-edit:focus-visible{background:#334155;border-color:#64748b;color:#fff;outline:none}.matrix-row-edit:focus-visible{box-shadow:0 0 0 2px #60a5fa}.matrix-col-label{font-size:12px}.matrix-col-sub{font-size:10px;color:#f59e0b;margin-top:2px}.matrix-cell{min-width:80px}.matrix-toggle{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.matrix-toggle input{opacity:0;width:0;height:0}.matrix-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#334155;border-radius:999px;transition:.15s}.matrix-toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s}.matrix-toggle input:checked+.matrix-toggle-slider{background:#3b82f6}.matrix-toggle input:checked+.matrix-toggle-slider:before{transform:translate(16px)}.matrix-toggle.pending{opacity:.5}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast{padding:12px 16px;border-radius:8px;font-size:14px;box-shadow:0 4px 12px #0000004d;animation:slideIn .2s ease-out;min-width:240px}.toast-success{background:#14532d;color:#bbf7d0;border:1px solid #166534}.toast-error{background:#7f1d1d;color:#fee2e2;border:1px solid #991b1b}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.nav-title-admin{margin-top:24px!important}.sidebar-link{width:100%;text-align:left;display:flex;gap:10px;padding:10px 12px;margin-bottom:4px;border:0;border-radius:8px;background:transparent;color:#cbd5e1;transition:background .15s;text-decoration:none;font-family:inherit;font-size:14px}.sidebar-link:hover{background:#1f2937;color:#fff}.sidebar-link.active{background:#1e3a8a;color:#dbeafe}.dot-admin{background:#f59e0b!important}.picker{display:flex;flex-direction:column;gap:12px}.picker-header h3{margin:0 0 4px}.picker-header p{margin:0}.picker-toolbar{display:flex;gap:8px;align-items:center}.picker-toolbar .matrix-filter{flex:1}.picker-toolbar button{padding:6px 12px;background:#1e293b;border:1px solid #334155;border-radius:6px;color:#cbd5e1;font-size:13px}.picker-toolbar button:hover{background:#334155}.picker-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:#1e3a8a;border:1px solid #2563eb;border-radius:8px;font-size:13px}.picker-banner button.primary{padding:6px 12px;background:#3b82f6;color:#fff;border:0;border-radius:6px;font-size:13px;font-weight:600}.picker-banner button.primary:hover{background:#2563eb}.picker-error{padding:12px;background:#7f1d1d;border:1px solid #991b1b;border-radius:8px;color:#fee2e2;font-size:13px}.picker-error strong{display:block;margin-bottom:4px}.picker-error p{margin:4px 0}.picker-empty{padding:16px;background:#0f172a;border:1px solid #334155;border-radius:8px;text-align:left}.picker-empty p{margin:0 0 12px}.picker-empty ol{margin:0 0 12px;padding-left:20px;font-size:13px;color:#cbd5e1}.picker-empty ol li{margin-bottom:4px}.picker-empty a.primary{display:inline-block;padding:8px 16px;background:#3b82f6;color:#fff;text-decoration:none;border-radius:6px;font-weight:600;font-size:13px}.picker-empty a.primary:hover{background:#2563eb}.picker-tree{max-height:50vh;overflow-y:auto;border:1px solid #1f2937;border-radius:8px;background:#0f172a}.picker-ws{border-bottom:1px solid #1f2937}.picker-ws:last-child{border-bottom:0}.picker-ws-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:transparent;border:0;color:#e2e8f0;text-align:left;cursor:pointer;font-size:14px}.picker-ws-header:hover{background:#1e293b}.picker-chevron{display:inline-block;font-size:10px;color:#94a3b8;transition:transform .15s}.picker-chevron.open{transform:rotate(90deg);color:#3b82f6}.picker-ws-name{font-weight:600}.picker-ws-meta{margin-left:auto;font-size:12px;color:#94a3b8}.picker-reports{background:#0b1220;padding:4px 0}.picker-no-reports{padding:12px 16px 12px 36px;color:#64748b;font-size:13px;font-style:italic}.picker-report{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 16px 10px 36px;background:transparent;border:0;border-top:1px solid #1f2937;color:#cbd5e1;text-align:left;cursor:pointer;font-size:13px}.picker-report:hover{background:#1e293b;color:#fff}.picker-report-name{font-weight:500}.picker-report-id{display:block;font-size:11px;color:#64748b;margin-top:2px;font-family:monospace}.picker-select{color:#3b82f6;font-weight:600;font-size:12px}.picker-report:hover .picker-select{color:#93c5fd}.modal-picker{max-width:700px;width:95vw}.admin-overview{display:flex;flex-direction:column;gap:24px}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.overview-card{display:flex;align-items:center;gap:16px;padding:20px;background:#111827;border:1px solid #1f2937;border-radius:10px;text-decoration:none;color:#e2e8f0;transition:background .15s,border-color .15s,transform .15s}.overview-card:hover{background:#1e293b;border-color:#3b82f6;transform:translateY(-2px)}.overview-card-icon{font-size:32px;width:56px;height:56px;display:grid;place-items:center;background:#0f172a;border-radius:10px;flex-shrink:0}.overview-card-value{font-size:28px;font-weight:700;line-height:1;color:#3b82f6}.overview-card-label{font-size:14px;color:#cbd5e1;margin-top:4px}.overview-card-sub{font-size:12px;color:#94a3b8;margin-top:2px}.overview-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.overview-sections{grid-template-columns:1fr}}.overview-section{background:#111827;border:1px solid #1f2937;border-radius:10px;padding:20px}.overview-section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.overview-section-header h3{margin:0;font-size:15px}.overview-section-header a{color:#3b82f6;text-decoration:none;font-size:13px}.overview-section-header a:hover{text-decoration:underline}.overview-list{list-style:none;margin:0;padding:0}.overview-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #1f2937;font-size:13px}.overview-list li:last-child{border-bottom:0}.overview-list-name{flex:1;color:#e2e8f0}.overview-list-id{font-size:11px;color:#64748b;font-family:monospace}.overview-quick-actions{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0;border-top:1px solid #1f2937}.overview-quick-actions a{padding:8px 16px;border-radius:6px;background:#1e293b;color:#cbd5e1;text-decoration:none;font-size:13px;border:1px solid #334155}.overview-quick-actions a:hover{background:#334155;color:#fff}.overview-quick-actions a.primary{background:#3b82f6;color:#fff;border-color:transparent;font-weight:600}.overview-quick-actions a.primary:hover{background:#2563eb}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.admin-header-actions{display:flex;align-items:center;justify-content:flex-end}.admin-profile-menu{position:relative;z-index:20}.admin-profile-trigger{min-width:238px;min-height:54px;padding:7px 10px;display:flex;align-items:center;gap:10px;background:#111c2f;border:1px solid #334155;border-radius:12px;color:#e2e8f0;cursor:pointer;text-align:left;box-shadow:0 8px 24px #02061729;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.admin-profile-trigger:hover,.admin-profile-trigger.is-open{background:#17233a;border-color:#475569;box-shadow:0 10px 28px #02061747}.admin-profile-trigger:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.admin-profile-avatar{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#2563eb,#1d4ed8);border:1px solid rgba(147,197,253,.48);color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em}.admin-profile-summary{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.25}.admin-profile-summary strong{overflow:hidden;color:#f8fafc;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.admin-profile-summary>span{margin-top:3px;color:#93a4bb;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-profile-chevron{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;color:#94a3b8;transition:transform .16s ease}.admin-profile-trigger.is-open .admin-profile-chevron{transform:rotate(180deg)}.admin-profile-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:min(292px,calc(100vw - 24px));overflow:hidden;background:#111827;border:1px solid #334155;border-radius:14px;box-shadow:0 20px 48px #02061780;animation:admin-profile-menu-in .15s ease-out}@keyframes admin-profile-menu-in{0%{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-profile-dropdown-head{display:flex;align-items:center;gap:11px;padding:15px;background:linear-gradient(135deg,rgba(37,99,235,.14),transparent 70%);border-bottom:1px solid #273449}.admin-profile-dropdown-head>span:last-child{min-width:0;display:flex;flex-direction:column}.admin-profile-dropdown-head strong{overflow:hidden;color:#f8fafc;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-profile-dropdown-head small{margin-top:3px;color:#93a4bb;font-size:11px;text-transform:capitalize}.admin-profile-dropdown-list{padding:7px}.admin-profile-dropdown-list button{width:100%;min-height:48px;padding:8px 10px;display:flex;align-items:center;gap:11px;background:transparent;border:0;border-radius:9px;color:#dbe5f2;cursor:pointer;text-align:left;transition:background .14s ease,color .14s ease}.admin-profile-dropdown-list button:hover,.admin-profile-dropdown-list button:focus-visible{background:#1e293b;color:#fff;outline:none}.admin-profile-dropdown-list button svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;color:#94a3b8}.admin-profile-dropdown-list button>span{display:flex;flex-direction:column;gap:2px}.admin-profile-dropdown-list button strong{font-size:13px;font-weight:650}.admin-profile-dropdown-list button small{color:#7f91aa;font-size:11px}.admin-profile-dropdown-footer{border-top:1px solid #273449}.admin-profile-dropdown-list button.danger{color:#fca5a5}.admin-profile-dropdown-list button.danger:hover,.admin-profile-dropdown-list button.danger:focus-visible{background:#7f1d1d59}.admin-profile-dropdown-list button.danger svg{color:#f87171}.admin-profile-dropdown-list button.danger strong{color:inherit}.admin-profile-dropdown-list button:focus-visible{box-shadow:inset 0 0 0 2px #60a5fa}.sidebar-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}.sidebar-logo{display:block;width:40px;height:40px;border-radius:8px;flex-shrink:0}.admin-header-brand{display:flex;align-items:center;gap:12px}.admin-header-logo{display:block;width:48px;height:48px;border-radius:8px;flex-shrink:0}.app-footer{padding:16px 24px;text-align:center;font-size:12px;color:#94a3b8;background:#0f172a99;border-top:1px solid #1f2937;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-footer p{margin:0}.app-footer strong{color:#e2e8f0;font-weight:600}.app-footer-sep{margin:0 6px;opacity:.5}.suggestions-page{width:min(100%,920px);margin:0 auto;padding:28px 24px 48px;display:flex;flex-direction:column;gap:24px}.suggestions-page .admin-section-header{flex-direction:column;align-items:center;text-align:center;gap:6px}.suggestions-page .admin-section-header .muted{max-width:680px;margin:8px auto 0;line-height:1.5}.suggestion-form{width:min(100%,720px);margin:0 auto;padding:24px;background:#111827;border:1px solid #1f2937;border-radius:12px;box-shadow:0 14px 36px #00000029}.suggestion-form h3{margin-top:0;text-align:center}.suggestion-form .admin-form-actions{justify-content:center}.suggestion-form textarea{resize:vertical;font-family:inherit}.suggestions-page>h3{text-align:center;margin-bottom:0!important}.empty-state{min-height:190px;padding:28px;border:1px dashed #334155;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;color:#cbd5e1;background:#1118278c}.empty-state-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#1e293b;color:#60a5fa;font-size:28px;font-weight:700}.empty-state p{margin:0;color:#94a3b8;font-size:13px}.suggestions-list{display:flex;flex-direction:column;gap:12px}.suggestion-card{background:#111827;border:1px solid #1f2937;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px}.suggestion-card.editing{border-color:#3b82f6}.suggestion-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.suggestion-card-head strong{font-size:15px;flex:1}.suggestion-desc{margin:0;white-space:pre-wrap;color:#cbd5e1;font-size:14px;line-height:1.5}.suggestion-response{background:#0b1220;border-left:3px solid #3b82f6;padding:10px 12px;border-radius:4px}.suggestion-response p{margin:4px 0 0;color:#e2e8f0;font-size:13px}.suggestion-meta{font-size:11px;color:#64748b}.suggestion-actions{display:flex;gap:8px}.admin-suggestions{display:flex;flex-direction:column;gap:16px}.suggestion-counts{display:flex;gap:8px;flex-wrap:wrap}.count-pill{padding:4px 10px;background:#1e293b;border:1px solid #334155;border-radius:999px;font-size:12px;color:#cbd5e1}.count-pill strong{color:#fff}.admin-filters{display:flex;gap:12px;align-items:center;padding:12px;background:#111827;border:1px solid #1f2937;border-radius:8px}.admin-filters label{display:flex;gap:8px;align-items:center;font-size:13px;color:#cbd5e1}.admin-filters select{padding:6px 10px;background:#0b1220;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:13px}.access-heading{margin-top:20px}.role-modal{width:min(92vw,480px)}.login-actions{display:flex;gap:8px;margin-top:12px}.login-actions button{flex:1;padding:12px;border:0;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px}.login-actions button.primary{background:#3b82f6;color:#fff}.login-actions button.primary:disabled{opacity:.5;cursor:not-allowed}.login-actions button:not(.primary){background:transparent;color:#94a3b8;border:1px solid #334155}.login-actions button:not(.primary):hover{color:#fff}.profile-page{display:flex;flex-direction:column;gap:20px;max-width:720px}.profile-page{width:100%;padding:28px 24px 48px}.profile-card{display:flex;gap:20px;padding:20px;background:#111827;border:1px solid #1f2937;border-radius:12px;align-items:center}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:700;flex-shrink:0}.profile-info{flex:1;display:flex;flex-direction:column;gap:8px}.profile-row{display:flex;gap:12px;align-items:center}.profile-label{width:90px;color:#94a3b8;font-size:13px}.profile-value{color:#e2e8f0;font-size:14px}.profile-form textarea,.profile-form input{font-family:inherit}.chat-fab{bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#3b82f6;color:#fff;border:0;font-size:24px;cursor:pointer;z-index:90;display:grid;place-items:center;box-shadow:0 8px 24px #0006;position:fixed}.chat-fab:hover{background:#2563eb}.chat-fab-badge{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 6px;border:2px solid #0f172a}.chat-fab-dot{position:absolute;bottom:4px;right:4px;width:10px;height:10px;border-radius:50%;border:2px solid #0f172a}.chat-fab-dot.online{background:#22c55e}.chat-fab-dot.offline{background:#94a3b8}.chat-panel{position:fixed;bottom:96px;right:24px;width:380px;height:540px;max-height:80vh;background:#111827;border:1px solid #1f2937;border-radius:12px;z-index:90;display:flex;flex-direction:column;box-shadow:0 12px 32px #00000080;overflow:hidden}.chat-panel-header{padding:12px 16px;background:#1e3a8a;color:#fff;display:flex;justify-content:space-between;align-items:center}.chat-panel-header>div{display:flex;flex-direction:column;gap:2px}.chat-panel-header strong{font-size:14px}.chat-status{font-size:11px;opacity:.85}.chat-status.on{color:#86efac}.chat-status.off{color:#fca5a5}.chat-header-actions{display:flex;gap:6px}.chat-header-actions button{background:transparent;border:0;color:#fff;font-size:18px;cursor:pointer;padding:0 6px;opacity:.85}.chat-header-actions button:hover{opacity:1}.chat-body{flex:1;overflow-y:auto;background:#0b1220;padding:12px;display:flex;flex-direction:column}.chat-empty{color:#64748b;text-align:center;font-size:13px;padding:32px 12px}.chat-inbox{list-style:none;margin:0;padding:0}.chat-inbox li{padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.chat-inbox li:hover{background:#1e293b}.chat-inbox li.active{background:#1e40af}.chat-inbox-row{display:flex;align-items:center;gap:8px;margin-bottom:4px;color:#e2e8f0;font-size:13px}.chat-online-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;display:inline-block;flex-shrink:0}.chat-unread-badge{background:#ef4444;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;margin-left:auto}.chat-inbox-preview{margin:0;font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-thread{flex:1;display:flex;flex-direction:column;gap:8px}.chat-msg{max-width:80%;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.4;word-wrap:break-word}.chat-msg.me{align-self:flex-end;background:#1d4ed8;color:#fff;border-bottom-right-radius:4px}.chat-msg.them{align-self:flex-start;background:#1e293b;color:#e2e8f0;border-bottom-left-radius:4px}.chat-msg-body{white-space:pre-wrap;word-wrap:break-word}.chat-msg-meta{font-size:10px;opacity:.7;margin-top:2px}.chat-input{display:flex;gap:6px;padding:10px;background:#111827;border-top:1px solid #1f2937}.chat-input input{flex:1;padding:8px 10px;background:#0b1220;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:13px}.chat-input input:focus{outline:2px solid #3b82f6;border-color:transparent}.chat-input button{padding:8px 14px;border:0;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.chat-input button.primary{background:#3b82f6;color:#fff}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.admin-chat{display:flex;flex-direction:column;gap:12px;height:70vh;min-height:600px}.admin-chat .admin-section-header{margin-bottom:0}.chat-conn-on{color:#86efac;font-weight:600}.chat-conn-off{color:#fca5a5;font-weight:600}.admin-chat-layout{display:grid;grid-template-columns:320px 1fr;gap:12px;flex:1;min-height:0}.admin-chat-inbox{background:#111827;border:1px solid #1f2937;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.admin-chat-inbox-head{display:flex;gap:6px;padding:10px;border-bottom:1px solid #1f2937}.admin-chat-inbox-head input{flex:1;padding:6px 10px;background:#0b1220;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:12px}.admin-chat-inbox-head button{padding:6px 10px;background:#1e293b;color:#cbd5e1;border:1px solid #334155;border-radius:6px;font-size:12px;cursor:pointer}.admin-chat-online-banner{padding:10px 12px;background:#0f172a;border-bottom:1px solid #1f2937;font-size:12px;color:#cbd5e1}.admin-chat-online-banner strong{display:block;margin-bottom:4px;color:#86efac}.admin-chat-online-banner ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.admin-chat-online-banner li{display:flex;align-items:center;gap:6px;color:#cbd5e1}.admin-chat-list{list-style:none;margin:0;padding:8px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.admin-chat-list li{padding:8px 10px;border-radius:6px;cursor:pointer;border:1px solid transparent}.admin-chat-list li:hover{background:#1e293b}.admin-chat-list li.active{background:#1e3a8a;border-color:#3b82f6}.admin-chat-empty{padding:16px;text-align:center}.admin-chat-thread{background:#111827;border:1px solid #1f2937;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.admin-chat-thread-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #1f2937;background:#0f172a}.admin-chat-thread-head button{background:transparent;border:0;color:#cbd5e1;font-size:18px;cursor:pointer;padding:0 6px}.admin-chat-thread-head strong{display:block;color:#e2e8f0;font-size:14px}.admin-chat-thread-head span{color:#94a3b8;font-size:12px}.admin-chat-thread-head .chat-online-dot{margin-left:auto}.admin-chat-placeholder{flex:1;display:grid;place-items:center;color:#64748b}.admin-chat-thread .chat-thread{padding:16px}.admin-chat-thread .chat-input{background:#0f172a}.report-organizer-page{min-width:0}.report-organizer-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.report-organizer-header h2{margin:8px 0 0;font-size:22px}.report-organizer-header>button.primary{min-height:42px;padding:10px 16px}.organizer-back{padding:0;background:transparent;border:0;color:#93c5fd;font-size:12px;cursor:pointer}.organizer-back:hover{color:#fff}.report-organizer{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:18px;align-items:start}.report-library,.report-groups-workspace{background:#111827;border:1px solid #334155;border-radius:14px}.report-library{position:sticky;top:0;overflow:hidden;transition:border-color .14s ease,box-shadow .14s ease}.organizer-panel-head{display:flex;align-items:center;gap:11px;padding:16px;border-bottom:1px solid #263449}.organizer-panel-head h3,.organizer-workspace-title h3{margin:0;font-size:15px}.organizer-panel-head span,.organizer-workspace-title p{margin:3px 0 0;color:#7f91aa;font-size:11px}.organizer-folder-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#2563eb29;color:#60a5fa!important;font-size:18px!important}.organizer-search{position:relative;margin:13px}.organizer-search svg{position:absolute;top:50%;left:12px;width:17px;height:17px;transform:translateY(-50%);fill:none;stroke:#64748b;stroke-linecap:round;stroke-width:1.8}.organizer-search input{width:100%;min-height:40px;padding:9px 12px 9px 38px;background:#0b1220;border:1px solid #334155;border-radius:9px;color:#e2e8f0}.organizer-search input:focus{outline:2px solid #3b82f6;border-color:transparent}.report-library-list{min-height:180px;max-height:calc(100vh - 360px);padding:0 12px 12px;overflow-y:auto}.report-groups-workspace{min-width:0;padding:16px}.organizer-workspace-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.organizer-saving{padding:5px 9px;border-radius:999px;background:#2563eb26;color:#93c5fd;font-size:11px}.report-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:13px}.report-group-card{min-width:0;overflow:hidden;background:#0d1525;border:1px solid #2b3a50;border-radius:12px;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.report-group-card.is-drop-target,.report-library.is-drop-target{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.report-group-card.is-drop-target{transform:translateY(-2px)}.report-group-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:#151f31;border-bottom:1px solid #2b3a50}.report-group-name{min-width:0;display:flex;align-items:center;gap:9px}.report-group-name svg{width:22px;height:22px;flex:0 0 22px;fill:#3b82f624;stroke:#60a5fa;stroke-linejoin:round;stroke-width:1.7}.report-group-name>div{min-width:0;display:flex;flex-direction:column}.report-group-name strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.report-group-name span{margin-top:2px;color:#7f91aa;font-size:10px}.report-group-actions{display:flex;gap:3px}.report-group-actions button{width:28px;height:28px;padding:0;display:grid;place-items:center;background:transparent;border:0;border-radius:6px;color:#94a3b8;cursor:pointer}.report-group-actions button:hover:not(:disabled){background:#263449;color:#fff}.report-group-actions button.danger:hover{background:#7f1d1d73;color:#fca5a5}.report-group-actions button:disabled{opacity:.28;cursor:default}.report-group-dropzone{min-height:106px;padding:9px}.organizer-report-item{min-width:0;min-height:48px;margin-bottom:7px;padding:8px 9px;display:flex;align-items:center;gap:8px;background:#172235;border:1px solid #2c3b51;border-radius:9px;cursor:grab;-webkit-user-select:none;user-select:none;transition:opacity .14s ease,border-color .14s ease,transform .14s ease}.organizer-report-item:last-child{margin-bottom:0}.organizer-report-item:hover{border-color:#4b6382;transform:translateY(-1px)}.organizer-report-item:active{cursor:grabbing}.organizer-report-item.is-dragging{opacity:.35}.organizer-drag-handle{color:#64748b;font-size:17px}.organizer-report-icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:6px;background:#2563eb26;color:#60a5fa}.organizer-report-copy{min-width:0;flex:1;display:flex;flex-direction:column}.organizer-report-copy strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.organizer-report-copy small{overflow:hidden;margin-top:2px;color:#7f91aa;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.organizer-empty{min-height:106px;display:grid;place-items:center;padding:18px;border:1px dashed #334155;border-radius:9px;color:#64748b;font-size:12px;text-align:center}.organizer-empty.compact{min-height:86px}.organizer-empty-state{min-height:230px;display:grid;place-items:center;align-content:center;padding:28px;border:1px dashed #3a4b63;border-radius:12px;color:#94a3b8;text-align:center}.organizer-empty-state>span{color:#60a5fa;font-size:34px}.organizer-empty-state h3{margin:8px 0 4px;color:#e2e8f0;font-size:15px}.organizer-empty-state p{margin:0;font-size:12px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 10px;border:1px solid #334155;border-radius:8px;background:transparent;color:#cbd5e1;font-size:12px;font-weight:600;line-height:1}.theme-toggle:hover{background:#1f2937;color:#fff}.theme-toggle-icon{width:16px;font-size:17px;line-height:1;text-align:center}.theme-toggle-compact{width:40px;padding:7px}.theme-toggle-track{position:relative;width:34px;height:18px;border-radius:999px;background:#334155;flex-shrink:0;transition:background .15s ease}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:999px;background:#fff;transition:transform .15s ease}[data-theme=dark] .theme-toggle-thumb{transform:translate(16px)}[data-theme=dark] .theme-toggle-track{background:#3b82f6}.login-theme-action{position:fixed;top:18px;right:18px;z-index:20}.sidebar-header{display:flex;flex-direction:column;gap:12px}.sidebar-header .theme-toggle{align-self:flex-start}.sidebar-link .name,.sidebar-link .desc{display:block}.sidebar-link .desc{margin-top:2px;font-size:11px;line-height:1.35;opacity:.7}.sidebar-link>div,.sidebar-nav button>div{min-width:0}.sidebar-link .name,.sidebar-nav button .name{line-height:1.3}html[data-theme=light] body{background:#f4f7fb;color:#172033}html[data-theme=light] .login-page{background:linear-gradient(135deg,#f7faff,#e6edf8)}html[data-theme=light] .login-card,html[data-theme=light] .sidebar,html[data-theme=light] .admin-header,html[data-theme=light] .admin-tabs,html[data-theme=light] .admin-table,html[data-theme=light] .modal,html[data-theme=light] .suggestion-card,html[data-theme=light] .admin-filters,html[data-theme=light] .profile-card,html[data-theme=light] .admin-chat-inbox,html[data-theme=light] .admin-chat-thread,html[data-theme=light] .chat-panel,html[data-theme=light] .chat-input,html[data-theme=light] .overview-card,html[data-theme=light] .overview-section{background:#fff;border-color:#d9e2ef;color:#172033}html[data-theme=light] .dashboard-main,html[data-theme=light] .admin-layout,html[data-theme=light] .admin-content,html[data-theme=light] .chat-body{background:#f4f7fb}html[data-theme=light] .report-viewer,html[data-theme=light] .report-frame,html[data-theme=light] .report-frame iframe{background:#fff}html[data-theme=light] .sidebar{border-right-color:#d9e2ef}html[data-theme=light] .sidebar-nav button,html[data-theme=light] .sidebar-link,html[data-theme=light] .logout,html[data-theme=light] .sidebar-theme-row,html[data-theme=light] .admin-tab,html[data-theme=light] .user-info,html[data-theme=light] .theme-toggle,html[data-theme=light] .admin-form label,html[data-theme=light] .admin-actions button,html[data-theme=light] .admin-form-actions button,html[data-theme=light] .picker-toolbar button,html[data-theme=light] .count-pill,html[data-theme=light] .admin-filters label,html[data-theme=light] .login-card label{color:#334155}html[data-theme=light] .muted,html[data-theme=light] .empty,html[data-theme=light] .loading,html[data-theme=light] .admin-loading,html[data-theme=light] .admin-header .subtitle,html[data-theme=light] .overview-card-sub,html[data-theme=light] .admin-table th{color:#64748b}html[data-theme=light] .sidebar-nav button:hover,html[data-theme=light] .sidebar-link:hover,html[data-theme=light] .logout:hover,html[data-theme=light] .admin-table tbody tr:hover,html[data-theme=light] .overview-card:hover,html[data-theme=light] .theme-toggle:hover,html[data-theme=light] .admin-actions button:hover,html[data-theme=light] .admin-form-actions button:hover,html[data-theme=light] .picker-toolbar button:hover,html[data-theme=light] .admin-profile-dropdown-list button:hover,html[data-theme=light] .admin-profile-dropdown-list button:focus-visible{background:#eef4fb;color:#0f172a}html[data-theme=light] .sidebar-nav button.active,html[data-theme=light] .sidebar-link.active,html[data-theme=light] .admin-chat-list li.active{background:#dbeafe;color:#1d4ed8}html[data-theme=light] .admin-table th,html[data-theme=light] .matrix-table th,html[data-theme=light] .matrix-corner,html[data-theme=light] .admin-chat-thread-head,html[data-theme=light] .admin-chat-online-banner{background:#f8fafc!important;border-color:#d9e2ef}html[data-theme=light] .admin-table th,html[data-theme=light] .admin-table td,html[data-theme=light] .matrix-table th,html[data-theme=light] .matrix-table td,html[data-theme=light] .modal-header,html[data-theme=light] .chat-input,html[data-theme=light] .admin-chat-inbox-head,html[data-theme=light] .admin-chat-online-banner,html[data-theme=light] .admin-chat-thread-head{border-color:#d9e2ef}html[data-theme=light] .login-card input,html[data-theme=light] .admin-form input,html[data-theme=light] .admin-form select,html[data-theme=light] .admin-form textarea,html[data-theme=light] .admin-filters select,html[data-theme=light] .chat-input input,html[data-theme=light] .admin-chat-inbox-head input,html[data-theme=light] .admin-table code,html[data-theme=light] .overview-card-icon,html[data-theme=light] .admin-actions button,html[data-theme=light] .admin-form-actions button,html[data-theme=light] .picker-toolbar button,html[data-theme=light] .count-pill,html[data-theme=light] .logout,html[data-theme=light] .admin-profile-trigger,html[data-theme=light] .admin-profile-dropdown{background:#f8fafc;border-color:#cbd5e1;color:#172033}html[data-theme=light] .admin-profile-trigger:hover,html[data-theme=light] .admin-profile-trigger.is-open{background:#fff}html[data-theme=light] .admin-profile-summary strong,html[data-theme=light] .admin-profile-dropdown-head strong{color:#172033}html[data-theme=light] .admin-profile-summary>span,html[data-theme=light] .admin-profile-dropdown-head small,html[data-theme=light] .admin-profile-dropdown-list button small{color:#64748b}html[data-theme=light] .admin-profile-dropdown-head,html[data-theme=light] .admin-profile-dropdown-footer{border-color:#d9e2ef}html[data-theme=light] .admin-profile-dropdown-list button{color:#334155}html[data-theme=light] .admin-profile-dropdown-list button.danger{color:#b91c1c}html[data-theme=light] .admin-profile-dropdown-list button.danger:hover,html[data-theme=light] .admin-profile-dropdown-list button.danger:focus-visible{background:#fef2f2}html[data-theme=light] .admin-actions-menu{background:#fff;border-color:#cbd5e1;box-shadow:0 14px 32px #0f172a2e}html[data-theme=light] .admin-actions-menu button{color:#334155}html[data-theme=light] .admin-actions-menu button:hover,html[data-theme=light] .admin-actions-menu button:focus-visible{background:#eef4fb;color:#0f172a}html[data-theme=light] .admin-actions-menu button.danger{color:#b91c1c}html[data-theme=light] .admin-actions-menu button.danger:hover,html[data-theme=light] .admin-actions-menu button.danger:focus-visible{background:#fee2e2;color:#991b1b}html[data-theme=light] .report-share-status,html[data-theme=light] .report-share-link-block input,html[data-theme=light] .report-share-renew input{background:#f8fafc;border-color:#cbd5e1;color:#172033}html[data-theme=light] .report-share-status dd,html[data-theme=light] .report-share-link-block>label,html[data-theme=light] .report-share-renew>label{color:#334155}html[data-theme=light] .report-share-close,html[data-theme=light] .report-share-link-block button,html[data-theme=light] .report-share-renew button,html[data-theme=light] .report-share-actions button{background:#f8fafc;border-color:#cbd5e1;color:#172033}html[data-theme=light] .report-share-renew button.primary{background:#2563eb;border-color:#2563eb;color:#fff}html[data-theme=light] .report-share-warning{background:#fef3c7;color:#92400e}html[data-theme=light] .login-card input:focus,html[data-theme=light] .admin-form input:focus,html[data-theme=light] .admin-form select:focus,html[data-theme=light] .admin-form textarea:focus,html[data-theme=light] .chat-input input:focus{outline-color:#2563eb}html[data-theme=light] .suggestion-desc,html[data-theme=light] .overview-card-label,html[data-theme=light] .chat-msg.them{color:#334155}html[data-theme=light] .chat-msg.them{background:#e2e8f0}html[data-theme=light] .modal-backdrop{background:#0f172a59}html[data-theme=light] .app-footer{color:#64748b}html[data-theme=light] .suggestion-form,html[data-theme=light] .empty-state{background:#fff;border-color:#d9e2ef;color:#172033}html[data-theme=light] .empty-state-icon{background:#dbeafe;color:#2563eb}html[data-theme=light] .empty-state p{color:#64748b}html[data-theme=light] .matrix-row-edit{background:#f8fafc;border-color:#cbd5e1;color:#334155}html[data-theme=light] .matrix-row-edit:hover,html[data-theme=light] .matrix-row-edit:focus-visible{background:#eef4fb;color:#0f172a}html[data-theme=light] .sidebar-report-search input,html[data-theme=light] .organizer-search input{background:#fff;border-color:#cbd5e1;color:#172033}html[data-theme=light] .sidebar-group-trigger small{background:#e8eef7;color:#64748b}html[data-theme=light] .sidebar-group-children>li:before{background:#cbd5e1}html[data-theme=light] .admin-section-actions button{background:#f8fafc;border-color:#cbd5e1;color:#334155}html[data-theme=light] .admin-section-actions button:hover{background:#eef4fb;color:#0f172a}html[data-theme=light] .admin-section-actions button.primary{background:#2563eb;border-color:#2563eb;color:#fff}html[data-theme=light] .report-library,html[data-theme=light] .report-groups-workspace{background:#fff;border-color:#d9e2ef}html[data-theme=light] .organizer-panel-head,html[data-theme=light] .report-group-card>header{border-color:#d9e2ef}html[data-theme=light] .report-group-card{background:#f8fafc;border-color:#d9e2ef}html[data-theme=light] .report-group-card>header{background:#f1f5f9}html[data-theme=light] .organizer-report-item{background:#fff;border-color:#d9e2ef;color:#172033}html[data-theme=light] .organizer-report-item:hover{border-color:#94a3b8}html[data-theme=light] .organizer-empty,html[data-theme=light] .organizer-empty-state{border-color:#cbd5e1;color:#64748b}html[data-theme=light] .organizer-empty-state h3{color:#172033}html[data-theme=light] .report-group-actions button:hover:not(:disabled){background:#e2e8f0;color:#172033}@media (max-width: 900px){body.nav-open{overflow:hidden}.dashboard-layout{display:block;height:100vh;height:100dvh;min-height:0}.dashboard-sidebar-shell{position:fixed;inset:0 auto 0 0;z-index:120;width:min(86vw,320px);height:100vh;height:100dvh;transform:translate(-105%);transition:transform .22s ease;box-shadow:12px 0 30px #00000059}.mobile-menu-open .dashboard-sidebar-shell{transform:translate(0)}.sidebar{min-height:0;border-right:1px solid #1f2937;border-bottom:0;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.mobile-nav-close{display:grid;place-items:center;margin-left:auto;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#cbd5e1;font-size:28px;line-height:1}.nav-backdrop,.admin-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;border:0;padding:0;background:#020617a3;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.mobile-menu-open .nav-backdrop,.admin-menu-open .admin-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}.dashboard-main{height:100vh;height:100dvh;min-height:0}.mobile-app-bar,.admin-mobile-bar{display:flex;align-items:center;flex-shrink:0;min-height:58px;padding:max(9px,env(safe-area-inset-top)) 16px 9px;gap:10px;background:#0f172a;border-bottom:1px solid #1f2937;color:#e2e8f0;z-index:20}.hamburger-button{width:42px;height:40px;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;border:1px solid #334155;border-radius:8px;background:#111827;color:#e2e8f0}.hamburger-button span{display:block;width:19px;height:2px;border-radius:999px;background:currentColor}.mobile-app-logo{width:34px;height:34px;border-radius:7px}.mobile-app-bar strong{font-size:16px}.report-viewer{min-height:0}.admin-mobile-bar>div{display:flex;flex-direction:column;min-width:0}.admin-mobile-bar strong{font-size:14px}.admin-mobile-bar span{color:#94a3b8;font-size:11px}.admin-nav-shell{position:fixed;inset:0 auto 0 0;z-index:120;width:min(84vw,300px);height:100vh;height:100dvh;padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom));background:#0f172a;border-right:1px solid #1f2937;transform:translate(-105%);transition:transform .22s ease;box-shadow:12px 0 30px #00000059}.admin-menu-open .admin-nav-shell{transform:translate(0)}.admin-mobile-nav-head{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 6px 12px;color:#e2e8f0}.admin-mobile-nav-head button{width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#cbd5e1;font-size:28px}.admin-tabs{height:calc(100% - 48px);overflow-y:auto;flex-direction:column;gap:4px;padding:0;border:0;background:transparent}.admin-tab{width:100%;padding:12px 14px;border:0;border-radius:8px}.admin-tab-active{background:#1e3a8a;color:#dbeafe}.admin-header{padding:16px 20px}.admin-header-actions{justify-content:flex-end}.admin-content{padding:20px}.overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-sections,.report-organizer{grid-template-columns:1fr}.report-library{position:static}.report-library-list{max-height:320px}html[data-theme=light] .mobile-app-bar,html[data-theme=light] .admin-mobile-bar,html[data-theme=light] .admin-nav-shell{background:#fff;border-color:#d9e2ef;color:#172033}html[data-theme=light] .hamburger-button{background:#f8fafc;border-color:#cbd5e1;color:#334155}html[data-theme=light] .mobile-nav-close,html[data-theme=light] .admin-mobile-nav-head,html[data-theme=light] .admin-mobile-nav-head button{color:#334155}}@media (max-width: 780px){.admin-chat{height:calc(100vh - 210px);height:calc(100dvh - 210px);min-height:440px}.admin-chat-layout{display:block}.admin-chat-inbox,.admin-chat-thread{height:100%}.admin-chat-layout .admin-chat-thread,.admin-chat-layout.has-thread .admin-chat-inbox{display:none}.admin-chat-layout.has-thread .admin-chat-thread{display:flex}}@media (max-width: 600px){.login-content{place-items:center;padding:76px 16px 24px}.login-card{width:100%;max-width:390px;padding:24px 20px;border-radius:10px}.login-logo{width:min(180px,65%);margin-bottom:22px}.login-theme-action{top:12px;right:12px}.login-actions{flex-direction:column}.admin-header{padding:10px 12px;gap:8px}.admin-header-brand{display:none}.admin-header-actions,.admin-profile-menu{width:100%}.admin-profile-trigger{width:100%;min-width:0}.admin-profile-dropdown{width:100%}.admin-content{padding:16px 12px 28px}.admin-section-header{align-items:stretch;flex-direction:column;gap:12px}.admin-section-header>button.primary{width:100%;min-height:42px}.admin-section-actions{width:100%;flex-direction:column}.admin-section-actions button{width:100%}.report-organizer-header{align-items:stretch;flex-direction:column}.report-organizer-header>button.primary{width:100%}.report-group-grid,.overview-cards{grid-template-columns:1fr}.overview-card,.overview-section{padding:16px}.overview-quick-actions{flex-direction:column}.overview-quick-actions a{text-align:center}.modal-backdrop{place-items:end center;padding:0}.modal{width:100%;max-width:none;max-height:92vh;max-height:92dvh;padding:20px 16px max(20px,env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.modal-preview,.modal-picker{width:100%;max-width:none;height:92vh;height:92dvh;padding:0}.modal-header{padding:16px}.admin-form-actions{flex-direction:column-reverse}.admin-form-actions button{width:100%;min-height:42px}.report-share-status dl{grid-template-columns:1fr}.report-share-link-block>div,.report-share-renew>div,.report-share-actions{align-items:stretch;flex-direction:column}.report-share-renew input,.report-share-link-block button,.report-share-renew button,.report-share-actions button{width:100%}.matrix-toolbar,.picker-toolbar,.admin-filters{align-items:stretch;flex-direction:column}.matrix-filter{width:100%;min-width:0}.suggestions-page,.profile-page{padding:20px 14px 36px}.suggestion-form{padding:18px 16px}.suggestion-actions{flex-wrap:wrap}.profile-card{align-items:center;flex-direction:column;text-align:center}.profile-info{width:100%}.profile-row{align-items:flex-start;flex-direction:column;gap:3px;padding:8px 0;border-bottom:1px solid #1f2937;text-align:left}.profile-label{width:auto}.profile-value{max-width:100%;overflow-wrap:anywhere}.chat-panel{top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0;z-index:130}.chat-panel-header{padding-top:max(12px,env(safe-area-inset-top))}.chat-fab{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.chat-input{padding-bottom:max(10px,env(safe-area-inset-bottom))}.chat-input button{padding-inline:12px}.toast-container{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.toast{min-width:0;width:100%}.app-footer{padding:13px 16px}.app-footer-sep{display:block;height:4px;font-size:0}}@media (max-width: 380px){.login-card{padding-inline:16px}.admin-content{padding-inline:10px}.report-actions{top:8px;right:8px;max-width:calc(100% - 16px)}.report-action-btn{padding:7px 9px}}@media (prefers-reduced-motion: reduce){.dashboard-sidebar-shell,.admin-nav-shell,.nav-backdrop,.admin-nav-backdrop{transition:none}}
