:root{--bg-primary: #0b1329;--bg-secondary: #111c3a;--bg-card: rgba(18, 30, 60, .75);--bg-card-hover: rgba(26, 42, 82, .85);--border-color: rgba(56, 189, 248, .2);--border-color-hover: rgba(56, 189, 248, .4);--accent-cyan: #38bdf8;--accent-blue: #3b82f6;--accent-teal: #14b8a6;--accent-amber: #f59e0b;--accent-emerald: #10b981;--accent-rose: #f43f5e;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-glow: 0 0 25px rgba(56, 189, 248, .15);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;line-height:1.5;background-image:radial-gradient(circle at 15% 15%,rgba(56,189,248,.08) 0%,transparent 40%),radial-gradient(circle at 85% 85%,rgba(59,130,246,.08) 0%,transparent 40%);background-attachment:fixed;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);-webkit-tap-highlight-color:transparent}.app-container{max-width:1440px;margin:0 auto;padding:1.5rem}.glass-panel{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:border-color .2s ease,box-shadow .2s ease}.glass-panel:hover{border-color:var(--border-color-hover)}.glow-panel{box-shadow:var(--shadow-glow)}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em}.gradient-text{background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mono-num{font-family:var(--font-mono)}.input-group{display:flex;flex-direction:column;gap:.35rem}.input-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.input-field{background:#0f172ab3;border:1px solid rgba(56,189,248,.25);border-radius:var(--radius-sm);color:var(--text-primary);padding:.6rem .8rem;font-family:var(--font-mono);font-size:.95rem;transition:all .2s ease}.input-field:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 10px #38bdf84d}.select-field{background:#0f172ab3;border:1px solid rgba(56,189,248,.25);border-radius:var(--radius-sm);color:var(--text-primary);padding:.6rem .8rem;font-family:var(--font-sans);font-size:.9rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:linear-gradient(135deg,#0284c7,#2563eb);color:#fff;box-shadow:0 4px 14px #2563eb59}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb80}.btn-secondary{background:#1e293bcc;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:#334155e6;border-color:var(--accent-cyan)}.btn-emerald{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 4px 14px #10b98159}.btn-emerald:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98180}.badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.badge-cyan{background:#38bdf826;color:var(--accent-cyan);border:1px solid rgba(56,189,248,.3)}.badge-amber{background:#f59e0b26;color:var(--accent-amber);border:1px solid rgba(245,158,11,.3)}.badge-emerald{background:#10b98126;color:var(--accent-emerald);border:1px solid rgba(16,185,129,.3)}.badge-rose{background:#f43f5e26;color:var(--accent-rose);border:1px solid rgba(244,63,94,.3)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.modal-overlay,.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#020617d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.modal-content{background:#0f172a;border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:0 25px 50px -12px #000000e6;animation:modalPop .25s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.tabs-container{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;overflow-x:auto;padding-bottom:.25rem}.tab-btn{padding:.75rem 1.25rem;background:transparent;border:none;color:var(--text-secondary);font-weight:600;font-size:.9rem;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;white-space:nowrap}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}.custom-table{width:100%;border-collapse:collapse;font-size:.875rem}.custom-table th{background:#0f172ae6;color:var(--text-secondary);text-align:left;padding:.75rem 1rem;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.custom-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(56,189,248,.1);color:var(--text-primary)}.custom-table tr:hover td{background:#1e293b80}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0f172a80}::-webkit-scrollbar-thumb{background:#38bdf84d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-cyan)}@media print{body{background:#fff!important;color:#000!important}.app-header,.tabs-container,.no-print{display:none!important}.glass-panel{background:#fff!important;border:none!important;box-shadow:none!important;color:#000!important}.printable-certificate{background:#fff!important;color:#000!important;padding:0!important}}
