@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0f172a;--surface-color:#1e293bb3;--border-color:#ffffff1a;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-primary:#3b82f6;--accent-hover:#2563eb;--danger:#ef4444;--warning:#f59e0b;--success:#10b981;--radius:12px;--shadow:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);background-image:radial-gradient(at 0 0,#100f15 0,#0000 50%),radial-gradient(at 50% 0,#2f3e6a4d 0,#0000 50%),radial-gradient(at 100% 0,#72274133 0,#0000 50%);background-attachment:fixed;flex-direction:column;min-height:100vh;font-family:Inter,sans-serif;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{margin-bottom:.5em;font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:1.8rem}h3{font-size:1.4rem}p{color:var(--text-secondary);margin-bottom:1em;line-height:1.6}.glass-panel{background:var(--surface-color);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem}.container{width:100%;max-width:1000px;margin:0 auto;padding:2rem}.header{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a80;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.header h1{background:linear-gradient(90deg,#60a5fa,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.5rem}.nav-links{gap:1rem;display:flex}.nav-links a{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text-primary)}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}label{color:var(--text-primary);font-size:.9rem;font-weight:500}input[type=text],input[type=password]{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background:#0003;border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #3b82f633}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-icon{color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:50%;padding:.5rem}.btn-icon:hover{color:var(--text-primary);background:#ffffff1a}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{width:90%;max-width:500px;position:relative}.modal-close{position:absolute;top:1rem;right:1rem}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-danger{color:#fca5a5;background:#ef444433}.badge-warning{color:#fcd34d;background:#f59e0b33}.badge-info{color:#93c5fd;background:#3b82f633}.report-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.report-card{border:1px solid var(--border-color);background:#ffffff08;border-radius:8px;padding:1.5rem;transition:transform .2s,border-color .2s}.report-card:hover{border-color:#fff3;transform:translateY(-2px)}.data-table{border-collapse:collapse;width:100%;margin-top:1.5rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:1rem}.data-table th{color:var(--text-primary);background:#0003;font-weight:600}.data-table tr:hover td{background:#ffffff05}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-slide-up{animation:.4s forwards slideUp}.text-center{text-align:center}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.mt-8{margin-top:2rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}
