:root{--font-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--bg-page:#f6fafe;--bg-surface:#fff;--bg-soft:#f0f4f8;--bg-footer:#f8fafc;--text-primary:#171c1f;--text-secondary:#424655;--text-muted:#64748b;--text-link:#0057cd;--border-soft:#c2c6d840;--border-footer:#e2e8f0;--success:#198754;--info:#0d6efd;--danger:#ba1a1a;--danger-soft:#ffdad6;--shadow-card:0 12px 32px -4px #171c1f14;--shadow-nav:0 1px 2px #0000000d;--radius-sm:4px;--radius-md:8px;--container-width:1280px}.h1-display{letter-spacing:-.05em;font-size:56px;font-weight:800;line-height:1}.h2-title{font-size:32px;font-weight:700;line-height:1.2}.h3-section{letter-spacing:-.025em;font-size:24px;font-weight:700;line-height:1.33}.body-lg{font-size:18px;line-height:1.56}.body-sm{font-size:14px;line-height:1.43}.caps-xs{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;line-height:1.33}@media (width<=900px){.h1-display{font-size:40px}.h3-section{font-size:20px}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-page)}p{margin:0}.page-wrapper{width:min(var(--container-width), 100%);margin:0 auto;padding:0 24px}.top-alert{color:#93000a;background:#ffdad666;border-bottom:1px solid #c2c6d833;overflow:hidden}.top-alert__track{white-space:nowrap;align-items:center;gap:36px;padding:9px 0;display:flex}.top-alert__item{text-transform:uppercase;letter-spacing:.025em;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.top-alert__dot{background:#d32f2f;border-radius:999px;width:8px;height:8px}.app-navbar{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-nav);background:#ffffffd1;position:sticky;top:0}.app-navbar__inner{justify-content:space-between;align-items:center;min-height:64px;display:flex}.brand{letter-spacing:-.04em;margin-right:24px;font-size:24px;font-weight:700}.nav-links{align-items:center;gap:28px;display:flex}.nav-link{color:#475569;border-bottom:2px solid #0000;padding-bottom:6px;font-size:14px;text-decoration:none}.nav-link--active{color:#2563eb;border-bottom-color:#2563eb}.navbar-actions{align-items:center;gap:14px;display:flex}.search-icon{color:#64748b;font-size:16px}.btn{border-radius:var(--radius-sm);font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:0;font-weight:700}.btn--sm{padding:8px 16px;font-size:12px;line-height:16px}.btn--primary{background:var(--text-link);color:#fff}.btn--secondary{color:var(--text-primary);background:#e5e9ed}.btn--danger{background:var(--danger);color:#fff}.home-main{padding-top:38px;padding-bottom:56px}.hero-subtitle{color:var(--text-secondary);max-width:670px;margin-top:8px}.hero-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}.stat-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-card);min-width:0;padding:28px 30px}.stat-card__top{justify-content:space-between;align-items:center;margin-bottom:44px;display:flex}.stat-card__icon{border-radius:var(--radius-sm);place-items:center;width:42px;height:42px;font-size:18px;display:grid}.stat-card__title{color:var(--text-secondary)}.stat-card__value{letter-spacing:-.05em;margin-top:4px;font-size:48px;font-weight:900}.budget-section{background:var(--bg-soft);border-radius:var(--radius-md);margin-top:24px;padding:34px 40px;overflow:hidden}.budget-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.budget-subtitle{color:var(--text-secondary);margin-top:4px}.budget-total{text-align:right}.budget-total__label{color:var(--text-secondary)}.budget-total__value{color:var(--text-link);letter-spacing:-.04em;margin-top:2px;font-size:42px;font-weight:900}.allocation-bar{border-radius:var(--radius-sm);height:48px;box-shadow:var(--shadow-card);margin-top:18px;display:flex;overflow:hidden}.allocation-segment{color:#fff;letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.allocation-legend{flex-wrap:wrap;gap:20px;margin-top:12px;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.two-column-section{grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;display:grid}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header__title{align-items:center;gap:8px;display:flex}.section-header__link{color:var(--text-link);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700;text-decoration:none}.section-header__link:hover{text-decoration:underline}.issue-list{flex-direction:column;gap:16px;display:flex}.issue-item{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;border-left:4px solid;justify-content:space-between;gap:12px;min-width:0;padding:16px 18px;display:flex}.issue-item__content{flex:1;min-width:0}.issue-item__title{white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:700;line-height:1.1;overflow:hidden}.issue-item__title-link{color:inherit;text-decoration:none}.issue-item__title-link:hover{text-decoration:underline}.issue-item__desc{color:var(--text-secondary);margin-top:4px;font-size:14px}.status-badge{letter-spacing:.07em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:4px 8px;font-size:10px;font-weight:900}.status-badge--critical{background:var(--danger-soft);color:#93000a}.status-badge--success{background:var(--success);color:#fff}.audit-section{border:1px solid var(--border-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);background:#fff;margin-top:30px;padding:34px 40px}.audit-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.audit-header p{color:var(--text-secondary)}.audit-actions{gap:8px;display:flex}.chart-area{border-radius:var(--radius-sm);background:#f0f4f84d;margin-top:20px;padding:22px 16px 16px;overflow-x:auto}.chart-legend{flex-wrap:wrap;gap:18px;margin-bottom:20px;display:flex}.chart-bars{border-bottom:1px solid #72778733;grid-template-columns:repeat(10,minmax(0,1fr));align-items:end;gap:12px;min-height:345px;padding:26px 8px 18px;display:grid}.chart-bar-wrap{text-align:center;min-width:0}.chart-bar-value{color:var(--text-link);margin-bottom:8px;font-size:10px;font-weight:700}.chart-bar{cursor:help;background:#0d6efd47;border-radius:2px 2px 0 0;flex-direction:column;justify-content:flex-end;width:100%;max-width:58px;height:240px;margin:0 auto;display:flex;overflow:hidden}.chart-bar__delivered{background:var(--success)}.chart-bar__ongoing{background:#f59e0b}.chart-bar__gap{background:repeating-linear-gradient(45deg,#ba1a1a0f,#ba1a1a0f 8px,#0000 8px 16px),#fdf2f2;border:1px solid #ba1a1a33}.chart-bar-year{color:var(--text-primary);white-space:nowrap;margin-top:10px;font-size:14px;font-weight:800}.app-footer{background:var(--bg-footer);border-top:1px solid var(--border-footer);margin-top:20px}.app-footer__inner{justify-content:space-between;align-items:center;gap:16px;padding-top:44px;padding-bottom:44px;display:flex}.footer-brand{color:#0f172a;font-size:18px;font-weight:800}.footer-copy{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-top:8px;font-size:12px}.footer-links{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;gap:28px;font-size:12px;display:flex}.footer-links a,.footer-links a:visited,.footer-links a:hover,.footer-links a:active,.footer-links a:focus-visible{color:inherit;text-decoration:none}.disclaimer-main{padding-top:40px;padding-bottom:56px}.disclaimer-shell{flex-direction:column;gap:18px;display:flex}.disclaimer-hero-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#fff 0%,#f7faff 100%);padding:28px}.disclaimer-kicker{color:#0d6efd;letter-spacing:.08em;text-transform:uppercase;background:#0d6efd1a;border:1px solid #0d6efd33;border-radius:999px;align-items:center;margin-bottom:12px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.disclaimer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.disclaimer-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;padding:28px}.disclaimer-section-title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 10px;font-size:18px;line-height:1.25}.disclaimer-title{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 16px;font-size:30px;font-weight:800}.disclaimer-text{color:var(--text-secondary);margin:0 0 12px;font-size:15px;line-height:1.7}.disclaimer-text:last-child{margin-bottom:0}.disclaimer-text a{color:var(--text-link)}.privacy-main{background:radial-gradient(1200px 480px at 10% -10%,#0d6efd14,#0000 55%),radial-gradient(900px 360px at 100% 0,#0f172a0a,#0000 58%);padding-top:44px;padding-bottom:72px;position:relative}.privacy-shell{flex-direction:column;gap:20px;display:flex}.privacy-hero-card{isolation:isolate;background:linear-gradient(135deg,#fff 0%,#f8fbff 45%,#eef5ff 100%);border:1px solid #0d6efd33;border-radius:14px;padding:30px;position:relative;overflow:hidden;box-shadow:0 22px 44px -16px #0d6efd38}.privacy-hero-card:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#0d6efd33 0%,#0d6efd00 70%);border-radius:50%;width:320px;height:320px;position:absolute;top:-24%;right:-5%}.privacy-kicker{color:#0d6efd;letter-spacing:.08em;text-transform:uppercase;background:#0d6efd1a;border:1px solid #0d6efd33;border-radius:999px;align-items:center;margin-bottom:10px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.privacy-title{letter-spacing:-.02em;color:var(--text-primary);max-width:780px;margin:0;font-size:clamp(2rem,1.6rem + 1.2vw,2.5rem);font-weight:800}.privacy-meta{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 0;font-size:13px}.privacy-card{background:#fff;border:1px solid #c2c6d847;border-radius:12px;padding:24px 26px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden;box-shadow:0 10px 28px -18px #0f172a57}.privacy-card:before{content:"";background:linear-gradient(#0d6efd,#0d6efd26);width:4px;position:absolute;top:0;bottom:0;left:0}.privacy-card:hover{border-color:#0d6efd47;transform:translateY(-2px);box-shadow:0 20px 34px -18px #0d6efd3d}.privacy-section-title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 14px;padding-bottom:10px;font-size:21px;line-height:1.3;position:relative}.privacy-section-title:after{content:"";background:linear-gradient(90deg,#0d6efd,#0d6efd33);border-radius:999px;width:52px;height:3px;position:absolute;bottom:0;left:0}.privacy-subtitle{color:#0f172a;margin:16px 0 10px;font-size:16px;font-weight:700;line-height:1.4}.privacy-text{color:var(--text-secondary);margin:0 0 12px;font-size:15px;line-height:1.75}.privacy-text:last-child{margin-bottom:0}.privacy-text a{color:var(--text-link);font-weight:600}.privacy-list{color:var(--text-secondary);gap:10px;margin:0;padding-left:22px;line-height:1.65;display:grid}.privacy-list li::marker{color:#0d6efd}.disclaimer-list{color:var(--text-secondary);gap:8px;margin:12px 0 0;padding-left:18px;line-height:1.6;display:grid}.disclaimer-link-row{word-break:break-word;margin:0 0 12px}.disclaimer-link-row a{color:var(--text-link);font-weight:600}.disclaimer-note{border-radius:var(--radius-sm);background:#ffc1071f;border:1px solid #ffc10759;border-left:4px solid #f59e0b;margin:0 0 12px;padding:12px 14px}.disclaimer-note p{color:#7a5a00;margin:0;font-size:14px;line-height:1.55}@media (width<=1024px){.hero-stats-grid,.two-column-section{grid-template-columns:1fr}.home-main{padding-top:28px;padding-bottom:40px}.hero-stats-grid{gap:16px}.stat-card{padding:22px 20px}.stat-card__top{margin-bottom:24px}.stat-card__value{font-size:40px}.budget-section,.audit-section{padding:24px}.two-column-section{gap:20px;margin-top:28px}.app-navbar__inner{flex-wrap:wrap;gap:10px;padding-top:10px;padding-bottom:10px}.audit-header,.budget-header,.app-footer__inner{flex-direction:column;align-items:flex-start}.budget-total{text-align:left}.disclaimer-grid{grid-template-columns:1fr}.privacy-title{font-size:28px}.privacy-hero-card,.privacy-card{border-radius:10px;padding:20px}.privacy-section-title{font-size:19px}.chart-bars{gap:18px;width:max-content;min-height:300px;padding:20px 8px 16px;display:flex}.chart-bar-wrap{flex:0 0 72px;min-width:72px}}@media (width<=768px){.app-navbar{padding-top:max(8px, env(safe-area-inset-top))}.page-wrapper{padding:0 16px}.h1-display{font-size:34px;line-height:1.08}.hero-subtitle{margin-top:10px;font-size:15px;line-height:1.6}.budget-total__value{font-size:34px}.allocation-bar{height:44px}.allocation-segment{text-align:center;justify-content:center;padding:0 6px;line-height:1.15}.issue-item{flex-direction:column;align-items:flex-start}.issue-item__title{white-space:normal;text-overflow:clip;font-size:18px;overflow:visible}.chart-bar{height:200px}.chart-bar-value{font-size:9px;line-height:1.35}.app-footer{padding-top:10px;padding-bottom:max(12px, env(safe-area-inset-bottom))}}@media (width<=480px){.home-main{padding-top:22px;padding-bottom:32px}.h1-display{font-size:30px}.budget-section,.audit-section{padding:18px 14px}.allocation-segment{font-size:9px}.chart-bars{gap:12px}.chart-bar-wrap{flex-basis:64px;min-width:64px}.chart-bar{max-width:50px;height:180px}.chart-bar-year{font-size:12px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.projects-main{padding-top:48px;padding-bottom:56px}.projects-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.projects-title{letter-spacing:-.04em;margin:0;font-size:48px;font-weight:800;line-height:1}.projects-subtitle{color:var(--text-secondary);max-width:680px;margin-top:8px;line-height:1.5}.projects-header-actions{gap:12px;display:flex}.projects-export-btn{letter-spacing:.09em;text-transform:uppercase;color:#424655;background:#fff;border:1px solid #c2c6d84d;border-radius:8px;padding:10px 14px;font-size:11px;font-weight:700}.projects-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.projects-summary-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #c2c6d833;border-radius:8px;padding:18px 20px}.projects-summary-label{letter-spacing:.1em;text-transform:uppercase;color:#424655;font-size:10px;font-weight:700}.projects-summary-value{letter-spacing:-.05em;color:#171c1f;margin-top:6px;font-size:42px;font-weight:900;line-height:1}.projects-summary-value--primary{color:#0d6efd;white-space:nowrap;font-size:30px}.projects-summary-value--danger{color:#dc3545}.projects-filter-bar{box-shadow:var(--shadow-card);background:#fff;border:1px solid #c2c6d833;border-radius:8px;grid-template-columns:140px 140px 170px 1fr;gap:12px;margin-top:24px;padding:16px;display:grid}.projects-filter-control{flex-direction:column;gap:6px;display:flex}.projects-filter-control--grow{width:100%}.projects-filter-label{letter-spacing:.1em;text-transform:uppercase;color:#424655;font-size:10px;font-weight:700}.projects-select,.projects-search-input{color:#171c1f;background:#f8f9fa;border:1px solid #c2c6d84d;border-radius:8px;height:38px;padding:0 12px;font-size:14px}.projects-filter-search-wrap{min-width:0}.projects-filter-search-row{gap:8px;min-width:0;display:flex}.projects-search-input{flex:1;min-width:0}.projects-table-wrap{box-shadow:var(--shadow-card);background:#fff;border:1px solid #c2c6d833;border-radius:8px;margin-top:24px;overflow:hidden}.projects-table-scroll{overflow-x:auto}.projects-table{border-collapse:collapse;width:100%;min-width:1100px}.projects-table thead th{color:#424655;letter-spacing:.1em;text-transform:uppercase;text-align:left;background:#f8f9fa;border-bottom:1px solid #c2c6d833;padding:16px;font-size:10px;font-weight:800}.projects-table tbody td{color:#424655;vertical-align:middle;border-top:1px solid #c2c6d81f;padding:14px 16px;font-size:14px}.projects-table-row:first-child td{border-top:none}.projects-tender-id{color:#171c1f;font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.projects-name-cell{color:#171c1f;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:245px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.projects-value-cell{white-space:nowrap;min-width:112px}.projects-text-danger{font-weight:700;color:#dc3545!important}.projects-date-cell{flex-direction:column;gap:2px;font-size:12px;display:flex}.projects-table thead th:nth-child(5),.projects-table tbody td:nth-child(5){width:140px}.projects-table thead th:nth-child(6),.projects-table tbody td:nth-child(6){width:130px}.projects-progress-cell{min-width:94px}.projects-progress-meta{text-transform:uppercase;justify-content:space-between;margin-bottom:4px;font-size:9px;font-weight:700;display:flex}.projects-progress-track{background:#f1f5f9;border-radius:999px;height:6px;overflow:hidden}.projects-progress-fill{height:100%}.projects-progress-fill--danger{background:#dc3545}.projects-progress-fill--info{background:#0d6efd}.projects-overdue{font-weight:700}.projects-status-chip{letter-spacing:.05em;text-transform:uppercase;border:1px solid #0000;border-radius:8px;align-items:center;padding:2px 10px;font-size:10px;font-weight:900;display:inline-flex}.projects-status-chip--ghost{color:#842029;background:#f8d7da;border-color:#dc354533}.projects-status-chip--completed{color:#fff;background:#198754}.projects-status-chip--ongoing{color:#0d6efd;background:#0d6efd1a;border-color:#0d6efd33}.projects-status-chip--pending{color:#d97706;background:#fffbeb;border-color:#f59e0b33}.projects-pagination{background:#f8f9fa;border-top:1px solid #c2c6d833;justify-content:space-between;align-items:center;padding:16px;display:flex}.projects-pagination-text{color:#424655;font-size:11px;font-weight:600}.projects-pagination-controls{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.projects-page-btn{color:#171c1f;white-space:nowrap;background:#fff;border:1px solid #c2c6d84d;border-radius:8px;width:auto;min-width:38px;height:32px;padding:0 10px;font-size:12px;font-weight:700}.projects-page-btn[disabled]{opacity:.6;cursor:not-allowed}.projects-page-btn--active{color:#fff;background:#0d6efd;border-color:#0d6efd}@media (width<=768px){.projects-pagination{flex-direction:column;align-items:stretch;gap:12px}.projects-pagination-text{font-size:12px;line-height:1.3}.projects-pagination-controls{justify-content:flex-start;width:100%;padding-bottom:2px;overflow-x:auto}.projects-page-btn{flex:none;min-width:36px;height:34px;padding:0 9px}}.projects-row-link{color:inherit;text-decoration:none}.project-detail-main{padding-top:32px;padding-bottom:64px}.project-detail-hero{padding-top:6px}.project-detail-breadcrumbs{text-transform:uppercase;letter-spacing:.1em;color:#6c757d;gap:10px;margin-bottom:18px;font-size:10px;font-weight:700;display:flex}.project-detail-breadcrumbs span:after{content:"›";margin-left:10px}.project-detail-breadcrumbs .is-active{color:#212529}.project-detail-breadcrumbs .is-active:after{display:none}.project-detail-hero__top{justify-content:space-between;gap:24px;padding-bottom:16px;display:flex}.project-detail-status-pill{color:#dc3545;text-transform:uppercase;letter-spacing:.1em;background:#f8d7da;border:1px solid #dc354533;border-radius:999px;align-items:center;padding:4px 12px;font-size:10px;font-weight:900;display:inline-flex}.project-detail-title{letter-spacing:-.05em;max-width:840px;margin:10px 0 8px;font-size:54px;line-height:.95}.project-detail-subtitle{color:#6c757d;font-size:18px;line-height:1.55}.project-detail-actions{flex-direction:column;align-items:flex-end;gap:12px;min-width:220px;display:flex}.project-detail-hash{letter-spacing:.08em;text-transform:uppercase;color:#6c757d;margin-top:4px;font-size:10px;font-weight:700}.project-detail-metrics{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.project-detail-metric-item{text-align:center;border-right:1px solid #dee2e6;padding:28px}.project-detail-metric-item:last-child{border-right:none}.project-detail-metric-label{letter-spacing:.2em;text-transform:uppercase;color:#6c757d;font-size:10px;font-weight:900}.project-detail-metric-value{letter-spacing:-.05em;color:#212529;margin-top:8px;font-size:44px;font-weight:900;line-height:1}.project-detail-metric-value--danger{color:#dc3545}.project-detail-metric-value--primary{color:#0d6efd}.project-detail-content-grid{grid-template-columns:2fr 1fr;gap:28px;margin-top:30px;display:grid}.project-detail-main-column{flex-direction:column;gap:24px;display:flex}.project-detail-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:28px}.project-detail-card-title{text-transform:uppercase;letter-spacing:.1em;color:#212529;border-bottom:1px solid #dee2e6;margin:0;padding-bottom:12px;font-size:12px}.project-detail-data-grid{grid-template-columns:1.4fr 1fr;gap:24px;margin-top:20px;display:grid}.project-detail-data-column{flex-direction:column;gap:20px;display:flex}.project-detail-data-label{text-transform:uppercase;letter-spacing:.1em;color:#6c757d;font-size:10px;font-weight:900}.project-detail-data-value{color:#212529;margin-top:4px;font-size:18px;font-weight:700;line-height:1.4}.project-detail-data-link{color:var(--text-link);text-decoration:none}.project-detail-data-link:hover{text-decoration:underline}.project-detail-data-hint{color:#dc3545;text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:10px;font-weight:700}.project-detail-timeline{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:18px}.project-detail-timeline-title{color:#212529;text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:10px}.project-detail-timeline-node{margin-top:18px}.project-detail-timeline-node span{color:#6c757d;text-transform:uppercase;letter-spacing:.1em;font-size:10px;display:block}.project-detail-timeline-node strong{color:#212529;margin-top:4px;font-size:20px;display:block}.project-detail-timeline-alert{color:#842029;background:#f8d7da80;border:1px solid #dc35452e;border-radius:8px;margin-top:18px;padding:10px 12px;font-size:11px;line-height:1.45}.project-detail-progress-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.project-detail-progress-tile{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-top-width:4px;border-radius:8px;padding:20px}.project-detail-progress-tile--danger{border-top-color:#dc3545}.project-detail-progress-tile--primary{border-top-color:#0d6efd}.project-detail-progress-tile--warning{border-top-color:#ffc107}.project-detail-progress-label{text-transform:uppercase;letter-spacing:.1em;color:#6c757d;font-size:10px;font-weight:900}.project-detail-progress-value{letter-spacing:-.04em;margin-top:10px;font-size:36px;font-weight:900;line-height:1}.project-detail-sidebar{flex-direction:column;gap:20px;display:flex}.project-detail-red-flag-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.project-detail-red-flag-item{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-left:4px solid #dc3545;border-radius:8px;padding:14px}.project-detail-red-flag-item h4{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:11px}.project-detail-red-flag-item p{color:#6c757d;margin-top:6px;font-size:10px;line-height:1.5}.project-detail-red-flag-meta{color:#495057;flex-direction:column;gap:3px;margin-top:8px;font-size:10px;display:flex}.project-detail-red-flag-evidence{color:#6c757d;margin:8px 0 0;padding-left:16px;font-size:10px}.project-detail-red-flag-evidence li{margin-top:2px}.project-detail-evidence-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:16px}.project-detail-evidence-card ul{margin:12px 0 0;padding:0;list-style:none}.project-detail-evidence-card li{color:#212529;border-bottom:1px solid #dee2e699;justify-content:space-between;align-items:center;padding:8px 0;font-size:11px;display:flex}.project-detail-evidence-card li:last-child{border-bottom:none}.project-detail-evidence-card a{color:#212529;font-weight:700;text-decoration:none}.red-flags-main{padding-top:96px;padding-bottom:64px}.red-flags-hero h1{letter-spacing:-.03em;margin:0;font-size:48px;line-height:1}.red-flags-hero p{color:#424655;max-width:680px;margin-top:10px;font-size:18px;line-height:1.55}.red-flags-counter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:24px;display:grid}.red-flags-counter-card{box-shadow:var(--shadow-card);background:#fff;border-left:4px solid #ba1a1a;border-radius:8px;padding:22px 20px}.red-flags-counter-card--blue{border-left-color:#0057cd}.red-flags-counter-card--green{border-left-color:#006c40}.red-flags-counter-card--slate{border-left-color:#3f484f}.red-flags-counter-label{color:#424655;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.red-flags-counter-value{color:#171c1f;margin:6px 0 2px;font-size:36px;font-weight:900;line-height:1}.red-flags-counter-card--danger .red-flags-counter-value{color:#ba1a1a}.red-flags-counter-card--blue .red-flags-counter-value{color:#0057cd}.red-flags-counter-card--green .red-flags-counter-value{color:#006c40}.red-flags-counter-card--slate .red-flags-counter-value{color:#3f484f}.red-flags-counter-helper{color:#424655;margin:0;font-size:12px}.red-flags-section{margin-top:36px}.red-flags-section h2{letter-spacing:-.02em;margin:0 0 16px;font-size:32px}.red-flags-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.red-flags-risk-pill{color:#93000a;text-transform:uppercase;letter-spacing:.06em;background:#ffdad6;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.red-flags-table-wrap{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dfe3e74d;border-radius:8px;overflow:hidden}.red-flags-table{border-collapse:collapse;width:100%;min-width:980px}.red-flags-table thead th{color:#424655;text-transform:uppercase;letter-spacing:.06em;text-align:left;background:#f0f4f8;padding:14px;font-size:11px}.red-flags-table tbody td{vertical-align:middle;border-top:1px solid #dfe3e73d;padding:14px;font-size:13px}.red-flags-tender{color:#0057cd;font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.red-flags-project{color:#171c1f;min-width:210px;font-weight:700}.red-flags-project-link{color:inherit;text-decoration:none}.red-flags-project-link:hover{text-decoration:underline}.red-flags-money{font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.red-flags-overdue{color:#ba1a1a;white-space:nowrap;font-weight:800}.red-flags-progress-wrap{width:140px}.red-flags-progress-meta{text-transform:uppercase;color:#424655;justify-content:space-between;font-size:9px;font-weight:800;display:flex}.red-flags-progress-track{background:#e5e9ed;border-radius:12px;height:6px;margin:3px 0 5px;overflow:hidden}.red-flags-progress-fill{height:100%}.red-flags-progress-fill--fin{background:#0057cd}.red-flags-progress-fill--phy{background:#ba1a1a}.red-flags-report-btn{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#ba1a1a;border:0;border-radius:5px;justify-content:center;align-items:center;padding:8px 10px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.red-flags-pagination{background:#f0f4f8;border-top:1px solid #dfe3e74d;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.red-flags-pagination p{color:#424655;margin:0;font-size:11px;font-weight:600}.red-flags-pagination-controls{gap:4px;display:flex}.red-flags-pagination-controls button{background:#fff;border:1px solid #c2c6d84d;border-radius:4px;width:32px;height:32px;font-weight:700}.red-flags-pagination-controls .is-active{color:#fff;background:#0057cd;border-color:#0057cd}.red-flags-timeline-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.red-flags-timeline-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #c2c6d833;border-radius:8px;padding:20px}.red-flags-timeline-badge{color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#0d6efd;border-radius:2px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-flex}.red-flags-timeline-card h3{margin:12px 0;font-size:22px;line-height:1.2}.red-flags-timeline-item{border-left:2px dashed #dfe3e7;margin-bottom:10px;padding-left:12px}.red-flags-timeline-item span{color:#424655;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.red-flags-timeline-item strong{font-size:14px}.red-flags-timeline-card p{color:#424655;margin:8px 0 0;font-size:12px}.red-flags-repeat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.red-flags-repeat-card{box-shadow:var(--shadow-card);background:#fff;border-radius:8px;grid-template-columns:80px 1fr;gap:16px;padding:24px;display:grid}.red-flags-repeat-card img{object-fit:cover;border-radius:8px;width:80px;height:80px}.red-flags-repeat-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.red-flags-repeat-head h3{margin:0;font-size:24px}.red-flags-repeat-name-link{color:inherit;text-decoration:none}.red-flags-repeat-name-link:hover{color:#0057cd;text-decoration:underline}.red-flags-repeat-head span{color:#fff;text-transform:uppercase;background:#006c40;border-radius:2px;padding:2px 8px;font-size:10px;font-weight:700}.red-flags-repeat-body>p{color:#424655;margin:4px 0 0;font-size:14px}.red-flags-repeat-track{margin-top:12px}.red-flags-repeat-track div:first-child{text-transform:uppercase;justify-content:space-between;font-size:10px;font-weight:700;display:flex}.red-flags-repeat-bar{background:#e5e9ed;border-radius:12px;height:6px;margin-top:6px;overflow:hidden}.red-flags-repeat-bar>div{background:#ba1a1a;height:100%}.red-flags-repeat-stats{gap:20px;margin-top:12px;display:flex}.red-flags-repeat-stats span{text-transform:uppercase;color:#424655;font-size:10px;font-weight:700;display:block}.red-flags-repeat-stats strong{color:#0057cd;font-size:24px}.project-detail-community-grid{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-radius:8px;grid-template-columns:360px 1fr;gap:24px;margin-top:30px;padding:26px;display:grid}.project-detail-community-card{background:#f8f9fa80;border:1px solid #dee2e6;border-radius:8px;padding:24px}.project-detail-community-score{color:#dc3545;text-align:center;margin-top:16px;font-size:64px;font-weight:900;line-height:1}.project-detail-community-label{text-align:center;text-transform:uppercase;letter-spacing:.2em;color:#6c757d;margin-top:6px;font-size:10px;font-weight:900}.project-detail-community-verdict{color:#fff;text-transform:uppercase;letter-spacing:.1em;background:#dc3545;border-radius:8px;width:fit-content;margin:16px auto 0;padding:8px 14px;font-size:12px;font-weight:900}.project-detail-community-meta{text-align:center;color:#6c757d;margin-top:16px;font-size:10px;line-height:1.5}.project-detail-field-form{flex-direction:column;gap:14px;display:flex}.project-detail-form-statuses{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.project-detail-form-statuses button{text-transform:uppercase;letter-spacing:.08em;color:#6c757d;background:0 0;border:2px solid #dee2e6;border-radius:8px;height:48px;font-size:12px;font-weight:900}.project-detail-form-statuses .is-selected{color:#dc3545;background:#dc35450d;border-color:#dc3545}.project-detail-field-form textarea{resize:vertical;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;min-height:124px;padding:14px;font-family:inherit;font-size:12px}.project-detail-form-extra{grid-template-columns:1fr 1fr;gap:12px;display:grid}.project-detail-upload-box{text-transform:uppercase;letter-spacing:.08em;color:#6c757d;background:#fff;border:2px dashed #dee2e6;border-radius:8px;min-height:92px;font-size:10px;font-weight:900}.project-detail-upload-note{color:#6c757d;background:#f8f9fa66;border:1px solid #dee2e6;border-radius:8px;padding:12px;font-size:10px;line-height:1.5}.project-detail-commit-btn{color:#fff;text-transform:uppercase;letter-spacing:.3em;background:#212529;border:0;border-radius:8px;height:50px;font-size:11px;font-weight:900}.project-detail-location-grid{grid-template-columns:280px 1fr;gap:24px;margin-top:30px;display:grid}.project-detail-location-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:24px}.project-detail-location-block{margin-top:18px}.project-detail-location-block span{text-transform:uppercase;letter-spacing:.08em;color:#6c757d;font-size:9px;font-weight:900;display:block}.project-detail-location-block strong{color:#212529;margin-top:4px;font-size:20px;line-height:1.2;display:block}.project-detail-location-block .is-link{color:#0d6efd;font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.project-detail-map-card{box-shadow:var(--shadow-card);background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;min-height:320px;position:relative;overflow:hidden}.project-detail-map-card img{object-fit:cover;filter:grayscale();width:100%;height:100%}.project-detail-map-pin{color:#fff;background:#dc3545e6;border-radius:999px;place-items:center;width:48px;height:48px;font-size:20px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 15px 30px #00000038}.project-detail-map-caption{text-transform:uppercase;letter-spacing:.08em;background:#ffffffe6;border:1px solid #dee2e6;border-radius:8px;padding:6px 10px;font-size:10px;font-weight:700;position:absolute;bottom:14px;left:14px}@media (width<=1100px){.projects-header,.projects-filter-bar{flex-direction:column;grid-template-columns:1fr;align-items:stretch;display:flex}.projects-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-hero__top,.project-detail-community-grid,.project-detail-location-grid,.project-detail-content-grid,.project-detail-data-grid,.project-detail-progress-tiles,.project-detail-form-extra{flex-direction:column;grid-template-columns:1fr}.project-detail-title{font-size:42px}.project-detail-actions{align-items:flex-start}.project-detail-metrics{grid-template-columns:1fr}.project-detail-metric-item{border-bottom:1px solid #dee2e6;border-right:none}.project-detail-metric-item:last-child{border-bottom:none}.red-flags-counter-grid,.red-flags-timeline-grid,.red-flags-repeat-grid{grid-template-columns:1fr}.red-flags-table-wrap{overflow-x:auto}.red-flags-repeat-card{grid-template-columns:1fr}}@media (width<=768px){.projects-main{padding-top:28px;padding-bottom:40px}.projects-title{font-size:36px}.projects-summary-grid{grid-template-columns:1fr;gap:12px}.projects-summary-card{padding:16px}.projects-summary-value{font-size:clamp(2rem,12vw,2.6rem);line-height:1.02}.projects-summary-value--primary{white-space:normal;overflow-wrap:anywhere;font-size:clamp(1.8rem,10vw,2.25rem);line-height:1.05}}.contractors-main{padding-top:48px;padding-bottom:64px}.contractors-header{margin-bottom:24px}.contractors-breadcrumbs{text-transform:uppercase;letter-spacing:.1em;color:#727787;gap:8px;margin-bottom:10px;font-size:10px;font-weight:700;display:flex}.contractors-breadcrumbs span:after{content:"›";margin-left:8px}.contractors-breadcrumbs .is-active:after{display:none}.contractors-title{letter-spacing:-.04em;margin:0;font-size:48px;font-weight:800;line-height:1}.contractors-subtitle{color:#424655;max-width:620px;margin-top:8px;line-height:1.6}.contractors-subtitle+.contractors-subtitle{margin-top:0}.contractors-identity-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:33px;position:relative}.contractors-risk-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#ba1a1a;border-radius:999px;padding:3px 12px;font-size:10px;font-weight:900;position:absolute;top:12px;right:16px}.contractors-identity-grid{grid-template-columns:2fr 1fr;gap:40px;display:grid}.contractors-identity-main{gap:28px;display:flex}.contractors-avatar{color:#ba1a1a;background:#f0f4f8;border:2px solid #ba1a1a;border-radius:8px;flex-shrink:0;place-items:center;width:96px;height:96px;font-size:48px;font-weight:900;display:grid}.contractors-identity-content{width:100%;min-width:0}.contractors-name-row{align-items:center;gap:10px;display:flex}.contractors-name{letter-spacing:-.03em;margin:0;font-size:40px;font-weight:800;line-height:1}.contractors-red-flag-pill{color:#ba1a1a;text-transform:uppercase;letter-spacing:.05em;background:#ba1a1a1a;border:1px solid #ba1a1a33;border-radius:8px;flex-shrink:0;padding:4px 8px;font-size:9px;font-weight:800}.contractors-identity-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 48px;margin-top:16px;display:grid}.contractors-meta-label{color:#727787;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.contractors-meta-value{color:#171c1f;margin:4px 0 0;font-size:14px;font-weight:700;line-height:1.43}.contractors-risk-panel{border-left:1px solid #dee2e6;flex-direction:column;justify-content:space-between;gap:18px;padding-left:40px;display:flex}.contractors-risk-score-row{justify-content:space-between;align-items:flex-end;display:flex}.contractors-risk-score{color:#ba1a1a;letter-spacing:-.02em;font-size:36px;line-height:1}.contractors-risk-progress{background:#e5e9ed;border-radius:999px;height:8px;overflow:hidden}.contractors-risk-progress-fill{background:#ba1a1a;border-radius:999px;height:100%}.contractors-risk-row{color:#424655;justify-content:space-between;gap:16px;font-size:12px;display:flex}.contractors-risk-row strong{color:#171c1f}.contractors-risk-row .is-danger{color:#ba1a1a}.contractors-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.contractors-stat-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:18px 20px}.contractors-stat-label{color:#727787;text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:10px;font-weight:700}.contractors-stat-value{color:#171c1f;margin:6px 0 0;font-size:32px;font-weight:900;line-height:1}.contractors-stat-value.is-success{color:#006c40}.contractors-stat-value.is-danger{color:#ba1a1a}.contractors-audit-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-top:24px;padding:24px 33px 33px}.contractors-audit-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.contractors-audit-head h3{color:#171c1f;text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:14px}.contractors-audit-legend{align-items:center;gap:16px;display:flex}.contractors-audit-legend span{color:#424655;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:700;display:inline-flex}.contractors-audit-legend i{border-radius:2px;width:12px;height:12px}.contractors-audit-legend .is-delivered{background:#006c40}.contractors-audit-legend .is-breached{background:#ba1a1a}.contractors-audit-bar{border-radius:8px;gap:6px;height:48px;margin-top:18px;display:flex;overflow:hidden}.contractors-audit-bar .is-delivered{background:#006c40}.contractors-audit-bar .is-breached{background:#ba1a1a}.contractors-ledger-wrap{box-shadow:var(--shadow-card);background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-top:24px;overflow:hidden}.contractors-ledger-head{border-bottom:1px solid #dee2e6;padding:24px}.contractors-ledger-head h3{color:#171c1f;text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:14px}.contractors-ledger-scroll{overflow-x:auto}.contractors-ledger-table{border-collapse:collapse;width:100%;min-width:1150px}.contractors-ledger-table thead th{color:#727787;text-transform:uppercase;letter-spacing:.1em;text-align:left;background:#f0f4f8;padding:16px 24px;font-size:10px;font-weight:700}.contractors-ledger-table thead th:last-child,.contractors-ledger-table tbody td:last-child{text-align:right}.contractors-ledger-table tbody td{vertical-align:middle;color:#424655;border-top:1px solid #dee2e6;padding:20px 24px;font-size:14px}.contractors-ledger-contract-id{color:#171c1f;font-weight:700}.contractors-ledger-work{max-width:320px}.contractors-ledger-work-link{color:#424655;text-decoration:none}.contractors-ledger-work-link:hover{color:#0d6efd;text-decoration:underline}.contractors-ledger-cost{color:#171c1f;white-space:nowrap;font-weight:700}.contractors-ledger-timeline-wrap{flex-direction:column;gap:4px;display:flex}.contractors-ledger-timeline-track{background:#e5e9ed;border-radius:999px;width:96px;height:6px;overflow:hidden}.contractors-ledger-timeline-fill{height:100%}.contractors-ledger-timeline-fill.is-danger{background:#ba1a1a}.contractors-ledger-timeline-fill.is-success{background:#006c40}.contractors-ledger-timeline-fill.is-muted{background:#ba1a1a}.contractors-ledger-timeline-label{text-transform:uppercase;font-size:10px;font-weight:700}.contractors-ledger-timeline-label.is-danger{color:#ba1a1a}.contractors-ledger-timeline-label.is-success{color:#006c40}.contractors-ledger-timeline-label.is-muted{color:#424655}.contractors-ledger-status{color:#ba1a1a;text-transform:uppercase;letter-spacing:.04em;background:#ba1a1a1a;border:1px solid #ba1a1a33;border-radius:8px;align-items:center;padding:2px 9px;font-size:9px;font-weight:700;display:inline-flex}.contractors-ledger-evidence-cell a{color:#0d6efd;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700;text-decoration:none}.contractors-dossier{margin-top:32px}.contractors-dossier-head h2{color:#171c1f;text-transform:uppercase;letter-spacing:-.02em;align-items:center;gap:8px;margin:0;font-size:36px;line-height:1;display:inline-flex}.contractors-dossier-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.contractors-dossier-card{box-shadow:var(--shadow-card);background:#fff;border-top:4px solid #ba1a1a;border-radius:8px;padding:24px}.contractors-dossier-card h3{color:#171c1f;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:12px}.contractors-dossier-card p{color:#424655;margin-top:12px;font-size:14px;line-height:1.6}.contractors-dossier-card a{color:#0d6efd;text-transform:uppercase;letter-spacing:.06em;margin-top:14px;font-size:12px;font-weight:700;text-decoration:none;display:inline-block}@media (width<=1100px){.contractors-identity-grid,.contractors-identity-meta-grid,.contractors-stat-grid,.contractors-dossier-grid{grid-template-columns:1fr}.contractors-title{font-size:40px}.contractors-name{font-size:30px}.contractors-risk-panel{border-top:1px solid #dee2e6;border-left:none;padding-top:16px;padding-left:0}}@media (width<=768px){.contractors-main{padding-top:24px}.contractors-identity-card,.contractors-audit-card{padding:20px}.contractors-identity-main{flex-direction:column;gap:16px}.contractors-name-row{flex-direction:column;align-items:flex-start}.contractors-dossier-head h2{font-size:28px}}.money-main{padding-top:32px;padding-bottom:48px}.money-hero{margin-bottom:28px}.money-hero__kicker{color:var(--info);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700}.money-hero__title{color:var(--text-primary);letter-spacing:-.05em;margin:8px 0 0;font-size:56px;line-height:1}.money-summary-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.money-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #c2c6d833;border-radius:8px}.money-card--summary{background:var(--bg-soft);padding:40px}.money-card__kicker{color:#424655;text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:12px;font-weight:700}.money-card__total{color:#171c1f;letter-spacing:-.05em;margin:20px 0 0;font-size:60px;font-weight:900;line-height:1}.money-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.money-stat-box{box-shadow:var(--shadow-card);background:#fff;border-left:4px solid;border-radius:8px;padding:18px 18px 16px}.money-stat-box__label{color:#424655;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:10px;font-weight:700}.money-stat-box__value{color:#171c1f;letter-spacing:-.03em;white-space:nowrap;margin:6px 0 0;font-size:clamp(24px,1.8vw,30px);font-weight:900;line-height:1}.money-stat-box__meta{text-transform:uppercase;margin:3px 0 0;font-size:10px;font-weight:700}.money-progress-wrap{margin-top:26px}.money-progress-track{background:#dfe3e7;border-radius:999px;height:16px;display:flex;overflow:hidden}.money-progress-segment{height:100%}.money-progress-meta{text-transform:uppercase;letter-spacing:-.02em;color:#424655;justify-content:space-between;gap:12px;margin-top:10px;font-size:10px;font-weight:700;display:flex}.money-progress-meta span:last-child{color:#ba1a1a}.money-card--risk{flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.money-risk-donut{width:208px;height:208px;box-shadow:var(--shadow-card);border-radius:50%;place-items:center;display:grid}.money-risk-donut__inner{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:144px;height:144px;display:flex;box-shadow:inset 0 2px 4px #0000000d}.money-risk-donut__value{color:#171c1f;letter-spacing:-.05em;margin:0;font-size:48px;font-weight:900;line-height:1}.money-risk-donut__label{color:#ba1a1a;text-transform:uppercase;letter-spacing:.2em;margin:4px 0 0;font-size:10px;font-weight:700}.money-risk-legend{flex-direction:column;gap:10px;width:100%;margin-top:32px;display:flex}.money-risk-legend__row{text-transform:uppercase;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.money-risk-legend__label{color:#171c1f;align-items:center;gap:8px;display:inline-flex}.money-risk-legend__swatch{border-radius:2px;width:12px;height:12px}.money-annual-section{margin-top:24px}.money-card--annual{padding:40px}.money-annual-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.money-annual-head p{color:#424655;margin-top:4px}.money-annual-legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.money-annual-legend span{color:#171c1f;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.money-annual-legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.money-annual-legend .is-delivered{background:var(--success)}.money-annual-legend .is-ongoing{background:#f59e0b}.money-annual-legend .is-gap{background:repeating-linear-gradient(45deg,#ba1a1a0f,#ba1a1a0f 3px,#0000 3px 6px),#fdf2f2;border:1px solid #ba1a1a33}.money-annual-chart{border-bottom:1px solid #c2c6d84d;grid-template-columns:repeat(10,minmax(0,1fr));align-items:end;gap:10px;min-height:360px;margin-top:22px;padding:12px 8px 14px;display:grid}.money-annual-bar-col{text-align:center}.money-annual-bar__amount{color:#424655;white-space:nowrap;margin:0 0 6px;font-size:10px;font-weight:700;line-height:1.1}.money-annual-bar{border-radius:2px 2px 0 0;width:100%;max-width:40px;height:280px;margin:0 auto;position:relative;overflow:hidden}.money-annual-bar__gap,.money-annual-bar__delivered,.money-annual-bar__ongoing{position:absolute;bottom:0;left:0;right:0}.money-annual-bar__gap{background:repeating-linear-gradient(45deg,#ba1a1a0d,#ba1a1a0d 4px,#0000 4px 8px),#fdf2f2;border:1px solid #ba1a1a29}.money-annual-bar__delivered{background:var(--success)}.money-annual-bar__ongoing{background:#f59e0b}.money-annual-bar__alert{color:#ba1a1a;font-size:12px;line-height:1;position:absolute;top:4px;left:50%;transform:translate(-50%)}.money-annual-bar__year{color:#424655;margin:8px 0 0;font-size:12px;font-weight:700}.money-annual-bar__year.is-anomaly{color:#ba1a1a;font-weight:900}.money-anomaly-alert{background:#ffdad61f;border-left:4px solid #ba1a1a;border-radius:0 8px 8px 0;align-items:flex-start;gap:12px;margin-top:22px;padding:14px 20px;display:flex}.money-anomaly-alert__icon{color:#93000a;border:1px solid #ba1a1a66;border-radius:999px;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:inline-grid}.money-anomaly-alert p{color:#93000a;margin:0;font-size:12px;line-height:1.6}.money-anomaly-alert strong{text-transform:uppercase;letter-spacing:.08em}.money-funding-section{margin-top:28px}.money-funding-section__head p{color:#424655;margin-top:4px}.money-source-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px;display:grid}.money-source-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #c2c6d833;border-radius:8px;flex-direction:column;justify-content:space-between;gap:18px;padding:22px;display:flex}.money-source-card__title{color:#424655;text-transform:uppercase;letter-spacing:.05em;min-height:32px;margin:0;font-size:11px;font-weight:700;line-height:1.4}.money-source-card__amount{color:#171c1f;letter-spacing:-.05em;margin:0;font-size:42px;font-weight:900;line-height:1}.money-source-card__contracts{color:#424655;text-transform:uppercase;letter-spacing:.05em;margin:6px 0 0;font-size:10px;font-weight:700}.money-source-card__counts{text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:10px;font-weight:700;display:flex}.money-source-card__counts .is-success{color:var(--success)}.money-source-card__counts .is-danger{color:var(--danger)}.money-source-card__counts .is-muted{color:#8d93a5}.money-source-card__rate{padding-top:12px}.money-source-card__rate-head{color:#424655;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;display:flex}.money-source-card__rate-head .is-success{color:var(--success)}.money-source-card__rate-head .is-warning{color:#f59e0b}.money-source-card__rate-head .is-danger{color:var(--danger)}.money-source-card__rate-track{background:#e5e9ed;border-radius:999px;height:8px;margin-top:6px;overflow:hidden}.money-source-card__rate-fill{height:100%;display:block}.money-source-card__rate-fill.is-success{background:var(--success)}.money-source-card__rate-fill.is-warning{background:#f59e0b}.money-source-card__rate-fill.is-danger{background:var(--danger)}@media (width<=1200px){.money-summary-grid{grid-template-columns:1fr}.money-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.money-annual-head{flex-direction:column}}@media (width<=768px){.money-main{padding-top:20px}.money-hero__title{font-size:42px}.money-card--summary,.money-card--annual,.money-card--risk,.money-source-card{padding:20px}.money-card__total{font-size:42px}.money-stat-grid,.money-source-grid{grid-template-columns:1fr}.money-risk-donut{width:172px;height:172px}.money-risk-donut__inner{width:116px;height:116px}.money-risk-donut__value{font-size:36px}.money-annual-chart{gap:16px;padding-bottom:12px;display:flex;overflow-x:auto}.money-annual-bar-col{min-width:44px}.money-annual-bar__amount{font-size:9px}}.officials-main{padding-top:48px;padding-bottom:101px}.officials-hero{margin-bottom:40px}.officials-hero__title{letter-spacing:-.045em;color:var(--text-primary);margin:0 0 8px;font-size:36px;font-weight:900}.officials-hero__desc{color:var(--text-secondary);margin:0;font-size:18px;font-weight:400;line-height:1.57}.officials-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;margin-bottom:40px;display:grid}.officials-grid>*{min-width:0}.officials-main-content{flex-direction:column;grid-column:span 8;gap:32px;display:flex}.officials-sidebar{grid-column:span 4}.official-header{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:33px;overflow:hidden}.official-header__container{align-items:flex-start;gap:32px;display:flex}.official-avatar{border:2px solid var(--info);border-radius:var(--radius-md);width:128px;min-width:128px;height:128px;color:var(--info);letter-spacing:-.045em;background:#eaeef2;justify-content:center;align-items:center;font-size:36px;font-weight:900;display:flex}.official-info{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.official-header-top{align-items:center;gap:12px;display:flex}.official-name{letter-spacing:-.0125em;color:var(--text-primary);margin:0;font-size:30px;font-weight:900}.official-role-badge{border-radius:var(--radius-md);letter-spacing:.1em;text-transform:uppercase;color:var(--info);background:#0d6efd1a;border:1px solid #0d6efd33;padding:5px 13px;font-size:10px;font-weight:900}.official-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;display:grid}.official-detail-item{flex-direction:column;gap:3.5px;min-width:0;display:flex}.detail-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-size:10px;font-weight:700}.detail-value{color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;font-size:14px;font-weight:600}.detail-link{letter-spacing:.1em;text-transform:uppercase;color:var(--info);align-items:center;gap:4px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.detail-link-icon{width:10.5px;height:10.5px}.official-stat-bar{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;display:grid}.stat-box{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:4px;padding:17px;display:flex}.stat-box__label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-size:10px;font-weight:900}.stat-box__value{letter-spacing:-.025em;color:var(--text-primary);font-size:20px;font-weight:700}.stat-box--overdue{background:#ffdad64d;border-color:#ba1a1a33}.stat-box--overdue .stat-box__label,.stat-box--overdue .stat-box__value{color:#ba1a1a}.stat-box--inactive{background:#e5e9ed}.project-lifecycle{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:24px;padding:33px;display:flex}.project-lifecycle__header{justify-content:space-between;align-items:flex-end;display:flex}.project-lifecycle__title{letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);font-size:14px;font-weight:900}.project-lifecycle__date{color:var(--text-secondary);font-size:10px;font-weight:500}.lifecycle-bar{border-radius:var(--radius-md);height:40px;box-shadow:var(--shadow-card);background:#f0f4f8;display:flex;overflow:hidden}.lifecycle-segment{color:#fff;letter-spacing:.1em;text-transform:uppercase;text-align:center;justify-content:center;align-items:center;padding:0 8px;font-size:10px;font-weight:700;display:flex}.lifecycle-segment--completed{background:#198754;flex:0}.lifecycle-segment--in-progress{background:var(--info);flex:0}.lifecycle-segment--at-risk{background:#dc3545;flex:1}.lifecycle-legend{gap:24px;display:flex}.legend-item{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.legend-dot{border-radius:9999px;width:12px;height:12px}.legend-dot--completed{background:#1987544d;border:1px solid #198754}.legend-dot--in-progress{border:1px solid var(--info);background:#0d6efd4d}.legend-dot--at-risk{background:#dc3545}.accountability-note{border-radius:var(--radius-md);background:#f0f4f8;border-left:4px solid #727787;padding:16px 16px 16px 20px}.accountability-note__content{color:var(--text-primary);font-size:12px;font-weight:700;line-height:1.625}.accountability-note__text{color:var(--text-secondary);font-weight:400}.forensic-audit{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:24px;padding:25px;display:flex}.forensic-audit__title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:900}.audit-items{flex-direction:column;gap:16px;display:flex}.audit-item{border-radius:var(--radius-md);background:#f0f4f8;border:1px solid #c2c6d81a;align-items:flex-start;gap:8px;padding:17px;display:flex}.audit-item__label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);flex:1;font-size:10px;font-weight:700}.audit-item__value{text-transform:uppercase;color:var(--text-primary);font-size:10px;font-weight:900}.audit-progress{background:#eaeef2;border-radius:9999px;height:8px;overflow:hidden}.audit-progress__fill{height:100%}.audit-progress__fill--moderate{background:#ffc107;width:50%}.audit-progress__fill--critical{background:#dc3545;width:100%}.audit-alert{border-radius:var(--radius-md);background:#ffdad633;border-left:4px solid #dc3545;padding:16px 16px 16px 20px}.audit-alert--success{background:#f0f4f8;border-left-color:#198754}.audit-flag{align-items:flex-start;gap:11.99px;display:flex}.audit-flag__icon{flex-shrink:0;width:22px;height:19px}.audit-flag__success-icon{flex-shrink:0;width:22px;height:16px}.audit-flag__content{flex-direction:column;gap:2px;display:flex}.audit-flag__number{color:var(--text-primary);font-size:24px;font-weight:900;line-height:1}.audit-flag__alert-text{color:#171c1f}.audit-flag__alert-text--success{color:var(--text-secondary)}.audit-flag__label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-size:10px;font-weight:700}.contracts-section{grid-column:span 12;min-width:0;padding-top:32px}.contracts-card{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.contracts-header{border-bottom:1px solid #c2c6d81a;justify-content:space-between;align-items:center;padding:24px;display:flex}.contracts-title{letter-spacing:-.0125em;color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.contracts-title__icon{width:18px;height:20px}.contracts-actions{gap:7.99px;display:flex}.contracts-btn{background:var(--bg-surface);border-radius:var(--radius-md);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;border:1px solid #c2c6d84d;align-items:center;gap:7.99px;padding:9px 17px;font-size:10px;font-weight:700;display:flex}.contracts-btn__icon{width:10.5px;height:7px}.contracts-btn__icon--export{width:9.333px;height:9.333px}.contracts-table{overflow-x:auto}.table-header{background:#f0f4f8;border-bottom:1px solid #c2c6d833}.table-row{border-bottom:1px solid #c2c6d81a;grid-template-columns:131px 378px 241px 154px 213px 111px;display:grid}.table-row--header{position:sticky;top:0}.table-row--alert{background:#dc35451a;border-left:4px solid #dc3545;padding-left:0}.table-cell{align-items:center;padding:16px 24px;display:flex}.table-row--header .table-cell{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);padding:16px 24px;font-size:10px;font-weight:900}.table-id{color:var(--text-primary);font-family:Liberation Mono,monospace;font-size:12px;font-weight:700}.table-id--alert{color:#dc3545;padding-left:26px}.table-desc{color:var(--text-primary);font-size:12px;font-weight:600}.table-desc--secondary{color:var(--text-secondary);font-weight:400}.table-contractor{text-transform:uppercase;color:var(--text-primary);font-size:12px;font-weight:700}.table-value{color:var(--text-primary);font-size:12px;font-weight:700}.table-value--alert{color:#dc3545}.status-badge{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:9999px;justify-content:center;align-items:center;padding:4px 8px;font-size:9px;font-weight:700;display:inline-flex}.status-badge--impossible{color:#fff;background:#dc3545}.status-badge--pending{color:#fff;background:#727787}.status-badge--ongoing{color:#fff;background:#0d6efd}.status-badge--completed{color:#fff;background:#198754}.table-audit{color:var(--text-secondary);font-size:12px}.patterns-section{grid-column:span 12;padding-top:48px}.patterns-header{align-items:center;gap:16px;margin-bottom:32px;display:flex}.patterns-title{letter-spacing:.36em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:900}.patterns-divider{background:#c2c6d84d;flex:1;height:1px}.patterns-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.pattern-card{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border-left:4px solid;flex-direction:column;gap:8px;padding:24px;display:flex}.pattern-card--high-risk{border-left-color:#dc3545}.pattern-card--anomaly{border-left-color:#ffc107}.pattern-card--integrity{border-left-color:#198754}.pattern-badge{letter-spacing:.1em;text-transform:uppercase;width:fit-content;font-size:10px;font-weight:900}.pattern-badge--high-risk{color:#dc3545}.pattern-badge--anomaly{color:#856404}.pattern-badge--integrity{color:#198754}.pattern-title{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.43}.pattern-description{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:400;line-height:1.625}.pattern-tag{border-radius:var(--radius-md);letter-spacing:.1em;text-transform:uppercase;background:#c2c6d81a;border:1px solid #c2c6d833;align-items:center;gap:0;margin-top:16px;padding:5px 9px;font-size:9px;font-weight:700;display:inline-flex}.pattern-tag--high-risk{color:#dc3545;background:#dc35451a;border-color:#dc354533}.pattern-tag--anomaly{color:#856404;background:#ffc1071a;border-color:#ffc10733}.pattern-tag--integrity{color:#198754;background:#1987541a;border-color:#19875433}@media (width<=1200px){.officials-grid{grid-template-columns:1fr;gap:24px}.officials-main-content,.officials-sidebar,.contracts-section,.patterns-section{grid-column:span 1}.official-stat-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.patterns-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.officials-main{padding-top:28px;padding-bottom:56px}.officials-hero{margin-bottom:24px}.officials-hero__title{font-size:30px;line-height:1.1}.officials-hero__desc{font-size:16px;line-height:1.55}.official-header,.project-lifecycle,.forensic-audit{padding:22px}.official-header__container{flex-direction:column;align-items:stretch;gap:18px}.official-header-top{flex-direction:column;align-items:flex-start}.official-name{overflow-wrap:anywhere;word-break:break-word;font-size:26px;line-height:1.12}.official-details{grid-template-columns:1fr;gap:12px 0}.official-stat-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-box{padding:14px}.project-lifecycle__header{flex-direction:column;align-items:flex-start;gap:8px}.lifecycle-segment{letter-spacing:.06em;font-size:9px;line-height:1.25}.lifecycle-legend{flex-wrap:wrap;gap:10px 14px}.contracts-section{padding-top:14px}.contractors-ledger-head{padding:18px}.patterns-section{padding-top:20px}.patterns-header{margin-bottom:16px}.patterns-grid{grid-template-columns:1fr;gap:14px}}@media (width<=768px){.official-avatar{width:96px;min-width:96px;height:96px;font-size:28px}.official-name{font-size:22px}.official-role-badge{padding:4px 10px;font-size:9px}.lifecycle-bar{height:auto;min-height:44px}.lifecycle-segment{white-space:normal;min-height:44px;padding:6px 8px}.contracts-header{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.contracts-actions{flex-wrap:wrap;width:100%}.contracts-btn{flex:140px;justify-content:center}}@media (width<=480px){.officials-main{padding-top:20px;padding-bottom:40px}.officials-hero__title{font-size:26px}.officials-hero__desc{font-size:15px}.official-header,.project-lifecycle,.forensic-audit,.pattern-card{padding:16px}.official-stat-bar{grid-template-columns:1fr}.detail-label{letter-spacing:.08em}.stat-box__value{font-size:18px}.contracts-section{padding-top:8px}.contractors-ledger-head h3{letter-spacing:.08em;font-size:12px}.patterns-title{letter-spacing:.12em;white-space:normal}}
