.eyebrow{letter-spacing:.1em;color:var(--local-charcoal);text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.admin-layout-container{width:100%;height:calc(100vh - 60px);display:flex;overflow:hidden}.admin-sidebar{width:260px;color:var(--local-charcoal);border-right:1px solid var(--line);background:0 0;flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.admin-sidebar-header{padding:1.5rem 1.5rem 1rem}.admin-sidebar-title{color:var(--deep-navy);opacity:.8;text-transform:uppercase;letter-spacing:.1em;font-family:Be Vietnam Pro,sans-serif;font-size:.9rem;font-weight:700}.sidebar-nav-container{flex-direction:column;gap:.25rem;padding:0 1rem;display:flex}.sidebar-nav-btn{cursor:pointer;border-radius:var(--radius-tag);text-align:left;width:100%;color:var(--local-charcoal);opacity:.8;background:0 0;border:1.5px solid #0000;align-items:center;padding:.85rem 1.25rem;transition:all .2s ease-out;display:flex}.sidebar-nav-btn:hover{opacity:1;background:#0a192f0d;border-color:#0a192f1a}.sidebar-nav-title{font-family:Be Vietnam Pro,sans-serif;font-size:.95rem;font-weight:600}.sidebar-nav-btn.active{opacity:1;color:var(--white)}.sidebar-nav-btn[data-target=tab-analytics].active{background:var(--royal-blue);border-color:var(--royal-blue)}.sidebar-nav-btn[data-target=tab-users].active{background:var(--note-green);border-color:var(--note-green)}.sidebar-nav-btn[data-target=tab-logs].active{background:var(--anti-orange);border-color:var(--anti-orange)}.sidebar-nav-btn[data-target=tab-whitelist].active{background:var(--gemini-purple);border-color:var(--gemini-purple)}.admin-main-content{background:var(--bg-primary);flex-direction:column;flex:1;padding:1.25rem 2rem;display:flex;overflow:hidden}.tab-content{flex:1;min-height:0;animation:.4s cubic-bezier(.16,1,.3,1) fadeIn;display:none}.tab-content.active{flex-direction:column;display:flex}.tab-card{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.table-scroll-container{flex:1;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.c-level-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.c-card{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-block);box-shadow:var(--elev-2);padding:1.5rem;transition:all .2s ease-out}.c-card:hover{box-shadow:var(--elev-3);border-color:#0a192f33;transform:translateY(-8px)}.border-left-12{border-left-width:12px!important}.border-left-8{border-left-width:8px!important}.border-left-6{border-left-width:6px!important}.analytics-bento-grid{flex-direction:column;gap:1rem;height:100%;min-height:0;display:flex}.bento-header-row{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.bento-main-row{flex:1;grid-template-rows:.85fr 1.15fr;grid-template-columns:1fr;gap:1rem;min-height:0;display:grid}.bento-col{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-block);box-shadow:var(--elev-1);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.bento-col-header{border-bottom:1px solid var(--line);background:var(--pale-ice);flex-shrink:0;padding:1.25rem 1.5rem 1rem}.bento-col-title{color:var(--deep-navy);font-size:1rem;font-weight:700}.bento-col-body{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.excel-tabs-container{background:var(--pale-ice);border-top:1px solid var(--line);display:flex}.excel-tab{border:none;border-right:1px solid var(--line);color:var(--local-charcoal);cursor:pointer;text-align:center;background:0 0;flex:1;padding:.5rem 1rem;font-family:Be Vietnam Pro,sans-serif;font-size:.85rem;font-weight:600;transition:background .2s,color .2s}.excel-tab:last-child{border-right:none}.excel-tab.active{background:var(--white);color:var(--deep-navy);box-shadow:inset 0 3px 0 var(--note-green)}.border-green .excel-tab.active{box-shadow:inset 0 3px 0 var(--note-green)}.border-red .excel-tab.active{box-shadow:inset 0 3px 0 var(--claude-red)}.kpi-blue{border-left-color:var(--royal-blue)}.kpi-green{border-left-color:var(--note-green)}.kpi-orange{border-left-color:var(--anti-orange)}.kpi-purple{border-left-color:var(--gemini-purple)}.kpi-blue .card-title,.kpi-green .card-title,.kpi-orange .card-title,.kpi-purple .card-title{color:var(--local-charcoal);font-weight:600}.kpi-blue .c-value,.kpi-green .c-value,.kpi-orange .c-value,.kpi-purple .c-value{color:var(--deep-navy)}.ai-insight-box{border-left:4px solid var(--royal-blue);border-radius:0 var(--radius-tag) var(--radius-tag) 0;color:var(--deep-navy);background:#0a192f08;padding:1rem;font-size:.9rem;line-height:1.6}.ai-insight-title{color:var(--royal-blue);align-items:center;gap:.4rem;margin-bottom:.5rem;font-weight:700;display:flex}.demographic-bar-container{margin-top:.75rem}.demographic-bar{background:var(--line);border-radius:3px;width:100%;height:6px;display:flex;overflow:hidden}.demo-segment{height:100%}.demo-segment.free{background:var(--local-charcoal);opacity:.3}.demo-segment.member{background:var(--note-green)}.demo-segment.admin{background:var(--royal-blue)}.demo-labels{color:var(--text-muted);text-transform:uppercase;gap:1rem;margin-top:.4rem;font-size:.65rem;font-weight:600;display:flex}.demo-labels span:before{content:"";border-radius:50%;width:6px;height:6px;margin-right:.3rem;display:inline-block}.demo-labels .lbl-free:before{background:var(--local-charcoal);opacity:.3}.demo-labels .lbl-member:before{background:var(--note-green)}.border-blue{border-left-color:var(--royal-blue)!important}.border-green{border-left-color:var(--note-green)!important}.border-orange{border-left-color:var(--anti-orange)!important}.border-red{border-left-color:var(--claude-red)!important}.border-purple{border-left-color:var(--gemini-purple)!important}.border-navy{border-left-color:var(--deep-navy)!important}.card-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.card-title{color:var(--deep-navy);font-size:1rem;font-weight:700}.c-value{color:var(--deep-navy);font-size:2.2rem;font-weight:900;line-height:1}.trend-badge{border-radius:var(--radius-tag);margin-left:.5rem;padding:.2rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.trend-up{color:#1e8e3e;background:#34a85326}.trend-down{color:#c5221f;background:#d9302526}.trend-neutral{background:var(--pale-ice);color:var(--local-charcoal)}.admin-table{border-collapse:separate;border-spacing:0;width:100%;margin-top:.5rem;font-size:.85rem}.admin-table th{background:var(--pale-ice);color:var(--deep-navy);text-transform:uppercase;text-align:left;border-bottom:2px solid #0a192ff2;padding:.75rem;font-size:.75rem;font-weight:700}.admin-table td{border-bottom:1px solid var(--line);color:var(--deep-navy);padding:.75rem}.admin-table tr:last-child td{border-bottom:none}.accent-blue{color:var(--royal-blue)}.accent-green{color:var(--note-green)}.accent-orange{color:var(--anti-orange)}.admin-btn{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius-tag);cursor:pointer;color:var(--deep-navy);box-shadow:var(--elev-1);justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:700;transition:all .2s;display:inline-flex}.admin-btn:hover{box-shadow:var(--elev-low);border-color:var(--deep-navy);transform:translateY(-2px)}.admin-btn.btn-primary{background:var(--anti-orange);color:var(--white);border-color:var(--anti-orange)}.admin-btn.btn-primary:hover{background:#c66500}.pagination-controls{background:var(--pale-ice);border-radius:var(--radius-block);justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem;font-weight:600;display:flex}.admin-toast{background:var(--deep-navy);color:var(--white);border-radius:var(--radius-block);box-shadow:var(--elev-3);opacity:0;z-index:1000;pointer-events:none;padding:1rem 1.5rem;font-weight:700;transition:all .3s;position:fixed;bottom:2rem;right:2rem;transform:translateY(20px)}.admin-toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.admin-toast.toast-success{border-left:6px solid var(--note-green)}.admin-toast.toast-error{border-left:6px solid var(--claude-red)}.role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-tag);padding:.15rem .55rem;font-size:.7rem;font-weight:700;display:inline-block}.role-badge[data-role=admin]{background:var(--royal-blue);color:var(--white)}.role-badge[data-role=member]{background:var(--note-green);color:var(--white)}.role-badge[data-role=free],.role-badge[data-role=public]{background:var(--line);color:var(--local-charcoal)}.role-select{border:1px solid var(--line);border-radius:var(--radius-tag);color:var(--deep-navy);background:var(--white);cursor:pointer;padding:.3rem .5rem;font-family:Be Vietnam Pro,sans-serif;font-size:.8rem;font-weight:600}.admin-search{gap:.75rem;margin-bottom:1rem;display:flex}.admin-search input{border:1px solid var(--line);border-radius:var(--radius-block);color:var(--deep-navy);background:var(--white);flex:1;padding:.55rem .85rem;font-family:Be Vietnam Pro,sans-serif;font-size:.85rem;transition:border-color .2s}.admin-search input:focus{border-color:var(--royal-blue);outline:2px solid #1967d226}.admin-leaderboard-list{flex-direction:column;gap:.75rem;display:flex}.leaderboard-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-block);color:inherit;justify-content:space-between;align-items:center;padding:1rem 1.25rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.leaderboard-item:hover{box-shadow:var(--elev-1);transform:translateY(-2px)}.leaderboard-info{flex:1;min-width:0;padding-right:1.5rem}.leaderboard-title{color:var(--deep-navy);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:1rem;font-weight:700;overflow:hidden}.leaderboard-type{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.leaderboard-stats{flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.leaderboard-stat-box{flex-direction:column;align-items:flex-end;display:flex}.leaderboard-stat-value{color:var(--deep-navy);font-size:1.1rem;font-weight:700}.leaderboard-stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.7rem}
