.project-list-page{max-width:1200px}.pl-filters{margin-bottom:1rem}.pl-result-count{font-size:.8rem;color:var(--color-text-muted);margin-top:.5rem}.pl-desktop{display:block}.pl-mobile{display:none}@media (max-width: 767px){.pl-desktop{display:none}.pl-mobile{display:block}}.pl-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.pl-table{width:100%;border-collapse:collapse;font-size:.85rem}.pl-table thead th{text-align:left;padding:.7rem .75rem;font-weight:600;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);white-space:nowrap}.pl-table tbody td{padding:.65rem .75rem;border-bottom:1px solid var(--color-border)}.pl-row{cursor:pointer;transition:background .1s}.pl-row:hover{background:#f8fafc}.pl-ref{font-weight:600;color:var(--color-primary);white-space:nowrap}.pl-name{min-width:300px;white-space:normal;line-height:1.3}.pl-agency{max-width:200px;white-space:normal;line-height:1.3}.pl-search-btn{padding:.4rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:.825rem;font-weight:500;cursor:pointer}.pl-search-btn:hover{opacity:.9}.pl-clear-btn{padding:.4rem .75rem;background:none;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.8rem;color:var(--color-text-secondary);cursor:pointer}.pl-right{text-align:right!important}.pl-empty{text-align:center;padding:2rem!important;color:var(--color-text-muted)}.pl-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:.5rem;cursor:pointer}.pl-card:active{box-shadow:var(--shadow-md)}.pl-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.pl-card__ref{font-weight:600;font-size:.8rem;color:var(--color-primary)}.pl-card__district{font-size:.7rem;color:var(--color-text-muted);background:var(--color-bg);padding:.1rem .4rem;border-radius:4px}.pl-card__name{font-size:.875rem;font-weight:500;margin-bottom:.35rem}.pl-card__meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-text-secondary)}.pl-card__stats{display:flex;gap:.75rem}.pl-card__stats span{font-weight:500}.pl-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding:.75rem}.pl-page-btn{padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-primary);font-size:.825rem;font-weight:500}.pl-page-btn:disabled{color:var(--color-text-muted);cursor:not-allowed}.pl-page-info{font-size:.825rem;color:var(--color-text-secondary)}.pl-skeleton{display:flex;flex-direction:column;gap:.5rem}.pl-skeleton__row{height:48px;background:linear-gradient(90deg,var(--color-border) 25%,#e8ecf1 50%,var(--color-border) 75%);background-size:200% 100%;animation:pl-shimmer 1.5s infinite;border-radius:var(--radius)}@keyframes pl-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.project-header{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1.25rem;margin-bottom:1.5rem}.project-header__breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;line-height:1;margin-bottom:.75rem;flex-wrap:wrap}.project-header__breadcrumb a,.project-header__separator,.project-header__current{display:inline-flex;align-items:center;line-height:1;vertical-align:middle}.project-header__breadcrumb a{color:var(--color-primary, #2563eb);text-decoration:none}.project-header__breadcrumb a:hover{text-decoration:underline}.project-header__separator{color:var(--color-text-muted, #9ca3af);font-size:.75rem}.project-header__current{color:var(--color-text-secondary, #6b7280);font-weight:600}.project-header__main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.project-header__title-block{flex:1;min-width:0}.project-header__ref{font-size:1.375rem;font-weight:700;color:var(--color-text);line-height:1.3}.project-header__name{font-size:.875rem;color:var(--color-text-secondary);margin-top:.25rem;line-height:1.4}.project-header__phase-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.project-header__meta{display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.project-header__meta-item{display:flex;flex-direction:column;gap:.125rem}.project-header__meta-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:500}.project-header__meta-value{font-size:.8125rem;color:var(--color-text);font-weight:500}@media (max-width: 639px){.project-header__meta{gap:1rem}.project-header__meta-item{min-width:calc(50% - .5rem)}.project-header__ref{font-size:1.125rem}}.project-overview{display:flex;flex-direction:column;gap:1.25rem}.pov-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 640px){.pov-stat-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.pov-stat-grid{grid-template-columns:repeat(6,1fr)}}.pov-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;text-align:center}.pov-stat-card__label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.375rem;font-weight:500}.pov-stat-card__value{font-size:1.125rem;font-weight:700;color:var(--color-text);line-height:1.2}.pov-stat-card__sub{font-size:.75rem;color:var(--color-text-secondary);margin-top:.25rem}.pov-mini-bar{margin-top:.5rem}.pov-mini-bar__label-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-secondary);margin-bottom:.375rem}.pov-mini-bar__track{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--color-border)}.pov-mini-bar__fill--paid{background:var(--color-success);transition:width .5s ease}.pov-mini-bar__fill--outstanding{background:var(--color-warning);transition:width .5s ease}.pov-mini-bar__legend{display:flex;gap:1.5rem;margin-top:.5rem;font-size:.75rem;color:var(--color-text-secondary)}.pov-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.25rem;vertical-align:middle}.pov-dot--paid{background:var(--color-success)}.pov-dot--out{background:var(--color-warning)}.pov-disbursed-line{font-size:.8125rem;color:var(--color-text-secondary);margin-top:.75rem}.pov-section{margin:0}.pov-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 640px){.pov-facts{grid-template-columns:repeat(3,1fr)}}.pov-facts__item dt{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.125rem}.pov-facts__item dd{font-size:.875rem;font-weight:500;color:var(--color-text)}.pov-type-table-wrap{overflow-x:auto}.pov-type-table{width:100%;border-collapse:collapse;font-size:.8125rem;table-layout:fixed}.pov-type-table th{font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:.625rem .75rem;border-bottom:2px solid var(--color-border)}.pov-type-table th:first-child{text-align:left;width:30%}.pov-type-table td{padding:.625rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.pov-type-table td:first-child{font-weight:500}.pov-type-table__right{text-align:right;font-variant-numeric:tabular-nums}.parcel-table{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1rem}.ptbl-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.ptbl-search{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;background:var(--color-surface);color:var(--color-text)}.ptbl-search:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 2px #3b82f626}.ptbl-count{font-size:.8125rem;color:var(--color-text-muted);white-space:nowrap}.ptbl-desktop{display:block}.ptbl-mobile{display:none}@media (max-width: 767px){.ptbl-desktop{display:none}.ptbl-mobile{display:block}}.ptbl-table-wrap{overflow-x:auto}.ptbl-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ptbl-table{table-layout:fixed}.ptbl-th{text-align:left;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:.625rem .5rem;border-bottom:2px solid var(--color-border);-webkit-user-select:none;user-select:none;white-space:nowrap}.ptbl-th--sortable{cursor:pointer}.ptbl-th--sortable:hover{color:var(--color-text);background:#f8fafc}.ptbl-right{text-align:right;font-variant-numeric:tabular-nums}.ptbl-td{padding:.5rem;border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.ptbl-td--pid{color:var(--color-text-muted);font-size:.75rem}.ptbl-td--title{font-weight:500;font-family:Fira Code,Courier New,monospace;font-size:.8125rem}.ptbl-td--owner{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptbl-row:hover{background:#f8fafc}.ptbl-empty{text-align:center;padding:2rem;color:var(--color-text-muted)}.ptbl-sort-icon{font-size:.625rem;margin-left:.25rem}.ptbl-sort-icon--inactive{opacity:.4}.ptbl-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;margin-bottom:.5rem;cursor:pointer;transition:box-shadow .15s}.ptbl-card:active{box-shadow:var(--shadow-md)}.ptbl-card__row{display:flex;justify-content:space-between;align-items:center}.ptbl-card__title{font-weight:600;font-size:.875rem;color:var(--color-text)}.ptbl-card__summary{margin-top:.375rem;font-size:.8125rem;color:var(--color-text-secondary)}.ptbl-card__details{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border);display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ptbl-card__detail{display:flex;flex-direction:column}.ptbl-card__label{font-size:.6875rem;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.04em}.ptbl-empty-mobile{text-align:center;padding:2rem;color:var(--color-text-muted)}.ptbl-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.ptbl-page-btn{padding:.375rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-primary-light);font-size:.8125rem;font-weight:500}.ptbl-page-btn:disabled{opacity:.4;cursor:not-allowed}.ptbl-page-btn:not(:disabled):hover{background:var(--color-bg)}.ptbl-page-info{font-size:.8125rem;color:var(--color-text-secondary)}.financial-breakdown{display:flex;flex-direction:column;gap:1.25rem}.fin-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 640px){.fin-summary-grid{grid-template-columns:repeat(4,1fr)}}.fin-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;text-align:center}.fin-summary-card__label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.375rem;font-weight:500}.fin-summary-card__value{font-size:1.125rem;font-weight:700;line-height:1.2}.fin-chart-section{padding:1.25rem}.fin-stacked__row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.fin-stacked__label{width:100px;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-align:right;flex-shrink:0}.fin-stacked__bar-wrap{flex:1;min-width:0}.fin-stacked__track{position:relative;height:20px;background:var(--color-bg);border-radius:4px;overflow:hidden}.fin-stacked__fill{position:absolute;top:0;left:0;height:100%;border-radius:4px;transition:width .4s ease}.fin-stacked__vals{width:80px;flex-shrink:0;font-size:.75rem;color:var(--color-text-secondary);text-align:right}.fin-stacked__legend{display:flex;gap:1.5rem;margin-top:.75rem;padding-left:108px;font-size:.75rem;color:var(--color-text-secondary)}.fin-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.25rem;vertical-align:middle}.fin-dot--offered{background:var(--color-text-muted);opacity:.4}.fin-dot--paid{background:var(--color-text-muted)}@media (max-width: 639px){.fin-stacked__row{flex-direction:column;align-items:stretch;gap:.25rem}.fin-stacked__label{text-align:left;width:auto}.fin-stacked__vals{width:auto;text-align:left}.fin-stacked__legend{padding-left:0}}.fin-table-section{padding:1.25rem}.fin-table-wrap{overflow-x:auto}.fin-table{width:100%;border-collapse:collapse;font-size:.8125rem;table-layout:fixed}.fin-table th{font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:.625rem .75rem;border-bottom:2px solid var(--color-border)}.fin-table th:first-child{text-align:left}.fin-table td{padding:.625rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.fin-table td:first-child{font-weight:500}.fin-table__right{text-align:right;font-variant-numeric:tabular-nums}.fin-table__total td{border-top:2px solid var(--color-border);border-bottom:none;padding-top:.75rem}.fin-type-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.5rem;vertical-align:middle}.gazette-timeline{display:flex;flex-direction:column;gap:1.25rem}.gaz-tl__card{padding:1.25rem}.gaz-tl__card h2{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.gaz-tl__section-badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:500;background:#dbeafe;color:#1e40af}.gaz-tl__remarks{font-size:.8125rem;color:var(--color-text-secondary);margin-top:.25rem;margin-bottom:.75rem}.gaz-tl__timeline{margin-top:1rem}.gaz-tl__step{display:flex;gap:.875rem;min-height:70px}.gaz-tl__indicator{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0}.gaz-tl__dot{width:14px;height:14px;border-radius:50%;border:2px solid transparent;flex-shrink:0}.gaz-tl__dot--completed{background:var(--color-success);border-color:var(--color-success)}.gaz-tl__dot--pending{background:#fef3c7;border-color:var(--color-warning)}.gaz-tl__dot--not_started{background:#f1f5f9;border-color:var(--color-border)}.gaz-tl__line{flex:1;width:2px;margin:4px 0}.gaz-tl__line--completed{background:var(--color-success)}.gaz-tl__line--pending{background:var(--color-warning);opacity:.5}.gaz-tl__line--not_started{background:var(--color-border)}.gaz-tl__line--hidden{background:transparent}.gaz-tl__content{padding-bottom:1rem;flex:1}.gaz-tl__label{font-size:.875rem;font-weight:600;color:var(--color-text);line-height:1.3}.gaz-tl__date{font-size:.8125rem;color:var(--color-text-secondary);margin-top:.125rem}.gaz-tl__sublabel{font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem;font-family:Fira Code,Courier New,monospace}.gaz-tl__detail{font-size:.75rem;color:var(--color-text-secondary);margin-top:.125rem}.project-view{max-width:1200px;margin:0 auto}.pv-tabs-wrap{margin-bottom:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pv-tabs-wrap::-webkit-scrollbar{display:none}.pv-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);min-width:max-content}.pv-tab{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;transition:color .15s,border-color .15s}.pv-tab:hover{color:var(--color-text)}.pv-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pv-tab__count{display:inline-block;min-width:20px;padding:0 .375rem;height:18px;line-height:18px;text-align:center;border-radius:9px;font-size:.6875rem;font-weight:600;background:var(--color-bg);color:var(--color-text-secondary)}.pv-tab--active .pv-tab__count{background:#1e40af1a;color:var(--color-primary)}@media (max-width: 639px){.pv-tabs{gap:.5rem;border-bottom:none;padding:0 .25rem}.pv-tab{padding:.5rem .875rem;border:1px solid var(--color-border);border-radius:9999px;margin-bottom:0;background:var(--color-surface);font-size:.8125rem}.pv-tab--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pv-tab--active .pv-tab__count{background:#fff3;color:#fff}}.pv-content{min-height:200px}.pv-tab-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--color-text-muted);font-size:.875rem}.pv-spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary-light);border-radius:50%;animation:pv-spin .6s linear infinite}@keyframes pv-spin{to{transform:rotate(360deg)}}.pv-skeleton{max-width:1200px;margin:0 auto}.pv-skeleton__header{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);padding:1.25rem;margin-bottom:1.5rem}.pv-skeleton__bar{height:14px;background:var(--color-bg);border-radius:4px;margin-bottom:.75rem;animation:pv-pulse 1.2s ease-in-out infinite}.pv-skeleton__bar--sm{width:30%}.pv-skeleton__bar--md{width:60%}.pv-skeleton__bar--lg{width:80%;height:20px}.pv-skeleton__tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.pv-skeleton__tab{width:80px;height:32px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9999px;animation:pv-pulse 1.2s ease-in-out infinite}.pv-skeleton__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 640px){.pv-skeleton__grid{grid-template-columns:repeat(3,1fr)}}.pv-skeleton__card{height:80px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);animation:pv-pulse 1.2s ease-in-out infinite}@keyframes pv-pulse{0%,to{opacity:1}50%{opacity:.5}}.pv-error{max-width:480px;margin:3rem auto;text-align:center;padding:2rem}.pv-error__icon{width:48px;height:48px;line-height:48px;text-align:center;border-radius:50%;background:#fee2e2;color:#991b1b;font-size:1.25rem;font-weight:700;margin:0 auto 1rem}.pv-error h2{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.pv-error p{font-size:.875rem;color:var(--color-text-secondary)}.ot-container{display:flex;flex-direction:column;gap:.75rem}.ot-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.ot-toolbar-left{display:flex;align-items:center;gap:.4rem;color:var(--color-text-muted)}.ot-sort-select{font-size:.8rem;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer}.ot-count{font-size:.75rem;color:var(--color-text-muted)}.ot-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ot-table{width:100%;border-collapse:collapse;font-size:.825rem}.ot-table th{text-align:left;padding:.6rem .75rem;font-weight:600;font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);white-space:nowrap}.ot-table td{padding:.55rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.ot-row-click{cursor:pointer;transition:background .15s}.ot-row-click:hover{background:var(--color-hover, rgba(0,0,0,.03))}.ot-right{text-align:right!important}.ot-ref{font-weight:600;color:var(--color-primary);white-space:nowrap}.ot-name{white-space:normal;word-break:break-word}.ot-val-paid{color:var(--color-success, #16a34a)}.ot-val-outstanding{color:var(--color-danger, #dc2626);font-weight:600}.ot-progress-cell{display:flex;align-items:center;gap:.5rem}.ot-progress-wrap{display:flex;align-items:center;gap:.5rem;margin-top:.3rem}.ot-progress-bar{flex:1;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;min-width:60px}.ot-progress-fill{height:100%;border-radius:3px;background:var(--color-success, #16a34a);transition:width .3s ease}.ot-pct{font-size:.7rem;min-width:36px;color:var(--color-text-secondary)}.ot-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:.5rem;font-size:.8rem;color:var(--color-text-secondary)}.ot-pagination button{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:.8rem;cursor:pointer;transition:background .15s}.ot-pagination button:hover:not(:disabled){background:var(--color-hover, rgba(0,0,0,.05))}.ot-pagination button:disabled{opacity:.4;cursor:not-allowed}.ot-loading,.ot-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.875rem}.ot-cards{display:flex;flex-direction:column;gap:.5rem}.ot-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;cursor:pointer;transition:box-shadow .15s}.ot-card:active{box-shadow:var(--shadow-sm)}.ot-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.ot-card-ref{font-weight:600;color:var(--color-primary);font-size:.85rem}.ot-card-district{font-size:.7rem;color:var(--color-text-muted);background:var(--color-border);padding:.1rem .4rem;border-radius:3px}.ot-card-name{font-size:.78rem;color:var(--color-text-secondary);margin-bottom:.5rem;white-space:normal;word-break:break-word}.ot-card-row{display:flex;justify-content:space-between;font-size:.78rem;padding:.15rem 0;color:var(--color-text-secondary)}.ot-val{font-weight:500}@media (max-width: 767px){.ot-toolbar{flex-direction:column;align-items:flex-start}}.cb-container{display:flex;flex-direction:column;gap:1rem}.cb-chart{width:100%}.cb-detail-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.cb-detail-table table{width:100%;border-collapse:collapse;font-size:.8rem}.cb-detail-table th{text-align:left;padding:.5rem .6rem;font-weight:600;font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid var(--color-border);white-space:nowrap}.cb-detail-table td{padding:.45rem .6rem;border-bottom:1px solid var(--color-border);color:var(--color-text);white-space:nowrap}.cb-right{text-align:right!important}.cb-cat-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;vertical-align:middle}.cb-pct{font-weight:600;font-size:.75rem}.cb-pct-good{color:var(--color-success, #16a34a)}.cb-pct-low{color:var(--color-warning, #d97706)}.cb-loading,.cb-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.85rem}@media (max-width: 767px){.cb-detail-table{font-size:.75rem}}.osc-container{display:flex;flex-direction:column;gap:1rem}.osc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.osc-subtitle{font-size:.78rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 .5rem}.osc-chips{display:flex;flex-wrap:wrap;gap:.5rem}.osc-chip{display:flex;align-items:center;gap:.5rem;padding:.35rem .7rem;border-radius:var(--radius);border:1px solid var(--color-border);border-left-width:3px;font-size:.75rem;background:var(--color-surface)}.osc-chip-label{font-weight:600;color:var(--color-text);min-width:65px}.osc-chip-count{color:var(--color-text-secondary)}.osc-chip-amount{color:var(--color-text-muted);font-size:.7rem}.osc-loading,.osc-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.85rem}@media (max-width: 767px){.osc-grid{grid-template-columns:1fr}.osc-chips{flex-direction:column}}.fa-container{display:flex;flex-direction:column;gap:1rem}.fa-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.fa-subtitle{font-size:.78rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 .5rem}.fa-summary-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.fa-summary-table table{width:100%;border-collapse:collapse;font-size:.8rem}.fa-summary-table th{text-align:left;padding:.5rem .6rem;font-weight:600;font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid var(--color-border);white-space:nowrap}.fa-summary-table td{padding:.45rem .6rem;border-bottom:1px solid var(--color-border);color:var(--color-text);white-space:nowrap}.fa-right{text-align:right!important}.fa-source-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;vertical-align:middle}.fa-outstanding{color:var(--color-danger, #dc2626);font-weight:600}.fa-loading,.fa-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.85rem}@media (max-width: 767px){.fa-grid{grid-template-columns:1fr}}.fs-page{display:flex;flex-direction:column;gap:1.25rem}.fs-loading-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;gap:1rem;color:var(--color-text-muted)}.fs-error{text-align:center;padding:3rem 1rem;color:var(--color-danger, #dc2626);font-size:.9rem}.fs-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.fs-row-2{display:flex;gap:1rem}.fs-insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.fs-district-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.fs-district-table{width:100%;border-collapse:collapse;font-size:.825rem}.fs-district-table th{text-align:left;padding:.6rem .75rem;font-weight:600;font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);white-space:nowrap}.fs-district-table td{padding:.55rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.fs-district-table tbody tr:hover{background:var(--color-hover, rgba(0,0,0,.02))}.fs-right{text-align:right!important}.fs-district-name{font-weight:500}.fs-paid{color:var(--color-success, #16a34a)}.fs-outstanding{color:var(--color-danger, #dc2626);font-weight:600}.fs-progress-cell{display:flex;align-items:center;gap:.5rem}.fs-progress-bar{flex:1;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;min-width:60px}.fs-progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.fs-pct{font-size:.7rem;min-width:36px;color:var(--color-text-secondary)}@media (max-width: 767px){.fs-kpi-grid{grid-template-columns:1fr 1fr}.fs-row-2{flex-direction:column}.fs-insights-grid{grid-template-columns:1fr}}@media (max-width: 480px){.fs-kpi-grid{grid-template-columns:1fr 1fr;gap:.5rem}}.grp-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1.25rem;cursor:pointer;transition:box-shadow .2s,transform .15s}.grp-card:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.08));transform:translateY(-2px)}.grp-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.grp-card__title-area{flex:1;min-width:0}.grp-card__name{font-size:.95rem;font-weight:700;color:var(--color-text);margin:0;line-height:1.3}.grp-card__badge{display:inline-block;margin-top:.3rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--color-primary-bg, #eff6ff);color:var(--color-primary, #3b82f6);padding:.15rem .5rem;border-radius:100px}.grp-gauge{position:relative;flex-shrink:0}.grp-gauge svg{width:100%;height:100%}.grp-gauge__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--color-text)}.grp-card__metrics{display:flex;gap:1.25rem;margin-bottom:.75rem}.grp-card__metric{display:flex;align-items:center;gap:.3rem}.grp-card__metric-icon{color:var(--color-text-muted)}.grp-card__metric-val{font-size:.85rem;font-weight:700;color:var(--color-text)}.grp-card__metric-lbl{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.grp-card__financial{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem;padding:.6rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.grp-card__fin-row{display:flex;justify-content:space-between;align-items:center}.grp-card__fin-label{font-size:.75rem;color:var(--color-text-muted)}.grp-card__fin-value{font-size:.8rem;font-weight:600}.grp-card__fin-offered{color:var(--color-primary, #3b82f6)}.grp-card__fin-paid{color:var(--color-success, #16a34a)}.grp-card__fin-outstanding{color:var(--color-warning, #d97706)}.grp-card__progress-track{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.grp-card__progress-fill{height:100%;border-radius:3px;transition:width .4s ease}.grp-card__footer{display:flex;justify-content:space-between;align-items:center}.grp-card__footer-text{font-size:.7rem;color:var(--color-text-muted)}.grp-card__arrow{color:var(--color-text-muted);transition:transform .15s}.grp-card:hover .grp-card__arrow{transform:translate(3px);color:var(--color-primary, #3b82f6)}@media (max-width: 768px){.grp-card{padding:1rem}.grp-card__name{font-size:.9rem}}.grp-page{max-width:1200px}.grp-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;margin-top:1.5rem}.grp-error{text-align:center;padding:3rem 1rem;color:var(--color-danger, #dc2626)}.grp-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted);font-size:.9rem}@media (max-width: 768px){.grp-cards-grid{grid-template-columns:1fr}}.grp-fin-chart{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1.25rem}.grp-fin-chart__title{font-size:.9rem;font-weight:600;color:var(--color-text);margin:0 0 .75rem}.grp-fin-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.6rem .8rem;font-size:.8rem;box-shadow:var(--shadow-sm)}.grp-fin-tooltip__title{font-weight:600;margin-bottom:.35rem;color:var(--color-text)}.grp-fin-tooltip__row{display:flex;align-items:center;gap:.4rem;padding:.1rem 0}.grp-fin-tooltip__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.grp-fin-tooltip__label{color:var(--color-text-secondary);flex:1}.grp-fin-tooltip__value{font-weight:600;color:var(--color-text)}.grp-fin-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.85rem}@media (max-width: 768px){.grp-fin-chart{padding:.75rem}}.grpd-page{max-width:1200px}.grpd-back{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--color-primary, #3b82f6);font-size:.85rem;font-weight:500;cursor:pointer;padding:.3rem 0;margin-bottom:.75rem}.grpd-back:hover{text-decoration:underline}.grpd-header{margin-bottom:1.25rem}.grpd-header__title{font-size:1.3rem;font-weight:700;color:var(--color-text);margin:0 0 .25rem}.grpd-header__badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--color-primary-bg, #eff6ff);color:var(--color-primary, #3b82f6);padding:.15rem .6rem;border-radius:100px;margin-right:.5rem}.grpd-header__meta{font-size:.8rem;color:var(--color-text-muted);margin-top:.3rem}.grpd-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.grpd-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.grpd-table{width:100%;border-collapse:collapse;font-size:.82rem}.grpd-table th{text-align:left;font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);padding:.6rem .5rem;border-bottom:2px solid var(--color-border);white-space:nowrap}.grpd-table td{padding:.55rem .5rem;border-bottom:1px solid var(--color-border);color:var(--color-text);white-space:nowrap}.grpd-table__row{cursor:pointer;transition:background .1s}.grpd-table__row:hover{background:var(--color-hover, rgba(0,0,0,.02))}.grpd-table__ref{font-weight:600;color:var(--color-primary, #3b82f6)}.grpd-table__gaz{font-size:.75rem;color:var(--color-text-muted)}.grpd-right{text-align:right!important}.grpd-pct-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:100px}.grpd-pct-badge--success{background:#dcfce7;color:#15803d}.grpd-pct-badge--warning{background:#fef3c7;color:#92400e}.grpd-pct-badge--danger{background:#fee2e2;color:#b91c1c}.grpd-timeline{display:flex;flex-direction:column;gap:.4rem;max-height:400px;overflow-y:auto}.grpd-timeline__row{display:flex;align-items:center;gap:.5rem}.grpd-timeline__label{width:90px;font-size:.72rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.grpd-timeline__bar-track{flex:1;height:10px;background:var(--color-border);border-radius:5px;position:relative;overflow:hidden}.grpd-timeline__bar{position:absolute;top:0;left:0;height:100%;border-radius:5px}.grpd-timeline__bar--offered{background:#93c5fd;z-index:1}.grpd-timeline__bar--paid{background:#16a34a;z-index:2}.grpd-timeline__pct{width:42px;text-align:right;font-size:.7rem;font-weight:600;color:var(--color-text-secondary);flex-shrink:0}.grpd-timeline__legend{display:flex;gap:1rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.grpd-timeline__legend-item{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--color-text-muted)}.grpd-timeline__dot{width:8px;height:8px;border-radius:50%}.grpd-timeline__dot--offered{background:#93c5fd}.grpd-timeline__dot--paid{background:#16a34a}.grpd-mobile-cards{display:none}.grpd-mobile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;cursor:pointer}.grpd-mobile-card:active{background:var(--color-hover, rgba(0,0,0,.02))}.grpd-mobile-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.grpd-mobile-card__ref{font-weight:600;font-size:.85rem;color:var(--color-primary, #3b82f6)}.grpd-mobile-card__meta{font-size:.72rem;color:var(--color-text-muted);margin-bottom:.5rem}.grpd-mobile-card__fin{display:flex;gap:1.5rem}.grpd-mobile-card__fin>div{display:flex;flex-direction:column}.grpd-mobile-card__label{font-size:.65rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.grpd-mobile-card__val{font-size:.82rem;font-weight:600;color:var(--color-text)}.grpd-error{text-align:center;padding:3rem 1rem;color:var(--color-danger, #dc2626)}@media (max-width: 768px){.grpd-header__title{font-size:1.1rem}.grpd-charts-grid{grid-template-columns:1fr}.grpd-table-wrap{display:none}.grpd-mobile-cards{display:flex;flex-direction:column;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:.5rem}.grpd-mobile-card{scroll-snap-align:start;min-width:260px;flex-shrink:0}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-view{position:relative;height:calc(100vh - var(--header-height, 56px) - 32px);min-height:400px;display:flex;flex-direction:column}.map-wrapper{position:relative;flex:1;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.map-leaflet{z-index:1}.map-loading-overlay{position:absolute;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;background:#ffffffeb;font-size:.85rem;font-weight:500;color:var(--color-primary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.map-spinner{animation:spin 1s linear infinite}.map-legend{position:absolute;bottom:1rem;left:1rem;z-index:800;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-md);font-size:.75rem;max-width:200px}.map-legend-toggle{display:block;width:100%;padding:.4rem .75rem;background:none;border:none;font-weight:600;font-size:.75rem;color:var(--color-text);text-align:left;cursor:pointer}.map-legend-toggle:hover{background:var(--color-bg)}.map-legend-body{padding:0 .75rem .5rem}.map-legend-title{font-weight:600;margin-bottom:.2rem;color:var(--color-text-secondary);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.map-legend-item{display:flex;align-items:center;gap:.35rem;padding:.1rem 0}.map-legend-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 0 0 .5px #00000026;flex-shrink:0}.map-legend-swatch{width:14px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.map-sidebar{position:absolute;top:0;right:0;bottom:0;width:320px;z-index:800;background:var(--color-surface);box-shadow:-2px 0 12px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s ease}.map-sidebar-close{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;border:none;background:var(--color-bg);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);z-index:2}.map-sidebar-close:hover{background:var(--color-border);color:var(--color-text)}.map-sidebar-collapse{display:none}.map-sidebar-content{flex:1;overflow-y:auto;padding:1rem}.map-sidebar-section{padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--color-border)}.map-sidebar-section:last-child{border-bottom:none}.map-sidebar-heading{font-size:1rem;font-weight:700;color:var(--color-text);margin:0 0 .15rem}.map-sidebar-subtext{font-size:.8rem;color:var(--color-text-secondary);margin:.1rem 0}.map-sidebar-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}.map-sidebar-stat{display:flex;flex-direction:column}.map-sidebar-stat-value{font-size:.95rem;font-weight:700;color:var(--color-text)}.map-sidebar-stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.map-sidebar-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.8rem;color:var(--color-primary-light);font-weight:500}.map-sidebar-link:hover{text-decoration:underline}.map-sidebar-parcel-list{max-height:300px;overflow-y:auto}.map-sidebar-parcel-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.78rem;border-bottom:1px solid var(--color-bg)}.map-sidebar-parcel-lot{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-sidebar-parcel-cat{color:var(--color-text-secondary);flex-shrink:0;margin:0 .5rem;font-size:.72rem}.map-sidebar-parcel-area{flex-shrink:0;font-size:.72rem;color:var(--color-text-muted)}@media (max-width: 768px){.map-view{height:calc(100vh - var(--mobile-nav-height, 60px))}.map-sidebar{top:auto;left:0;right:0;bottom:0;width:100%;max-height:55vh;border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -4px 16px #00000026}.map-sidebar--collapsed{max-height:44px}.map-sidebar-collapse{display:flex;align-items:center;justify-content:center;width:100%;height:44px;border:none;background:none;color:var(--color-text-secondary)}.map-sidebar-close{top:.35rem;right:.35rem}.map-legend{bottom:auto;top:.5rem;left:.5rem;max-width:160px;font-size:.65rem}.leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important;font-size:20px!important}}.dc-selector{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem;align-items:flex-end}.dc-select-group{display:flex;flex-direction:column;gap:.25rem}.dc-select-group label{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.dc-select{padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:.825rem;min-width:160px}.dc-select:focus{outline:none;border-color:var(--color-primary)}.dc-charts{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1rem}.dc-chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.dc-chart-title{font-size:.85rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem}.dc-highlight{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;padding:.15rem .4rem;border-radius:4px}.dc-highlight--best{background:#dcfce7;color:#166534}.dc-highlight--worst{background:#fef2f2;color:#991b1b}.dc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dc-table{width:100%;border-collapse:collapse;font-size:.825rem}.dc-table thead th{padding:.6rem .75rem;font-weight:600;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);text-align:left}.dc-table thead th.dc-right{text-align:right}.dc-table tbody td{padding:.6rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.dc-table tbody td.dc-right{text-align:right;font-variant-numeric:tabular-nums}.dc-table tbody td.dc-best{background:#f0fdf4;font-weight:600;color:#166534}.dc-table tbody td.dc-worst{background:#fef2f2;color:#991b1b}.dc-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.875rem}@media (max-width: 767px){.dc-charts{grid-template-columns:1fr}.dc-selector{flex-direction:column}.dc-select{width:100%}}.dd-summary-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.dd-controls{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.dd-search{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.85rem;background:var(--color-surface);color:var(--color-text)}.dd-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f626}.dd-sort-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;white-space:nowrap}.dd-sort-btn:hover{background:var(--color-bg)}.dd-sort-btn--active{border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.dd-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dd-table{width:100%;border-collapse:collapse;font-size:.85rem}.dd-table thead th{text-align:left;padding:.65rem .75rem;font-weight:600;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.dd-table thead th:hover{color:var(--color-primary)}.dd-table thead th.dd-right{text-align:right}.dd-table tbody td{padding:.65rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.dd-table tbody td.dd-right{text-align:right;font-variant-numeric:tabular-nums}.dd-table tbody tr{cursor:pointer;transition:background .1s}.dd-table tbody tr:hover{background:var(--color-bg)}.dd-district-name{font-weight:600;color:var(--color-primary)}.dd-progress{display:flex;align-items:center;gap:.5rem}.dd-progress-bar{flex:1;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;min-width:60px}.dd-progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.dd-progress-label{font-size:.75rem;font-weight:600;min-width:42px;text-align:right}.dd-sort-arrow{display:inline-block;margin-left:.25rem;font-size:.65rem}.dd-mobile-cards{display:none}.dd-desktop-table{display:block}.dd-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.875rem 1rem;margin-bottom:.5rem;cursor:pointer;transition:box-shadow .15s}.dd-card:hover{box-shadow:var(--shadow-sm)}.dd-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.dd-card__name{font-weight:600;color:var(--color-primary);font-size:.9rem}.dd-card__code{font-size:.75rem;color:var(--color-text-muted)}.dd-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem;margin-bottom:.5rem}.dd-card__stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase}.dd-card__stat-value{font-size:.825rem;font-weight:500;color:var(--color-text)}.dd-compare-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:.825rem;font-weight:500;cursor:pointer;white-space:nowrap}.dd-compare-btn:hover{opacity:.9}.dd-compare-btn:disabled{opacity:.5;cursor:not-allowed}.dd-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.875rem}@media (max-width: 767px){.dd-summary-bar{grid-template-columns:1fr 1fr;gap:.75rem}.dd-desktop-table{display:none}.dd-mobile-cards{display:block}.dd-controls{flex-direction:column;align-items:stretch}.dd-sort-group{display:flex;gap:.5rem;flex-wrap:wrap}}.ddet-back{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--color-primary-light);font-size:.825rem;font-weight:500;cursor:pointer;margin-bottom:.75rem;padding:0}.ddet-back:hover{text-decoration:underline}.ddet-header{margin-bottom:1.5rem}.ddet-header h1{margin:0 0 .25rem}.ddet-header p{margin:0;color:var(--color-text-muted);font-size:.875rem}.ddet-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.ddet-content{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem}.ddet-full-width{grid-column:1 / -1}.ddet-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ddet-table{width:100%;border-collapse:collapse;font-size:.85rem}.ddet-table thead th{text-align:left;padding:.6rem .75rem;font-weight:600;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);white-space:nowrap}.ddet-table thead th.ddet-right{text-align:right}.ddet-table tbody td{padding:.6rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.ddet-table tbody td.ddet-right{text-align:right;font-variant-numeric:tabular-nums}.ddet-table tbody tr{cursor:pointer;transition:background .1s}.ddet-table tbody tr:hover{background:var(--color-bg)}.ddet-ref{font-weight:600;color:var(--color-primary)}.ddet-ring-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}.ddet-ring-label{font-size:.85rem;color:var(--color-text-muted);margin-top:.5rem}.ddet-pagination{display:flex;justify-content:center;align-items:center;gap:.75rem;padding:1rem 0}.ddet-page-btn{padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:.8rem;cursor:pointer}.ddet-page-btn:disabled{opacity:.4;cursor:not-allowed}.ddet-page-info{font-size:.8rem;color:var(--color-text-muted)}.ddet-mobile-cards{display:none}.ddet-desktop-table{display:block}.ddet-proj-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:.5rem;cursor:pointer}.ddet-proj-card:hover{box-shadow:var(--shadow-sm)}.ddet-proj-card__ref{font-weight:600;color:var(--color-primary);font-size:.825rem}.ddet-proj-card__name{font-size:.85rem;color:var(--color-text);margin:.25rem 0 .35rem}.ddet-proj-card__meta{display:flex;justify-content:space-between;font-size:.775rem;color:var(--color-text-muted)}@media (max-width: 767px){.ddet-stats{grid-template-columns:1fr 1fr;gap:.75rem}.ddet-content{grid-template-columns:1fr}.ddet-desktop-table{display:none}.ddet-mobile-cards{display:block}}.search-page{max-width:800px;margin:0 auto;padding:2rem 1rem}.search-header{text-align:center;margin-bottom:1.5rem}.search-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--color-text);margin-bottom:.25rem}.search-subtitle{color:var(--color-text-secondary);font-size:.95rem}.search-bar-container{margin-bottom:1.5rem}.search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);padding:0 1rem;transition:border-color .2s;box-shadow:var(--shadow-sm)}.search-input-wrapper:focus-within{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #3b82f626}.search-icon{width:20px;height:20px;color:var(--color-text-muted);flex-shrink:0}.search-input{flex:1;border:none;outline:none;padding:.875rem .75rem;font-size:1rem;background:transparent;color:var(--color-text);min-height:48px}.search-input::placeholder{color:var(--color-text-muted)}.search-clear{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);padding:.25rem .5rem;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.search-clear:hover{color:var(--color-text)}.search-tabs{display:flex;gap:.25rem;margin-top:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.search-tab{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;white-space:nowrap;min-height:44px;transition:all .15s}.search-tab:hover{background:var(--color-bg)}.search-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.search-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--color-text-secondary)}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}.search-error{text-align:center;padding:1rem;color:var(--color-danger);background:#fef2f2;border-radius:var(--radius)}.search-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary);font-size:1.05rem}.results-summary{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1rem}.result-group{margin-bottom:1.5rem}.result-group-title{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.search-result-card{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.5rem;cursor:pointer;transition:box-shadow .15s,border-color .15s;min-height:56px}.search-result-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md)}.result-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.badge-owner{background:#dbeafe;color:#1e40af}.badge-parcel{background:#dcfce7;color:#166534}.badge-project{background:#fef3c7;color:#92400e}.result-content{flex:1;min-width:0}.result-primary{font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-secondary{display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-size:.8rem;color:var(--color-text-secondary);margin-top:.15rem}.result-purpose{display:block;width:100%}.result-action{color:var(--color-primary-light);font-size:.85rem;font-weight:500;white-space:nowrap;flex-shrink:0}.search-pagination{text-align:center;padding:1rem;font-size:.85rem;color:var(--color-text-secondary)}.recent-searches{margin-top:2rem}.recent-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.recent-header h3{font-size:.9rem;font-weight:600;color:var(--color-text-secondary)}.recent-clear{background:none;border:none;font-size:.8rem;color:var(--color-text-muted);padding:.25rem .5rem;min-height:44px}.recent-clear:hover{color:var(--color-danger)}.recent-list{display:flex;flex-wrap:wrap;gap:.5rem}.recent-item{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;font-size:.85rem;color:var(--color-text-secondary);min-height:44px;transition:background .15s}.recent-item:hover{background:var(--color-bg)}.recent-icon{width:14px;height:14px;flex-shrink:0}@media (max-width: 640px){.search-page{padding:1rem .75rem}.search-header{margin-bottom:1rem}.search-result-card{flex-wrap:wrap;gap:.5rem;padding:.75rem}.result-action{display:none}.result-secondary{flex-direction:column;gap:.1rem}}.owner-detail-page{max-width:900px;margin:0 auto;padding:1.5rem 1rem}.owner-breadcrumb{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:1rem}.owner-breadcrumb a{color:var(--color-primary-light)}.owner-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:4rem 1rem;color:var(--color-text-secondary)}.owner-error{text-align:center;padding:3rem 1rem;color:var(--color-danger)}.owner-error a{display:inline-block;margin-top:.5rem;color:var(--color-primary-light)}.owner-header-card{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem}.owner-avatar{width:52px;height:52px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0}.owner-header-info{min-width:0}.owner-name{font-size:clamp(1.1rem,3vw,1.4rem);font-weight:700;color:var(--color-text);word-break:break-word}.owner-meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.85rem;color:var(--color-text-secondary);margin-top:.25rem}.owner-address{font-size:.85rem;color:var(--color-text-secondary);margin-top:.35rem}.owner-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;text-align:center}.summary-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.25rem}.summary-value{font-size:1.5rem;font-weight:700;color:var(--color-text)}.summary-money{font-size:1rem}.owner-section-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:2px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch}.section-tab{padding:.6rem 1rem;border:none;background:none;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;min-height:44px;display:flex;align-items:center;gap:.4rem;transition:color .15s,border-color .15s}.section-tab:hover{color:var(--color-text)}.section-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-count{font-size:.75rem;background:var(--color-bg);padding:.1rem .4rem;border-radius:999px;color:var(--color-text-muted)}.section-tab.active .tab-count{background:#dbeafe;color:var(--color-primary)}.owner-section{min-height:120px}.section-empty{text-align:center;padding:2rem 1rem;color:var(--color-text-muted)}.card-list{display:flex;flex-direction:column;gap:.5rem}.detail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.detail-card-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border);gap:.5rem}.detail-card-header strong{font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;background:#e2e8f0;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.detail-badge.badge-success{background:#dcfce7;color:#166534}.detail-badge.badge-money{background:#dbeafe;color:#1e40af}.detail-card-body{padding:.75rem 1rem}.detail-row{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.85rem;border-bottom:1px solid #f1f5f9}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--color-text-secondary);flex-shrink:0}.detail-row span:last-child{text-align:right;font-weight:500}.detail-remarks{margin-top:.5rem;padding:.5rem;font-size:.8rem;color:var(--color-text-secondary);background:var(--color-bg);border-radius:4px}@media (max-width: 640px){.owner-detail-page{padding:1rem .75rem}.owner-header-card{flex-direction:column;align-items:center;text-align:center}.owner-meta{justify-content:center}.owner-summary-grid{grid-template-columns:repeat(2,1fr)}.detail-row{flex-direction:column;gap:.1rem}.detail-row span:last-child{text-align:left}}.analytics-page{padding:1.5rem;max-width:1400px;margin:0 auto}.analytics-page h1{font-size:1.35rem;font-weight:700;color:var(--color-text);margin-bottom:1.25rem}.analytics-controls{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1.5rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.analytics-controls .ctrl-group{display:flex;flex-direction:column;gap:.25rem}.analytics-controls .ctrl-group label{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.analytics-controls select,.analytics-controls input[type=number]{padding:.4rem .6rem;font-size:.82rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background);color:var(--color-text);min-width:90px}.analytics-controls select:focus,.analytics-controls input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb26}.analytics-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.analytics-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.snapshot-picker{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.snapshot-picker button{padding:.3rem .6rem;font-size:.8rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.snapshot-picker button:hover{background:var(--color-background)}.snapshot-picker span{font-size:1rem;font-weight:600;min-width:60px;text-align:center}@media (max-width: 768px){.analytics-page{padding:1rem}.analytics-controls{flex-direction:column;gap:.5rem}.analytics-controls .ctrl-group,.analytics-controls select,.analytics-controls input[type=number]{width:100%}.analytics-grid-2col{grid-template-columns:1fr}}.gazette-pipeline{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.gazette-pipeline__empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted);font-size:.875rem}.gazette-pipeline__column{flex:1;min-width:220px;max-width:320px;background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border);border-top:3px solid var(--color-border);display:flex;flex-direction:column;max-height:600px}.gazette-pipeline__column-header{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;border-bottom:1px solid var(--color-border);border-radius:var(--radius) var(--radius) 0 0}.gazette-pipeline__stage-name{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.gazette-pipeline__count-badge{font-size:.7rem;font-weight:700;background:#0000001a;padding:.1rem .45rem;border-radius:99px;min-width:20px;text-align:center}.gazette-pipeline__cards{padding:.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.gazette-pipeline__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.6rem .75rem;cursor:pointer;transition:box-shadow .15s,transform .1s}.gazette-pipeline__card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.gazette-pipeline__card-title{font-size:.8rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gazette-pipeline__card-meta{display:flex;justify-content:space-between;font-size:.7rem;color:var(--color-text-muted)}.gazette-pipeline--vertical{flex-direction:column}.gazette-pipeline--vertical .gazette-pipeline__column{min-width:unset;max-width:unset;max-height:none}.gazette-pipeline--vertical .gazette-pipeline__cards{max-height:300px}@media (max-width: 767px){.gazette-pipeline__column{min-width:200px}}.gazette-workflow{display:flex;align-items:flex-start;gap:0;padding:1rem 0;overflow-x:auto}.gazette-workflow__step-wrapper{display:flex;align-items:flex-start;flex:1;min-width:0}.gazette-workflow__connector{width:40px;height:2px;background:var(--color-border);margin-top:14px;flex-shrink:0}.gazette-workflow__connector--completed{background:var(--color-success)}.gazette-workflow__step{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:80px}.gazette-workflow__circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;transition:all .2s}.gazette-workflow__step--completed .gazette-workflow__circle{background:var(--color-success);color:#fff}.gazette-workflow__step--active .gazette-workflow__circle{background:var(--color-primary);color:#fff;box-shadow:0 0 0 4px #2563eb26}.gazette-workflow__step--pending .gazette-workflow__circle{background:var(--color-border);color:var(--color-text-muted)}.gazette-workflow__label{font-size:.72rem;font-weight:600;color:var(--color-text);text-align:center;line-height:1.2}.gazette-workflow__date{font-size:.65rem;color:var(--color-text-muted);text-align:center}.gazette-workflow--vertical{flex-direction:column;align-items:flex-start;gap:0}.gazette-workflow--vertical .gazette-workflow__step-wrapper{flex-direction:column;align-items:flex-start}.gazette-workflow--vertical .gazette-workflow__connector{width:2px;height:24px;margin-top:0;margin-left:13px}.gazette-workflow--vertical .gazette-workflow__step{flex-direction:row;align-items:center;gap:.75rem;min-width:auto}.gazette-workflow--vertical .gazette-workflow__label,.gazette-workflow--vertical .gazette-workflow__date{text-align:left}.gazette-detail{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;animation:gazetteDetailSlide .2s ease}@keyframes gazetteDetailSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.gazette-detail--mobile{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;border-radius:0;overflow-y:auto;padding:1rem}.gazette-detail__loading,.gazette-detail__error{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.875rem}.gazette-detail__error{color:var(--color-danger)}.gazette-detail__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.gazette-detail__title{font-size:1.1rem;font-weight:700;color:var(--color-text);margin:0}.gazette-detail__subtitle{font-size:.8rem;color:var(--color-text-muted)}.gazette-detail__close{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:0 .25rem;line-height:1}.gazette-detail__close:hover{color:var(--color-text)}.gazette-detail__info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1.25rem}.gazette-detail__info-item{display:flex;flex-direction:column;gap:.15rem}.gazette-detail__info-label{font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.gazette-detail__info-value{font-size:.85rem;font-weight:500;color:var(--color-text)}.gazette-detail__section{margin-bottom:1.25rem}.gazette-detail__section-title{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--color-text);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.gazette-detail__empty{font-size:.8rem;color:var(--color-text-muted);text-align:center;padding:1rem}.gazette-detail__ag-card{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.5rem;overflow:hidden}.gazette-detail__ag-header{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;cursor:pointer;background:var(--color-bg);transition:background .15s}.gazette-detail__ag-header:hover{background:var(--color-border)}.gazette-detail__ag-ref{font-size:.825rem;font-weight:600;color:var(--color-text);margin-right:.5rem}.gazette-detail__ag-body{padding:.85rem;border-top:1px solid var(--color-border)}.gazette-detail__ag-info{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;font-size:.8rem;color:var(--color-text-secondary);margin-top:.75rem}.gazette-detail__status-badge{display:inline-block;font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:99px;text-transform:uppercase;letter-spacing:.03em}.gazette-detail__status-badge--gazetted{background:#dcfce7;color:#166534}.gazette-detail__status-badge--sag{background:#fef9c3;color:#854d0e}.gazette-detail__status-badge--suhb{background:#dbeafe;color:#1e40af}.gazette-detail__status-badge--13-sets-received{background:#fce7f3;color:#9d174d}.gazette-detail__status-badge--permission-given{background:#e0e7ff;color:#3730a3}.gazette-detail__status-badge--unknown{background:var(--color-border);color:var(--color-text-muted)}.gazette-detail__notices-table{overflow-x:auto}.gazette-detail__notices-table table{width:100%;border-collapse:collapse;font-size:.8rem}.gazette-detail__notices-table th{text-align:left;padding:.5rem .65rem;font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;border-bottom:2px solid var(--color-border)}.gazette-detail__notices-table td{padding:.45rem .65rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.gazette-detail__more{font-size:.75rem;color:var(--color-primary);text-align:center;padding:.5rem}.gazette-detail__letters-list{display:flex;flex-direction:column;gap:.4rem}.gazette-detail__letter-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--color-bg);border-radius:var(--radius);font-size:.8rem}.gazette-detail__letter-type{font-weight:600;color:var(--color-text)}.gazette-detail__letter-meta{font-size:.75rem;color:var(--color-text-muted)}@media (max-width: 767px){.gazette-detail__info-grid{grid-template-columns:1fr 1fr}.gazette-detail__ag-info{grid-template-columns:1fr}}.gazette-status-page{padding:0}.gazette-status-page__loading,.gazette-status-page__error{text-align:center;padding:3rem 1rem;font-size:.9rem;color:var(--color-text-muted)}.gazette-status-page__error{color:var(--color-danger)}.gazette-status-page__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem}.gazette-status-page__funnel{display:flex;flex-direction:column;gap:.5rem}.gazette-status-page__funnel-row{display:flex;align-items:center;gap:.75rem;position:relative}.gazette-status-page__funnel-label{font-size:.78rem;font-weight:600;color:var(--color-text);min-width:130px;text-align:right}.gazette-status-page__funnel-bar-bg{flex:1;height:24px;background:var(--color-border);border-radius:4px;overflow:hidden}.gazette-status-page__funnel-bar{height:100%;border-radius:4px;transition:width .6s ease;min-width:2px}.gazette-status-page__funnel-count{font-size:.85rem;font-weight:700;color:var(--color-text);min-width:36px}.gazette-status-page__funnel-arrow{display:none}.gazette-status-page__toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap}.gazette-status-page__filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.gazette-status-page__select{padding:.45rem .75rem;font-size:.8rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;min-width:140px}.gazette-status-page__select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.gazette-status-page__view-toggle{display:flex;gap:.25rem;background:var(--color-bg);border-radius:var(--radius);padding:.15rem;border:1px solid var(--color-border)}.gazette-status-page__toggle-btn{display:flex;align-items:center;justify-content:center;padding:.4rem .6rem;border:none;background:transparent;color:var(--color-text-muted);border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all .15s}.gazette-status-page__toggle-btn:hover{color:var(--color-text)}.gazette-status-page__toggle-btn--active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.gazette-status-page__content{display:flex;flex-direction:column;gap:1rem}.gazette-status-page__detail{margin-top:.5rem}.gazette-status-badge{display:inline-block;font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:99px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.gazette-status-page__section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.gazette-status-page__section-card{display:flex;flex-direction:column;align-items:center;padding:.85rem .5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .15s;text-align:center}.gazette-status-page__section-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.gazette-status-page__section-name{font-size:.75rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}.gazette-status-page__section-count{font-size:1.25rem;font-weight:700;color:var(--color-primary)}@media (max-width: 1023px){.gazette-status-page__stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.gazette-status-page__stats{grid-template-columns:1fr}.gazette-status-page__funnel-label{min-width:80px;font-size:.7rem}.gazette-status-page__toolbar,.gazette-status-page__filters{flex-direction:column;align-items:stretch}.gazette-status-page__select{min-width:unset;width:100%}.gazette-status-page__view-toggle{align-self:flex-end}.gazette-status-page__section-grid{grid-template-columns:repeat(2,1fr)}}.aging-loading{padding:2rem;text-align:center;color:var(--color-text-muted)}.aging-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.aging-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--color-text-secondary)}.aging-legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.aging-phase{margin-bottom:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.aging-phase-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.65rem 1rem;background:var(--color-bg);border:none;cursor:pointer;font-size:.85rem;color:var(--color-text);transition:background .15s}.aging-phase-header:hover{background:#f3f4f6}.aging-phase-title{display:flex;align-items:center;gap:.5rem;font-weight:600}.aging-phase-total{font-weight:400;color:var(--color-text-muted);font-size:.8rem}.aging-phase-body{padding:.75rem 1rem}.aging-stacked-bar{display:flex;height:28px;border-radius:4px;overflow:hidden;margin-bottom:1rem}.aging-bar-segment{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .15s;min-width:2px}.aging-bar-segment:hover{opacity:.85}.aging-bar-label{font-size:.7rem;font-weight:600;color:#fff}.aging-bars{display:flex;flex-direction:column;gap:.35rem}.aging-bar-row{display:flex;flex-direction:column}.aging-bar-clickable{display:flex;align-items:center;gap:.5rem;padding:.25rem .35rem;border-radius:4px;cursor:pointer;transition:background .15s}.aging-bar-clickable:hover{background:#f3f4f6}.aging-bar-clickable.active{background:#eff6ff}.aging-bar-bucket{width:90px;font-size:.75rem;color:var(--color-text-secondary);flex-shrink:0}.aging-bar-track{flex:1;height:16px;background:#f3f4f6;border-radius:3px;overflow:hidden}.aging-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.aging-bar-count{width:40px;text-align:right;font-size:.8rem;font-weight:600;color:var(--color-text)}.aging-project-list{margin:.35rem 0 .5rem 98px;border-left:2px solid var(--color-border);padding-left:.75rem;max-height:240px;overflow-y:auto}.aging-project-item{display:flex;align-items:center;gap:.75rem;padding:.3rem .5rem;border-radius:4px;cursor:pointer;font-size:.78rem;transition:background .15s}.aging-project-item:hover{background:#eff6ff}.aging-proj-ref{font-weight:600;color:var(--color-primary);min-width:100px}.aging-proj-district{color:var(--color-text-secondary);flex:1}.aging-proj-days{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap}.aging-project-more{padding:.3rem .5rem;font-size:.72rem;color:var(--color-text-muted);font-style:italic}@media (max-width: 768px){.aging-legend{gap:.5rem}.aging-bar-bucket{width:70px;font-size:.7rem}.aging-project-list{margin-left:0;border-left:none;padding-left:0}.aging-stacked-bar{height:24px}}.vel-loading,.vel-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.vel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.vel-year-select{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-secondary)}.vel-year-select select{padding:.3rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-size:.85rem;color:var(--color-text);cursor:pointer}.vel-totals{display:flex;flex-wrap:wrap;gap:.5rem}.vel-total-chip{display:flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border:1px solid;border-radius:12px;font-size:.72rem;color:var(--color-text-secondary);cursor:pointer;transition:opacity .15s;-webkit-user-select:none;user-select:none}.vel-total-chip.hidden{opacity:.35;text-decoration:line-through}.vel-total-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.vel-chart-wrap{width:100%}@media (max-width: 768px){.vel-header{flex-direction:column;align-items:flex-start}.vel-chart-wrap{margin:0 -1rem;width:calc(100% + 2rem)}}.ptl-loading,.ptl-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.ptl-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.ptl-toggle{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-text-secondary);cursor:pointer}.ptl-toggle input{accent-color:var(--color-primary)}.ptl-group-filters{display:flex;flex-wrap:wrap;gap:.35rem}.ptl-group-btn{display:flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border:1px solid;border-radius:12px;background:transparent;font-size:.7rem;color:var(--color-text-secondary);cursor:pointer;transition:opacity .15s}.ptl-group-btn.collapsed{opacity:.4;text-decoration:line-through}.ptl-group-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ptl-timeline{position:relative;padding-left:28px}.ptl-event{position:relative;padding:0 0 1.25rem 1.25rem}.ptl-event:last-child{padding-bottom:0}.ptl-event:last-child .ptl-line{display:none}.ptl-line{position:absolute;left:-28px;top:0;bottom:0;width:2px;background:var(--color-border);margin-left:13px}.ptl-dot{position:absolute;left:-28px;top:2px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;border:2px solid}.ptl-dot.large{width:28px;height:28px}.ptl-dot.small{width:20px;height:20px;margin-left:4px}.ptl-content{padding-left:.5rem}.ptl-date{font-size:.72rem;color:var(--color-text-muted);font-weight:500}.ptl-desc{font-size:.85rem;color:var(--color-text);margin-top:.15rem;line-height:1.4}.ptl-event.milestone .ptl-desc{font-weight:600}.ptl-ref{font-size:.7rem;color:var(--color-text-muted);margin-top:.15rem}.ptl-duration{position:absolute;left:-62px;top:30px;display:flex;flex-direction:column;align-items:center;width:50px}.ptl-duration-line{width:1px;height:12px;background:var(--color-border)}.ptl-duration-label{font-size:.65rem;color:var(--color-text-muted);background:var(--color-bg);padding:.1rem .3rem;border-radius:3px;white-space:nowrap;font-weight:500}@media (max-width: 768px){.ptl-controls{flex-direction:column;align-items:flex-start}.ptl-duration{display:none}.ptl-timeline{padding-left:24px}.ptl-dot.large{width:24px;height:24px}.ptl-dot.small{width:18px;height:18px;margin-left:3px}}.msc-loading,.msc-empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.msc-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.msc-ref{font-weight:700;font-size:.95rem;color:var(--color-primary)}.msc-lifecycle{font-size:.8rem;color:var(--color-text-secondary)}.msc-gantt{display:flex;height:32px;border-radius:6px;overflow:hidden;margin-bottom:1rem}.msc-gantt-segment{display:flex;align-items:center;justify-content:center;min-width:3px;transition:width .4s ease}.msc-gantt-label{font-size:.7rem;font-weight:600;color:#fff;white-space:nowrap}.msc-milestones{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.msc-milestone-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.msc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.msc-milestone-label{width:100px;color:var(--color-text-secondary);font-weight:500}.msc-milestone-date{color:var(--color-text);min-width:100px}.msc-milestone-dur{font-size:.72rem;color:var(--color-text-muted);background:#f3f4f6;padding:.1rem .4rem;border-radius:8px}.msc-counts{display:flex;gap:1.5rem;font-size:.8rem;color:var(--color-text-secondary);padding-top:.5rem;border-top:1px solid var(--color-border)}.msc-compare{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.msc-compare-row{display:flex;align-items:center;gap:.5rem}.msc-compare-ref{width:90px;font-size:.78rem;font-weight:600;color:var(--color-primary);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msc-compare-bar{display:flex;height:22px;border-radius:4px;overflow:hidden;min-width:3px;transition:width .4s ease}.msc-compare-days{width:50px;text-align:right;font-size:.72rem;color:var(--color-text-muted);flex-shrink:0}.msc-compare-legend{display:flex;flex-wrap:wrap;gap:1rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.msc-compare-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--color-text-secondary)}.msc-compare-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}@media (max-width: 768px){.msc-milestone-row{flex-wrap:wrap}.msc-gantt{height:26px}.msc-compare-ref{width:70px;font-size:.72rem}}.tlt-page{display:flex;flex-direction:column;gap:1.25rem}.tlt-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.tlt-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0}.tlt-subtitle{font-size:.85rem;color:var(--color-text-muted);margin:.15rem 0 0}.tlt-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.tlt-phase-bars{display:flex;flex-direction:column;gap:.75rem}.tlt-phase-row{display:flex;align-items:center;gap:.75rem}.tlt-phase-label{width:160px;font-size:.8rem;color:var(--color-text-secondary);font-weight:500;flex-shrink:0}.tlt-phase-bar-wrap{flex:1;height:20px;background:#f3f4f6;border-radius:4px;position:relative;overflow:visible}.tlt-phase-range{position:absolute;top:0;height:100%;border-radius:4px;border:1px solid}.tlt-phase-avg{position:absolute;top:-3px;width:4px;height:26px;border-radius:2px;transform:translate(-2px);z-index:2}.tlt-phase-median{position:absolute;top:2px;width:8px;height:8px;border:2px solid;border-radius:50%;background:#fff;transform:translate(-4px,3px);z-index:3}.tlt-phase-stats{display:flex;gap:.5rem;width:160px;font-size:.72rem;color:var(--color-text-muted);flex-shrink:0}.tlt-phase-stats strong{color:var(--color-text)}.tlt-search{display:flex;gap:.75rem;align-items:center}.tlt-search-input{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);flex:1;max-width:300px}.tlt-search-input input{border:none;outline:none;background:transparent;font-size:.85rem;color:var(--color-text);width:100%}.tlt-search-btn{padding:.5rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s}.tlt-search-btn:hover{opacity:.9}.tlt-search-wrap{position:relative}.tlt-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:320px;overflow-y:auto;background:var(--color-bg-card, #fff);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;z-index:50}.tlt-search-result{display:flex;flex-direction:column;gap:.15rem;width:100%;padding:.6rem .75rem;border:none;background:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background .1s}.tlt-search-result:last-child{border-bottom:none}.tlt-search-result:hover{background:var(--color-bg-hover, #f1f5f9)}.tlt-result-ref{font-weight:600;font-size:.85rem;color:var(--color-primary)}.tlt-result-purpose{font-size:.78rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tlt-result-district{font-size:.72rem;color:var(--color-text-muted)}.tlt-search-empty{padding:.75rem;text-align:center;color:var(--color-text-muted);font-size:.85rem}.tlt-active-project{display:flex;align-items:center;gap:.4rem;margin-top:.6rem;padding:.4rem .6rem;background:var(--color-bg-hover, #f1f5f9);border-radius:var(--radius);font-size:.8rem;color:var(--color-text-secondary)}.tlt-project-detail{display:flex;flex-direction:column;gap:1.25rem}@media (max-width: 1024px){.tlt-kpi-grid{grid-template-columns:repeat(2,1fr)}.tlt-phase-label{width:120px;font-size:.75rem}.tlt-phase-stats{width:120px}}@media (max-width: 768px){.tlt-kpi-grid{grid-template-columns:1fr 1fr}.tlt-phase-row{flex-wrap:wrap}.tlt-phase-label{width:100%}.tlt-phase-bar-wrap{flex:1;min-width:0}.tlt-phase-stats{width:100%;justify-content:space-between}.tlt-search{flex-direction:column;align-items:stretch}.tlt-search-input{max-width:100%}}@media (max-width: 480px){.tlt-kpi-grid{grid-template-columns:1fr}.tlt-title{font-size:1.25rem}}.doc-vault{padding:1.5rem;max-width:1400px;margin:0 auto}.doc-vault__header{margin-bottom:1.5rem}.doc-vault__title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0 0 .25rem}.doc-vault__subtitle{font-size:.85rem;color:var(--color-text-muted);margin:0}.doc-vault__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.doc-vault__charts{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.doc-vault__chart-card{min-height:380px}.doc-vault__empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-muted);font-size:.85rem}.doc-vault__types-card{margin-bottom:1.5rem}.doc-vault__types-table-wrap{overflow-x:auto}.doc-vault__types-table{width:100%;border-collapse:collapse;font-size:.85rem}.doc-vault__types-table th{text-align:left;padding:.6rem .75rem;border-bottom:2px solid var(--color-border);color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.doc-vault__types-table td{padding:.55rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.doc-vault__types-table tbody tr:hover{background:var(--color-bg-hover, #f8fafc)}.doc-vault__recent-card{margin-bottom:1.5rem}.doc-vault__recent-list{display:flex;flex-direction:column}.doc-vault__recent-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .5rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .15s}.doc-vault__recent-item:last-child{border-bottom:none}.doc-vault__recent-item:hover{background:var(--color-bg-hover, #f8fafc)}.doc-vault__recent-badge{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-vault__recent-badge--physical{background:#fef3c7;color:#f59e0b}.doc-vault__recent-badge--digital{background:#d1fae5;color:#10b981}.doc-vault__recent-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.doc-vault__recent-type{font-size:.85rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-vault__recent-meta{font-size:.72rem;color:var(--color-text-muted)}.doc-vault__recent-ref{font-size:.75rem;color:var(--color-text-secondary);font-family:monospace;flex-shrink:0}@media (max-width: 1024px){.doc-vault__kpis{grid-template-columns:repeat(2,1fr)}.doc-vault__charts{grid-template-columns:1fr}}@media (max-width: 640px){.doc-vault{padding:1rem}.doc-vault__kpis{grid-template-columns:1fr}.doc-vault__title{font-size:1.25rem}.doc-vault__recent-ref{display:none}}.export-btn-wrapper{position:relative;display:inline-block}.export-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.8rem;font-weight:500;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s}.export-btn:hover{background:var(--color-bg);border-color:var(--color-primary)}.export-btn:disabled{opacity:.6;cursor:not-allowed}.export-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;z-index:100;overflow:hidden}.export-dropdown button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .85rem;font-size:.8rem;color:var(--color-text);background:none;border:none;cursor:pointer;text-align:left;transition:background .12s}.export-dropdown button:hover{background:var(--color-bg)}.export-dropdown button+button{border-top:1px solid var(--color-border)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.report-gen{padding:1.5rem;max-width:1400px;margin:0 auto}.report-gen-header{margin-bottom:1.5rem}.report-gen-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.4rem;margin:0 0 .25rem}.report-gen-header p{color:var(--color-text-secondary);font-size:.85rem;margin:0}.report-gen-layout{display:grid;grid-template-columns:380px 1fr;gap:1.5rem;align-items:start}@media (max-width: 900px){.report-gen-layout{grid-template-columns:1fr}}.rg-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.rg-card h2{display:flex;align-items:center;gap:.4rem;font-size:.95rem;margin:0 0 .75rem;color:var(--color-text)}.rg-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.rg-type-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.8rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .15s;color:var(--color-text-secondary)}.rg-type-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.rg-type-btn.active{background:#eff6ff;border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.rg-fields{display:flex;flex-direction:column;gap:.75rem}.rg-fields label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--color-text-secondary)}.rg-fields select,.rg-fields input{padding:.45rem .6rem;font-size:.85rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.rg-fields select:focus,.rg-fields input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f626}.rg-actions{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.rg-preview-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.8rem;font-weight:500;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;transition:background .15s}.rg-preview-btn:hover{background:var(--color-primary-hover, #2563eb)}.rg-preview-btn:disabled{opacity:.5;cursor:not-allowed}.rg-recent{list-style:none;margin:0;padding:0}.rg-recent li{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.78rem;border-bottom:1px solid var(--color-border)}.rg-recent li:last-child{border-bottom:none}.rg-recent-type{font-weight:600;text-transform:capitalize}.rg-recent-fmt{background:var(--color-bg);padding:.1rem .4rem;border-radius:3px;font-size:.7rem;color:var(--color-text-secondary)}.rg-recent-time{margin-left:auto;color:var(--color-text-muted);font-size:.72rem}.rg-preview-card{min-height:400px}.rg-preview-header{display:flex;align-items:center;justify-content:space-between}.rg-preview-header h2{margin-bottom:0}.rg-csv-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;color:var(--color-text-secondary)}.rg-csv-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.rg-preview-summary{background:var(--color-bg);padding:.65rem .85rem;border-radius:var(--radius);font-size:.82rem;margin:.75rem 0;line-height:1.5}.rg-preview-table-wrap{overflow-x:auto;margin-top:.75rem}.rg-preview-table{width:100%;border-collapse:collapse;font-size:.78rem}.rg-preview-table th,.rg-preview-table td{padding:.4rem .55rem;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.rg-preview-table th{background:var(--color-bg);font-weight:600;position:sticky;top:0}.rg-preview-table tbody tr:hover{background:var(--color-bg)}.rg-more{text-align:center;font-size:.78rem;color:var(--color-text-muted);padding:.5rem}.rg-error{color:var(--color-danger, #dc2626);font-size:.85rem;padding:1rem 0}.rg-loading{color:var(--color-text-secondary);font-size:.85rem;padding:2rem 0;text-align:center}.rg-empty{color:var(--color-text-muted);font-size:.85rem;padding:2rem 0;text-align:center}.print-view{max-width:210mm;margin:0 auto;padding:20mm 15mm;font-family:Times New Roman,Times,serif;font-size:11pt;color:#000;background:#fff}.print-header{text-align:center;margin-bottom:2rem;border-bottom:2px solid #000;padding-bottom:1rem}.print-letterhead .print-govt{font-size:14pt;font-weight:700;text-transform:uppercase;margin:0;letter-spacing:1px}.print-letterhead .print-dept{font-size:11pt;margin:.25rem 0 0}.print-title{font-size:13pt;font-weight:700;margin:1rem 0 .25rem}.print-date{font-size:9pt;color:#444;margin:0}.print-section{margin-bottom:1.5rem}.print-section h2{font-size:11pt;font-weight:700;margin:0 0 .5rem;border-bottom:1px solid #999;padding-bottom:.25rem}.print-info-table{width:100%;border-collapse:collapse;margin-bottom:.75rem}.print-info-table th{text-align:left;width:180px;padding:3px 8px;font-weight:600;vertical-align:top}.print-info-table td{padding:3px 8px}.print-data-table{width:100%;border-collapse:collapse;font-size:9pt}.print-data-table thead{background:#f0f0f0}.print-data-table th,.print-data-table td{border:1px solid #999;padding:4px 6px;text-align:left;vertical-align:top}.print-data-table th.num,.print-data-table td.num{text-align:right}.print-data-table.compact{font-size:8pt}.print-data-table.compact th,.print-data-table.compact td{padding:2px 4px}.print-footer{margin-top:3rem;padding-top:.5rem;border-top:1px solid #999;font-size:8pt;color:#666;text-align:center}.print-loading,.print-error{text-align:center;padding:3rem;font-size:14pt}.print-error{color:red}.page-break-before{page-break-before:always}@media print{body{margin:0;padding:0}.print-view{padding:0;max-width:none}nav,.sidebar,.header,.export-btn-wrapper,button,.no-print{display:none!important}.print-data-table thead{background:#f0f0f0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-section,.print-data-table tr{page-break-inside:avoid}}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:700;color:var(--color-text)}.page-header p{color:var(--color-text-secondary);font-size:.875rem;margin-top:.25rem}.stat-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}@media (min-width: 640px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.content-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 1024px){.content-grid{grid-template-columns:2fr 1fr}}.section-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1.25rem}.section-card h2{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--color-text)}.filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.filter-bar input,.filter-bar select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;background:var(--color-surface);color:var(--color-text)}.filter-bar input{flex:1;min-width:200px}.badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badge--success{background:#dcfce7;color:#166534}.badge--warning{background:#fef3c7;color:#92400e}.badge--danger{background:#fee2e2;color:#991b1b}.badge--info{background:#dbeafe;color:#1e40af}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #1e40af;--color-primary-light: #3b82f6;--color-primary-dark: #1e3a8a;--color-bg: #f1f5f9;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-info: #0284c7;--sidebar-width: 260px;--header-height: 56px;--mobile-nav-height: 60px;--radius: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1)}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}a{color:var(--color-primary-light);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}h1{font-size:clamp(1.5rem,4vw,2.25rem)}h2{font-size:clamp(1.25rem,3vw,1.75rem)}h3{font-size:clamp(1.05rem,2.5vw,1.35rem)}p,li,td,th{font-size:clamp(.875rem,1.5vw,1rem)}button,a,input[type=checkbox],input[type=radio],select,[role=button]{min-height:44px;min-width:44px}input,textarea,select{font-size:16px}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body.is-offline:before{content:"You are offline";display:block;position:fixed;top:0;left:0;right:0;z-index:10000;background:var(--color-warning);color:#fff;text-align:center;padding:.35rem 1rem;font-size:.8rem;font-weight:600}body.is-offline{padding-top:calc(env(safe-area-inset-top) + 28px)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff;color:#000;font-size:12pt;padding:0}nav,.sidebar,.mobile-nav,.search-bar-container,button,.no-print{display:none!important}a{color:#000;text-decoration:underline}.main-content{margin:0;padding:0;width:100%}table{border-collapse:collapse}table th,table td{border:1px solid #ccc;padding:4px 8px}@page{margin:1.5cm}}@media (prefers-color-scheme: dark){:root{--color-dm-bg: #0f172a;--color-dm-surface: #1e293b;--color-dm-border: #334155;--color-dm-text: #f1f5f9;--color-dm-text-secondary: #94a3b8;--color-dm-text-muted: #64748b;--color-dm-primary: #3b82f6;--color-dm-primary-light: #60a5fa;--color-dm-primary-dark: #2563eb}}@media (max-width: 768px){:root{--sidebar-width: 0px;--header-height: 48px}.main-content{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px))}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
