/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/brand/inter-latin.woff2)format("woff2")}@font-face{font-family:Sora;font-style:normal;font-weight:100 900;font-display:swap;src:url(/brand/sora-latin.woff2)format("woff2")}:root{--bg:#f6f5ef;--panel:#fff;--line:#f3f6f3;--text:#102a43;--muted:#526775;--green:#087f6d;--yellow:#80580b;--red:#a74049;--blue:#315f7d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{font:inherit}.app-shell{background:radial-gradient(circle at 70% -10%,#fff 0,var(--bg) 34%);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);z-index:5;background:#fffffff5;flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:0 8px 26px;display:flex}.brand-mark{background:#f3f6f3;border-radius:12px;justify-content:center;align-items:flex-end;gap:3px;width:42px;height:42px;padding:9px;display:flex}.brand-mark span{background:var(--green);border-radius:3px 3px 0 0;width:6px}.brand-mark span:first-child{height:11px}.brand-mark span:nth-child(2){height:18px}.brand-mark span:nth-child(3){height:25px}.brand strong,.brand small{letter-spacing:.08em;display:block}.brand strong{font-size:17px}.brand small{color:var(--green);margin-top:2px;font-size:11px}nav{flex-direction:column;gap:7px;margin-top:26px;display:flex}nav a{color:#526775;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:13px;font-weight:600;text-decoration:none;display:flex}nav a span{color:#526775;text-align:center;width:20px;font-size:18px}nav a:hover,nav a.active{color:#102a43;border-left:3px solid var(--green);background:#e9f3ee}nav a.active span{color:var(--green)}.sidebar-note{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:12px 1fr;gap:8px 4px;margin-top:auto;padding:20px 8px 0;font-size:12px;display:grid}.sidebar-note strong,.sidebar-note small{grid-column:1/-1}.sidebar-note strong{color:#102a43;margin-top:8px;font-size:14px}.live-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 12px var(--green);border-radius:50%}.content{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:4;background:#f6f5eff0;align-items:center;height:76px;padding:0 38px;display:flex;position:sticky;top:0}.topbar div{flex-direction:column;display:flex}.topbar small{letter-spacing:.13em;color:#526775;font-size:10px}.topbar strong{margin-top:4px;font-size:14px}.mvp-badge{color:var(--yellow);letter-spacing:.08em;background:#fff7e7;border:1px solid #dce5df;border-radius:999px;margin-left:auto;padding:8px 12px;font-size:11px;font-weight:800}.menu{color:#102a43;background:0 0;border:0;margin-right:15px;font-size:22px;display:none}.page{max-width:1500px;margin:auto;padding:44px 38px 70px}.intro{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:.16em;color:var(--green);margin:0 0 9px;font-size:11px;font-weight:800}.intro h1,.section-heading h2,.method h2{letter-spacing:-.035em;margin:0}.intro h1{max-width:850px;font-size:clamp(31px,3.4vw,50px)}.intro>div>p:last-child{color:var(--muted);max-width:720px;margin:12px 0 0;line-height:1.6}.period{border:1px solid var(--line);background:#f3f6f3;border-radius:12px;min-width:245px;padding:13px 16px}.period span,.period strong,.period small{display:block}.period span{color:var(--muted);font-size:11px}.period strong{margin-top:4px;font-size:14px}.period small{color:var(--green);margin-top:7px;font-size:10px}.metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;display:grid}.metric-card{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#fff);border-radius:14px;min-height:150px;padding:18px;position:relative}.metric-card>small{color:#526775;margin-top:17px;font-weight:650;display:block}.metric-card>strong{margin:7px 0;font-size:clamp(25px,2.3vw,37px);display:block}.metric-card p{color:#526775;margin:0;font-size:11px}.status{text-transform:uppercase;letter-spacing:.08em;border:1px solid;border-radius:999px;padding:5px 7px;font-size:9px;position:absolute;top:14px;right:14px}.allocation,.quality,.method,.flow-panel,.financial-health{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:18px;padding:24px}.section-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-heading h2,.method h2{font-size:clamp(23px,2.4vw,32px)}.chart-legend{color:#526775;gap:17px;font-size:11px;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.chart-legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.monthly-chart{border-top:1px solid var(--line);grid-template-columns:repeat(12,1fr);gap:10px;height:270px;margin-top:20px;padding-top:28px;display:grid}.month-column{text-align:center;grid-template-rows:30px 1fr 22px;gap:7px;min-width:0;display:grid}.month-value{color:var(--green);white-space:nowrap;font-size:9px}.month-value small{color:#315f7d;margin-top:2px;display:block}.month-bars{border-bottom:1px solid #dce5df;justify-content:center;align-items:flex-end;gap:4px;display:flex}.month-bars i{border-radius:4px 4px 0 0;width:min(14px,38%);min-height:2px}.month-column>strong{color:#526775;font-size:11px}.flow-summary{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:18px;padding-top:17px;display:grid}.flow-summary span{border-right:1px solid var(--line);padding:0 18px}.flow-summary span:first-child{padding-left:0}.flow-summary span:last-child{border:0}.flow-summary small,.flow-summary strong{display:block}.flow-summary strong{margin-top:5px;font-size:17px}.stage-tabs{border:1px solid var(--line);background:#fff;border-radius:10px;padding:4px;display:flex}.stage-tabs button{color:#526775;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 14px;font-size:12px;font-weight:700}.stage-tabs button.selected{color:#102a43;background:#e9f3ee;box-shadow:inset 0 0 0 1px #102a4312}.stage-help{color:#526775;border-top:1px solid var(--line);margin:19px 0 0;padding-top:13px;font-size:12px}.stage-help span{border:1px solid #dce5df;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;margin-right:6px;display:inline-flex}.stage-help strong{color:#526775}.allocation-grid{grid-template-columns:330px 1fr;gap:35px;margin-top:26px;display:grid}.donut-wrap{border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;padding-right:35px;display:flex}.donut{aspect-ratio:1;border-radius:50%;place-items:center;width:220px;display:grid;box-shadow:0 0 28px #102a4312}.donut>div{aspect-ratio:1;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:132px;display:flex}.donut small{color:var(--muted);letter-spacing:.14em;font-size:10px}.donut strong{font-size:31px}.donut span{color:var(--green);font-size:11px}.donut-wrap p{text-align:center;color:#526775;max-width:220px;margin-top:19px;font-size:11px;line-height:1.5}.donut-wrap p strong{color:#102a43}.crosscut-section{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.crosscut-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.crosscut-heading h3{margin:0;font-size:19px}.crosscut-heading>span{color:#526775;font-size:10px}.crosscut-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:15px;display:grid}.crosscut-grid article{border:1px solid var(--line);background:#f3f6f3;border-radius:12px;padding:17px}.crosscut-value{grid-template-columns:1fr auto;gap:5px 15px;display:grid}.crosscut-value small{color:#526775;font-size:11px;font-weight:750}.crosscut-value strong{grid-area:1/2/3;font-size:24px}.crosscut-value b{color:var(--green);font-size:11px}.crosscut-grid p{color:#526775;margin:15px 0 10px;font-size:11px;line-height:1.55}.crosscut-grid em{color:#80580b;border-top:1px solid #dce5df;padding-top:10px;font-size:9px;font-style:normal;line-height:1.5;display:block}.rank-list{flex-direction:column;display:flex}.rank-row{border-bottom:1px solid #dce5df;grid-template-columns:38px 1fr 78px;align-items:center;gap:12px;padding:11px 0;display:grid}.rank-index{color:#526775;font-size:11px;font-weight:800}.rank-body>div:first-child{justify-content:space-between;gap:15px;font-size:13px;display:flex}.rank-body span{color:#526775;font-size:11px}.bar{background:#e3ebe6;border-radius:5px;height:4px;margin-top:8px;overflow:hidden}.bar i{border-radius:5px;height:100%;display:block}.percent{text-align:right;font-size:15px}.show-more{color:var(--green);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:16px;padding:5px 0;font-size:12px;font-weight:750}.updated,.scope-pill{color:#526775;font-size:11px}.scope-pill{border:1px solid var(--line);border-radius:999px;padding:7px 10px}.quality-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.quality-card{border:1px solid var(--line);background:#f3f6f3;border-radius:12px;gap:13px;padding:17px;display:flex}.quality-icon{border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.quality-card strong{font-size:14px}.quality-card p{color:#526775;margin:7px 0 9px;font-size:12px;line-height:1.5}.quality-card small{color:#526775;font-size:10px;font-weight:750}.health-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;display:grid}.health-card{border:1px solid var(--line);background:#f3f6f3;border-radius:12px;padding:18px}.health-card>strong{font-size:26px;display:block}.health-card>span{color:var(--green);margin-top:7px;font-size:12px;font-weight:750;display:block}.health-card p{color:#526775;margin:10px 0 0;font-size:11px;line-height:1.55}.method{background:linear-gradient(135deg,#f1f6f2,#fff);grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.method>div>p:last-child{color:#526775;max-width:650px;font-size:13px;line-height:1.65}.source-list{gap:8px;display:grid}.source-list span{border:1px solid var(--line);color:#526775;border-radius:9px;padding:13px 15px;font-size:12px}.source-list b{color:var(--green);margin-right:12px}footer{border-top:1px solid var(--line);color:#526775;align-items:center;gap:22px;padding:25px 38px;font-size:11px;display:flex}footer span{color:#102a43;font-weight:800}footer p{margin:0}footer a{color:var(--green);margin-left:auto;text-decoration:none}.supplier-metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.supplier-metric{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#fff);border-radius:14px;min-height:142px;padding:18px;position:relative}.supplier-metric>span{color:var(--green);border:1px solid #dce5df;border-radius:999px;padding:4px 7px;font-size:9px;position:absolute;top:14px;right:14px}.supplier-metric>small{color:#526775;margin-top:18px;font-weight:650;display:block}.supplier-metric>strong{margin:7px 0;font-size:clamp(26px,2.3vw,37px);display:block}.supplier-metric p{color:#526775;margin:0;font-size:11px}.supplier-panel,.sector-section,.procurement-panel{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:18px;padding:24px}.mode-tabs{border:1px solid var(--line);background:#fff;border-radius:10px;padding:4px;display:flex}.mode-tabs button{color:#526775;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 14px;font-size:12px;font-weight:700}.mode-tabs button.selected{color:#102a43;background:#e9f3ee;box-shadow:inset 0 0 0 1px #102a4312}.supplier-definition{color:#526775;border-top:1px solid var(--line);margin:19px 0 0;padding-top:13px;font-size:12px}.supplier-definition span{color:#526775;border:1px solid #dce5df;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;margin-right:7px;display:inline-flex}.supplier-controls{grid-template-columns:minmax(260px,390px) 1fr;align-items:end;gap:18px;margin:20px 0;display:grid}.supplier-controls label span{color:#526775;margin-bottom:7px;font-size:10px;display:block}.supplier-controls input{border:1px solid var(--line);color:#102a43;background:#fff;border-radius:10px;outline:none;width:100%;padding:12px 14px}.supplier-controls input:focus{border-color:#dce5df;box-shadow:0 0 0 3px #102a4312}.category-pills{flex-wrap:wrap;gap:6px;display:flex}.category-pills button{border:1px solid var(--line);color:#526775;cursor:pointer;background:#f3f6f3;border-radius:999px;padding:8px 10px;font-size:10px}.category-pills button.selected{color:#102a43;background:var(--green);border-color:var(--green);font-weight:800}.supplier-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.supplier-table-head,.supplier-row{grid-template-columns:42px minmax(0,1fr) 90px 150px;align-items:center;gap:14px;display:grid}.supplier-table-head{color:#526775;text-transform:uppercase;letter-spacing:.08em;background:#f0f4f1;padding:10px 14px;font-size:9px}.supplier-table-head span:last-child{text-align:right}.supplier-row{color:#102a43;text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #dce5df;width:100%;padding:13px 14px}.supplier-row:hover,.supplier-row.expanded{background:#edf5f0}.supplier-rank{color:#526775;font-size:11px;font-weight:800}.supplier-identity{min-width:0}.supplier-identity>strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.supplier-identity>small{color:#526775;margin-top:4px;font-size:10px;display:block}.supplier-identity>i{background:#e3ebe6;border-radius:4px;height:3px;margin-top:8px;display:block;overflow:hidden}.supplier-identity>i b{background:linear-gradient(90deg,var(--green),#557a95);height:100%;display:block}.supplier-identity>em{color:#526775;border-left:2px solid var(--green);background:#f3f6f3;margin:11px 0 2px;padding:10px;font-size:11px;font-style:normal;line-height:1.5;display:block}.month-chip{color:#102a43;text-align:center;justify-self:center;font-size:12px;font-weight:800}.month-chip small{color:var(--green);text-transform:uppercase;margin-top:3px;font-size:8px;display:block}.supplier-paid{text-align:right;font-size:16px}.supplier-paid small{color:#526775;margin-top:4px;font-size:9px;font-weight:500;display:block}.table-note{color:#526775;margin:12px 0 0;font-size:10px}.no-results{color:#526775;text-align:center;padding:30px}.sector-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.sector-card{border:1px solid var(--line);background:#f3f6f3;border-radius:13px;overflow:hidden}.sector-title{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:16px;display:flex}.sector-title>span{width:34px;height:34px;color:var(--green);background:#e9f3ee;border-radius:9px;place-items:center;font-weight:900;display:grid}.sector-title strong,.sector-title small{display:block}.sector-title strong{font-size:14px}.sector-title small{color:#526775;margin-top:4px;font-size:9px}.sector-row{border-bottom:1px solid #dce5df;justify-content:space-between;gap:12px;padding:12px 15px;display:flex}.sector-row:last-child{border-bottom:0}.sector-row>span{min-width:0}.sector-row strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.sector-row small{-webkit-line-clamp:2;color:#526775;-webkit-box-orient:vertical;margin-top:4px;font-size:9px;line-height:1.4;display:-webkit-box;overflow:hidden}.sector-row>b{color:#102a43;flex:none;font-size:11px}.procurement-flow{grid-template-columns:1fr 32px 1fr 32px 1fr 32px 1fr;align-items:stretch;margin-top:22px;display:grid}.flow-number{border:1px solid var(--line);background:#f3f6f3;border-radius:12px;padding:18px}.flow-number strong,.flow-number span,.flow-number small{display:block}.flow-number strong{font-size:29px}.flow-number span{color:var(--green);margin-top:5px;font-size:11px;font-weight:800}.flow-number small{color:#526775;margin-top:8px;font-size:9px;line-height:1.45}.flow-arrow{color:#526775;place-items:center;font-size:20px;display:grid}.explain-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.explain-grid p{color:#526775;background:#f3f6f3;border-radius:10px;margin:0;padding:14px;font-size:11px;line-height:1.55}.explain-grid strong{color:#102a43}.supplier-quality>div:first-child{grid-template-columns:1fr 1fr;align-items:center;gap:30px;display:grid}.quality-warning{border-top:1px solid var(--line);color:#526775;margin:18px 0 0;padding-top:14px;font-size:11px;line-height:1.55}.quality-warning strong{color:var(--yellow)}.method .source-list a{border:1px solid var(--line);color:#526775;border-radius:9px;padding:13px 15px;font-size:12px;text-decoration:none;display:block}.method .source-list a:hover{color:#102a43;border-color:#dce5df}.source-overview,.sources-catalog,.coverage-panel,.rules-panel,.download-note{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:18px;padding:24px}.source-overview{background:linear-gradient(135deg,#f3f6f3,#fff);grid-template-columns:minmax(280px,.85fr) 1.15fr;align-items:center;gap:35px;display:grid}.source-overview h2,.download-note h2{margin:0;font-size:clamp(23px,2.4vw,32px)}.source-overview>div>p:last-child,.download-note p{color:#526775;font-size:12px;line-height:1.65}.source-pipeline{grid-template-columns:1fr 25px 1fr 25px 1fr 25px 1fr;align-items:center;display:grid}.source-pipeline>span{border:1px solid var(--line);min-height:86px;color:var(--green);background:#f3f6f3;border-radius:11px;padding:15px;font-size:12px;font-weight:800}.source-pipeline small{color:#526775;margin-top:8px;font-size:9px;font-weight:500;line-height:1.45;display:block}.source-pipeline i{text-align:center;color:#526775;font-style:normal}.source-cards{grid-template-columns:1fr 1fr;gap:13px;margin-top:20px;display:grid}.source-card{border:1px solid var(--line);background:#f3f6f3;border-radius:13px;flex-direction:column;padding:19px;display:flex}.source-card-top{align-items:flex-start;gap:13px;display:flex}.source-card-top>span{width:34px;height:34px;color:var(--green);background:#e9f3ee;border-radius:9px;place-items:center;font-size:10px;font-weight:900;display:grid}.source-card-top small{color:var(--green);letter-spacing:.13em;font-size:8px;font-weight:800}.source-card h3{margin:4px 0;font-size:17px}.source-card-top p{color:#526775;margin:0;font-size:10px}.source-card dl{gap:0;margin:17px 0;display:grid}.source-card dl>div{border-top:1px solid #dce5df;padding:10px 0}.source-card dt{color:#526775;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.source-card dd{color:#526775;margin:5px 0 0;font-size:11px;line-height:1.5}.source-card .source-limit dd{color:#80580b}.source-card>a{color:var(--green);margin-top:auto;font-size:11px;font-weight:800;text-decoration:none}.source-card>a:hover{color:#102a43}.coverage-table{border:1px solid var(--line);border-radius:12px;margin-top:20px;overflow:hidden}.coverage-head,.coverage-row{grid-template-columns:190px 140px 1fr;align-items:center;gap:15px;display:grid}.coverage-head{color:#526775;text-transform:uppercase;letter-spacing:.09em;background:#f0f4f1;padding:11px 15px;font-size:9px}.coverage-row{background:#fff;border-top:1px solid #dce5df;padding:13px 15px}.coverage-row>strong{font-size:12px}.coverage-row p{color:#526775;margin:0;font-size:11px;line-height:1.45}.coverage-status{text-transform:uppercase;letter-spacing:.06em;border:1px solid;border-radius:999px;justify-self:start;padding:5px 8px;font-size:8px;font-weight:850}.coverage-status.ok{color:var(--green);background:#e9f3ee;border-color:#dce5df}.coverage-status.warn{color:var(--yellow);background:#fff7e7;border-color:#dce5df}.coverage-status.info{color:#315f7d;background:#f3f6f3;border-color:#dce5df}.coverage-status.future{color:#526775;background:#f1eef5;border-color:#dce5df}.rules-panel{grid-template-columns:260px 1fr;gap:30px;display:grid}.rules-panel h2{margin:0;font-size:clamp(23px,2.4vw,32px)}.rule-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rule-grid article{border:1px solid var(--line);background:#f3f6f3;border-radius:11px;padding:15px}.rule-grid strong{color:var(--green);font-size:12px}.rule-grid p{color:#526775;margin:7px 0 0;font-size:10px;line-height:1.55}.download-note{background:linear-gradient(135deg,#f3f6f3,#fff);justify-content:space-between;align-items:center;gap:25px;display:flex}.download-note>div{max-width:850px}.download-note>span{color:var(--yellow);text-transform:uppercase;background:#fff7e7;border:1px solid #dce5df;border-radius:999px;flex:none;padding:9px 12px;font-size:9px;font-weight:800}@media (width<=1000px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.menu{display:block}.metrics,.supplier-metrics{grid-template-columns:repeat(2,1fr)}.allocation-grid{grid-template-columns:260px 1fr}.donut-wrap{padding-right:25px}.donut{width:190px}.health-grid{grid-template-columns:repeat(2,1fr)}.sector-grid,.supplier-controls{grid-template-columns:1fr}.procurement-flow{grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr}}@media (width<=700px){.topbar{padding:0 18px}.mvp-badge{padding:7px;font-size:9px}.page{padding:30px 16px 50px}.intro{flex-direction:column;align-items:stretch}.period{min-width:0}.metrics{grid-template-columns:1fr 1fr}.metric-card{min-height:138px;padding:14px}.metric-card>strong{font-size:24px}.allocation,.quality,.method,.flow-panel,.financial-health,.supplier-panel,.sector-section,.procurement-panel{padding:18px}.section-heading{flex-direction:column;align-items:stretch}.stage-tabs,.mode-tabs{width:100%}.stage-tabs button,.mode-tabs button{flex:1;padding:9px 5px}.allocation-grid{grid-template-columns:1fr}.donut-wrap{border-right:0;border-bottom:1px solid var(--line);padding:5px 0 25px}.rank-row{grid-template-columns:28px 1fr 68px}.rank-body>div:first-child{flex-direction:column;gap:3px}.quality-grid,.method,.supplier-quality>div:first-child,.explain-grid{grid-template-columns:1fr}.updated{margin-top:-12px}.monthly-chart{gap:4px;height:230px}.month-value{display:none}.month-column{grid-template-rows:1fr 22px}.flow-summary{grid-template-columns:1fr 1fr;gap:14px}.flow-summary span{border:0;padding:0}.health-grid{grid-template-columns:1fr 1fr}.supplier-table-head{display:none}.supplier-row{grid-template-columns:27px 1fr 66px;gap:9px}.supplier-paid{text-align:left;grid-column:2/-1;padding-left:0}.supplier-paid small{margin-left:8px;display:inline}.month-chip{grid-area:1/3}.procurement-flow{grid-template-columns:1fr}.flow-arrow{height:24px;transform:rotate(90deg)}footer{flex-direction:column;align-items:flex-start;padding:22px 18px}footer a{margin-left:0}.source-overview,.sources-catalog,.coverage-panel,.rules-panel,.download-note{padding:18px}.source-overview,.source-cards,.rules-panel,.rule-grid,.crosscut-grid,.source-pipeline{grid-template-columns:1fr}.source-pipeline i{height:20px;transform:rotate(90deg)}.coverage-head{display:none}.coverage-row{grid-template-columns:1fr auto}.coverage-row p{grid-column:1/-1}.download-note,.crosscut-heading{flex-direction:column;align-items:flex-start}.crosscut-value strong{font-size:21px}}@media (width<=420px){.metrics,.health-grid,.supplier-metrics{grid-template-columns:1fr}.topbar strong{font-size:12px}.mvp-badge{text-align:center;max-width:105px}.intro h1{font-size:31px}.rank-body>div:first-child strong{font-size:12px}.category-pills{max-height:78px;overflow:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.filter-result{color:#526775;margin:-7px 0 10px;font-size:10px}.filter-result strong{color:var(--green)}.load-more{color:var(--green);cursor:pointer;background:#e9f3ee;border:1px solid #dce5df;border-radius:999px;margin:14px auto 0;padding:9px 15px;font-size:10px;font-weight:800;display:block}.sector-row{color:#102a43;text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.sector-row:hover{background:#edf5f0}.sector-row:focus-visible,.supplier-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.supplier-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#102a4380;justify-content:flex-end;display:flex;position:fixed;inset:0}.supplier-modal{background:#f3f6f3;border-left:1px solid #dce5df;width:min(760px,94vw);height:100%;padding:34px;position:relative;overflow:auto;box-shadow:-20px 0 70px #102a4312}.supplier-modal h2{margin:7px 55px 5px 0;font-size:clamp(25px,3vw,38px);line-height:1.12}.supplier-cnpj{color:#526775;margin:0 0 20px;font-size:12px}.modal-close{border:1px solid var(--line);color:#102a43;cursor:pointer;background:#fff;border-radius:50%;width:38px;height:38px;font-size:25px;line-height:1;position:absolute;top:22px;right:22px}.modal-close:hover{border-color:var(--green);color:var(--green)}.detail-metrics{grid-template-columns:1.3fr .8fr 1fr;gap:9px;display:grid}.detail-metrics>span{border:1px solid var(--line);background:#f3f6f3;border-radius:11px;padding:14px}.detail-metrics small,.detail-metrics strong{display:block}.detail-metrics small{color:#526775;font-size:9px}.detail-metrics strong{margin-top:6px;font-size:15px}.detail-caveat{border-left:2px solid var(--yellow);color:#80580b;background:#fff7e7;padding:11px 13px;font-size:10px;line-height:1.5}.detail-grid{grid-template-columns:1.2fr .8fr;gap:12px;margin-top:20px;display:grid}.detail-grid>div,.contract-section{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.detail-grid h3,.contract-section h3{margin:0 0 12px;font-size:14px}.detail-objects{gap:7px;display:grid}.detail-objects p{color:#526775;background:#fff;border-radius:8px;margin:0;padding:9px 10px;font-size:10px;line-height:1.5}.detail-functions{gap:0;display:grid}.detail-functions span{border-bottom:1px solid #dce5df;justify-content:space-between;gap:12px;padding:9px 0;display:flex}.detail-functions span:last-child{border-bottom:0}.detail-functions small{color:#526775;font-size:9px}.detail-functions strong{text-align:right;font-size:10px}.contract-section{margin-top:12px}.contract-list{gap:10px;display:grid}.contract-list article{background:#fff;border:1px solid #dce5df;border-radius:9px;padding:13px}.contract-top{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.contract-top span{color:#102a43;background:var(--green);border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900}.contract-top strong,.contract-top b{font-size:11px}.contract-list article>p{color:#526775;margin:10px 0;font-size:10px;line-height:1.5}.contract-list dl{grid-template-columns:repeat(2,1fr);gap:8px;margin:0;display:grid}.contract-list dl>div{min-width:0}.contract-list dt{color:#526775;text-transform:uppercase;font-size:8px}.contract-list dd{color:#526775;overflow-wrap:anywhere;margin:3px 0 0;font-size:9px}.contract-empty{color:#526775;margin:0;font-size:11px;line-height:1.55}.modal-sources{gap:9px;margin-top:14px;display:flex}.modal-sources a{color:var(--green);border:1px solid #dce5df;border-radius:999px;padding:8px 11px;font-size:9px;font-weight:800;text-decoration:none}.modal-sources a:hover{color:#102a43;background:#e9f3ee}@media (width<=700px){.supplier-modal{width:100%;padding:25px 17px}.detail-metrics,.detail-grid{grid-template-columns:1fr}.contract-top{grid-template-columns:auto 1fr}.contract-top b{grid-column:2}.contract-list dl{grid-template-columns:1fr}.modal-sources{flex-wrap:wrap}}.brand{gap:10px;padding-left:2px;padding-right:2px}.brand-mark{background:0 0;border-radius:0;flex:0 0 54px;align-items:center;width:54px;height:60px;padding:0}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand-copy{flex:1;min-width:0}.brand-copy strong{letter-spacing:.055em;white-space:nowrap;font-size:13px;line-height:1.25}.brand-copy small{color:#526775;letter-spacing:.015em;text-transform:none;max-width:145px;margin-top:5px;font-size:9.5px;line-height:1.35}.menu-backdrop,.menu-close{display:none}body.menu-open{overflow:hidden}@media (width<=1000px){.topbar{z-index:30}.menu{cursor:pointer;touch-action:manipulation;border-radius:10px;flex:0 0 44px;place-items:center;width:44px;height:44px;margin-right:10px;padding:0;display:grid}.menu:hover,.menu:focus-visible{color:var(--green);outline:2px solid var(--green);outline-offset:2px;background:#f3f6f3}.sidebar{visibility:hidden;pointer-events:none;z-index:50;width:min(86vw,320px);height:100dvh;transition:transform .22s,visibility .22s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%);box-shadow:20px 0 60px #102a4312}.sidebar.open{visibility:visible;pointer-events:auto;transform:translate(0)}.menu-backdrop{z-index:45;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#102a4380;border:0;padding:0;display:block;position:fixed;inset:0}.menu-close{z-index:2;border:1px solid var(--line);color:#102a43;cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:27px;line-height:1;position:absolute;top:12px;right:12px}.menu-close:hover,.menu-close:focus-visible{color:var(--green);border-color:var(--green);outline:none}.sidebar .brand{padding-right:45px}}@media (width<=560px){.topbar{height:auto;min-height:82px;padding:10px 12px}.topbar>div{min-width:0}.topbar small{letter-spacing:.1em;font-size:8px}.topbar strong{font-size:12px}.mvp-badge{text-align:center;flex:none;max-width:110px;padding:7px 8px;line-height:1.25}.page{padding-top:26px}.metrics,.health-grid,.supplier-metrics{grid-template-columns:1fr}.metric-card,.supplier-metric{min-height:0;padding:18px}.metric-card .status{align-self:flex-start;margin-bottom:12px;display:inline-flex;position:static}.metric-card>small{margin-top:0}.supplier-metric{flex-direction:column;display:flex}.supplier-metric>span{align-self:flex-start;margin-bottom:12px;display:inline-flex;position:static}.supplier-metric>small{margin-top:0}.intro h1{font-size:clamp(30px,9vw,38px);line-height:1.12}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.civic-metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.civic-metric{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#fff);border-radius:14px;min-height:145px;padding:18px;position:relative}.civic-metric>span{color:var(--green);border:1px solid #dce5df;border-radius:999px;padding:4px 7px;font-size:9px;position:absolute;top:14px;right:14px}.civic-metric>small{color:#526775;margin-top:18px;font-weight:650;display:block}.civic-metric>strong{margin:7px 0;font-size:clamp(25px,2.3vw,36px);display:block}.civic-metric p{color:#526775;margin:0;font-size:11px;line-height:1.45}.civic-panel{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:18px;padding:24px}.civic-caveat{border-left:2px solid var(--green);color:#526775;background:#f3f6f3;padding:12px 14px;font-size:11px;line-height:1.55}.civic-caveat span{color:#526775;border:1px solid #dce5df;border-radius:50%;place-items:center;width:18px;height:18px;margin-right:8px;display:inline-grid}.civic-ranking{border:1px solid var(--line);border-radius:12px;gap:0;margin-top:18px;display:grid;overflow:hidden}.civic-ranking article{background:#fff;border-top:1px solid #dce5df;grid-template-columns:40px 1fr;gap:12px;padding:13px 15px;display:grid}.civic-ranking article:first-child{border-top:0}.civic-ranking article>span{color:#526775;font-size:11px;font-weight:800}.civic-ranking article>div>div{justify-content:space-between;gap:15px;display:flex}.civic-ranking strong,.civic-ranking b{font-size:12px}.civic-ranking i{background:#e3ebe6;border-radius:4px;height:4px;margin:8px 0 5px;display:block;overflow:hidden}.civic-ranking em{background:linear-gradient(90deg,var(--green),var(--blue));height:100%;display:block}.civic-ranking small{color:#526775;font-size:9px}.civic-months{grid-template-columns:repeat(12,1fr);align-items:end;gap:10px;height:265px;margin-top:20px;display:grid}.civic-months>div{text-align:center;grid-template-rows:30px 1fr 22px;height:100%;display:grid}.civic-months strong{color:#526775;font-size:9px}.civic-months span{border-bottom:1px solid #dce5df;justify-content:center;align-items:flex-end;display:flex}.civic-months i{background:linear-gradient(180deg,var(--green),#087f6d);border-radius:7px 7px 0 0;width:55%;max-width:38px;display:block}.civic-months b{color:#526775;padding-top:6px;font-size:10px}.civic-split{grid-template-columns:1.15fr .85fr;gap:22px;display:grid}.civic-split h2,.method-card h2{margin:0;font-size:clamp(22px,2.3vw,31px)}.element-list{border:1px solid var(--line);border-radius:11px;margin-top:17px;display:grid;overflow:hidden}.element-list span{background:#f3f6f3;border-top:1px solid #dce5df;justify-content:space-between;gap:16px;padding:11px 13px;display:flex}.element-list span:first-child{border-top:0}.element-list small{color:#526775;font-size:10px}.element-list strong{text-align:right;font-size:10px}.method-card{background:linear-gradient(145deg,#f1f6f2,#fff)}.method-card>p:not(.eyebrow),.method-card li{color:#526775;font-size:11px;line-height:1.6}.method-card ul{padding-left:18px}.method-card>small{color:#526775;margin-top:16px;font-size:9px;display:block}.council-composition{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.council-composition article{border:1px solid var(--line);background:#f3f6f3;border-radius:12px;padding:18px}.council-composition small,.council-composition strong{display:block}.council-composition small{color:#526775}.council-composition strong{margin:8px 0;font-size:25px}.council-composition p{color:#526775;margin:0;font-size:10px;line-height:1.5}.council-elements{grid-template-columns:1fr 1fr;margin-top:14px}.council-elements span:nth-child(2){border-top:0}.legislative-metrics{grid-template-columns:repeat(6,1fr);gap:9px;margin-top:18px;display:grid}.legislative-metrics article{border:1px solid var(--line);background:#f3f6f3;border-radius:11px;padding:15px 12px}.legislative-metrics strong,.legislative-metrics span{display:block}.legislative-metrics strong{font-size:25px}.legislative-metrics span{color:#526775;margin-top:5px;font-size:9px;line-height:1.4}.council-heading{align-items:end}.council-search span{color:#526775;margin-bottom:6px;font-size:9px;display:block}.council-search input{border:1px solid var(--line);color:#102a43;background:#fff;border-radius:9px;outline:none;width:260px;padding:11px 12px}.council-search input:focus{border-color:var(--green)}.councilor-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:20px;display:grid}.councilor-grid>button{text-align:left;border:1px solid var(--line);color:#102a43;cursor:pointer;background:#f3f6f3;border-radius:11px;grid-template-columns:40px 1fr 18px;align-items:center;gap:11px;padding:13px;display:grid}.councilor-grid>button:hover{background:#edf5f0;border-color:#dce5df}.councilor-initial{width:40px;height:40px;color:var(--green);background:#e9f3ee;border-radius:11px;place-items:center;font-weight:900;display:grid}.councilor-grid strong,.councilor-grid small{display:block}.councilor-grid strong{font-size:12px}.councilor-grid small{color:#526775;margin-top:3px;font-size:9px}.councilor-grid p{color:#526775;margin:7px 0 0;font-size:9px}.councilor-grid>button>i{color:#526775;font-size:23px;font-style:normal}.council-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#102a4380;justify-content:flex-end;display:flex;position:fixed;inset:0}.council-modal{background:#f3f6f3;border-left:1px solid #dce5df;width:min(760px,100vw);height:100%;padding:34px;position:relative;overflow:auto;box-shadow:-20px 0 70px #102a4312}.council-modal h2{margin:6px 55px 4px 0;font-size:clamp(27px,3vw,40px)}.council-party{color:#526775;margin:0 0 20px}.council-detail-metrics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.council-detail-metrics span{border:1px solid var(--line);background:#f3f6f3;border-radius:11px;padding:16px}.council-detail-metrics small,.council-detail-metrics strong,.council-detail-metrics b{display:block}.council-detail-metrics small{color:#526775;font-size:9px}.council-detail-metrics strong{margin:7px 0;font-size:24px}.council-detail-metrics b{color:var(--green);font-size:9px}.council-detail-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.council-detail-grid>div{border:1px solid var(--line);background:#fff;border-radius:11px;padding:15px}.council-detail-grid h3{margin:0 0 10px;font-size:14px}.council-detail-grid span{border-top:1px solid #dce5df;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.council-detail-grid small{color:#526775}.council-detail-grid strong,.council-detail-grid small{font-size:10px}@media (width<=1000px){.civic-metrics{grid-template-columns:1fr 1fr}.legislative-metrics{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.civic-panel{padding:18px}.civic-split,.council-composition,.councilor-grid,.council-detail-grid{grid-template-columns:1fr}.civic-months{gap:4px;height:220px}.civic-months strong{display:none}.civic-months>div{grid-template-rows:1fr 22px}.council-elements{grid-template-columns:1fr}.council-elements span:nth-child(2){border-top:1px solid #dce5df}.legislative-metrics{grid-template-columns:1fr 1fr}.council-heading{align-items:stretch}.council-search input{width:100%}.council-modal{padding:27px 17px}.council-detail-metrics{grid-template-columns:1fr}.civic-ranking article>div>div{flex-direction:column;align-items:flex-start;gap:3px}}@media (width<=420px){.civic-metrics{grid-template-columns:1fr}}:root{--surface-page:#f6f5ef;--surface-panel:#fff;--surface-card:#f3f6f3;--surface-row:#fff;--surface-row-hover:#edf5f0;--surface-header:#f0f4f1;--surface-input:#fff;--surface-soft:#f3f6f3;--surface-gradient-start:#fff;--surface-gradient-end:#fff;--border-standard:#dce5df}body,.app-shell{background:var(--surface-page)}.allocation,.quality,.method,.flow-panel,.financial-health,.supplier-panel,.sector-section,.procurement-panel,.source-overview,.sources-catalog,.coverage-panel,.rules-panel,.download-note,.civic-panel{background:var(--surface-panel);border-color:var(--border-standard)}.metric-card,.supplier-metric,.civic-metric{background:linear-gradient(145deg, var(--surface-gradient-start), var(--surface-gradient-end));border-color:var(--border-standard)}.period,.quality-card,.method-card,.source-card,.source-pipeline>span,.detail-metrics>span,.legislative-metrics article,.council-detail-metrics span,.council-composition article,.councilor-grid>button,.council-detail-grid>div,.detail-grid>div,.contract-section,.flow-number,.rule-grid article,.sector-card{background:var(--surface-card);border-color:var(--border-standard)}.civic-ranking article,.coverage-row,.supplier-row,.sector-row,.element-list span{background:var(--surface-row);border-color:var(--border-standard)}.coverage-head,.supplier-table-head{background:var(--surface-header);border-color:var(--border-standard)}.supplier-controls input,.council-search input{background:var(--surface-input);border-color:var(--border-standard)}.civic-caveat,.supplier-identity>em{background:var(--surface-soft)}.supplier-row:hover,.supplier-row.expanded,.councilor-grid>button:hover,.sector-row:hover{background:var(--surface-row-hover)}.supplier-controls{grid-template-columns:minmax(320px,.78fr) minmax(0,1.7fr);align-items:end}.category-pills{flex-wrap:wrap;align-content:center;align-items:center;gap:10px;min-width:0;display:flex}.category-pills button{white-space:nowrap;flex:none}.filter-result{flex-wrap:wrap;align-items:center;gap:4px;display:flex}@media (width<=1000px){.supplier-controls{grid-template-columns:1fr}.category-pills{scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding:2px 2px 10px;overflow-x:auto}.category-pills button{scroll-snap-align:start}}.council-payments-panel .civic-caveat{margin:18px 0 0}.council-payment-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.council-payment-metrics article{border:1px solid var(--line);background:#f3f6f3;border-radius:12px;padding:18px}.council-payment-metrics small,.council-payment-metrics strong{display:block}.council-payment-metrics small{color:#526775;font-size:11px}.council-payment-metrics strong{margin:8px 0;font-size:25px}.council-payment-metrics p{color:#526775;margin:0;font-size:10px;line-height:1.5}.council-payment-controls{grid-template-columns:minmax(320px,1fr) 210px;gap:12px;margin-top:20px;display:grid}.council-payment-controls label>span{color:#526775;margin-bottom:7px;font-size:10px;display:block}.council-payment-controls input,.council-payment-controls select{border:1px solid var(--line);color:#102a43;background:#fff;border-radius:10px;outline:none;width:100%;height:44px;padding:0 13px}.council-payment-controls input:focus,.council-payment-controls select:focus{border-color:#dce5df;box-shadow:0 0 0 3px #102a4312}.council-payment-pills{flex-wrap:wrap;gap:8px;margin:13px 0;display:flex}.council-payment-pills button{border:1px solid var(--line);color:#526775;cursor:pointer;white-space:nowrap;background:#f3f6f3;border-radius:999px;padding:8px 11px;font-size:10px}.council-payment-pills button:hover,.council-payment-pills button:focus-visible{border-color:#dce5df;outline:none}.council-payment-pills button.selected{color:#102a43;background:var(--green);border-color:var(--green);font-weight:800}.council-payment-result{color:#526775;margin:9px 0 12px;font-size:10px}.council-payment-result strong{color:var(--green)}.council-payment-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.council-payment-head,.council-payment-row{grid-template-columns:42px minmax(0,1fr) 95px 160px;align-items:center;gap:14px;display:grid}.council-payment-head{color:#526775;text-transform:uppercase;letter-spacing:.08em;background:#f0f4f1;padding:10px 14px;font-size:9px}.council-payment-head span:last-child{text-align:right}.council-payment-row{color:#102a43;text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #dce5df;width:100%;padding:13px 14px}.council-payment-row:hover,.council-payment-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px;background:#edf5f0}.council-payment-rank{color:#526775;font-size:11px;font-weight:800}.council-payment-identity{min-width:0}.council-payment-identity>strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.council-payment-identity>small{color:#526775;margin-top:4px;font-size:10px;display:block}.council-payment-identity>i{background:#e3ebe6;border-radius:4px;height:3px;margin-top:8px;display:block;overflow:hidden}.council-payment-identity>i b{background:linear-gradient(90deg,var(--green),#557a95);height:100%;display:block}.council-payment-events{text-align:center}.council-payment-events strong,.council-payment-events small{display:block}.council-payment-events strong{font-size:12px}.council-payment-events small{color:var(--green);margin-top:3px;font-size:8px}.council-payment-paid{text-align:right}.council-payment-paid strong,.council-payment-paid small{display:block}.council-payment-paid strong{font-size:15px}.council-payment-paid small{color:#526775;margin-top:4px;font-size:9px}.council-payment-elements{border:1px solid var(--line);border-radius:11px;margin-top:15px;display:grid;overflow:hidden}.council-payment-elements h3{background:#f0f4f1;margin:0;padding:14px;font-size:14px}.council-payment-elements span{background:#f3f6f3;border-top:1px solid #dce5df;justify-content:space-between;gap:16px;padding:10px 13px;display:flex}.council-payment-elements small{color:#526775;font-size:9px;line-height:1.4}.council-payment-elements strong{text-align:right;flex:none;font-size:10px}.council-payment-history{margin-top:16px}.council-payment-history>h3{margin:0 0 10px;font-size:16px}.council-payment-history>article{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:8px;padding:14px}.council-payment-history>article.adjustment{background:#fff7e7;border-color:#dce5df}.council-payment-history article>div{grid-template-columns:auto auto 1fr;align-items:center;gap:8px;display:grid}.council-payment-history article>div>span{color:#526775;font-size:10px}.council-payment-history article>div>b{color:#102a43;background:var(--green);border-radius:999px;justify-self:start;padding:4px 7px;font-size:8px}.council-payment-history article>div>strong{text-align:right;font-size:13px}.council-payment-history article>small{color:#087f6d;margin-top:9px;font-size:9px;display:block}.council-payment-history article>p{color:#526775;margin:8px 0;font-size:10px;line-height:1.55}.council-payment-history article>footer{color:#526775;border:0;border-top:1px solid #dce5df;padding:8px 0 0;font-size:8px;line-height:1.45;display:block}@media (width<=700px){.council-payment-metrics,.council-payment-controls{grid-template-columns:1fr}.council-payment-pills{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:8px;overflow-x:auto}.council-payment-head{display:none}.council-payment-row{grid-template-columns:27px minmax(0,1fr) 66px;gap:9px}.council-payment-events{grid-area:1/3}.council-payment-paid{text-align:left;grid-column:2/-1}.council-payment-paid small{margin-left:8px;display:inline}.council-payment-history article>div{grid-template-columns:auto 1fr}.council-payment-history article>div>strong{text-align:left;grid-column:1/-1}}:root{--bg:#f6f5ef;--panel:#fff;--line:#dce5df;--text:#263238;--muted:#526775;--green:#087f6d;--yellow:#80580b;--red:#a74049;--blue:#557a95;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;line-height:1.5}h1,h2,h3,.brand-copy strong,.portal-context>strong,.footer-brand{color:#102a43;font-family:Sora,Inter,system-ui,sans-serif;font-weight:600;line-height:1.2}h1,h2,h3{text-wrap:balance}button{cursor:pointer}a,button,input,select{touch-action:manipulation}:where(a,button,input,select):focus-visible{outline-offset:3px;outline:3px solid #e7b849}:where(section,[id]){scroll-margin-top:100px}.skip-link{z-index:100;color:#102a43;background:#fff;border:2px solid #087f6d;border-radius:8px;padding:12px 20px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.app-shell{background:#f6f5ef;grid-template-columns:268px minmax(0,1fr)}.sidebar{scrollbar-width:thin;scrollbar-color:#557a95 #102a43;background:#102a43;border:0;padding:28px 18px 22px;overflow-y:auto}.sidebar .brand{border-bottom:1px solid #ffffff24;align-items:center;gap:10px;padding:0 0 24px;text-decoration:none}.sidebar .brand-mark{background:0 0;border-radius:50%;flex:0 0 56px;width:56px;height:56px}.sidebar .brand-mark img{border-radius:50%;width:56px;height:56px}.sidebar .brand-copy strong{color:#fff;letter-spacing:.035em;white-space:nowrap;font-size:11px;font-weight:600}.sidebar .brand-copy small{color:#ccd9df;max-width:none;font-size:9px;line-height:1.5}.portal-context{padding:22px 10px 0}.portal-context>span{letter-spacing:.16em;color:#e7b849;font-size:9px;font-weight:700}.portal-context>strong{color:#fff;letter-spacing:-.04em;margin-top:5px;font-size:27px;display:block}.portal-context strong small{color:#a9c1ca;font-size:15px}.portal-context p{color:#bbd0d8;margin:5px 0 0;font-size:10px}.sidebar nav{gap:5px;margin-top:24px}.sidebar nav a{color:#d0dee5;border-left:3px solid #0000;border-radius:8px;min-height:44px;padding:11px 12px;font-size:11px}.sidebar nav a span{color:#9bb6c3;font-size:16px}.sidebar nav a.active,.sidebar nav a:hover{color:#fff;background:#1a4356;border-left-color:#e7b849}.sidebar nav a.active span{color:#e7b849}.network-link{color:#d9e6e9;margin:24px 10px 20px;font-size:10px;text-decoration:none;display:block}.network-link:hover{color:#e7b849}.sidebar-note{color:#c8d8e0;border-top:1px solid #ffffff24;margin-top:auto;padding:18px 10px 0;font-size:10px}.sidebar-note strong{color:#fff;font-size:13px}.sidebar-note small{color:#bbd0d8;font-size:10px}.sidebar-note .live-dot{box-shadow:none;background:#e7b849}.topbar{background:#f6f5eff2;border-color:#dce5df;height:80px;padding:0 36px}.topbar small{color:#60757e;letter-spacing:.12em;font-size:9px}.topbar strong{color:#102a43;font-size:14px;font-weight:600}.top-home{color:#087f6d;margin-left:auto;padding:10px 14px;font-size:10px;font-weight:600;text-decoration:none}.mvp-badge{color:#72500f;letter-spacing:.06em;background:#f8eed2;border:1px solid #e8d397;margin-left:10px;padding:7px 11px;font-size:9px}.page{max-width:1560px;padding:38px 36px 56px}.intro{align-items:center;gap:26px;margin-bottom:28px}.intro h1{letter-spacing:-.045em;max-width:790px;font-size:clamp(28px,2.8vw,43px);line-height:1.18}.intro>div>p:last-child{color:#526775;max-width:710px;font-size:13px;line-height:1.7}.eyebrow{color:#087f6d;letter-spacing:.14em;font-size:9px}.period{background:#f0f3ed;border:1px solid #dce5df;border-left:3px solid #e7b849;border-radius:8px;min-width:220px;padding:14px 16px}.period strong{color:#102a43;font-size:12px}.period small{color:#087f6d}.metric-card,.supplier-metric,.civic-metric{background:#fff;border:1px solid #dce5df;border-radius:12px;min-height:160px;padding:20px;box-shadow:0 3px 12px #102a4304}.metric-card>strong,.supplier-metric>strong,.civic-metric>strong{color:#102a43;letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(23px,2.1vw,33px);font-weight:650}.metric-card>small,.supplier-metric>small,.civic-metric>small{color:#526775;margin-top:24px;font-size:11px}.metric-card p,.supplier-metric p,.civic-metric p{color:#526775;font-size:10px;line-height:1.5}.status{font-size:8px;top:13px;right:13px}.status.ok{color:#087f6d;background:#edf7f1;border-color:#bddacf}.status.warn{color:#80580b;background:#fff8e6;border-color:#ead49c}.status.info{color:#315f7d;background:#eff5f8;border-color:#c4d6e1}.supplier-metric>span,.civic-metric>span{color:#087f6d;border-color:#bddacf}.civic-metric.warn>span{color:#80580b;border-color:#ead49c}.allocation,.quality,.method,.flow-panel,.financial-health,.supplier-panel,.sector-section,.procurement-panel,.source-overview,.sources-catalog,.coverage-panel,.rules-panel,.civic-panel{background:#fff;border-color:#dce5df;border-radius:12px;margin-top:20px;padding:26px;box-shadow:0 3px 14px #102a4303}.section-heading h2,.method h2,.source-overview h2,.civic-split h2,.method-card h2{letter-spacing:-.035em;font-size:clamp(21px,2vw,29px)}.scope-pill{color:#526775;background:#f5f7f3;border-color:#dce5df;font-size:10px}.section-heading .eyebrow{margin-bottom:8px}.monthly-chart{height:280px}.month-value,.month-value small{font-size:9px}.month-value small{color:#557a95}.month-bars{border-color:#dce5df}.revenue-bar{background:#087f6d}.paid-bar{background:#557a95}.chart-legend{color:#526775;font-size:10px}.rev-dot{background:#087f6d}.paid-dot{background:#557a95}.flow-summary{background:#f6f8f4;border-radius:8px;margin-top:20px;padding:16px}.flow-summary strong{color:#102a43;font-size:16px}.flow-summary small{color:#526775;font-size:10px}.stage-tabs,.mode-tabs{background:#f1f5f1;border-color:#dce5df}.stage-tabs button,.mode-tabs button{color:#526775;min-height:36px;font-size:11px}.stage-tabs button.selected,.mode-tabs button.selected{color:#fff;box-shadow:none;background:#087f6d}.donut{box-shadow:none;width:210px}.donut>div{background:#fff}.donut strong,.donut-wrap p strong{color:#102a43}.rank-body strong{color:#263238}.rank-body span{color:#526775}.percent{color:#102a43;font-size:14px}.crosscut-grid article,.quality-card,.health-card,.source-card,.rule-grid article,.council-composition article,.council-payment-metrics article,.legislative-metrics article{background:#f8faf7}.crosscut-value strong,.health-card>strong{color:#102a43}.crosscut-grid p strong{color:#263238}.crosscut-grid em{color:#80580b}.quality-card.ok .quality-icon{color:#087f6d;background:#e5f2eb}.quality-card.warn .quality-icon{color:#80580b;background:#faedcc}.quality-card.info .quality-icon{color:#315f7d;background:#e7f0f5}.method{background:#edf4ee}.category-pills button,.council-payment-pills button{color:#526775;background:#f6f8f4;border-color:#dce5df;min-height:36px;font-size:10px}.category-pills button.selected,.council-payment-pills button.selected{color:#fff;background:#087f6d;border-color:#087f6d}.supplier-controls input,.council-search input,.council-payment-controls input,.council-payment-controls select{color:#263238;background:#fff;border-color:#ccd8d1;min-height:44px}.supplier-row,.council-payment-row,.councilor-grid>button,.sector-row{color:#263238;background:#fff}.supplier-row:hover,.council-payment-row:hover,.councilor-grid>button:hover,.sector-row:hover{background:#f0f6f1}.supplier-identity>i b,.council-payment-identity>i b,.civic-ranking em{background:#087f6d}.supplier-table-head,.council-payment-head{color:#526775;background:#eff4ef}.supplier-paid strong,.council-payment-paid strong{color:#102a43}.supplier-modal,.council-modal{color:#263238;background:#fff;border-color:#dce5df;box-shadow:0 24px 80px #102a4326}.modal-close{color:#102a43;background:#eff4ef;min-width:40px;min-height:40px}.supplier-modal h2,.council-modal h2{color:#102a43}.detail-caveat{color:#80580b;background:#fff7e7;border-color:#e7b849}.contract-top span,.council-payment-history article>div>b{color:#086757;background:#e9f3ee}.council-payment-history article>div>b.negative{color:#80580b;background:#faedcc}.contract-list article,.detail-objects p{background:#f7f9f5}.councilor-initial{color:#087f6d;background:#e9f3ee}.councilor-grid p b{color:#263238}.load-more{color:#087f6d;background:#edf6ef;border-color:#bddacf;min-height:40px}.load-more:hover,.modal-sources a:hover{color:#fff;background:#087f6d}.sector-value{color:#102a43}.portal-footer{background:#edf1eb;border-top:1px solid #dce5df;justify-content:space-between;align-items:flex-start;gap:32px;padding:28px 36px}.portal-footer>div:first-child{max-width:660px}.portal-footer .footer-brand{color:#102a43;margin:0 0 6px;font-size:16px;font-weight:600;text-decoration:none;display:block}.portal-footer span{color:#526775;font-size:10px;font-weight:500;display:block}.portal-footer p{color:#526775;margin-top:7px;font-size:10px;line-height:1.7}.footer-links{flex:none;gap:9px;display:grid}.footer-links a{color:#087f6d;margin:0;font-size:10px}.menu{color:#102a43}.menu-backdrop{background:#102a4380}.menu-close{color:#fff;background:#1a4356;border-color:#537387}@media (width>=1001px) and (height<=850px){.sidebar{padding-top:20px}.sidebar .brand{padding-bottom:18px}.portal-context{padding-top:16px}.sidebar nav{gap:2px;margin-top:18px}.sidebar nav a{min-height:37px;padding:8px 10px}.network-link{margin:18px 10px}.sidebar-note{padding-top:12px}}@media (width<=1250px) and (width>=1001px){.app-shell{grid-template-columns:248px minmax(0,1fr)}.page{padding:30px 24px}.topbar{padding:0 24px}.metrics,.supplier-metrics,.civic-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.allocation-grid{grid-template-columns:220px minmax(0,1fr);gap:20px}.donut-wrap{padding-right:20px}.intro{flex-direction:column;align-items:flex-start}.period{align-self:stretch}.health-grid,.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-overview{grid-template-columns:1fr}}@media (width<=1000px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(86vw,320px)}.sidebar .menu-close{display:grid}.sidebar .brand{padding-right:38px}.sidebar .brand-copy strong{white-space:normal;max-width:145px}.topbar{height:76px}.page{padding:30px 24px 44px}.menu:hover,.menu:focus-visible{color:#087f6d;background:#e9f3ee}.portal-footer{padding:24px}.sidebar-note{margin-top:16px}}@media (width<=700px){.top-home{display:none}.topbar{padding:10px 14px}.topbar small{font-size:8px}.topbar strong{font-size:12px}.mvp-badge{margin-left:auto;padding:7px;font-size:8px}.page{padding:26px 16px 38px}.intro{gap:18px}.intro h1{font-size:30px}.intro>div>p:last-child{font-size:12px}.period{width:100%}.allocation,.quality,.method,.flow-panel,.financial-health,.supplier-panel,.sector-section,.procurement-panel,.source-overview,.sources-catalog,.coverage-panel,.rules-panel,.civic-panel{padding:18px}.section-heading{align-items:flex-start}.section-heading h2,.method h2{font-size:23px}.stage-tabs{justify-content:space-between;align-self:stretch}.stage-tabs button{padding:8px 12px}.monthly-chart{gap:5px;height:220px}.flow-summary{gap:16px;padding:14px}.flow-summary span{border:0;padding:0}.allocation-grid{gap:20px}.donut-wrap{border-right:0;padding:0}.portal-footer{flex-direction:column;gap:22px;padding:24px 16px}.footer-links{grid-template-columns:1fr 1fr;gap:14px 24px}.supplier-controls{grid-template-columns:1fr}.category-pills{max-height:none}.council-search input{width:100%}.source-pipeline{grid-template-columns:1fr}.source-pipeline i{transform:rotate(90deg)}.source-overview,.method{grid-template-columns:1fr}.section-heading,.crosscut-heading{flex-wrap:wrap}.civic-metric>strong{font-size:28px}}@media (width<=560px){.metrics,.supplier-metrics,.civic-metrics,.health-grid,.quality-grid{grid-template-columns:1fr}.metric-card,.supplier-metric,.civic-metric{min-height:145px}.metric-card .status{margin-bottom:12px;display:inline-flex;position:static}.metric-card>small,.supplier-metric>small,.civic-metric>small{margin-top:0}.supplier-metric>span,.civic-metric>span{align-self:flex-start;margin-bottom:12px;display:inline-flex;position:static}.civic-metric{flex-direction:column;display:flex}.monthly-chart{grid-template-columns:repeat(12,minmax(30px,1fr));padding-bottom:8px;overflow-x:auto}.intro h1{font-size:29px}.scope-pill{white-space:normal}.council-payment-controls{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.sidebar .menu-close:hover,.sidebar .menu-close:focus-visible{color:#e7b849;border-color:#e7b849}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
