@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--bg-dark:#0b0f17;--card-bg:#131b2e;--card-hover:#1c2742;--border-color:#1e293b;--border-bright:#334155;--primary-blue:#2563eb;--primary-hover:#1d4ed8;--primary-glow:rgba(37,99,235,.25);--emerald:#10b981;--emerald-bg:rgba(16,185,129,.12);--emerald-border:rgba(16,185,129,.3);--rose:#f43f5e;--rose-bg:rgba(244,63,94,.12);--rose-border:rgba(244,63,94,.3);--amber:#f59e0b;--amber-bg:rgba(245,158,11,.12);--amber-border:rgba(245,158,11,.3);--text-white:#fff;--text-body:#e2e8f0;--text-muted:#94a3b8;--text-subtle:#64748b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-dark);color:var(--text-body);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}.font-mono{font-family:JetBrains Mono,monospace}.page-container{max-width:1280px;margin:0 auto;padding:32px 24px}.header-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:20px 24px;margin-bottom:24px;flex-direction:row;justify-content:space-between;gap:20px}.header-card,.header-left{display:flex;align-items:center}.header-left{gap:16px}.header-icon-badge{width:48px;height:48px;border-radius:12px;background:rgba(37,99,235,.15);border:1px solid rgba(37,99,235,.3);display:flex;align-items:center;justify-content:center;color:#3b82f6;flex-shrink:0}.header-title-row{display:flex;align-items:center;gap:12px}.header-title{font-size:22px;font-weight:800;color:var(--text-white);letter-spacing:-.3px}.header-tag{background:rgba(16,185,129,.15);color:#34d399;border:1px solid rgba(16,185,129,.3);padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.5px}.header-subtext{font-size:13px;color:var(--text-muted);margin-top:4px}.header-actions,.header-subtext{display:flex;align-items:center;gap:12px}.header-actions{flex-wrap:wrap}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}@media (max-width:1024px){.metrics-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.metrics-row{grid-template-columns:1fr}}.metric-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.metric-card:hover{border-color:var(--border-bright);background:var(--card-hover)}.metric-card.selected{border-color:var(--primary-blue);box-shadow:0 0 0 2px var(--primary-glow)}.metric-card-top{display:flex;align-items:center;justify-content:space-between}.metric-card-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.metric-icon-box{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center}.metric-card-bottom{margin-top:14px;display:flex;align-items:baseline;justify-content:space-between}.metric-card-value{font-size:28px;font-weight:800;color:var(--text-white);line-height:1}.metric-alert-badge{font-size:11px;color:#fbbf24;background:var(--amber-bg);border:1px solid var(--amber-border);padding:3px 8px;border-radius:4px;display:flex;align-items:center;gap:4px}.table-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;overflow:hidden}.table-toolbar{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0f172a;flex-wrap:wrap}.search-box-wrapper{position:relative;width:320px;max-width:100%}.search-icon-inside{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-subtle);pointer-events:none}.search-input-field{width:100%;padding:9px 12px 9px 38px;background:#0b0f17;border:1px solid var(--border-bright);border-radius:8px;color:var(--text-white);font-size:13px;outline:none}.search-input-field:focus{border-color:var(--primary-blue)}.filter-wrapper{display:flex;align-items:center;gap:8px}.filter-select{padding:9px 12px;background:#0b0f17;border:1px solid var(--border-bright);border-radius:8px;color:var(--text-white);font-size:13px;outline:none;cursor:pointer}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{background:#0b0f17;padding:14px 20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.data-table td{padding:16px 20px;font-size:13.5px;color:var(--text-body);border-bottom:1px solid hsla(0,0%,100%,.05);vertical-align:middle}.data-table tr:hover td{background:hsla(0,0%,100%,.02)}.badge-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.badge-status.active{background:var(--emerald-bg);color:#34d399;border:1px solid var(--emerald-border)}.badge-status.expired{background:var(--rose-bg);color:#fb7185;border:1px solid var(--rose-border)}.badge-status.revoked{background:var(--amber-bg);color:#fbbf24;border:1px solid var(--amber-border)}.action-group{display:flex;justify-content:flex-end}.action-group,.btn{align-items:center;gap:8px}.btn{display:inline-flex;justify-content:center;padding:9px 16px;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s ease;white-space:nowrap}.btn-primary{background:var(--primary-blue);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:#1e293b;color:var(--text-body);border:1px solid var(--border-bright)}.btn-secondary:hover{background:#334155;color:var(--text-white)}.btn-sm{padding:6px 12px;font-size:12.5px;border-radius:6px}.btn-extend{background:var(--emerald-bg);color:#34d399;border:1px solid var(--emerald-border)}.btn-extend:hover{background:rgba(16,185,129,.25)}.btn-danger{background:var(--rose-bg);color:#fb7185;border:1px solid var(--rose-border)}.btn-danger:hover{background:rgba(244,63,94,.25)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--card-bg);border:1px solid var(--border-bright);border-radius:16px;width:100%;max-width:620px;max-height:90vh;overflow-y:auto;padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.7)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.modal-title-group{display:flex;align-items:center;gap:12px}.modal-close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.modal-close-btn:hover{color:var(--text-white);background:hsla(0,0%,100%,.1)}.form-field{margin-bottom:18px}.form-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-body);margin-bottom:8px}.input-with-icon-wrapper{position:relative;display:flex;align-items:center}.input-icon-left{position:absolute;left:14px;color:var(--text-subtle);pointer-events:none;width:18px;height:18px}.input-control{width:100%;padding:11px 14px 11px 42px;background:#0b0f17;border:1px solid var(--border-bright);border-radius:8px;color:var(--text-white);font-size:14px;outline:none;transition:border-color .15s ease}input[type=date]{color-scheme:dark;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.8);padding:4px;border-radius:4px;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}input[type=date]::-webkit-calendar-picker-indicator:hover{filter:invert(1);background:hsla(0,0%,100%,.1)}.input-control:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--primary-glow)}.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border-color)}.code-container{background:#080c14;border:1px solid var(--border-color);border-radius:8px;padding:16px;font-size:13px;color:#e2e8f0;overflow-x:auto;max-height:380px}.tabs-group{margin-bottom:16px;background:#0b0f17;padding:6px;border-radius:10px;border:1px solid var(--border-color);flex-wrap:wrap}.tab-button,.tabs-group{display:flex;align-items:center;gap:8px}.tab-button{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;background:transparent;color:var(--text-muted);border:none;cursor:pointer;transition:all .15s ease}.tab-button.active{background:var(--primary-blue);color:var(--text-white)}