:root{--background:#f6fbff;--foreground:#04043d;--card:#fff;--card-foreground:#04043d;--popover:#fff;--popover-foreground:#04043d;--primary:#00204a;--primary-foreground:#fcaa12;--secondary:#f0f8ff;--secondary-foreground:#04043d;--muted:#f1f5f9;--muted-foreground:#64748b;--accent:#fcaa12;--accent-foreground:#00204a;--destructive:#ef4444;--destructive-foreground:#f8fafc;--border:#d1d5db;--input:#d1d5db;--ring:#00204a;--radius:.5rem;--theme-yellow:#fcaa12;--theme-dark-blue:#00204a;--theme-light-blue:#f6fbff}*{box-sizing:border-box;border-color:var(--border);margin:0;padding:0}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.container{width:100%;padding:1.5rem}.card{background:var(--card);color:var(--card-foreground);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d}.card:hover{box-shadow:0 10px 15px -3px #00000014}.title{color:var(--foreground);margin-bottom:1.25rem;font-size:1.5rem;font-weight:600}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.kpi-card{background:var(--card);flex-direction:column;padding:1.25rem;display:flex}.kpi-label{color:#64748b;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.kpi-value{color:var(--theme-dark-blue);font-size:1.5rem;font-weight:700}.kpi-trend{align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;display:flex}.trend-up{color:#10b981}.trend-down{color:#ef4444}.chart-container{width:100%;height:300px;margin-top:1rem}.primary-bg{background-color:var(--theme-dark-blue);color:#fff}.accent-bg{background-color:var(--theme-yellow);color:var(--theme-dark-blue)}.brand-icon{color:var(--theme-yellow)}.badge{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-blue{color:var(--theme-dark-blue);background:#00204a1a}.badge-green{color:#065f46;background:#d1fae5}.badge-orange{color:#9a3412;background:#ffedd5}table{border-collapse:collapse;width:100%}th{text-align:left;color:#64748b;text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--background);padding:.75rem 1rem;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--border);padding:1rem;font-size:.875rem}tr:last-child td{border-bottom:none}tr:hover td{background:#00204a05}.input-field{border-radius:var(--radius);border:1px solid var(--border);background:var(--secondary);color:var(--foreground);outline:none;padding:.5rem 1rem;font-size:.875rem;transition:border-color .2s}.input-field:focus{border-color:var(--theme-dark-blue);box-shadow:0 0 0 2px #00204a1a}.btn-primary{background:var(--theme-dark-blue);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.5rem 1rem;font-weight:600;transition:opacity .2s}.btn-primary:hover{opacity:.9}.reports-page{padding-bottom:4rem}.report-hero{background:linear-gradient(135deg,#fff 0%,#eef7ff 100%);border:1px solid #00204a24;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.25rem;padding:1.5rem;display:flex}.report-eyebrow,.report-hero-actions,.report-button,.report-tools,.report-search,.report-filter{align-items:center;display:flex}.report-eyebrow{color:var(--theme-dark-blue);text-transform:uppercase;letter-spacing:.08em;gap:.5rem;margin-bottom:.65rem;font-size:.75rem;font-weight:800}.report-hero h1{color:var(--theme-dark-blue);margin:0 0 .5rem;font-size:2rem}.report-hero p{max-width:720px;color:var(--muted-foreground);font-size:.95rem;line-height:1.55}.report-hero-actions{flex-wrap:wrap;gap:.75rem}.report-button{border-radius:8px;gap:.5rem;padding:.65rem .9rem;font-size:.8rem;font-weight:800;text-decoration:none}.report-button-primary{background:var(--theme-dark-blue);color:#fff}.report-button-secondary{border:1px solid var(--border);color:var(--theme-dark-blue);background:#fff}.report-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.report-kpi,.report-panel,.report-module{border:1px solid var(--border);background:#fff;border-radius:8px;box-shadow:0 8px 18px #0206170a}.report-kpi{gap:.35rem;padding:1rem;display:grid}.report-kpi svg{color:var(--theme-dark-blue)}.report-kpi span{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:800}.report-kpi strong{color:var(--theme-dark-blue);font-size:1.45rem}.report-kpi small{color:var(--muted-foreground);font-size:.74rem;line-height:1.35}.report-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.report-module{color:inherit;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:1rem;text-decoration:none;display:grid}.report-module:hover{border-color:var(--theme-dark-blue)}.report-module-icon{width:36px;height:36px;color:var(--theme-dark-blue);background:#00204a14;border-radius:8px;place-items:center;display:grid}.report-module h3{color:var(--theme-dark-blue);margin:0 0 .25rem;font-size:.95rem}.report-module p{color:var(--muted-foreground);margin:0;font-size:.75rem;line-height:1.4}.report-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr);align-items:stretch;gap:1rem;margin-bottom:1.25rem;display:grid}.report-layout-thirds{grid-template-columns:minmax(320px,.8fr) minmax(0,1.4fr)}.report-panel{min-width:0;padding:1rem}.report-panel-large,.report-panel-wide{min-width:0}.report-panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.report-panel-header h2{color:var(--theme-dark-blue);margin:0 0 .25rem;font-size:1rem}.report-panel-header p{color:var(--muted-foreground);margin:0;font-size:.78rem;line-height:1.4}.report-panel-header>svg{color:var(--theme-dark-blue);flex-shrink:0}.report-chart{height:320px}.report-chart-compact{height:285px}.report-mini-chart{height:88px;margin-top:.85rem}.report-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.report-status-grid div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:.8rem}.report-status-grid span{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem;font-size:.7rem;font-weight:800;display:block}.report-status-grid strong{color:var(--theme-dark-blue);font-size:1.35rem}.report-tools{flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.report-search,.report-filter{border:1px solid var(--border);color:var(--muted-foreground);background:#fff;border-radius:8px;gap:.4rem;padding:.45rem .6rem}.report-search input,.report-filter select{color:var(--foreground);background:0 0;border:0;outline:0;min-width:150px;font-size:.8rem}.report-filter select{min-width:104px}.report-table-wrap{overflow-x:auto}.report-table{min-width:880px}.report-table th{color:var(--theme-dark-blue);background:#f8fafc}.report-table td{vertical-align:top}.report-table td strong{color:var(--theme-dark-blue);font-size:.82rem;line-height:1.35;display:block}.report-table td span,.report-table td small{color:var(--muted-foreground);margin-top:.2rem;font-size:.72rem;line-height:1.35;display:block}.report-status{letter-spacing:.04em;border-radius:999px;width:fit-content;padding:.18rem .55rem;font-size:.68rem;font-weight:900;display:inline-flex}.report-status-green{color:#065f46;background:#d1fae5}.report-status-red{color:#991b1b;background:#fee2e2}.report-status-amber{color:#92400e;background:#fef3c7}.report-status-blue{color:#1e40af;background:#dbeafe}.report-dept-list{gap:.45rem;margin-top:.75rem;display:grid}.report-dept-list div{border-top:1px solid #e5e7eb;justify-content:space-between;gap:.75rem;padding-top:.45rem;font-size:.78rem;display:flex}.report-dept-list span{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.report-dept-list strong{color:var(--theme-dark-blue)}.report-radar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.report-radar-grid h3{color:var(--theme-dark-blue);margin:0 0 .85rem;font-size:.88rem}.report-progress-row{grid-template-columns:minmax(110px,1fr) minmax(90px,1.1fr) auto;align-items:center;gap:.75rem;margin-bottom:.7rem;display:grid}.report-progress-row span{color:#334155;white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.report-progress-row div{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.report-progress-row i{border-radius:inherit;height:100%;display:block}.report-progress-row strong{color:var(--theme-dark-blue);font-size:.76rem}.report-next-actions{align-content:start;gap:.55rem;display:grid}.report-next-actions a{color:var(--theme-dark-blue);background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem;font-size:.8rem;font-weight:800;text-decoration:none;display:flex}.report-empty,.report-loading{color:var(--muted-foreground);justify-content:center;align-items:center;display:flex}.report-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;gap:.5rem;height:100%;min-height:160px;font-size:.85rem}.report-loading{flex-direction:column;gap:1rem;height:60vh;font-size:.9rem;font-weight:700}.report-spinner{border:4px solid #00204a1f;border-top-color:var(--theme-dark-blue);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:1180px){.report-kpi-grid,.report-module-grid,.report-radar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout,.report-layout-thirds{grid-template-columns:1fr}}@media (max-width:760px){.report-hero,.report-panel-header{flex-direction:column}.report-kpi-grid,.report-module-grid,.report-radar-grid{grid-template-columns:1fr}.report-tools,.report-search,.report-filter,.report-search input,.report-filter select{width:100%}}html.is-embedded .sidebar-container{display:none!important}html.is-embedded .main-content{width:100%!important;margin-left:0!important}.animate-spin{animation:1s linear infinite spin}
