1import { p } from './chunk-CqW9eJ5u.js'; 2import { I as Ii, e3 as re, e4 as St, e0 as O, e5 as x, e6 as de, e7 as wt, m as F, E, p as po, z, ai as o, D as DC, l as ln, $ as $t, d_ as ea, d$ as wr, o as os, k as km, a as Eu, N as N_, b as $m, j as jb, e as kb, d as dT, R as Rm, f as Xm, O as Om, b0 as q_, V as Vb, P as Pb, W as Wb, G as G_, aV as v_, c as cy, v as vf, X as Xb, i as Ef } from './main-A5KV3R65.js'; 3 4var Z=()=>["/admin/dashboard"],q=m=>[m],H=(m,e)=>e.key;function J(m,e){if(m&1){let n=Wb();os(0,"a",13),$m("click",function(){vf(n);let t=Xb();return Ef(t.closeMobileNav())}),os(1,"span",9),km(2,"i"),Eu(),os(3,"span"),N_(4),Eu()();}if(m&2){let n=e.$implicit;Om("routerLink",G_(4,q,n.route)),dT(2),v_(n.icon),dT(2),cy(n.label);}}function Q(m,e){m&1&&(os(0,"div",17),km(1,"i",18),N_(2,"Loading section... "),Eu());}var $=class m{constructor(e,n,o){this.router=e;this.userProfileService=n;this.adminService=o;this.isSectionLoading=Ii(false);this.isModerator=Ii(false);this.navItems=Ii([]);this.isMobileNavOpen=Ii(false);this.defaultNavItems=[{key:"threads",label:"Threads",icon:"fa-solid fa-list-timeline",route:"/admin/entity/BoardThreads",sortOrder:-200,entityKeys:["BoardThreads","Threads"]},{key:"feeds",label:"Feeds",icon:"fa-solid fa-list-timeline",route:"/admin/entity/FeedPosts",sortOrder:-190,entityKeys:["FeedPosts","Feeds"]},{key:"comments",label:"Comments",icon:"fa-solid fa-comment-dots",route:"/admin/entity/Comments",sortOrder:-185,entityKeys:["Comments"]},{key:"messages",label:"Messages",icon:"fa-regular fa-message",route:"/admin/entity/Messages",sortOrder:-175,entityKeys:["Messages"]},{key:"users",label:"Users",icon:"fa-solid fa-users",route:"/admin/users",sortOrder:-170,adminOnly:true,entityKeys:["Users"],useCustomRoute:true},{key:"codes",label:"Codes",icon:"fa-solid fa-table-list",route:"/admin/codes",sortOrder:-160,adminOnly:true,entityKeys:["Codes"],useCustomRoute:true},{key:"communities",label:"Communities",icon:"fa-regular fa-people-roof",route:"/admin/entity/Communities",sortOrder:-150,adminOnly:true,entityKeys:["Communities"]},{key:"organizations",label:"Organizations",icon:"fa-regular fa-hand-holding-heart",route:"/admin/organizations",sortOrder:-145,adminOnly:true,entityKeys:["Organizations"],useCustomRoute:true,alwaysShow:true},{key:"grants",label:"Grants",icon:"fa-solid fa-hand-holding-dollar",route:"/admin/entity/Grants",sortOrder:-142,adminOnly:true,entityKeys:["Grants"],alwaysShow:true},{key:"userreports",label:"User Reports",icon:"fa-solid fa-flag",route:"/admin/entity/UserReports",sortOrder:-140,adminOnly:true,entityKeys:["UserReports","Reports"],alwaysShow:true},{key:"bugs",label:"Bugs",icon:"fa-solid fa-bug",route:"/admin/entity/Bugs",sortOrder:-135,adminOnly:true,entityKeys:["Bugs"],alwaysShow:true},{key:"errors",label:"Errors",icon:"fa-solid fa-triangle-exclamation",route:"/admin/entity/Errors",sortOrder:-130,adminOnly:true,entityKeys:["Errors"],alwaysShow:true},{key:"sitealerts",label:"Site Alerts",icon:"fa-solid fa-bullhorn",route:"/admin/site-alerts",sortOrder:-125,adminOnly:true,entityKeys:["SiteAnnouncements"],useCustomRoute:true,alwaysShow:true}];this.userProfileService.getCurrent().subscribe({next:t=>{let a=t.PermissionLevelCODE===2;this.isModerator.set(a),this.loadNavigation(a);},error:()=>{this.isModerator.set(false),this.loadNavigation(false);}}),this.router.events.subscribe(t=>{if(t instanceof re||t instanceof St){this.isSectionLoading.set(true);return}(t instanceof O||t instanceof x||t instanceof de||t instanceof wt)&&this.isSectionLoading.set(false);});}loadNavigation(e){if(e){this.navItems.set(this.defaultNavItems.filter(n=>n.key==="threads"||n.key==="feeds"||n.key==="comments"||n.key==="chatrooms"||n.key==="messages"));return}this.adminService.listMetadataEntities().subscribe({next:n=>this.navItems.set(this.buildNavFromMetadata(n)),error:()=>this.navItems.set(this.adminNavWithMetadataLink(this.defaultNavItems))});}buildNavFromMetadata(e){let n=new Map;for(let t of e??[]){if(t.IsExclude===true||t.Configured!==true)continue;let a=this.normalizeEntityKey(t.Name);!a||n.has(a)||n.set(a,t);}let o=this.defaultNavItems.filter(t=>
4t.alwaysShow||(t.entityKeys??[t.key]).some(a=>n.has(this.normalizeEntityKey(a)))).map(t=>{let a=this.resolveMetadataEntityForNav(t,n),Y=a?.SortOrder??t.sortOrder,O=(a?.PublicName??a?.DisplayName??"").trim();return F(E({},t),{label:O.length>0?O:t.label,icon:(a?.Icon??t.icon).trim()||t.icon,route:a&&!t.useCustomRoute?`/admin/entity/${a.Name}`:t.route,sortOrder:Y})});return o.length===0?this.adminNavWithMetadataLink(this.defaultNavItems.filter(t=>!t.adminOnly),this.defaultNavItems.filter(t=>t.adminOnly)):this.adminNavWithMetadataLink(o.sort((t,a)=>t.sortOrder-a.sortOrder).filter(t=>!t.adminOnly),o.sort((t,a)=>t.sortOrder-a.sortOrder).filter(t=>t.adminOnly))}resolveMetadataEntityForNav(e,n){for(let o of e.entityKeys??[e.key]){let t=n.get(this.normalizeEntityKey(o));if(t)return t}return null}toggleMobileNav(){this.isMobileNavOpen.update(e=>!e);}closeMobileNav(){this.isMobileNavOpen.set(false);}adminNavWithMetadataLink(e,n=[]){return [...e,...n,{key:"metadata",label:"Metadata",icon:"fa-solid fa-diagram-project",route:"/admin/metadata",sortOrder:999,adminOnly:true}]}normalizeEntityKey(e){return (e??"").replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}static{this.\u0275fac=function(n){return new(n||m)(po(z),po(o),po(p))};}static{this.\u0275cmp=DC({type:m,selectors:[["app-admin"]],decls:27,vars:8,consts:[[1,"admin-page"],[1,"admin-panel","p-3","shadow","shadow-sm","border","rounded"],[1,"admin-header","mb-3","d-flex","align-items-center"],[1,"flex-grow-1"],[1,"admin-header-icon"],[1,"fa-regular","fa-gear"],[1,"admin-layout"],[1,"admin-nav-shell"],["type","button","aria-controls","admin-nav-links",1,"admin-nav-toggle",3,"click"],[1,"nav-icon"],[1,"fa-solid","fa-bars"],[1,"fa-solid","fa-chevron-down","admin-nav-caret"],["id","admin-nav-links",1,"nav","flex-column","nav-pills","admin-nav"],["routerLinkActive","active",1,"nav-link",3,"click","routerLink"],[1,"fa-solid","fa-gauge"],["routerLinkActive","active",1,"nav-link",3,"routerLink"],[1,"admin-content"],[1,"admin-section-loading"],[1,"fa-solid","fa-spinner","fa-spin","me-2"]],template:function(n,o){n&1&&(os(0,"main",0)(1,"section",1)(2,"header",2)(3,"div",3)(4,"h4")(5,"span",4),km(6,"i",5),Eu(),N_(7,"Admin Section"),Eu()()(),os(8,"div",6)(9,"nav",7)(10,"button",8),$m("click",function(){return o.toggleMobileNav()}),os(11,"span",9),km(12,"i",10),Eu(),os(13,"span"),N_(14,"Admin Navigation"),Eu(),km(15,"i",11),Eu(),os(16,"div",12)(17,"a",13),$m("click",function(){return o.closeMobileNav()}),os(18,"span",9),km(19,"i",14),Eu(),os(20,"span"),N_(21,"Dashboard"),Eu()(),jb(22,J,5,6,"a",15,H),Eu()(),os(24,"div",16),kb(25,Q,3,0,"div",17),km(26,"router-outlet"),Eu()()()()),n&2&&(dT(10),Rm("aria-expanded",o.isMobileNavOpen()),dT(5),Xm("is-open",o.isMobileNavOpen()),dT(),Xm("is-mobile-open",o.isMobileNavOpen()),dT(),Om("routerLink",q_(7,Z)),dT(5),Vb(o.navItems()),dT(3),Pb(o.isSectionLoading()?25:-1));},dependencies:[ln,$t,ea,wr],styles:[".admin-page[_ngcontent-%COMP%]{padding:0;width:calc(100% - 20px);margin:0 10px;box-sizing:border-box}.admin-panel[_ngcontent-%COMP%]{background:linear-gradient(180deg,#fff,#f8fafc);width:100%;max-width:none!important;margin:0!important;min-height:calc(100vh - 64px)}.admin-header[_ngcontent-%COMP%]{padding:.15rem .2rem .45rem;color:#1f2937}.admin-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;margin:0;font-weight:750}.admin-header-icon[_ngcontent-%COMP%], .nav-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.admin-header-icon[_ngcontent-%COMP%]{width:34px;height:34px;border-radius:8px;background:color-mix(in srgb,var(--app-icon) 12%,transparent 88%);color:var(--app-icon);border:1px solid color-mix(in srgb,var(--app-icon) 24%,transparent 76%)}.admin-header-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--app-icon)!important}.admin-layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem}.admin-nav-shell[_ngcontent-%COMP%]{align-self:start;position:sticky;top:88px}.admin-nav-toggle[_ngcontent-%COMP%]{display:none}.admin-nav[_ngcontent-%COMP%]{background:#fff;border:1px solid #d9dce3;border-radius:8px;padding:.5rem;gap:.35rem;box-shadow:0 8px 24px #0f172a0f}.admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.6rem;
4padding:.45rem .55rem .45rem .38rem;text-align:left;border-radius:7px;color:var(--app-text-muted, #4b5563);border:1px solid transparent;font-weight:600}.admin-nav[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%]{width:30px;height:30px;border-radius:7px;background:color-mix(in srgb,var(--app-nav-bg, #111827) 78%,#64748b 22%);color:#efefef!important;border:1px solid color-mix(in srgb,var(--app-icon) 28%,#334155 72%);box-shadow:inset 0 1px #ffffff29,0 4px 10px #0f172a1f}.admin-nav[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#efefef!important}.admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--app-icon) 8%,#ffffff 92%);border-color:color-mix(in srgb,var(--app-icon) 22%,#e2e8f0 78%)}.admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover .nav-icon[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-nav-bg, #111827) 68%,var(--app-icon) 32%);border-color:color-mix(in srgb,var(--app-icon) 52%,#334155 48%)}.admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-icon) 16%,#ffffff 84%);color:var(--app-header-accent, #1d4ed8);border-color:color-mix(in srgb,var(--app-icon) 32%,#d9dce3 68%)}.admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-nav-bg, #111827) 82%,#000 18%);color:#fff!important;border-color:var(--app-icon);box-shadow:inset 0 1px #ffffff29,0 0 0 2px color-mix(in srgb,var(--app-icon) 28%,transparent 72%),0 6px 14px #0f172a2e}.admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#efefef!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%]{background:#fff;border-color:color-mix(in srgb,var(--app-icon) 20%,#d9dce3 80%)}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{color:#334155}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-nav-bg) 82%,#64748b 18%);border-color:color-mix(in srgb,var(--app-icon) 38%,var(--app-nav-border) 62%)}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-icon) 12%,#ffffff 88%);color:#111827}.admin-content[_ngcontent-%COMP%]{min-width:0}.admin-section-loading[_ngcontent-%COMP%]{border:1px dashed #d9dce3;border-radius:8px;background:#f8fafc;color:#6b7280;padding:.75rem;margin-bottom:.5rem;font-size:.9rem}.grid-stats[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.stat-card[_ngcontent-%COMP%]{border:1px solid #d9dce3;border-radius:8px;padding:.85rem;background:#f8fafc}.dashboard-link-card[_ngcontent-%COMP%]{color:inherit;cursor:pointer;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dashboard-link-card[_ngcontent-%COMP%]:hover, .dashboard-link-card[_ngcontent-%COMP%]:focus-visible{color:inherit;border-color:color-mix(in srgb,var(--app-icon, #206bc4) 42%,#d9dce3 58%);box-shadow:0 10px 24px #0f172a1a;outline:none;transform:translateY(-1px)}.stat-card-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#ecf3ff,#f8fbff);border-color:#c9dcff;color:#1e40af}.stat-card-success[_ngcontent-%COMP%]{background:linear-gradient(135deg,#e8f8ee,#f7fdf9);border-color:#b7ecc8;color:#166534}.stat-card-warning[_ngcontent-%COMP%]{background:linear-gradient(135deg,#fff5de,#fffaf0);border-color:#ffe1a8;color:#92400e}.stat-card-danger[_ngcontent-%COMP%]{background:linear-gradient(135deg,#fdebec,#fff7f7);border-color:#f5c7cb;color:#9f1239}.stat-inline[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.45rem}.dashboard-alert-list[_ngcontent-%COMP%]{display:grid;gap:.45rem}.dashboard-alert[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;border:1px solid transparent;border-radius:7px;padding:.5rem .65rem;color:inherit;font-weight:700;text-decoration:none}.dashboard-alert[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-alert-danger[_ngcontent-%COMP%]{border-color:#fb7185;background:#ffe4e6;color:#881337}.dashboard-alert-warning[_ngcontent-%COMP%]{border-color:#facc15;background:#fef3c7;color:#713f12}.dashboard-alert-info[_ngcontent-%COMP%]{border-color:#93c5fd;background:#dbeafe;color:#1e3a8a}.stat-word[_ngcontent-%COMP%]{font-size:.95rem;font-weight:600}.stat-num[_ngcontent-%COMP%]{margin-left:auto;font-size:1.9rem;font-weight:700;line-height:1}.toolbar[_ngcontent-%COMP%], .add-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;margin-bottom:.5rem;align-items:start}.toolbar.toolbar-codes[_ngcontent-%COMP%]{grid-template-columns:1fr 1fr auto auto}.add-row[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(140px,1fr)) auto}.dash-panels[_ngcontent-%COMP%]{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.75rem}.analytics-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(360px,1.45fr) repeat(2,minmax(250px,1fr));gap:.85rem;align-items:stretch}.dash-panel[_ngcontent-%COMP%]{border:1px solid #d9dce3;border-radius:10px;background:linear-gradient(180deg,#fffaf0,#fff);padding:.75rem}.analytics-primary-panel[_ngcontent-%COMP%], .analytics-side-panel[_ngcontent-%COMP%]{background:#fffaf0;box-shadow:0 12px 26px #0f172a0f}.analytics-primary-panel[_ngcontent-%COMP%]{min-width:0}.analytics-card-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}.analytics-card-header[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:0;color:#172033;font-weight:800}.analytics-eyebrow[_ngcontent-%COMP%]{color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.18rem}.analytics-summary-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-bottom:.7rem}.analytics-kpi[_ngcontent-%COMP%]{min-width:0;border:1px solid #eadfc9;border-radius:8px;background:#ffffffb8;padding:.55rem .65rem}.analytics-kpi[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .analytics-kpi[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;color:#64748b;font-size:.72rem;font-weight:700}.analytics-kpi[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{display:block;color:#172033;font-size:1.55rem;line-height:1.05;margin:.15rem 0}.analytics-kpi[_ngcontent-%COMP%] .delta-up[_ngcontent-%COMP%], .delta-up[_ngcontent-%COMP%]{color:#166534}.analytics-kpi[_ngcontent-%COMP%] .delta-down[_ngcontent-%COMP%], .delta-down[_ngcontent-%COMP%]{color:#9f1239}.dash-panel-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.dash-panel[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{font-size:1rem;margin-bottom:0}.dash-panels[_ngcontent-%COMP%] .dash-panel[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%]{margin-bottom:.9rem}.dash-count[_ngcontent-%COMP%]{min-width:30px;border-radius:999px;background:#e8f0fe;color:#1d4ed8;font-size:.78rem;font-weight:800;text-align:center;padding:.15rem .5rem}.unconfigured-panel[_ngcontent-%COMP%]{border-color:#ffe1a8}.unconfigured-list[_ngcontent-%COMP%]{max-height:260px;overflow-y:auto;border-radius:8px}.metadata-config-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.metadata-config-link[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:0;color:#1f2937;text-decoration:none}.metadata-config-link[_ngcontent-%COMP%]:hover .metadata-config-name[_ng
4content-%COMP%]{color:#1d4ed8}.metadata-config-name[_ngcontent-%COMP%]{font-weight:700;overflow-wrap:anywhere}.active-threads-panel[_ngcontent-%COMP%]{border-color:#ffe1a8}.active-thread-list[_ngcontent-%COMP%]{display:grid;gap:.5rem}.active-thread-item[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;border:1px solid #d9dce3;border-radius:8px;background:#fff;padding:.65rem}.active-thread-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#e8f8ee;color:#166534}.active-thread-title[_ngcontent-%COMP%]{color:#1f2937;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-thread-meta[_ngcontent-%COMP%]{color:#64748b;font-size:.78rem}.active-thread-count[_ngcontent-%COMP%]{min-width:38px;border-radius:8px;background:#fff5de;color:#92400e;font-weight:800;text-align:center;padding:.35rem .5rem}.active-thread-empty[_ngcontent-%COMP%]{border:1px dashed #d9dce3;border-radius:8px;color:#64748b;padding:.8rem;background:#fff}.chart-controls[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.analytics-segment[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;border:1px solid #d9dce3;border-radius:8px;background:#ffffffb8;padding:.18rem}.analytics-segment[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border:0;border-radius:6px;background:transparent;color:#475569;font-size:.78rem;font-weight:800;min-height:30px;padding:.28rem .55rem}.analytics-segment[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background:var(--app-icon, #206bc4);color:#fff;box-shadow:0 5px 12px color-mix(in srgb,var(--app-icon, #206bc4) 24%,transparent 76%)}.analytics-segment.compact[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{min-width:42px}.echart-panel[_ngcontent-%COMP%]{width:100%;height:220px;border:1px dashed #d9dce3;border-radius:8px;background:linear-gradient(180deg,#f8fafc,#fff)}.analytics-chart[_ngcontent-%COMP%]{height:260px;border:1px solid #eadfc9;background:#ffffffb3}.echart-map[_ngcontent-%COMP%]{width:100%;height:280px;border:1px dashed #d9dce3;border-radius:8px;background:linear-gradient(180deg,#f8fafc,#fff)}.analytics-map[_ngcontent-%COMP%]{height:230px;border:1px solid #eadfc9;background:#ffffffb3}.spark-bars[_ngcontent-%COMP%]{height:34px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.22rem;align-items:end;margin-top:.55rem}.spark-bar[_ngcontent-%COMP%]{display:block;min-height:6px;border-radius:6px 6px 2px 2px;background:color-mix(in srgb,var(--app-icon, #206bc4) 42%,#ffffff 58%)}.analytics-pill[_ngcontent-%COMP%]{flex:0 0 auto;border-radius:999px;background:#172033;color:#fff;font-size:.78rem;font-weight:800;padding:.25rem .55rem}.analytics-pill.dashboard-link-card[_ngcontent-%COMP%]{border:1px solid transparent}.analytics-selection[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid #d9dce3;border-radius:8px;background:#ffffffb8;color:#334155;font-size:.82rem;font-weight:750;margin-top:.55rem;padding:.45rem .55rem}a.analytics-selection[_ngcontent-%COMP%]{text-decoration:none}.daily-legend[_ngcontent-%COMP%]{margin-top:.4rem;display:flex;gap:.75rem;font-size:.82rem;color:#6b7280}.map-loading[_ngcontent-%COMP%]{height:280px;display:flex;align-items:center;justify-content:center;border:1px dashed #d9dce3;border-radius:8px;color:#6b7280;background:linear-gradient(180deg,#f8fafc,#fff)}.geo-list[_ngcontent-%COMP%]{margin-top:.5rem;display:grid;gap:.2rem}.geo-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:.84rem}.analytics-geo-list[_ngcontent-%COMP%]{gap:.35rem}.analytics-geo-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(54px,.8fr) minmax(60px,1fr) auto;align-items:center;gap:.45rem;color:#334155;border-radius:6px;padding:.08rem .15rem;text-decoration:none}.analytics-geo-row[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-meter[_ngcontent-%COMP%]{height:7px;border-radius:999px;background:#e5e7eb;overflow:hidden}.geo-meter[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;height:100%;min-width:4px;border-radius:inherit;background:var(--app-icon, #206bc4)}.editor-panel[_ngcontent-%COMP%]{border:1px solid #d9dce3;border-radius:8px;background:#fff;padding:.75rem}.admin-field[_ngcontent-%COMP%]{width:100%}.screenshot-field[_ngcontent-%COMP%]{border:1px solid #d9dce3;border-radius:8px;padding:.6rem;background:#fff}.screenshot-title[_ngcontent-%COMP%]{font-size:.82rem;font-weight:700;color:#334155;margin-bottom:.45rem}.screenshot-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.screenshot-link[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:#1f2937}.screenshot-thumb[_ngcontent-%COMP%]{width:100%;height:84px;border-radius:6px;border:1px solid #d9dce3;object-fit:cover;background:#f8fafc}
4.screenshot-name[_ngcontent-%COMP%]{font-size:.76rem;word-break:break-all}.toolbar[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-height:56px;margin-top:0}.editor-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr;gap:.5rem}.editor-grid.editor-grid-2[_ngcontent-%COMP%]{grid-template-columns:1fr}.editor-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.admin-content[_ngcontent-%COMP%] :where(.btn-primary,.btn-dark){display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.5rem;padding:.55rem .9rem;border:1px solid var(--app-icon, #246b58);border-radius:6px;background:var(--app-icon, #246b58);color:var(--app-on-accent, #fff);font-size:.95rem;font-weight:800;line-height:1}.admin-content[_ngcontent-%COMP%] :where(.btn-primary,.btn-dark) i{color:currentColor!important;margin-right:.25rem}.admin-content[_ngcontent-%COMP%] :where(.btn-primary.btn-sm,.btn-dark.btn-sm){min-height:2.5rem;padding:.55rem .9rem;font-size:.95rem}.actions[_ngcontent-%COMP%]{display:flex;gap:.35rem;flex-wrap:nowrap;white-space:nowrap}.admin-list[_ngcontent-%COMP%]{margin-bottom:.75rem}.code-type-header[_ngcontent-%COMP%]{padding:.4rem .65rem;margin-top:.4rem;border:1px solid #d9dce3;border-radius:6px;background:#f4f7fb;color:#334155;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.admin-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-item.clickable[_ngcontent-%COMP%]{cursor:pointer}.admin-item.clickable[_ngcontent-%COMP%]:hover{background:#f8fafc}.item-main[_ngcontent-%COMP%]{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex:1}.icon-action[_ngcontent-%COMP%]{display:inline-grid;place-items:center;width:2.35rem;min-width:2.35rem;height:2.35rem;min-height:2.35rem;border:0!important;background:transparent;box-shadow:none;padding:0;color:var(--app-text-muted, #64748b)!important;line-height:1;font-size:1rem}.icon-action[_ngcontent-%COMP%]:hover, .icon-action[_ngcontent-%COMP%]:focus-visible{background:transparent!important;box-shadow:none!important}.icon-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin:0;color:currentColor!important}.icon-action.text-primary[_ngcontent-%COMP%]{color:var(--app-text-muted, #64748b)!important}.icon-action.text-danger[_ngcontent-%COMP%]{color:#b42318!important}.pager[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin:.5rem 0 1rem;color:#6b7280;font-weight:600}@media(max-width:980px){.admin-layout[_ngcontent-%COMP%]{grid-template-columns:1fr}.admin-nav-shell[_ngcontent-%COMP%]{position:static}.admin-nav-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;gap:.65rem;border:1px solid color-mix(in srgb,var(--app-nav-border) 22%,#d9dce3 78%);border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a0f;color:var(--app-text-muted, #4b5563);padding:.55rem;font-weight:700;text-align:left}.admin-nav-toggle[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%]{width:30px;height:30px;border-radius:7px;background:color-mix(in srgb,var(--app-nav-bg, #111827) 78%,#64748b 22%);color:var(--app-icon)!important;border:1px solid color-mix(in srgb,var(--app-icon) 28%,#334155 72%);box-shadow:inset 0 1px #ffffff29,0 4px 10px #0f172a1f}.admin-nav-toggle[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--app-icon)!important}.admin-nav-caret[_ngcontent-%COMP%]{margin-left:auto;transition:transform .16s ease}.admin-nav-caret.is-open[_ngcontent-%COMP%]{transform:rotate(180deg)}.admin-nav[_ngcontent-%COMP%]{display:none;margin-top:.45rem;max-height:min(70dvh,520px);overflow-y:auto}.admin-nav.is-mobile-open[_ngcontent-%COMP%]{display:flex}.add-row[_ngcontent-%COMP%], .toolbar[_ngcontent-%COMP%], .dash-panels[_ngcontent-%COMP%], .analytics-grid[_ngcontent-%COMP%], .analytics-summary-row[_ngcontent-%COMP%]{grid-template-columns:1fr}.analytics-card-header[_ngcontent-%COMP%]{flex-direction:column}.chart-controls[_ngcontent-%COMP%], .analytics-segment[_ngcontent-%COMP%]{width:100%}.analytics-segment[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:1 1 0}.active-thread-title[_ngcontent-%COMP%]{white-space:normal}.editor-grid[_ngcontent-%COMP%], .editor-grid.editor-grid-2[_ngcontent-%COMP%]{grid-template-columns:1fr}}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-panel[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-panel[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-surface-bg, #ffffff) 90%,transparent)!important;border-color:color-mix(in srgb,var(--app-border, #d9dce3) 58%,transparent)!important;color:var(--app-text, #111827)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-header[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-header[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-header[_ngcontent-%COMP%] h4[_ng
4content-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-section h5, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-section h5, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .editor-panel h6, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .editor-panel h6, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .fw-semibold, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .fw-semibold, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .fw-bold, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .fw-bold{color:var(--app-text, #111827)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .text-muted, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .text-muted, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .small.text-muted, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .small.text-muted, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-section-loading[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-section-loading[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .pager[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .pager[_ngcontent-%COMP%]{color:var(--app-text-muted, #64748b)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav-toggle[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav-toggle[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-section-loading[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-section-loading[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .stat-card[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .stat-card[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .dash-panel[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .dash-panel[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-kpi[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-kpi[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-segment[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-segment[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .active-thread-item[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .active-thread-item[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .active-thread-empty[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .active-thread-empty[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-selection[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-selection[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .echart-panel[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .echart-panel[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-chart[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-chart[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .echart-map[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .echart-map[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-map[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-map[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .map-loading[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .map-loading[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .editor-panel[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .editor-panel[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .screenshot-field[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .screenshot-field[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .code-type-header[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .code-type-header[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .list-group-item, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .list-group-item, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-list, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-list, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .entity-list, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .entity-list, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .entity-detail, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .entity-detail, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .entity-settings, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .entity-settings, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .bg-light, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .bg-light{background:color-mix(in srgb,var(--app-surface-soft, #ffffff) 82%,transparent)!important;border-color:color-mix(in srgb,var(--app-border, #d9dce3) 58%,transparent)!important;color:var(--app-text, #111827)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{color:var(--app-text-muted, #64748b)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:focus-visible, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:focus-visible, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav-toggle[_ngcontent-%COMP%]:hover, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav-toggle[_ngcontent-%COMP%]:hover, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav-toggle[_ngcontent-%COMP%]:focus-visible, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav-toggle[_ngcontent-%COMP%]:focus-visible, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .dashboard-link-card[_ngcontent-%COMP%]:hover, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .dashboard-link-card[_ngcontent-%COMP%]:hover, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .dashboard-link-card[_ngcontent-%COMP%]:focus-visible, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .dashboard-link-card[_ngcontent-%COMP%]:focus-visible, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-item.clickable:hover, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-item.clickable:hover, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .entity-item:hover, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .entity-item:hover{background:color-mix(in srgb,var(--app-icon, #206bc4) 10%,var(--app-surface-soft, #ffffff) 90%)!important;border-color:var(--app-control-focus-border, var(--app-icon, #206bc4))!important;color:var(--app-text, #111827)!important;box-shadow:none!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%]{font-weight:800}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav-toggle[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav-toggle[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-header-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-header-icon[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-nav-bg, #111827) 80%,var(--app-icon, #206bc4) 20%)!important;border-color:color-mix(in srgb,var(--app-icon, #206bc4) 44%,var(--app-border, #334155) 56%)!important;color:var(--app-icon, #206bc4)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .admin-nav[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%] .nav-icon[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-nav-bg, #111827) 72%,var(--app-icon, #206bc4) 28%)!important;border-color:var(--app-icon, #206bc4)!important;box-shadow:none!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .stat-card-primary[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .stat-card-primary[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .stat-card-success[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .stat-card-success[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .stat-card-warning[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .stat-card-warning[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .stat-card-danger[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .stat-card-danger[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-surface-soft, #ffffff) 82%,var(--app-icon, #206bc4) 8%)!important;border-color:color-mix(in srgb,var(--app-icon, #206bc4) 36%,var(--app-border, #d9dce3) 64%)!important;color:var(--app-text, #111827)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .stat-card[_ngcontent-%COMP%] :where(i[_ngcontent-%COMP%], .stat-num[_ngcontent-%COMP%]), html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .stat-card[_ngcontent-%COMP%] :where(i[_ngcontent-%COMP%], .stat-num[_ngcontent-%COMP%]), html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .dash-count[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .dash-count[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-pill[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-pill[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .active-thread-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .active-thread-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .active-thread-count[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .active-thread-count[_ngcontent-%COMP%]{color:var(--app-icon, #206bc4)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .dash-count[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .dash-count[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .active-thread-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .active-thread-icon[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .active-thread-count[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .active-thread-count[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .geo-meter[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .geo-meter[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--app-icon, #206bc4) 12%,var(--app-surface-bg, #ffffff) 88%)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-segment[_ngcontent-%COMP%] button[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-segment[_ngcontent-%COMP%] button[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-geo-row[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-geo-row[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .metadata-config-link[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .metadata-config-link[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .screenshot-link[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .screenshot-link[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .active-thread-title[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .active-thread-title[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-kpi[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-kpi[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--app-text, #111827)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .analytics-segment[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%], html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .analytics-segment[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background:var(--app-icon, #206bc4)!important;color:var(--app-nav-bg, #ffffff)!important;box-shadow:none!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .table, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .table{--bs-table-bg: transparent;--bs-table-color: var(--app-text, #111827);--bs-table-border-color: color-mix(in srgb, var(--app-border, #d9dce3) 58%, transparent);--bs-table-striped-bg: color-mix(in srgb, var(--app-surface-soft, #ffffff) 72%, var(--app-icon, #206bc4) 5%);--bs-table-hover-bg: color-mix(in srgb, var(--app-icon, #206bc4) 9%, var(--app-surface-soft, #ffffff) 91%);color:var(--app-text, #111827)!important;border-color:color-mix(in srgb,var(--app-border, #d9dce3) 58%,transparent)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .form-control, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .form-control, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .form-select, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .form-select{background-color:color-mix(in srgb,var(--app-surface-bg, #ffffff) 88%,transparent)!i
4mportant;border-color:color-mix(in srgb,var(--app-border, #d9dce3) 58%,transparent)!important;color:var(--app-text, #111827)!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .form-control:hover, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .form-control:hover, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .form-select:hover, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .form-select:hover{border-color:var(--app-control-hover-border, var(--app-icon, #206bc4))!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .form-control:focus, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .form-control:focus, html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .form-select:focus, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .form-select:focus{border-color:var(--app-control-focus-border, var(--app-icon, #206bc4))!important;box-shadow:none!important}html[data-theme]:not([data-theme=normal])[_nghost-%COMP%] .alert-info, html[data-theme]:not([data-theme=normal]) [_nghost-%COMP%] .alert-info{background:color-mix(in srgb,var(--app-icon, #206bc4) 12%,var(--app-surface-bg, #ffffff) 88%)!important;border-color:color-mix(in srgb,var(--app-icon, #206bc4) 36%,var(--app-border, #d9dce3) 64%)!important;color:var(--app-text, #111827)!important}html:is([data-theme=dark],[data-theme=matrix],[data-theme=midnight],[data-theme=slate],[data-theme=velvet])[_nghost-%COMP%] .badge.text-bg-light, html:is([data-theme=dark],[data-theme=matrix],[data-theme=midnight],[data-theme=slate],[data-theme=velvet]) [_nghost-%COMP%] .badge.text-bg-light, html:is([data-theme=dark],[data-theme=matrix],[data-theme=midnight],[data-theme=slate],[data-theme=velvet])[_nghost-%COMP%] .badge.text-bg-secondary, html:is([data-theme=dark],[data-theme=matrix],[data-theme=midnight],[data-theme=slate],[data-theme=velvet]) [_nghost-%COMP%] .badge.text-bg-secondary{background:color-mix(in srgb,var(--app-surface-bg, #111827) 70%,var(--app-border, #64748b) 30%)!important;color:var(--app-text, #f8fafc)!important;border-color:color-mix(in srgb,var(--app-border, #64748b) 62%,transparent)!important}"]});}}; 5 6export { $ as AdminComponent };
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.