@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root,[data-theme=dark]{--color-bg:#0f1219;--color-surface:#1a1f2e;--color-surface-elevated:#1e2538;--color-sidebar:#141824;--color-border:#2a3144;--color-primary:#10b981;--color-primary-hover:#34d399;--color-text:#e2e8f0;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-input-bg:#141824;--color-success:#22c55e;--color-warning:#f59e0b;--color-danger:#ef4444;--color-header-bg:#141824cc;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 30px #0006;--shadow-glow:0 0 20px #10b98126}[data-theme=light]{--color-bg:#f0f2f5;--color-surface:#fff;--color-surface-elevated:#fff;--color-sidebar:#fff;--color-border:#e5e7eb;--color-primary:#059669;--color-primary-hover:#10b981;--color-text:#1f2937;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-input-bg:#f9fafb;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--color-header-bg:#ffffffd9;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 30px #0000001f;--shadow-glow:0 0 20px #10b98114}:root{--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background .3s,color .3s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.ant-layout{background:var(--color-bg)!important}.ant-card{transition:all .3s;border-radius:var(--radius-lg)!important;border:1px solid var(--color-border)!important;background:var(--color-surface)!important}.ant-card:hover{box-shadow:var(--shadow-glow)!important;border-color:#10b9814d!important}.ant-btn-primary{font-weight:500;background:linear-gradient(135deg,#10b981,#059669)!important;border:none!important}.ant-btn-primary:hover{transform:translateY(-1px);background:linear-gradient(135deg,#34d399,#10b981)!important;box-shadow:0 4px 15px #10b98166!important}.ant-table-thead>tr>th{text-transform:uppercase;letter-spacing:.5px;font-size:11px!important;font-weight:600!important}.auth-page{background:radial-gradient(ellipse at 20% 50%, #10b98114 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #3b82f60f 0%, transparent 50%), var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:420px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:48px}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo h1{background:linear-gradient(135deg,#10b981,#3b82f6);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800}.auth-logo p{color:var(--color-text-secondary);margin-top:6px;font-size:13px}.sidebar{z-index:100;height:100vh;transition:background .3s;position:fixed;top:0;left:0;background:var(--color-sidebar)!important;border-right:1px solid var(--color-border)!important}.sidebar-logo{border-bottom:1px solid var(--color-border);justify-content:center;align-items:center;height:64px;padding:0 16px;display:flex}.sidebar-logo h2{background:linear-gradient(135deg,#10b981,#3b82f6);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.main-content{flex-direction:column;flex:1;min-width:0;min-height:100vh;transition:margin-left .3s cubic-bezier(.2,0,0,1);display:flex}.top-header{background:var(--color-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:50;justify-content:space-between;align-items:center;height:64px;padding:0 24px;transition:background .3s;display:flex;position:sticky;top:0}.page-content{flex:1;height:calc(100vh - 64px);padding:24px;overflow-y:auto}.page-header{margin-bottom:24px}.page-header h1{color:var(--color-text);font-size:24px;font-weight:700}.page-header p{color:var(--color-text-secondary);margin-top:4px;font-size:14px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px 24px;transition:all .3s;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--accent,#10b981), transparent);height:3px;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-glow);border-color:#10b9814d;transform:translateY(-2px)}.stat-card .stat-value{color:var(--color-text);font-size:28px;font-weight:800;line-height:1}.stat-card .stat-label{color:var(--color-text-secondary);margin-top:6px;font-size:13px;font-weight:500}.stat-card .stat-icon{opacity:.08;color:var(--accent,#10b981);font-size:64px;position:absolute;bottom:-10px;right:-5px;transform:rotate(-15deg)}.compliance-badge{border-radius:20px;align-items:center;gap:4px;padding:3px 12px;font-size:12px;font-weight:600;display:inline-flex}.compliance-badge.comply{color:#16a34a;background:#22c55e26;border:1px solid #22c55e4d}.compliance-badge.not-comply{color:#dc2626;background:#ef444426;border:1px solid #ef44444d}.compliance-badge.not-applicable{color:var(--color-text-secondary);border:1px solid var(--color-border);background:#94a3b826}.compliance-badge.in-progress{color:#d97706;background:#f59e0b26;border:1px solid #f59e0b4d}[data-theme=dark] .compliance-badge.comply{color:#4ade80}[data-theme=dark] .compliance-badge.not-comply{color:#f87171}[data-theme=dark] .compliance-badge.in-progress{color:#fbbf24}.theme-input{background:var(--color-input-bg)!important;border-color:var(--color-border)!important;border-radius:8px!important}.theme-input input{background:0 0!important}.theme-toggle{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .3s;display:flex}.theme-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);transform:rotate(20deg)}[data-theme=light] .ant-menu-light,[data-theme=light] .ant-menu-light .ant-menu-item{color:var(--color-text)!important}[data-theme=light] .ant-table{background:#fff}[data-theme=light] .ant-tree{background:0 0}[data-theme=light] .ant-descriptions-item-label{color:var(--color-text-secondary)!important}[data-theme=light] .ant-descriptions-item-content{color:var(--color-text)!important}[data-theme=light] .sidebar-logo{border-bottom-color:var(--color-border)}[data-theme=light] .ant-input,[data-theme=light] .ant-input-affix-wrapper,[data-theme=light] .ant-select-selector{background:var(--color-input-bg)!important;border-color:var(--color-border)!important;color:var(--color-text)!important}[data-theme=light] .ant-progress-text{color:var(--color-text)!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.4s ease-out fadeIn}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #10b98133}50%{box-shadow:0 0 20px #10b98166}}
