:root{--bg-primary:#0a0a0f;--bg-secondary:#0e0e16;--surface-color:#1a1a2e;--surface-color-light:#25253a;--surface-hover:#2a2a42;--input-bg:#12121f;--input-border:#ffffff14;--input-border-focus:var(--primary);--primary:#00d4aa;--primary-light:#00e8bb;--primary-dark:#00b494;--primary-rgb:0, 212, 170;--primary-gradient:linear-gradient(135deg, #00d4aa 0%, #00b4d8 100%);--primary-gradient-hover:linear-gradient(135deg, #00e8bb 0%, #00c4e8 100%);--secondary:#f59e0b;--success:#10b981;--danger:#ef4444;--text-primary:#f8f8f2;--text-secondary:#8b8b9e;--text-tertiary:#4a4a5e;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--sidebar-width:240px;--header-height:60px;--content-padding:32px;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 12px #0006, 0 2px 4px #00000040;--shadow-glow-sm:0 0 10px rgba(var(--primary-rgb), .25);--glass-bg:#1a1a2e8c;--glass-border:#ffffff0f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;background-image:radial-gradient(100% 60% at 50% 0,#00b4d80a 0%,#0000 70%);font-size:14px;font-weight:400;line-height:1.5}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600}h1{font-size:24px;font-weight:700}h2{font-size:20px;font-weight:700}h3{font-size:18px}#app{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background-color:var(--surface-color);border-right:1px solid var(--glass-border);flex-direction:column;transition:width .3s,transform .3s;display:flex}.main-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.header{height:var(--header-height);border-bottom:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);z-index:10;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.content{padding:var(--content-padding);flex:1;overflow-y:auto}.view-fade-in>*{animation:.2s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-color-light);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media (width<=1024px){:root{--sidebar-width:200px;--content-padding:24px}}@media (width<=768px){#app{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--glass-border);flex-direction:row;width:100%;height:auto;overflow-x:auto}.sidebar>div:first-child,.sidebar>div:last-child{display:none}.sidebar nav{flex-direction:row;display:flex;padding:0!important}.sidebar nav a{border-bottom:2px solid #0000;border-left:none!important}.sidebar nav a.active{border-bottom:2px solid var(--primary)}}.card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);border-radius:16px;padding:24px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}.card.interactive:hover{box-shadow:var(--shadow-md);transform:scale(1.01)}.metric-tile{position:relative;overflow:hidden}.metric-tile:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#ffffff03);border-radius:16px;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.metric-tile:hover{box-shadow:var(--shadow-glow-sm);transform:scale(1.01)}.number-anim{animation:.6s cubic-bezier(.16,1,.3,1) forwards numberSlideUp;display:inline-block}@keyframes numberSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:var(--primary-gradient);color:#0a0a0f;box-shadow:0 4px 12px #00d4aa33}.btn-primary:hover{background:var(--primary-gradient-hover);transform:translateY(-1px);box-shadow:0 6px 16px #00d4aa4d}.btn-secondary{color:var(--text-primary);background:#ffffff14}.btn-secondary:hover{background:#ffffff1f}.btn-danger{color:var(--danger);background:#ef44441a}.btn-danger:hover{background:#ef444433}.btn-danger-outline{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-danger-outline:hover{color:var(--danger);background:#ef44441a}.table-container{border:1px solid var(--glass-border);border-radius:8px;overflow:visible}table{border-collapse:collapse;text-align:left;width:100%}th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--glass-border);cursor:pointer;background:#0003;padding:16px;font-size:12px;font-weight:600;transition:background .2s}th:hover{color:var(--text-primary);background:#0000004d}td{color:var(--text-primary);border-bottom:1px solid #ffffff05;padding:16px;font-size:14px}tbody tr{transition:background .2s}tbody tr:nth-child(2n) td{background:#ffffff03}tr:last-child td{border-bottom:none}tbody tr:hover td{background:#ffffff08}.badge{letter-spacing:-.01em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:9999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-active{color:var(--success);background:#10b98126;border:1px solid #10b98133}.badge-revoked{color:var(--danger);background:#ef444426;border:1px solid #ef444433}.badge-amber{color:var(--secondary);background:#f59e0b26;border:1px solid #f59e0b33}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:500;display:block}.form-control{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-primary);border-radius:8px;padding:12px;font-family:inherit;font-size:14px;transition:all .2s}.form-control:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 2px rgba(var(--primary-rgb), .2);outline:none}.glass-input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff05}.toolbar{gap:16px;margin-bottom:24px;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;opacity:0;visibility:hidden;background:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:var(--surface-color);border:1px solid var(--glass-border);opacity:0;width:100%;max-width:500px;box-shadow:var(--shadow-xl);border-radius:20px;padding:24px;transition:all .3s cubic-bezier(.34,1.56,.64,1);transform:scale(.95)}.modal-overlay.active .modal-content{opacity:1;transform:scale(1)}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-title{margin:0;font-size:20px}.modal-close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .2s,color .2s;display:flex}.modal-close:hover{color:var(--text-primary);background:#ffffff1a}.modal-footer{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.toast-container{z-index:1000;flex-direction:column;gap:8px;display:flex;position:fixed;top:24px;right:24px}.toast{background:var(--surface-color);border:1px solid var(--glass-border);border-left:4px solid var(--primary);color:var(--text-primary);box-shadow:var(--shadow-md);border-radius:8px;padding:16px 24px;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideInRight}.toast.toast-error{border-left-color:var(--danger)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.action-menu{display:inline-block;position:relative}.action-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;transition:background .2s,color .2s}.action-btn:hover{color:var(--text-primary);background:#ffffff1a}.action-dropdown{background:var(--surface-color);border:1px solid var(--glass-border);z-index:50;min-width:160px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px;padding:8px 0;display:none;position:absolute;top:100%;right:0}.action-dropdown.active{animation:.2s forwards dropdownFade;display:block}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.action-dropdown-item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:14px;transition:background .2s;display:block}.action-dropdown-item:hover{background:#ffffff14}.action-dropdown-item.text-danger{color:var(--danger)}.action-dropdown-item.text-danger:hover{background:#ef44441a}.d-flex{display:flex}.justify-between{justify-content:space-between}.align-center{align-items:center}.gap-2{gap:8px}.gap-4{gap:16px}.text-muted{color:var(--text-secondary)}.text-mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.mt-4{margin-top:16px}
