:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f7fb;font-family:Poppins,Segoe UI,sans-serif;font-weight:400;line-height:1.5}html,body,#root{min-height:100%}body{color:#111827;background:#f3f7fb;margin:0}*,:before,:after{box-sizing:border-box}a{color:inherit;text-decoration:none}.app{background:#f3f7fb;min-height:100%}.admin-layout{background:#f3f7fb;grid-template-columns:250px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.admin-sidebar{background:#fff;border-right:1px solid #e7ebf0;flex-direction:column;gap:.9rem;height:100vh;padding:.9rem .7rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-top{align-items:center;gap:.4rem;min-height:2.8rem;display:flex}.sidebar-brand{align-items:center;min-height:2.1rem;padding:0;display:flex}.sidebar-logo{width:122px;height:auto}.nav-links{flex-direction:column;gap:.2rem;margin-top:.35rem;display:flex}.nav-link{color:#2b3442;background:0 0;border:1px solid #0000;border-radius:.7rem;align-items:center;gap:.85rem;min-height:2.8rem;padding:.72rem .8rem;font-size:.95rem;font-weight:500;transition:background-color .18s,border-color .18s,color .18s;display:flex}.nav-link:hover{color:#1e7f56;background:#edf8f2;border-color:#d4ebdd}.nav-link.active{color:#1f8a5d;background:#e6f5ec;border-color:#cbe9d8}.nav-icon{color:#667085;flex:0 0 1.1rem;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;display:inline-flex}.nav-icon svg{width:100%;height:100%}.nav-text{white-space:nowrap}.nav-link.active .nav-icon{color:#1f8a5d}.nav-link:hover .nav-icon,.nav-link:focus-visible .nav-icon{color:#1e7f56}.sidebar-toggle{color:#667085;background:0 0;border:1px solid #0000;border-radius:.7rem;flex:none;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;padding:0;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.sidebar-toggle svg{width:1.1rem;height:1.1rem}.sidebar-toggle:hover{color:#1e7f56;background:#edf8f2;border-color:#d4ebdd}.sidebar-user{border-top:1px solid #eef2f6;align-items:center;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.user-meta{flex:1;gap:.2rem;min-width:0;display:grid}.user-name,.user-role{margin:0}.user-name{color:#111827;font-size:.95rem;font-weight:600}.user-role{color:#667085;text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.signout-button{color:#475467;background:0 0;border:1px solid #0000;border-radius:.65rem;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;display:inline-flex}.signout-button:hover{color:#1e7f56;background:#edf8f2;border-color:#d4ebdd}.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.sidebar-collapsed .admin-sidebar{padding-inline:.55rem}.sidebar-collapsed .nav-link,.sidebar-collapsed .signout-button{justify-content:center;padding-inline:.6rem}.sidebar-collapsed .nav-text,.sidebar-collapsed .user-meta,.sidebar-collapsed .sidebar-brand{display:none}.sidebar-collapsed .sidebar-user,.sidebar-collapsed .sidebar-top{justify-content:center}.sidebar-collapsed .sidebar-toggle{width:2.8rem;height:2.8rem}.admin-content{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.admin-main{flex:1;min-height:0;padding:2rem;overflow:auto}.page-card,.section-card{background:#fff;border:1px solid #dbe3ea;border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 2px #0f172a0a}.page-card h2,.section-card h3,.page-header h2{color:#0f172a;margin-top:0}.search-input,.input-field{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:.75rem;width:100%;padding:.85rem 1rem}.search-input{max-width:420px;margin-bottom:1rem}.input-field{max-width:260px}.data-table{border-collapse:separate;border-spacing:0 .6rem;width:100%;min-width:640px;margin-top:-.1rem}.data-table th,.data-table td{text-align:left;border:0;padding:.95rem 1rem}.data-table th{color:#667085;letter-spacing:.02em;text-transform:uppercase;background:0 0;padding:.3rem 1rem .55rem;font-size:.8rem;font-weight:700}.data-table tbody tr{background:#fff;transition:transform .14s,box-shadow .14s,background-color .14s;box-shadow:0 6px 18px #0f172a0d}.data-table tbody tr:hover{background:#f6fffb;transform:translateY(-1px);box-shadow:0 10px 24px #0f172a14}.data-table tbody tr td:first-child{border-top-left-radius:.85rem;border-bottom-left-radius:.85rem}.data-table tbody tr td:last-child{border-top-right-radius:.85rem;border-bottom-right-radius:.85rem}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.user-modal-section .button-row{margin-top:.9rem}.modal-section-action{min-width:240px}.btn,button{cursor:pointer;border:1px solid #0000;border-radius:.75rem;padding:.75rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600}.btn-primary{color:#fff;background:#2e9a68}.btn-primary:hover{background:#257b54}.btn-secondary{color:#0f172a;background:#f8fbfd;border-color:#d1d5db}.btn-secondary:hover{background:#eef6f2}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h2{margin:0;font-size:1.75rem}.user-detail,.subscription-detail,.dashboard{max-width:1200px;margin:0 auto}.dashboard{width:100%;max-width:none;box-shadow:none;background:#fff;border:0;border-radius:0;gap:1rem;margin:-2rem;padding:2rem;display:grid}.dashboard-section{margin-bottom:0}.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.metric-card,.metric-mini{background:#fff;border:1px solid #e3eaf2;border-radius:.85rem;padding:.8rem .9rem}.metric-label{color:#475467;margin:0;font-size:.84rem;font-weight:500}.metric-value{color:#0f172a;margin:.35rem 0 0;font-size:1.45rem;font-weight:700}.dashboard-growth{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.status-bars{gap:.75rem;display:grid}.status-row{gap:.32rem;display:grid}.status-meta{color:#344054;justify-content:space-between;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.status-track{background:#e8eef5;border-radius:999px;height:.6rem;overflow:hidden}.status-fill{background:linear-gradient(90deg,#2e9a68,#59b487);border-radius:999px;min-width:.35rem;height:100%;display:block}.dashboard-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.compact-table{min-width:0}.compact-table th,.compact-table td{padding:.72rem .78rem}.dashboard-attention{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.attention-card{background:#fff}.attention-count{color:#0f172a;margin:.15rem 0 .55rem;font-size:1.5rem;font-weight:700}.attention-item{color:#475467;margin:.35rem 0 0;font-size:.9rem}.users-page,.subscriptions-page,.usage-page{width:100%;max-width:none;box-shadow:none;background:#fff;border:0;border-radius:0;margin:-2rem;padding:2rem}.users-page table,.user-detail .section-card,.subscription-detail .section-card{width:100%}.user-info,.subscription-summary{gap:.85rem;display:grid}.user-info p,.subscription-summary p{margin:0}.users-count-chip{color:#1d4f78;background:#f4f9ff;border:1px solid #d6e6f4;border-radius:999px;padding:.45rem .7rem;font-size:.83rem;font-weight:600}.subscription-lookup,.usage-lookup{margin-bottom:.9rem}.usage-match-hint{color:#475467;margin:0 0 .9rem;font-size:.9rem}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f2f8ff}.clickable-row:focus-visible{outline-offset:-2px;outline:2px solid #5aa2e7}.inline-error{color:#b42318;margin:.25rem 0 1rem}.empty-hint{color:#667085;margin:.9rem 0 0}.user-modal-overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;justify-content:center;align-items:center;padding:2rem 1rem;display:flex;position:fixed;inset:0}.user-modal{background:#fff;border:1px solid #d9e4ef;border-radius:1rem;width:min(980px,100%);max-height:calc(100vh - 4rem);padding:1.25rem;overflow:auto;box-shadow:0 24px 48px #0f172a3d}.user-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.user-modal-header h3{color:#0f172a;margin:0}.user-modal-header p{color:#475467;margin:.35rem 0 0}.modal-close{color:#475467;background:0 0;border:0;border-radius:.35rem;flex:none;min-width:auto;padding:.15rem .35rem;font-size:1.05rem;font-weight:700;line-height:1}.modal-close:hover{color:#0f172a;background:#eef2f7}.user-modal-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.user-modal-section{background:#f8fbff;border:1px solid #e2e8f0;border-radius:.85rem;padding:.85rem}.user-modal-section h4{color:#1d3557;margin:0 0 .65rem;font-size:.95rem}.user-modal-section-full{grid-column:1/-1}.detail-list{gap:.3rem;margin:0;display:grid}.detail-row{border-top:1px solid #e7edf5;grid-template-columns:minmax(110px,150px) 1fr;gap:.65rem;padding:.42rem 0;display:grid}.detail-row:first-child{border-top:0;padding-top:0}.detail-row dt{color:#475467;margin:0;font-size:.8rem;font-weight:600}.detail-row dd{color:#111827;word-break:break-word;margin:0;font-family:Fira Code,Consolas,monospace;font-size:.83rem}.login-page{background:#f3f7fb;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:4rem 2rem 2rem;display:flex}.login-brand{flex-direction:column;align-items:center;gap:.25rem;margin-bottom:.5rem;display:flex}.login-logo{width:260px;max-width:min(100%,320px);height:auto}.login-subtitle{color:#111827;margin:0;font-size:1.4rem;font-weight:600}.login-button{min-width:260px;height:3rem;margin-top:3rem}.login-page button{width:auto}.route-fallback{color:#475569;place-items:center;min-height:40vh;padding:2rem 1rem;font-weight:600;display:grid}@media (width<=900px){.admin-layout{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.admin-sidebar{border-bottom:1px solid #dbe3ea;border-right:0;height:auto;padding:.9rem .9rem 0;position:static;overflow:visible}.nav-links{flex-flow:wrap}.nav-link{flex:180px}.sidebar-user{margin-top:0;padding:1rem 0}.sidebar-collapsed{grid-template-columns:1fr}.sidebar-collapsed .nav-text,.sidebar-collapsed .user-meta{display:initial}.sidebar-collapsed .nav-link,.sidebar-collapsed .signout-button{justify-content:flex-start;padding-inline:0}.admin-main{padding:1rem;overflow:visible}.dashboard-kpis,.dashboard-growth,.dashboard-attention{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-split{grid-template-columns:1fr}.user-modal-overlay{padding:1rem .6rem}.user-modal-sections{grid-template-columns:1fr}.detail-row{grid-template-columns:1fr;gap:.25rem}}.users-table-wrapper{width:100%;overflow-x:auto}.users-table{table-layout:fixed;width:100%;min-width:100%}.users-table th,.users-table td{overflow-wrap:anywhere}.users-table th:first-child,.users-table td:first-child{width:10%}.users-table th:nth-child(2),.users-table td:nth-child(2){width:16%}.users-table th:nth-child(3),.users-table td:nth-child(3){width:17%}.users-table th:nth-child(4),.users-table td:nth-child(4),.users-table th:nth-child(5),.users-table td:nth-child(5){white-space:nowrap;width:9%}.users-table th:nth-child(6),.users-table td:nth-child(6){width:17%}.users-table th:nth-child(7),.users-table td:nth-child(7){width:6%}.users-table th:nth-child(8),.users-table td:nth-child(8){width:12%}.users-table th:nth-child(9),.users-table td:nth-child(9){width:4%}.users-events-table{table-layout:fixed;width:100%;min-width:0}.users-events-table th,.users-events-table td{overflow-wrap:anywhere;word-break:break-word;vertical-align:top}.table-pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;margin-top:.75rem;display:flex}.pagination-meta{color:#475467;font-size:.9rem;font-weight:500}.table-action-row{flex-wrap:wrap;gap:.45rem;display:flex}.table-action-row .btn{padding:.4rem .7rem;font-size:.82rem}.row-actions-menu{position:relative}.row-actions-trigger{color:#111827;cursor:pointer;background:#f8fbfd;border:1px solid #d1d5db;border-radius:.5rem;justify-content:center;align-items:center;min-width:2rem;height:2rem;font-weight:700;line-height:1;list-style:none;display:inline-flex}.row-actions-trigger::-webkit-details-marker{display:none}.row-actions-menu[open] .row-actions-trigger{background:#eef6f2;border-color:#b8d5c6}.row-actions-dropdown{z-index:8;background:#fff;border:1px solid #dbe3ea;border-radius:.6rem;gap:.1rem;min-width:170px;padding:.25rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 8px 20px #0f172a1f}.row-actions-item{color:#111827;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.45rem;width:100%;padding:.5rem .55rem;font-size:.82rem;font-weight:500}.row-actions-link{text-decoration:none;display:block}.row-actions-item:hover{background:#f3f8f5}.row-actions-item-danger{color:#b42318}.row-actions-item-danger:hover{background:#fef3f2}.row-actions-item:disabled{opacity:.5;cursor:not-allowed}.audit-filters{grid-template-columns:repeat(4,minmax(180px,1fr));gap:.65rem;width:100%;display:grid}.audit-filter-field{min-width:0;max-width:none}.audit-filter-group{flex-direction:column;gap:.25rem;min-width:0;display:flex}.audit-filter-label{color:#475467;font-size:.8rem;font-weight:600}.audit-filter-actions{margin-top:.65rem}.event-link{color:#1e7f56;text-underline-offset:2px;font-weight:600;text-decoration:underline}.event-lines-table{min-width:980px}.event-json{color:#1f2937;background:#f8fbfd;border:1px solid #dbe3ea;border-radius:.5rem;max-height:320px;margin:.55rem 0 0;padding:.75rem;font-family:Fira Code,Consolas,monospace;font-size:.78rem;line-height:1.5;overflow:auto}@media (width<=900px){.users-page,.subscriptions-page,.usage-page,.dashboard{margin:-1rem;padding:1rem}.audit-filters{grid-template-columns:1fr}}@media (width<=640px){.dashboard-kpis,.dashboard-growth,.dashboard-attention{grid-template-columns:1fr}}
