@tailwind base;@tailwind components;@tailwind utilities;:root{--color-primary:#1c3d5a;--color-primary-accent:#2b6cb0;--color-accent-gold:#c6a75e;--color-bg:#f2f6fa;--color-surface:#fff;--color-border:#1118271f;--color-text-white:#fff;--color-text-dark:#1a202c;--color-text-muted:#1a202cb8;--color-muted:#1a202cb8;--color-risk-low:#2f855a;--color-risk-medium:#d69e2e;--color-risk-high:#c53030;--color-success:#2f855a;--color-accent-navy:#1c3d5a;--radius:10px;--shadow:0 10px 24px #0f172a14;--shadow-sm:0 2px 8px #0f172a0f}@layer base{@apply border-gray-200;*{box-sizing:border-box}html,body{height:100%}body{background:var(--color-bg);color:var(--color-text-dark);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 10px;font-size:34px;font-weight:800;line-height:1.15}h2{margin:0 0 10px;font-size:22px;font-weight:700}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 8px;font-size:16px;font-weight:700}p{color:var(--color-text-muted);margin:0 0 12px}:focus-visible{outline:2px solid var(--color-primary-accent);outline-offset:2px;border-radius:3px}}@layer components{@apply inline-flex items-center justify-center gap-2 font-bold rounded-full transition-all;.btn-primary{background:var(--color-primary-accent);cursor:pointer;border:none;padding:10px 18px;font-size:14px;box-shadow:0 8px 16px #2b6cb038;color:#fff!important}.btn-primary:hover{filter:brightness(1.08);text-decoration:none}.btn-primary:disabled{opacity:.55;cursor:not-allowed}@apply inline-flex items-center justify-center gap-2 font-bold rounded-full transition-all;.btn-secondary{color:var(--color-accent-gold);border:1px solid var(--color-accent-gold);cursor:pointer;background:0 0;border-radius:999px;padding:10px 18px;font-size:14px}.btn-secondary:hover{border:2px solid var(--color-accent-gold);text-decoration:none}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}@apply inline-flex items-center justify-center gap-2 font-bold text-white rounded-full transition-all;.btn-danger{background:var(--color-risk-high);cursor:pointer;padding:10px 18px;font-size:14px}.btn-danger:hover{filter:brightness(1.08)}@apply inline-flex items-center justify-center gap-2 text-sm font-medium rounded-lg transition-colors;.btn-ghost{color:var(--color-text-muted);cursor:pointer;background:0 0;padding:8px 12px}.btn-ghost:hover{color:var(--color-text-dark);background:#1c3d5a0f}.input{border-radius:var(--radius);border:1px solid var(--color-border);width:100%;color:var(--color-text-dark);background:#fff;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--color-primary-accent);outline:none;box-shadow:0 0 0 3px #2b6cb01f}.input::placeholder{color:var(--color-text-muted)}.input-dark{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;width:100%;padding:14px 20px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.input-dark:focus{border-color:#2b6cb0b3;outline:none;box-shadow:0 0 0 3px #2b6cb033}.input-dark::placeholder{color:#ffffff59}@media (forced-colors:active){.input:focus,.input-dark:focus{outline:2px solid buttontext}}.footer-link{color:#ffffff73;margin-bottom:6px;font-size:12px;text-decoration:none;transition:color .15s;display:block}.footer-link:hover{color:#fff}@media (forced-colors:active){.footer-link:hover{color:buttontext}}.label{color:#1a202ce6;margin:10px 0 6px;font-size:13px;font-weight:700;display:block}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px}.card-dark{border-radius:var(--radius);background:#ffffff0d;border:1px solid #ffffff1a;padding:24px}.card-hero{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #2b6cb033;padding:36px 32px;position:relative;overflow:hidden}.card-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#2b6cb00f 0%,#0000 70%);width:220px;height:220px;position:absolute;top:-60px;right:-60px}@apply inline-flex items-center px-2 py-0.5 rounded-full text-xs font-bold;.badge-low{color:var(--color-risk-low);background:#2f855a1a;border:1px solid #2f855a40}@apply inline-flex items-center px-2 py-0.5 rounded-full text-xs font-bold;.badge-medium{color:var(--color-risk-medium);background:#d69e2e1a;border:1px solid #d69e2e47}@apply inline-flex items-center px-2 py-0.5 rounded-full text-xs font-bold;.badge-high{color:var(--color-risk-high);background:#c530301a;border:1px solid #c5303040}@apply inline-flex items-center px-2 py-0.5 rounded-full text-xs font-bold;.badge-critical{color:#fff;background:var(--color-risk-high)}.d3-badge{border:1px solid var(--color-border);background:#fffc;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.status-queued{color:var(--color-text-muted)}@apply animate-pulse;.status-running{color:var(--color-primary-accent)}.status-completed{color:var(--color-risk-low)}.status-failed{color:var(--color-risk-high)}.status-cancelled{color:var(--color-text-muted)}.alert-error{color:#1a202cf2;border-radius:var(--radius);background:#c5303014;border:1px solid #c5303059;padding:10px 12px;font-size:13px}.alert-info{color:#1a202cf2;border-radius:var(--radius);background:#2b6cb00f;border:1px solid #2b6cb04d;padding:10px 12px;font-size:13px}.alert-success{color:#1a202cf2;border-radius:var(--radius);background:#2f855a12;border:1px solid #2f855a59;padding:10px 12px;font-size:13px}.d3-container{max-width:1120px;margin:0 auto;padding:28px 24px}.d3-header{color:#fff;background:linear-gradient(90deg,#1c3d5a,#16324a);border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 22px;display:flex}@media (max-width:768px){.d3-header .d3-badge{display:none}}.d3-logo-box{color:#fff;letter-spacing:-.04em;background:linear-gradient(135deg,#2b6cb0,#1c3d5a);border:1px solid #ffffff2e;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:700;display:flex;box-shadow:0 2px 8px #00000038}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:240px;height:100vh;display:flex}.sidebar-logo{border-bottom:1px solid var(--color-border);background:linear-gradient(90deg,#1c3d5a,#16324a);flex-shrink:0;align-items:center;gap:12px;height:64px;padding:0 20px;display:flex}.sidebar-logo-text{color:#fff;letter-spacing:.02em;font-size:18px;font-weight:800}.sidebar-logo-sub{color:#ffffffbf;font-size:11px}.sidebar-nav-item{color:var(--color-text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar-nav-item:hover{color:var(--color-text-dark);background:#1c3d5a12;text-decoration:none}.sidebar-nav-item.active{color:var(--color-primary-accent);background:#2b6cb01a}.sidebar-nav-item.active svg{color:var(--color-primary-accent)}.audit-table table th,.audit-table table td{padding:1px 2px;font-size:10px}table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;width:100%;overflow:hidden}th,td{border-bottom:1px solid var(--color-border);text-align:left;padding:10px 14px;font-size:14px}th{color:#1a202ce6;text-transform:uppercase;letter-spacing:.05em;background:#1c3d5a0d;font-size:12px;font-weight:800}tr:last-child td{border-bottom:none}tr:hover td{background:#1c3d5a05}}.slide-up-toast{left:50%;bottom:max(16px,env(safe-area-inset-bottom));opacity:0;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;z-index:9999;pointer-events:none;background:#2b6cb0d1;border-radius:16px;width:calc(100vw - 32px);min-width:220px;max-width:420px;padding:14px 18px;font-size:14px;line-height:1.45;transition:transform .4s,opacity .4s;position:fixed;transform:translate(-50%,120%);box-shadow:0 10px 30px #0f172a38}.slide-up-toast--visible{opacity:1;transform:translate(-50%)}@media (max-width:480px){.slide-up-toast{border-radius:14px;width:calc(100vw - 20px);min-width:0;padding:12px 14px;font-size:13px}}@media (min-width:768px){.slide-up-toast{max-width:460px;font-size:14px}}
