*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--indigo-50:#eef2ff;--indigo-100:#e0e7ff;--indigo-500:#6366f1;--indigo-600:#4f46e5;--indigo-700:#4338ca;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--sidebar-w:240px;--header-h:56px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 30px #0000001a;--surface:#fff;--surface-alt:#f8fafc;--border-color:#e2e8f0;--sk-bg:#f1f5f9;--sk-shine:#e2e8f0}html,body,#root{height:100%;color:var(--gray-800);background:var(--gray-50);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;overflow:hidden}body{overflow:hidden}@media print{html,body,#root{height:auto!important;min-height:0!important;overflow:visible!important}.no-print,.app-shell,.app-sidebar,.app-header{display:none!important}.app-main,.app-content{height:auto!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}@keyframes fabPulse{0%,to{box-shadow:0 4px 16px #4f46e573}50%{box-shadow:0 4px 24px #4f46e5a6}}@keyframes sk-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.spinner{border:3px solid var(--gray-200);border-top-color:var(--indigo-600);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--indigo-600);color:#fff;border-color:var(--indigo-700)}.btn-primary:hover{background:var(--indigo-700);box-shadow:var(--shadow-sm)}.btn-secondary{color:var(--gray-700);border-color:var(--gray-200);background:#fff}.btn-secondary:hover{background:var(--gray-50);box-shadow:var(--shadow-xs)}.btn-ghost{color:var(--gray-600);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-800)}.btn-danger{background:var(--danger);color:#fff;border-color:#dc2626}.btn-danger:hover{background:#dc2626}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:10px 20px;font-size:15px}.btn-icon{padding:7px}.card{border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff}.card-header{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-body{padding:20px}.card-footer{border-top:1px solid var(--gray-100);background:var(--gray-50);border-radius:0 0 var(--radius-md) var(--radius-md);padding:12px 20px}.badge-pill{border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-indigo{background:var(--indigo-50);color:var(--indigo-700)}.badge-green{color:#065f46;background:#d1fae5}.badge-amber{color:#92400e;background:#fef3c7}.badge-red{color:#991b1b;background:#fee2e2}.badge-slate{background:var(--gray-100);color:var(--gray-600)}.input{border:1px solid var(--gray-200);border-radius:var(--radius-sm);width:100%;color:var(--gray-800);background:#fff;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--indigo-500);box-shadow:0 0 0 3px var(--indigo-50)}.input::placeholder{color:var(--gray-400)}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{color:var(--gray-700);font-size:12px;font-weight:600}.input-hint{color:var(--gray-400);font-size:11px}.input-error{color:var(--danger);font-size:11px}.form-grid{gap:16px;display:grid}.form-grid-2{grid-template-columns:1fr 1fr}.app-shell{height:100vh;display:flex;overflow:hidden}.app-sidebar{width:var(--sidebar-w);border-right:1px solid var(--gray-200);background:#fff;flex-direction:column;flex-shrink:0;height:100vh;display:flex;overflow-y:auto}.app-main{flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.app-header{height:var(--header-h);border-bottom:1px solid var(--gray-200);z-index:10;background:#fff;flex-shrink:0;align-items:center;gap:16px;padding:0 24px;display:flex}.app-content{background:var(--gray-50);flex:1;padding:28px 32px;overflow-y:auto}.page-header{margin-bottom:24px}.page-title{color:var(--gray-900);font-size:20px;font-weight:700}.page-subtitle{color:var(--gray-500);margin-top:2px;font-size:13px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.stat-card-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.stat-card-value{color:var(--gray-900);font-size:28px;font-weight:800}.stat-card-sub{color:var(--gray-400);font-size:12px}.stat-card-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:4px;display:flex}.dashboard-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.dashboard-grid .span-2{grid-column:span 2}.sidebar-logo{height:var(--header-h);border-bottom:1px solid var(--gray-200);flex-shrink:0;align-items:center;gap:10px;padding:0 16px;display:flex}.sidebar-logo-img{object-fit:contain;width:32px;height:32px}.sidebar-logo-brand{color:var(--gray-900);font-size:14px;font-weight:800}.sidebar-logo-sub{color:var(--gray-400);font-size:10px}.sidebar-section-label{color:var(--gray-400);text-transform:uppercase;letter-spacing:.6px;padding:14px 16px 6px;font-size:10px;font-weight:700}.sidebar-item{border-radius:var(--radius-sm);color:var(--gray-600);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:calc(100% - 16px);margin:1px 8px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex}.sidebar-item:hover{background:var(--gray-100);color:var(--gray-900)}.sidebar-item.active{background:var(--indigo-50);color:var(--indigo-700);font-weight:600}.sidebar-item.active .sidebar-icon{color:var(--indigo-600)}.sidebar-icon{flex-shrink:0}.sidebar-badge{background:var(--indigo-600);color:#fff;border-radius:99px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.sidebar-divider{background:var(--gray-100);height:1px;margin:8px 16px}.header-sep{background:var(--gray-200);flex-shrink:0;width:1px;height:20px}.header-search{flex:1;max-width:320px;position:relative}.header-search .input{background:var(--gray-50);padding-left:34px}.header-search-icon{color:var(--gray-400);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.avatar-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px 8px;transition:background .12s;display:flex}.avatar-btn:hover{background:var(--gray-100)}.avatar{background:var(--indigo-100);width:30px;height:30px;color:var(--indigo-700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-name{color:var(--gray-700);font-size:13px;font-weight:600}.dropdown-menu{border:1px solid var(--gray-200);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-md);z-index:50;background:#fff;animation:.15s fadeIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.dropdown-item{color:var(--gray-700);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:13px;transition:background .1s;display:flex}.dropdown-item:hover{background:var(--gray-50)}.dropdown-item.danger{color:var(--danger)}.dropdown-sep{background:var(--gray-100);height:1px;margin:4px 0}.modal-overlay{z-index:200;background:#00000059;justify-content:center;align-items:center;padding:20px;animation:.18s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;width:100%;max-width:480px;max-height:calc(100vh - 40px);animation:.2s scaleIn;display:flex}.modal-header{border-bottom:1px solid var(--gray-100);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{color:var(--gray-900);font-size:15px;font-weight:700}.modal-body{flex-direction:column;flex:1;gap:18px;min-height:0;padding:24px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--gray-100);background:var(--gray-50);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 24px;display:flex}.empty-state{color:var(--gray-400);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.empty-state-icon{font-size:40px}.empty-state-text{color:var(--gray-500);font-size:14px;font-weight:500}.empty-state-sub{font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;color:var(--gray-500);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--gray-200);background:var(--gray-50);padding:10px 14px;font-size:11px;font-weight:700}tbody td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:12px 14px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--gray-50)}.skeleton{background:linear-gradient(90deg, var(--sk-bg) 25%, var(--sk-shine) 50%, var(--sk-bg) 75%);border-radius:var(--radius-sm);background-size:800px 100%;animation:1.2s linear infinite sk-shimmer}.status-submitted{background:var(--indigo-50);color:var(--indigo-700)}.status-validated{color:#0369a1;background:#e0f2fe}.status-recognized{color:#92400e;background:#fef3c7}.status-assessed{color:#86198f;background:#fae8ff}.status-mapped{color:#065f46;background:#d1fae5}.stepper-timeline{flex-direction:column;gap:24px;padding-left:20px;display:flex;position:relative}.stepper-timeline:before{content:"";background:var(--gray-200);width:2px;position:absolute;top:8px;bottom:8px;left:6px}.step-item{flex-direction:column;gap:4px;display:flex;position:relative}.step-node{background:var(--gray-300);width:14px;height:14px;box-shadow:0 0 0 1px var(--gray-300);border:3px solid #fff;border-radius:50%;transition:background .15s,box-shadow .15s;position:absolute;top:3px;left:-20px}.step-item.active .step-node{background:var(--indigo-600);box-shadow:0 0 0 1px var(--indigo-600)}.step-item.completed .step-node{background:var(--success);box-shadow:0 0 0 1px var(--success)}.step-title{color:var(--gray-800);font-size:13px;font-weight:700}.step-desc{color:var(--gray-500);font-size:11.5px}.fab-ai{z-index:100;background:linear-gradient(135deg, var(--indigo-600), #7c3aed);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .2s,box-shadow .2s;animation:3s ease-in-out infinite fabPulse;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 16px #4f46e573}.fab-ai:hover{transform:scale(1.08);box-shadow:0 6px 20px #4f46e58c}@media (width<=768px){.app-sidebar{display:none}.app-content{padding:20px 16px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .span-2{grid-column:span 1}.form-grid-2{grid-template-columns:1fr}}html{transition:background .25s,color .25s}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--gray-50:#0f172a;--gray-100:#1e293b;--gray-200:#334155;--gray-300:#475569;--gray-400:#64748b;--gray-500:#94a3b8;--gray-600:#cbd5e1;--gray-700:#e2e8f0;--gray-800:#f1f5f9;--gray-900:#f8fafc;--indigo-50:#1e1b4b;--indigo-100:#312e81;--indigo-500:#818cf8;--indigo-600:#6366f1;--indigo-700:#818cf8;--surface:#1e293b;--surface-alt:#0f172a;--border-color:#334155;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 30px #00000080;--sk-bg:#1e293b;--sk-shine:#334155}[data-theme=dark] body,[data-theme=dark] #root{color:#f1f5f9;background:#0f172a}[data-theme=dark] .card{background:#1e293b;border-color:#334155}[data-theme=dark] .card-header{border-color:#334155}[data-theme=dark] .card-footer{background:#0f172a;border-color:#334155}[data-theme=dark] .stat-card{background:#1e293b;border-color:#334155}[data-theme=dark] .input{color:#f1f5f9;background:#0f172a;border-color:#334155}[data-theme=dark] .input:focus{border-color:var(--indigo-500);box-shadow:0 0 0 3px #6366f133}[data-theme=dark] .input::placeholder{color:#475569}[data-theme=dark] .btn-secondary{color:#e2e8f0;background:#1e293b;border-color:#334155}[data-theme=dark] .btn-secondary:hover{background:#334155}[data-theme=dark] .btn-ghost{color:#94a3b8}[data-theme=dark] .btn-ghost:hover{color:#f1f5f9;background:#1e293b}[data-theme=dark] .app-sidebar,[data-theme=dark] .app-header{background:#1e293b;border-color:#334155}[data-theme=dark] .app-content{background:#0f172a}[data-theme=dark] .sidebar-logo{border-color:#334155}[data-theme=dark] .sidebar-item{color:#94a3b8}[data-theme=dark] .sidebar-item:hover{color:#f1f5f9;background:#0f172a}[data-theme=dark] .sidebar-item.active{color:#818cf8;background:#1e1b4b}[data-theme=dark] .sidebar-divider,[data-theme=dark] .header-sep{background:#334155}[data-theme=dark] .header-search .input,[data-theme=dark] .avatar-btn:hover{background:#0f172a}[data-theme=dark] .avatar{color:#818cf8;background:#1e1b4b}[data-theme=dark] .avatar-name{color:#cbd5e1}[data-theme=dark] .dropdown-menu{background:#1e293b;border-color:#334155;box-shadow:0 8px 24px #00000080}[data-theme=dark] .dropdown-item{color:#cbd5e1}[data-theme=dark] .dropdown-item:hover{background:#0f172a}[data-theme=dark] .dropdown-sep{background:#334155}[data-theme=dark] .dropdown-item.danger{color:#f87171}[data-theme=dark] .badge-indigo{color:#a5b4fc;background:#1e1b4b}[data-theme=dark] .badge-green{color:#6ee7b7;background:#064e3b}[data-theme=dark] .badge-amber{color:#fde68a;background:#78350f}[data-theme=dark] .badge-red{color:#fca5a5;background:#7f1d1d}[data-theme=dark] .badge-slate{color:#94a3b8;background:#0f172a}[data-theme=dark] .modal{background:#1e293b}[data-theme=dark] .modal-header{border-color:#334155}[data-theme=dark] .modal-title{color:#f1f5f9}[data-theme=dark] .modal-body{background:#1e293b}[data-theme=dark] .modal-footer{background:#0f172a;border-color:#334155}[data-theme=dark] .page-title{color:#f8fafc}[data-theme=dark] .page-subtitle{color:#94a3b8}[data-theme=dark] thead th{color:#64748b;background:#1e293b;border-color:#334155}[data-theme=dark] tbody td{color:#cbd5e1;border-color:#1e293b}[data-theme=dark] tbody tr:hover td{background:#1e293b}[data-theme=dark] .spinner{border-color:#818cf8 #334155 #334155}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#334155}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#475569}.spin-anim{animation:1s linear infinite spin}
