*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:#f0f4f8;color:#1e293b;min-height:100vh}.ap-shell{display:flex;min-height:100vh}.ap-sidebar{width:220px;background:#1a2744;color:#cbd5e1;display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0}.ap-sidebar-logo{padding:24px 20px 20px;font-size:17px;font-weight:700;color:#fff;letter-spacing:-.3px;border-bottom:1px solid rgba(255,255,255,.08)}.ap-sidebar-logo span{color:#60a5fa}.ap-sidebar-nav{display:flex;flex-direction:column;padding:12px 0;flex:1}.ap-nav-link{display:flex;align-items:center;gap:10px;padding:10px 20px;font-size:14px;font-weight:500;color:#94a3b8;text-decoration:none;border-radius:0;transition:background .15s,color .15s}.ap-nav-link:hover,.ap-nav-link.active{background:#ffffff12;color:#fff}.ap-nav-link.active{border-left:3px solid #3b82f6;padding-left:17px}.ap-sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08)}.ap-logout-btn{width:100%;padding:8px 12px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#fca5a5;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.ap-logout-btn:hover{background:#ef444440}.ap-main{margin-left:220px;flex:1;display:flex;flex-direction:column;min-height:100vh}.ap-topbar{background:#fff;border-bottom:1px solid #e2e8f0;padding:0 28px;height:60px;display:flex;align-items:center;gap:12px}.ap-topbar-title{font-size:16px;font-weight:600;color:#1e293b}.ap-content{padding:28px;flex:1}.ap-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f172a}.ap-login-card{background:#1e293b;border:1px solid #334155;border-radius:14px;padding:44px 40px;width:360px}.ap-login-logo{font-size:22px;font-weight:700;color:#fff;margin-bottom:4px}.ap-login-logo span{color:#60a5fa}.ap-login-sub{font-size:13px;color:#64748b;margin-bottom:32px}.ap-login-label{display:block;font-size:13px;font-weight:500;color:#94a3b8;margin-bottom:6px}.ap-login-input{width:100%;padding:10px 12px;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:14px;font-family:inherit;margin-bottom:16px;outline:none;transition:border-color .15s}.ap-login-input:focus{border-color:#3b82f6}.ap-login-btn{width:100%;padding:11px;background:#1655b8;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;margin-top:4px;transition:background .15s}.ap-login-btn:hover{background:#1e40af}.ap-login-btn:disabled{opacity:.6;cursor:not-allowed}.ap-login-error{color:#f87171;font-size:13px;margin-top:12px;text-align:center}.ap-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px}.ap-card-title{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:16px}.ap-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;margin-bottom:24px}.ap-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.ap-stat-label{font-size:12px;font-weight:500;color:#64748b;margin-bottom:8px}.ap-stat-value{font-size:28px;font-weight:700;color:#1e293b}.ap-stat-card.green .ap-stat-value{color:#10b981}.ap-stat-card.amber .ap-stat-value{color:#f59e0b}.ap-stat-card.red .ap-stat-value{color:#ef4444}.ap-stat-card.gray .ap-stat-value{color:#6b7280}.ap-table-wrap{overflow-x:auto}.ap-table{width:100%;border-collapse:collapse;font-size:13.5px}.ap-table thead th{text-align:left;padding:10px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;color:#475569;white-space:nowrap}.ap-table tbody td{padding:12px 14px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.ap-table tbody tr:hover{background:#f8fafc}.ap-table tbody tr:last-child td{border-bottom:none}.ap-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.ap-badge-active{background:#d1fae5;color:#065f46}.ap-badge-expiring{background:#fef3c7;color:#92400e}.ap-badge-expired{background:#fee2e2;color:#991b1b}.ap-badge-suspended{background:#f3f4f6;color:#374151}.ap-badge-cancelled{background:#fee2e2;color:#7f1d1d}.ap-btn{padding:8px 16px;border-radius:8px;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid transparent;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.ap-btn-primary{background:#1655b8;color:#fff}.ap-btn-primary:hover{background:#1e40af}.ap-btn-sm{padding:5px 12px;font-size:12.5px}.ap-btn-outline{background:transparent;border-color:#d1d5db;color:#374151}.ap-btn-outline:hover{background:#f9fafb}.ap-btn-green{background:#10b981;color:#fff}.ap-btn-green:hover{background:#059669}.ap-btn-amber{background:#f59e0b;color:#fff}.ap-btn-amber:hover{background:#d97706}.ap-btn-red{background:#ef4444;color:#fff}.ap-btn-red:hover{background:#dc2626}.ap-btn-gray{background:#6b7280;color:#fff}.ap-btn-gray:hover{background:#4b5563}.ap-btn:disabled{opacity:.55;cursor:not-allowed}.ap-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ap-form-group{display:flex;flex-direction:column;gap:6px}.ap-form-group.full{grid-column:1 / -1}.ap-form-label{font-size:13px;font-weight:500;color:#374151}.ap-form-sub{font-size:11.5px;color:#94a3b8}.ap-form-input,.ap-form-textarea,.ap-form-select{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;color:#1e293b;outline:none;transition:border-color .15s;background:#fff}.ap-form-input:focus,.ap-form-textarea:focus,.ap-form-select:focus{border-color:#3b82f6}.ap-form-textarea{resize:vertical;min-height:80px}.ap-form-actions{display:flex;gap:10px;margin-top:24px}.ap-form-error{color:#ef4444;font-size:13px;margin-top:6px}.ap-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.ap-search-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13.5px;font-family:inherit;outline:none;width:260px;transition:border-color .15s}.ap-search-input:focus{border-color:#3b82f6}.ap-filter-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13.5px;font-family:inherit;background:#fff;outline:none}.ap-toolbar-right{margin-left:auto}.ap-page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.ap-page-title{font-size:20px;font-weight:700;color:#1e293b}.ap-page-header .ap-toolbar-right{margin-left:auto}.ap-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.ap-info-row{display:contents}.ap-info-label{padding:10px 0;font-size:13px;font-weight:500;color:#64748b;border-bottom:1px solid #f1f5f9}.ap-info-value{padding:10px 0;font-size:13.5px;color:#1e293b;border-bottom:1px solid #f1f5f9;word-break:break-all}.ap-info-grid>*:nth-last-child(-n+2){border-bottom:none}.ap-license-bar-wrap{margin-top:12px}.ap-license-bar-bg{background:#e2e8f0;border-radius:99px;height:8px;overflow:hidden}.ap-license-bar-fill{height:100%;border-radius:99px;transition:width .4s}.ap-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.ap-modal{background:#fff;border-radius:14px;padding:32px;width:480px;max-width:95vw;box-shadow:0 20px 60px #0003}.ap-modal-title{font-size:18px;font-weight:700;margin-bottom:8px}.ap-modal-sub{font-size:13.5px;color:#64748b;margin-bottom:24px}.ap-modal-code{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;font-family:monospace;font-size:13px;color:#1e293b;word-break:break-all;margin-bottom:10px}.ap-modal-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.ap-modal-actions{display:flex;gap:10px;margin-top:24px}.ap-copy-btn{background:transparent;border:1px solid #d1d5db;border-radius:6px;padding:3px 10px;font-size:12px;cursor:pointer;color:#374151;font-family:inherit;transition:background .12s}.ap-copy-btn:hover{background:#f3f4f6}.ap-text-muted{color:#64748b;font-size:13px}.ap-mt-12{margin-top:12px}.ap-mt-20{margin-top:20px}.ap-gap-2{display:flex;gap:8px;flex-wrap:wrap}.ap-loading{color:#94a3b8;font-size:14px;padding:24px 0}.ap-error-msg{color:#ef4444;font-size:14px;padding:16px}.ap-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media(max-width:900px){.ap-detail-grid,.ap-form-grid{grid-template-columns:1fr}.ap-sidebar{width:180px}.ap-main{margin-left:180px}}
