:root{--primary-base: rgb(0, 81, 74);--primary: rgb(0, 81, 74);--primary-dark: #003631;--primary-light: #007066;--primary-bright: #14b8a6;--primary-accent: #2dd4bf;--primary-glow: rgba(0, 81, 74, .45);--primary-glow-bright: rgba(45, 212, 191, .25);--bg-main: #041211;--bg-secondary: #081d1a;--bg-card: rgba(8, 29, 26, .82);--bg-card-hover: rgba(12, 42, 38, .9);--bg-input: #051614;--purple: #14b8a6;--purple-glow: rgba(20, 184, 166, .25);--green: #10b981;--green-bg: rgba(16, 185, 129, .12);--green-border: rgba(16, 185, 129, .3);--amber: #f59e0b;--amber-bg: rgba(245, 158, 11, .12);--amber-border: rgba(245, 158, 11, .3);--rose: #f43f5e;--rose-bg: rgba(244, 63, 94, .12);--rose-border: rgba(244, 63, 94, .3);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-dim: #5eead4;--border: rgba(45, 212, 191, .12);--border-glow: rgba(45, 212, 191, .35);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Outfit", sans-serif;--font-mono: "JetBrains Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-primary);min-height:100vh;line-height:1.5;background-image:radial-gradient(at 0% 0%,rgba(0,81,74,.4) 0px,transparent 55%),radial-gradient(at 100% 100%,rgba(20,184,166,.15) 0px,transparent 50%),radial-gradient(at 50% 50%,rgba(0,81,74,.1) 0px,transparent 65%);background-attachment:fixed;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#082925;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0d423c}.app-container{max-width:1400px;margin:0 auto;padding:24px 32px}.header{display:flex;align-items:center;justify-content:space-between;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:14px}.brand-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#00514a,#14b8a6);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00514a80}.brand-title{font-family:var(--font-heading);font-size:24px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,#fff 60%,#5eead4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-subtitle{font-size:13px;color:var(--text-dim)}.header-status{display:flex;align-items:center;gap:16px}.status-indicator{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:30px;font-size:13px;font-weight:500}.pulse-dot{width:8px;height:8px;border-radius:50%;position:relative}.pulse-dot.online{background:var(--green);box-shadow:0 0 10px var(--green)}.pulse-dot.offline{background:var(--rose);box-shadow:0 0 10px var(--rose)}.user-profile-badge{display:flex;align-items:center;gap:12px;padding:6px 14px 6px 8px;background:#0f172a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:30px}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#00514a,#14b8a6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;box-shadow:0 0 10px #00514a66}.user-info{display:flex;flex-direction:column}.user-name{font-size:13px;font-weight:600;color:var(--text-main);line-height:1.2}.user-email{font-size:11px;color:var(--text-dim);line-height:1.2}.btn-logout{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:transparent;border:1px solid transparent;color:var(--text-dim);cursor:pointer;transition:all .2s ease;margin-left:4px}.btn-logout:hover{background:#f43f5e26;border-color:#f43f5e4d;color:#f43f5e}.tabs-nav{display:flex;gap:10px;margin-bottom:28px;background:#0f172a66;padding:6px;border-radius:14px;border:1px solid var(--border);width:fit-content}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:var(--text-primary);background:#ffffff0a}.tab-btn.active{background:linear-gradient(135deg,#00514a80,#14b8a633);color:var(--primary-accent);border:1px solid var(--border-glow);box-shadow:0 4px 12px var(--primary-glow)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:32px}.metric-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:16px;padding:22px;position:relative;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.metric-card:hover{transform:translateY(-2px);border-color:#ffffff26}.metric-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.metric-label{font-size:13px;color:var(--text-secondary);font-weight:500}.metric-icon-wrap{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.metric-value{font-family:var(--font-heading);font-size:32px;font-weight:700;letter-spacing:-.5px}.metric-sub{font-size:12px;color:var(--text-dim);margin-top:4px}.panel-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #0000004d}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:#0f172a66}.panel-title{font-family:var(--font-heading);font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#00514a,#0d9488);color:#fff;border:1px solid rgba(45,212,191,.3);border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #00514a73}.btn-primary:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 6px 20px #14b8a659}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#ffffff1a;color:var(--text-primary)}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{padding:14px 20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);background:#090e1899;border-bottom:1px solid var(--border)}.data-table td{padding:16px 20px;font-size:13.5px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:hover td{background:#ffffff05}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-active{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.badge-revoked{background:var(--rose-bg);color:var(--rose);border:1px solid var(--rose-border)}.badge-expired{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.badge-strongbox{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.4)}.badge-tee{background:#00514a40;color:#2dd4bf;border:1px solid rgba(45,212,191,.4)}.badge-software{background:#f43f5e26;color:#fb7185;border:1px solid rgba(244,63,94,.4)}.module-pill{display:inline-block;padding:2px 8px;border-radius:6px;font-family:var(--font-mono);font-size:11px;font-weight:600;margin-right:4px;margin-bottom:2px}.module-pill.mod-a{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.module-pill.mod-b{background:#00514a4d;color:#2dd4bf;border:1px solid rgba(45,212,191,.4)}.module-pill.mod-c{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.code-snippet{font-family:var(--font-mono);background:#0006;padding:4px 8px;border-radius:6px;font-size:12.5px;color:#2dd4bf;display:inline-flex;align-items:center;gap:6px}.copy-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;display:inline-flex;padding:2px}.copy-btn:hover{color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#061c19;border:1px solid var(--border-glow);border-radius:20px;width:100%;max-width:640px;padding:28px;box-shadow:0 20px 50px #000000b3,0 0 30px #00514a59;animation:modalIn .25s ease forwards}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-title{font-family:var(--font-heading);font-size:20px;font-weight:700}.close-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:20px}.close-btn:hover{color:#fff}.form-group{margin-bottom:18px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text-primary);font-size:14px;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary-bright);box-shadow:0 0 0 3px #14b8a633}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media (max-width: 580px){.form-row{grid-template-columns:1fr;gap:12px}}.module-checkboxes{display:flex;flex-direction:column;gap:8px;background:#0003;padding:12px;border-radius:10px;border:1px solid var(--border)}.checkbox-item{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13.5px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;background:#1e293b;border:1px solid var(--primary-bright);border-radius:10px;box-shadow:0 10px 25px #00000080;font-size:14px;color:#fff;z-index:2000;display:flex;align-items:center;gap:10px;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.date-picker-wrapper:hover{border-color:var(--primary-bright)!important}.date-picker-wrapper:focus-within{border-color:var(--primary-bright)!important;box-shadow:0 0 0 3px #38bdf826}input[type=date]{color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.8) sepia(100%) hue-rotate(160deg) brightness(1.5);opacity:.9;padding:4px;border-radius:4px;transition:transform .15s ease,opacity .15s ease}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1;transform:scale(1.15)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.login-wrapper{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background-color:var(--bg-main);background-image:radial-gradient(circle at 50% 15%,rgba(0,81,74,.4) 0%,transparent 60%),radial-gradient(circle at 85% 85%,rgba(20,184,166,.15) 0%,transparent 50%),radial-gradient(circle at 15% 80%,rgba(0,81,74,.25) 0%,transparent 50%)}.login-glow-1{position:absolute;top:20%;left:50%;transform:translate(-50%,-50%);width:620px;height:620px;background:radial-gradient(circle,rgba(0,81,74,.5) 0%,rgba(20,184,166,.16) 50%,transparent 70%);border-radius:50%;filter:blur(85px);pointer-events:none;animation:pulseGlow 8s ease-in-out infinite alternate}.login-glow-2{position:absolute;bottom:-60px;right:10%;width:440px;height:440px;background:radial-gradient(circle,rgba(45,212,191,.14) 0%,transparent 70%);border-radius:50%;filter:blur(75px);pointer-events:none}@keyframes pulseGlow{0%{transform:translate(-50%,-50%) scale(.95);opacity:.7}to{transform:translate(-50%,-50%) scale(1.08);opacity:1}}.login-card{width:100%;max-width:440px;background:#061a17e0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(45,212,191,.25);border-radius:24px;padding:40px 36px;box-shadow:0 25px 60px -15px #000c,0 0 45px -5px #00514a73;position:relative;z-index:10;animation:loginCardAppear .45s cubic-bezier(.16,1,.3,1) forwards}@keyframes loginCardAppear{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:30px}.login-badge-icon{width:68px;height:68px;margin:0 auto 16px;border-radius:20px;background:linear-gradient(135deg,#00514a99,#14b8a640);border:1px solid rgba(45,212,191,.35);color:var(--primary-accent);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #00514a80;transition:transform .3s ease}.login-badge-icon:hover{transform:scale(1.06) rotate(3deg)}.login-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.login-title{font-family:var(--font-heading);font-size:26px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#fff 60%,#5eead4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-chip{font-family:var(--font-sans);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:3px 8px;border-radius:20px;background:#00514a59;border:1px solid rgba(45,212,191,.4);color:var(--primary-accent)}.login-subtitle{font-size:13.5px;color:var(--text-secondary);line-height:1.45}.login-error-box{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:12px;background:#f43f5e1f;border:1px solid rgba(244,63,94,.35);color:#fecdd3;font-size:13px;margin-bottom:24px;animation:shakeError .35s ease}@keyframes shakeError{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.login-error-icon{color:#fb7185;flex-shrink:0;margin-top:1px}.login-form{display:flex;flex-direction:column;gap:20px}.login-field{display:flex;flex-direction:column;gap:8px}.login-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--text-secondary)}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:14px;color:var(--text-dim);pointer-events:none;display:flex;align-items:center;transition:color .2s ease}.login-input{width:100%;height:46px;background:#041210d9;border:1px solid rgba(45,212,191,.18);border-radius:12px;padding:0 44px 0 42px;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;transition:all .2s ease}.login-input:focus{outline:none;border-color:var(--primary-bright);background:#041614fa;box-shadow:0 0 0 3px #14b8a633}.login-input-wrap:focus-within .login-input-icon{color:var(--primary-bright)}.login-input::placeholder{color:var(--text-dim)}.login-eye-btn{position:absolute;right:12px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .2s ease}.login-eye-btn:hover{color:var(--text-primary)}.login-submit-btn{width:100%;height:48px;margin-top:8px;border-radius:12px;background:linear-gradient(135deg,#00514a,#0d9488);border:1px solid rgba(45,212,191,.4);color:#fff;font-family:var(--font-heading);font-size:15px;font-weight:600;letter-spacing:.2px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 20px #00514a73;transition:all .25s ease}.login-submit-btn:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 6px 25px #14b8a666}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}.login-submit-arrow{transition:transform .2s ease}.login-submit-btn:hover:not(:disabled) .login-submit-arrow{transform:translate(3px)}.login-footer{margin-top:28px;padding-top:20px;border-top:1px solid rgba(45,212,191,.12);display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--text-dim)}.login-footer-icon{color:var(--primary-bright)}
