@font-face{font-family:AppFont;src:url(/assets/fonts/light.ttf) format("truetype");font-weight:300}@font-face{font-family:AppFont;src:url(/assets/fonts/regular.ttf) format("truetype");font-weight:400}@font-face{font-family:AppFont;src:url(/assets/fonts/medium.ttf) format("truetype");font-weight:500}@font-face{font-family:AppFont;src:url(/assets/fonts/semiBold.ttf) format("truetype");font-weight:600}@font-face{font-family:AppFont;src:url(/assets/fonts/bold.ttf) format("truetype");font-weight:700}@font-face{font-family:AppFont;src:url(/assets/fonts/black.ttf) format("truetype");font-weight:900}.admin-layout{display:flex;height:100vh;overflow:hidden}.admin-content{flex:1;margin-left:56px;margin-top:52px;overflow:hidden;background:#F6F8FB;padding:4px;display:flex;flex-direction:column}.container{flex:1;display:flex;flex-direction:column;min-height:0}.page-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header h1{margin:0;font-size:18px;font-weight:600;line-height:26px;color:#1f2937}.page-header p{margin:4px 0 0;font-size:13px;font-weight:400;line-height:21px;color:#6b7280}@media (max-width: 768px){.admin-content{margin-left:0;padding:12px 0}.container{padding:0 12px}.page-header{flex-direction:column;gap:8px;align-items:flex-start}}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;line-height:21px;cursor:pointer;transition:all .15s ease;font-family:inherit;white-space:nowrap}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#3B82F6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563EB}.btn-secondary{background:#F6F8FB;color:#1f2937;border:1px solid #E5E7EB}.btn-secondary:hover:not(:disabled){background:#F3F4F6}.btn-success{background:#16A34A;color:#fff}.btn-success:hover:not(:disabled){background:#117f3a}.btn-danger{background:rgba(220,38,38,.08);color:#dc2626}.btn-danger:hover:not(:disabled){background:rgba(220,38,38,.15)}.btn-danger-fill{background:#DC2626;color:#fff}.btn-danger-fill:hover:not(:disabled){background:#bb1e1e}.btn-ghost{background:transparent;color:#6b7280}.btn-ghost:hover:not(:disabled){background:#F9FAFB;color:#1f2937}.btn-sm{height:28px;padding:0 8px;font-size:12px;font-weight:500;line-height:20px}.btn-md{height:36px;padding:0 16px;font-size:13px;font-weight:500;line-height:21px}.btn-icon{width:32px;padding:0;border-radius:6px}input,select,textarea{width:100%;font-family:inherit}textarea{height:auto;min-height:68px;padding:8px 12px;resize:vertical}label{display:block;margin-bottom:4px;font-size:12px;font-weight:500;line-height:20px;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.form-group{margin-bottom:8px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-error{font-size:11px;font-weight:400;line-height:19px;color:#dc2626;margin-top:4px}.search-input{height:34px;border:1px solid #E5E7EB;border-radius:6px;font-size:13px;font-weight:400;line-height:21px;color:#1f2937;background:#FFFFFF;transition:all .15s ease;width:100%;padding:0 12px}.search-input::placeholder{color:#9ca3af}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.search-input:disabled{background:#F9FAFB;color:#9ca3af;cursor:not-allowed}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.org-table{width:100%;border-collapse:separate;border-spacing:0;background:#FFFFFF;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000000a;font-size:14px;font-weight:400;line-height:22px;color:#1f2937}.org-table thead th{background:linear-gradient(90deg,rgba(96,165,250,.12),rgba(59,130,246,.08));color:#1f2937;font-weight:600;padding:10px 12px;text-align:left;font-size:13px;text-transform:none;border-bottom:1px solid rgba(59,130,246,.1)}.org-table thead th:first-child{padding-left:18px}.org-table tbody tr td{padding:14px;vertical-align:top;border-left:1px solid rgba(59,130,246,.1)}.org-table tbody tr td:first-child{border-left:none;padding-left:18px}.org-table tbody tr td.action{width:120px}.org-table tbody tr td.action button.view{font-size:13px;font-weight:500;line-height:21px;color:#fff;background:linear-gradient(180deg,#F59E0B,#F59E0B);border:none;padding:6px 14px;border-radius:8px;cursor:pointer;transition:all .3s ease}.org-table tbody tr td.action button.view:hover{transform:translateY(-1px)}.org-table tbody tr .meta-icons{display:flex;gap:8px;margin-top:6px}.org-table tbody tr .meta-icons .icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:rgba(59,130,246,.06);border-radius:4px;color:#3b82f6;font-size:12px}.org-table td:nth-child(1),.org-table th:nth-child(1){width:18%}.org-table td:nth-child(2),.org-table th:nth-child(2){width:12%}.org-table td:nth-child(3),.org-table th:nth-child(3){width:14%}.org-table td:nth-child(4),.org-table th:nth-child(4){width:10%}.org-table td:nth-child(5),.org-table th:nth-child(5){width:10%}.org-table td:nth-child(6),.org-table th:nth-child(6){width:10%}.org-table td:nth-child(7),.org-table th:nth-child(7){width:8%}.org-table td:nth-child(8),.org-table th:nth-child(8){width:18%}.org-table .table-footer{display:flex;justify-content:center;align-items:center;padding:18px 0}.org-table .table-footer .pager{display:flex;gap:12px;align-items:center}.org-table .table-footer .pager button{width:36px;height:36px;border-radius:50%;border:none;background:linear-gradient(180deg,rgba(59,130,246,.12),rgba(37,99,235,.12));color:#3b82f6;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.org-table .table-footer .pager button:hover{background:linear-gradient(180deg,rgba(59,130,246,.2),rgba(37,99,235,.2));transform:scale(1.05)}.org-table .table-footer .pager select{font-size:13px;font-weight:400;line-height:21px;color:#1f2937}.table-responsive{overflow-x:auto}.table-responsive::-webkit-scrollbar{width:4px}.table-responsive::-webkit-scrollbar-track{background:transparent}.table-responsive::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:2px}.table-responsive::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.2)}table{width:100%;border-collapse:collapse;font-size:13px;font-weight:400;line-height:21px}table thead{position:sticky;top:0;z-index:1;background:#F6F8FB}table thead th{height:42px;padding:0 12px;text-align:left;font-size:12px;font-weight:600;line-height:20px;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #E5E7EB}table tbody tr{border-bottom:1px solid #F3F4F6;transition:all .15s ease}table tbody tr:hover{background:#F9FAFB}table tbody tr td{height:42px;padding:0 12px;font-size:13px;font-weight:400;line-height:21px;color:#1f2937;vertical-align:middle}.action-cell,.action-buttons{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:4px}.pagination{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #F3F4F6}.pagination .page-info{font-size:12px;font-weight:500;line-height:20px;color:#6b7280;padding:0 8px}.card{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 1px 2px #0000000a;padding:12px}.card-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #F3F4F6}.card-header h3{margin:0;font-size:14px;font-weight:600;line-height:22px;color:#1f2937}.card-body{padding:0}.card-footer{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #F3F4F6}.stat-card{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 1px 2px #0000000a;padding:12px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;transition:all .15s ease}.stat-card:hover{box-shadow:0 4px 6px -1px #0000000f,0 2px 4px -1px #0000000a}.stat-icon{width:40px;height:40px;border-radius:8px;display:flex;flex-direction:row;align-items:center;justify-content:center;font-size:18px;font-weight:400;line-height:26px;flex-shrink:0}.stat-icon.total{background:rgba(59,130,246,.1)}.stat-icon.active{background:rgba(22,163,74,.1)}.stat-icon.warning{background:rgba(245,158,11,.1)}.stat-icon.danger{background:rgba(220,38,38,.1)}.stat-content{flex:1;min-width:0}.stat-value{font-size:18px;font-weight:700;line-height:26px;color:#1f2937;line-height:1.2}.stat-label{font-size:12px;font-weight:400;line-height:20px;color:#6b7280;margin-top:2px}.stat-box{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 1px 2px #0000000a;padding:12px}.stat-box .stat-label{display:block;font-size:11px;font-weight:600;line-height:19px;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.stat-box .stat-value{display:block;font-size:16px;font-weight:700;line-height:24px;color:#1f2937}.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600;line-height:19px;color:#3b82f6;background:rgba(59,130,246,.1);text-transform:uppercase;letter-spacing:.3px}.badge.badge-active{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600;line-height:19px;color:#16a34a;background:rgba(22,163,74,.1);text-transform:uppercase;letter-spacing:.3px}.badge.badge-inactive,.badge.badge-expired{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600;line-height:19px;color:#dc2626;background:rgba(220,38,38,.1);text-transform:uppercase;letter-spacing:.3px}.badge.badge-suspended{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600;line-height:19px;color:#f59e0b;background:rgba(245,158,11,.1);text-transform:uppercase;letter-spacing:.3px}.badge.badge-expiring{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600;line-height:19px;color:#c57f08;background:rgba(245,158,11,.1);text-transform:uppercase;letter-spacing:.3px}.badge.badge-role{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600;line-height:19px;color:#3b82f6;background:rgba(59,130,246,.1);text-transform:uppercase;letter-spacing:.3px;text-transform:capitalize}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;flex-direction:row;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal-content{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 1px 2px #0000000a;width:90%;max-width:480px;padding:16px;box-shadow:0 4px 6px -1px #0000000f,0 2px 4px -1px #0000000a;animation:slideUp .2s ease}.modal-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-header h2{margin:0;font-size:16px;font-weight:600;line-height:24px;color:#1f2937}.modal-header .close-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;border:none;font-size:13px;font-weight:500;line-height:21px;cursor:pointer;transition:all .15s ease;font-family:inherit;white-space:nowrap;background:none;width:28px;height:28px;padding:0;font-size:18px;font-weight:400;line-height:26px;color:#6b7280;border-radius:6px}.modal-header .close-btn:disabled{opacity:.5;cursor:not-allowed}.modal-header .close-btn:hover{background:#F9FAFB;color:#1f2937}.modal-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #F3F4F6}.modal-actions button{min-width:88px}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#1f2937;background:#F6F8FB;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:#1f2937}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:13px}h5{font-size:12px}h6{font-size:11px}p{font-size:13px;font-weight:400;line-height:21px;color:#6b7280}a{color:#3b82f6;text-decoration:none;transition:all .15s ease}a:hover{color:#2563eb}code{background:#F9FAFB;padding:2px 6px;border-radius:4px;font-family:SF Mono,Fira Code,monospace;font-size:12px;font-weight:400;line-height:20px}.flex{display:flex}.flex.gap-1{gap:8px}.flex.gap-2{gap:16px}.flex.items-center{align-items:center}.flex.justify-between{justify-content:space-between}.flex.flex-col{flex-direction:column}.grid{display:grid;gap:12px}.grid.grid-cols-1{grid-template-columns:1fr}.grid.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid.grid-cols-4{grid-template-columns:repeat(4,1fr)}.p-1{padding:8px}.p-2{padding:16px}.m-1{margin:8px}.m-2{margin:16px}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:#6b7280}.text-sm{font-size:12px}.font-bold{font-weight:600}.font-semibold{font-weight:500}.opacity-50{opacity:.5}.hidden{display:none}@media (max-width: 1024px){.grid.grid-cols-4,.grid.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid.grid-cols-2,.grid.grid-cols-3,.grid.grid-cols-4{grid-template-columns:1fr}h1{font-size:16px}h2{font-size:14px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-6px);opacity:0}to{transform:translate(0);opacity:1}}.fade-in{animation:fadeIn .2s ease}.slide-in{animation:slideIn .2s ease}.filters{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}.filters .search-input,.filters .role-filter{height:34px;padding:0 12px;border:1px solid #E5E7EB;border-radius:6px;font-size:13px;font-weight:400;line-height:21px;color:#1f2937;background:#FFFFFF;transition:all .15s ease}.filters .search-input::placeholder,.filters .role-filter::placeholder{color:#9ca3af}.filters .search-input:focus,.filters .role-filter:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.filters .search-input:disabled,.filters .role-filter:disabled{background:#F9FAFB;color:#9ca3af;cursor:not-allowed}.filters .search-input{flex:1;min-width:180px;max-width:320px}.filters .role-filter{min-width:140px}@media (max-width: 768px){.filters{flex-direction:column}.filters .search-input,.filters .role-filter{width:100%;max-width:none}}
