:root{
  --agc-blue:#195ca2;
  --agc-blue-dark:#134a83;
  --agc-blue-soft:#eaf2fa;
  --agc-green:#19a21a;
  --agc-green-dark:#128313;
  --agc-green-soft:#edf8ed;
  --ink:#18232d;
  --muted:#60707c;
  --line:#d9e2e8;
  --panel:#fff;
  --soft:#f5f8fb;
  --good:#19a21a;
  --warn:#a86b00;
  --bad:#a73535;
  --shadow:0 10px 28px rgba(25,92,162,.09);
}
*{box-sizing:border-box}
html{background:#eef3f7}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#eef3f7}
.agc-shell{max-width:1440px;margin:0 auto;background:#f8fafc;min-height:100vh}
.agc-hero{background:#fff;color:var(--ink);padding:26px 38px 24px;display:flex;justify-content:space-between;gap:28px;align-items:center;border-top:6px solid var(--agc-blue);border-bottom:5px solid var(--agc-green);box-shadow:0 3px 14px rgba(25,92,162,.06)}
.agc-brand-lockup{display:flex;align-items:center;gap:24px;min-width:0}
.agc-logo{display:block;width:225px;max-width:28vw;height:auto;flex:0 0 auto}
.agc-brand-divider{width:1px;height:84px;background:#d4dde4;flex:0 0 auto}
.agc-hero-copy{min-width:0}
.agc-kicker,.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;text-transform:uppercase}
.agc-kicker{color:var(--agc-green-dark);margin-bottom:8px}
.agc-hero h1{font-family:Arial,Helvetica,sans-serif;color:var(--agc-blue);font-size:32px;line-height:1.08;margin:0;letter-spacing:-.025em}
.agc-subhead{max-width:720px;margin:9px 0 0;color:#556873;font-family:Corbel,Arial,Helvetica,sans-serif;font-size:15px}
.agc-status-card{min-width:245px;background:var(--agc-blue-soft);border:1px solid #c7dceb;padding:13px 15px;border-radius:8px;display:flex;gap:10px;align-items:flex-start;color:var(--ink)}
.agc-status-card strong,.agc-status-card span{display:block}
.agc-status-card strong{font-size:13px;color:var(--agc-blue-dark)}
.agc-status-card span:last-child{font-size:11px;color:#627887;margin-top:3px}
.status-dot{width:9px;height:9px!important;border-radius:50%;background:#d5dde2;margin-top:4px;flex:0 0 auto}
.status-dot.ok{background:#48d64b}.status-dot.warn{background:#ffd06a}.status-dot.bad{background:#ff7a7a}
.agc-alert{margin:16px 28px 0;padding:12px 15px;border-radius:6px;background:var(--agc-green-soft);border:1px solid #b9e4ba;color:#245a26;font-size:13px}
.agc-alert strong{color:var(--agc-green-dark)}
.agc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.agc-kpis article{background:#fff;padding:22px 28px}
.kpi-label{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.agc-kpis strong{display:block;font-size:30px;line-height:1.1;margin:6px 0 4px;letter-spacing:-.03em;color:var(--agc-blue)}
.agc-kpis small{color:#7a8790;font-family:Corbel,Arial,Helvetica,sans-serif}
.agc-tabs{padding:20px 28px 0;display:flex;gap:4px;border-bottom:1px solid var(--line);background:#fff}
.agc-tab{appearance:none;border:0;background:transparent;padding:12px 15px 14px;font-weight:750;color:#65737c;cursor:pointer;border-bottom:3px solid transparent}
.agc-tab:hover{color:var(--agc-blue)}
.agc-tab.is-active{color:var(--agc-blue);border-bottom-color:var(--agc-green)}
.tab-badge{display:inline-flex;min-width:21px;height:21px;padding:0 6px;align-items:center;justify-content:center;border-radius:11px;background:#e8edf0;font-size:11px;margin-left:4px}
.agc-tab.is-active .tab-badge{background:var(--agc-green-soft);color:var(--agc-green-dark)}
.agc-panel{display:none;padding:24px 28px 36px}.agc-panel.is-active{display:block}
.filter-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:18px;border-radius:8px}
.filter-grid{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:12px}
.filter-grid label,.compact-filter{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:750;color:var(--muted)}
input,select{width:100%;height:39px;border:1px solid #cbd7df;border-radius:5px;background:#fff;padding:0 10px;color:var(--ink);font:inherit;font-size:13px}
input:focus,select:focus{outline:3px solid rgba(25,162,26,.16);border-color:var(--agc-green)}
.filter-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e8edef;margin-top:16px;padding-top:13px;font-size:12px;color:var(--muted)}
.link-button,.secondary-button{border:0;background:transparent;color:var(--agc-blue);font-weight:750;cursor:pointer;padding:8px 10px}
.link-button:hover{color:var(--agc-blue-dark)}
.secondary-button{border:1px solid #bfd0df;border-radius:5px;background:#fff;margin-left:5px}
.secondary-button:hover{background:var(--agc-blue-soft);border-color:#a9c3d9}
.owner-strip{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.owner-chip{border:1px solid #cbdbe7;background:#fff;padding:7px 10px;border-radius:999px;font-size:12px;color:#53636e}
.owner-chip strong{color:var(--agc-blue);margin-left:4px}
.table-shell{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 5px 16px rgba(25,92,162,.05)}
.agc-table{width:100%;border-collapse:collapse;font-size:12px}
.agc-table th{text-align:left;background:var(--agc-blue-soft);color:#3d5d78;padding:10px 11px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #cbdbe8}
.agc-table td{padding:12px 11px;border-bottom:1px solid #e8edef;vertical-align:top}
.agc-table tr:last-child td{border-bottom:0}.agc-table tbody tr:hover{background:#f8fbfe}
.owner-tag,.delivery-tag,.confidence-tag,.priority-tag{display:inline-flex;align-items:center;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:800;white-space:nowrap}
.owner-tag{background:var(--agc-blue-soft);color:var(--agc-blue-dark)}
.delivery-tag{background:var(--agc-green-soft);color:#2f6730;margin-bottom:4px}
.priority-tag.high,.priority-tag.critical{background:#fde5e3;color:#8a302d}.priority-tag.watch{background:#eaf2fa;color:var(--agc-blue-dark)}
.project-title{font-weight:780;color:#163a5d;font-size:13px}.project-id{font-size:10px;color:#8a969e;margin-top:3px}.cell-muted{color:#697780}
.money{font-weight:800;color:var(--agc-blue-dark);white-space:nowrap}
.team-line{display:block;margin-bottom:2px}.team-label{color:#8a969e;font-size:9px;text-transform:uppercase;letter-spacing:.04em;margin-right:4px}
.source-link{font-weight:750;text-decoration:none;color:var(--agc-blue);white-space:nowrap}.source-link:hover{text-decoration:underline;color:var(--agc-blue-dark)}
.empty-state{padding:48px 20px;text-align:center;color:#687984}.project-cards{display:none}
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:18px}.page-button{border:1px solid #c4d4df;background:#fff;border-radius:5px;min-width:34px;height:34px;cursor:pointer;color:#344b5a}.page-button.is-active{background:var(--agc-blue);border-color:var(--agc-blue);color:#fff}.page-button:hover:not(:disabled):not(.is-active){border-color:var(--agc-green);color:var(--agc-green-dark)}.page-button:disabled{opacity:.4;cursor:default}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.section-heading h2,.about-grid h2{margin:4px 0 5px;font-size:24px;color:var(--agc-blue-dark)}.section-heading p,.about-grid p{margin:0;color:var(--muted);font-family:Corbel,Arial,Helvetica,sans-serif;font-size:13px;line-height:1.55}
.compact-filter{width:180px}.changes-summary{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.summary-pill{padding:7px 10px;border-radius:5px;background:var(--agc-blue-soft);font-size:11px;color:#52636e}.summary-pill strong{color:var(--agc-blue-dark)}
.changes-list{display:grid;gap:10px}.change-card{background:#fff;border:1px solid var(--line);border-left:4px solid #9baab4;border-radius:6px;padding:15px 16px;display:grid;grid-template-columns:120px 1fr auto;gap:15px;align-items:start}.change-card.high,.change-card.critical{border-left-color:#b4423d}.change-card.watch{border-left-color:var(--agc-green)}
.change-date{font-size:11px;color:#72818a}.change-main h3{margin:2px 0 5px;font-size:15px;color:var(--agc-blue-dark)}.change-meta{font-size:11px;color:#6d7c85}.change-detail{font-size:13px;margin-top:8px;line-height:1.45}.old-value{text-decoration:line-through;color:#8b969d}.new-value{font-weight:780;color:var(--agc-green-dark)}.change-actions{text-align:right}
.no-changes{background:#fff;border:1px solid var(--line);padding:30px;text-align:center;border-radius:7px;color:#65757f}.no-changes strong{display:block;color:var(--agc-blue-dark);margin-bottom:5px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.about-grid article{background:#fff;border:1px solid var(--line);padding:22px;border-radius:8px}.eyebrow{color:var(--agc-green-dark)}
.agc-footer{border-top:1px solid var(--line);padding:16px 28px;background:#fff;display:flex;justify-content:space-between;font-size:11px;color:#74828b}
@media(max-width:1100px){.filter-grid{grid-template-columns:2fr 1fr 1fr}.agc-kpis{grid-template-columns:1fr 1fr}.agc-hero{align-items:flex-start}.agc-brand-lockup{gap:18px}.agc-logo{width:185px}.agc-status-card{min-width:220px}.agc-table th:nth-child(7),.agc-table td:nth-child(7){display:none}}
@media(max-width:760px){.agc-hero{padding:22px 20px;display:block}.agc-brand-lockup{display:block}.agc-logo{width:210px;max-width:72%;margin-bottom:18px}.agc-brand-divider{display:none}.agc-hero h1{font-size:27px}.agc-status-card{margin-top:18px;min-width:0;width:100%}.agc-kpis article{padding:16px 18px}.agc-kpis strong{font-size:24px}.agc-tabs{padding-left:14px;overflow:auto}.agc-panel{padding:18px 14px 28px}.filter-grid{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.filter-footer{align-items:flex-start;gap:10px}.agc-table{display:none}.project-cards{display:grid}.project-card{padding:15px;border-bottom:1px solid var(--line)}.project-card:last-child{border-bottom:0}.card-top{display:flex;justify-content:space-between;gap:12px}.project-card h3{font-size:14px;margin:7px 0 3px;color:var(--agc-blue-dark)}.card-meta{font-size:11px;color:#6d7d86}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.card-grid div span{display:block;font-size:9px;text-transform:uppercase;color:#8b979e;margin-bottom:2px}.card-grid div strong{font-size:12px}.card-source{display:inline-block;margin-top:12px}.section-heading{align-items:flex-start;display:block}.compact-filter{width:100%;margin-top:14px}.change-card{grid-template-columns:1fr}.change-actions{text-align:left}.about-grid{grid-template-columns:1fr}.agc-footer{display:block}.agc-footer span{display:block;margin:2px 0}}
@media(max-width:480px){.filter-grid,.agc-kpis{grid-template-columns:1fr}.filter-footer{display:block}.filter-footer>div{margin-top:8px}.secondary-button{margin-left:0}.agc-hero h1{font-size:24px}}

/* Bid Calendar */
.bid-heading{align-items:flex-start}
.bid-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:18px;box-shadow:var(--shadow)}
.bid-kpis article{background:#fff;padding:18px 20px}
.bid-kpis strong{display:block;font-size:25px;line-height:1.1;margin:6px 0 4px;letter-spacing:-.025em;color:var(--agc-blue)}
.bid-kpis small{color:#7a8790;font-family:Corbel,Arial,Helvetica,sans-serif}
.bid-filter-grid{grid-template-columns:2fr repeat(5,1fr)}
.bid-legend{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin:15px 2px 12px;color:#687984;font-size:11px}
.bid-legend>span{display:flex;align-items:center;gap:7px}
.procurement-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;white-space:nowrap}
.procurement-status.posted{background:var(--agc-green-soft);color:var(--agc-green-dark);border:1px solid #b8dfb9}
.procurement-status.forecast{background:var(--agc-blue-soft);color:var(--agc-blue-dark);border:1px solid #c8dceb}
.opportunity-tag{display:inline-flex;align-items:center;border-radius:4px;padding:4px 7px;background:#f0f4f7;color:#405664;font-size:10px;font-weight:800;white-space:nowrap}
.bid-date{font-weight:800;color:var(--agc-blue-dark);white-space:nowrap}
.bid-date.forecast{color:#496b87}
.bid-date small{display:block;font-weight:400;color:#8b979e;margin-top:3px;font-size:9px;text-transform:uppercase;letter-spacing:.03em}
.bid-footnote{font-size:11px;color:#71818a;line-height:1.5;margin:12px 2px 0}
.bid-cards .project-card{position:relative}
.bid-card-status{position:absolute;right:15px;top:14px}
@media(max-width:1100px){.bid-filter-grid{grid-template-columns:2fr 1fr 1fr}.bid-table th:nth-child(7),.bid-table td:nth-child(7){display:none}}
@media(max-width:760px){.bid-kpis{grid-template-columns:1fr 1fr}.bid-filter-grid{grid-template-columns:1fr 1fr}.bid-filter-grid .search-field{grid-column:1/-1}.bid-table{display:none}.bid-cards{display:grid}.bid-card-status{position:static;margin-left:auto}.bid-card-top{display:flex;align-items:flex-start;gap:8px}.bid-legend{display:grid;gap:8px}}
@media(max-width:480px){.bid-kpis,.bid-filter-grid{grid-template-columns:1fr}}

/* Public Construction Tracker / Prevailing Wage */
.row-actions,.card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.card-actions{flex-direction:row;align-items:center;justify-content:space-between;margin-top:12px}
.mini-action-button{border:0;background:transparent;color:var(--agc-green-dark);font:inherit;font-size:10px;font-weight:800;padding:0;cursor:pointer;white-space:nowrap}
.mini-action-button:hover{text-decoration:underline}
.primary-button,.secondary-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;border-radius:5px;padding:0 13px;font:inherit;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}
.primary-button{background:var(--agc-blue);color:#fff;border:1px solid var(--agc-blue)}
.primary-button:hover{background:var(--agc-blue-dark);border-color:var(--agc-blue-dark)}
.secondary-link-button{background:#fff;color:var(--agc-blue);border:1px solid #bfd0df}
.secondary-link-button:hover{background:var(--agc-blue-soft);border-color:#a9c3d9}
.button-reset{appearance:none}
.wage-heading{align-items:flex-start}
.wage-warning{background:#fff;border:1px solid #c8dceb;border-left:4px solid var(--agc-blue);border-radius:7px;padding:15px 17px;margin-bottom:18px;color:#4b5f6c;font-size:12px;line-height:1.55}
.wage-warning strong{color:var(--agc-blue-dark)}
.wage-source-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-bottom:18px}
.wage-source-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:21px;box-shadow:var(--shadow)}
.wage-source-card.primary{border-top:4px solid var(--agc-blue)}
.wage-source-card h3,.wage-calculator-head h3{margin:5px 0 7px;color:var(--agc-blue-dark);font-size:18px}
.wage-source-card p,.wage-calculator-head p{margin:0;color:var(--muted);font-family:Corbel,Arial,Helvetica,sans-serif;font-size:13px;line-height:1.5}
.wage-search-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.wage-search-notes label,.schedule-meta-grid label,.wage-card-grid label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.wage-search-notes label span small{font-weight:400;text-transform:none;letter-spacing:0}
.wage-source-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px}
.text-source-link{font-size:11px;font-weight:750;color:var(--agc-blue);text-decoration:none}
.text-source-link:hover{text-decoration:underline}
.wage-calculator-shell{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}
.wage-calculator-head{padding:20px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}
.wage-calculator-head h3{font-size:21px}
.schedule-meta-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;padding:16px 22px;background:#fbfcfd;border-bottom:1px solid var(--line)}
.wage-formula-note{margin:16px 22px;background:var(--agc-blue-soft);border-radius:6px;padding:12px 14px;color:#49616f;font-size:11px;line-height:1.55}
.wage-formula-note strong{color:var(--agc-blue-dark)}
.wage-table-shell{overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wage-table{width:100%;min-width:1350px;border-collapse:collapse;font-size:11px}
.wage-table th{background:#f4f8fb;color:#48657b;padding:9px 7px;text-align:left;text-transform:uppercase;font-size:9px;letter-spacing:.04em;border-bottom:1px solid #d5e0e7}
.wage-table td{padding:8px 7px;border-bottom:1px solid #e9eef1;vertical-align:top}
.wage-table tr:last-child td{border-bottom:0}
.wage-table tr:hover{background:#fbfdfe}
.wage-cell-input{height:34px;min-width:80px;padding:0 7px;font-size:11px}
.wage-classification{min-width:170px}
.compact-num{min-width:58px;max-width:72px}
.currency-input{position:relative;min-width:82px}
.currency-input span{position:absolute;left:8px;top:8px;color:#7d8b94;font-size:11px;z-index:1}
.currency-input input{padding-left:18px}
.calc-cell{font-weight:750;color:#405866;white-space:nowrap;padding-top:16px!important}
.total-cell{color:var(--agc-blue-dark);font-weight:850}
.remove-wage-row{width:28px;height:28px;border:1px solid #d3dde3;background:#fff;color:#72818a;border-radius:5px;cursor:pointer;font-size:17px;line-height:1}
.remove-wage-row:hover{border-color:#c56d69;color:#983e3a;background:#fff7f6}
.wage-row-invalid{background:#fff7f6!important}
.cell-warning{display:block;margin-top:4px;color:#9b4a42;font-size:9px;line-height:1.25}
.wage-cards{display:none}
.wage-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.wage-kpis article{background:#fff;padding:18px 20px}
.wage-kpis strong{display:block;margin:5px 0 3px;color:var(--agc-blue);font-size:24px;letter-spacing:-.02em}
.wage-kpis small{color:#7b8890;font-family:Corbel,Arial,Helvetica,sans-serif}
.wage-calculator-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#fbfcfd}
.wage-validation{color:#657681;font-size:11px}
.wage-validation.has-warning{color:#8e4943;font-weight:700}
.wage-legal-note{margin-top:14px;color:#72818a;font-size:10px;line-height:1.5}
.wage-legal-note strong{color:#52636e}
.about-grid article:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:1100px){.wage-source-grid{grid-template-columns:1fr}.schedule-meta-grid{grid-template-columns:1fr 1fr}.wage-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.row-actions{gap:5px}.wage-calculator-head{display:block}.wage-calculator-head .primary-button{margin-top:14px}.schedule-meta-grid{grid-template-columns:1fr 1fr;padding:14px}.wage-formula-note{margin:14px}.wage-table{display:none}.wage-cards{display:grid}.wage-card{padding:15px;border-bottom:1px solid var(--line)}.wage-card:last-child{border-bottom:0}.wage-card-head{display:flex;gap:10px;align-items:center}.wage-card-classification{font-weight:800;color:var(--agc-blue-dark)}.wage-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.wage-card-grid input{height:36px}.wage-card-results{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:12px;background:#f5f8fa;border-radius:6px;padding:10px}.wage-card-results span{font-size:9px;color:#75838c;text-transform:uppercase}.wage-card-results strong{display:block;margin-top:3px;color:var(--agc-blue-dark);font-size:12px;text-transform:none}.wage-calculator-footer{display:block}.wage-calculator-footer>div:last-child{margin-top:9px}.wage-search-notes{grid-template-columns:1fr}.card-actions{align-items:flex-start}.about-grid article:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:480px){.schedule-meta-grid,.wage-kpis,.wage-card-grid,.wage-card-results{grid-template-columns:1fr}.wage-source-actions{align-items:stretch}.wage-source-actions .primary-button,.wage-source-actions .secondary-link-button{width:100%}.card-actions{display:grid;justify-content:start}}

/* DLS official project schedule search */
.dls-source-grid{grid-template-columns:1.55fr .85fr}
.dls-search-form{display:grid;grid-template-columns:1.15fr 1fr 1fr .85fr;gap:10px;margin-top:16px}
.dls-search-form label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.dls-search-form input{height:39px;border:1px solid #cbd8e1;border-radius:5px;padding:0 10px;font:inherit;font-size:12px;color:#263b49;background:#fff;outline:none}
.dls-search-form input:focus{border-color:var(--agc-blue);box-shadow:0 0 0 2px rgba(25,92,162,.10)}
.dls-request-field{grid-column:auto}
.dls-search-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}
.dls-search-actions .link-button{margin-left:0}
.dls-search-status{margin-top:14px;padding:10px 12px;border-radius:5px;background:#f6f8fa;color:#60727d;font-size:11px;line-height:1.4}
.dls-search-status.is-loading{background:var(--agc-blue-soft);color:var(--agc-blue-dark)}
.dls-search-status.is-success{background:var(--agc-green-soft);color:var(--agc-green-dark);font-weight:700}
.dls-search-status.is-error{background:#fff2f0;color:#8e4943;font-weight:700}
.dls-search-status.is-empty{background:#f7f8f9;color:#66757e}
.dls-search-results{display:grid;gap:10px;margin-top:10px}
.dls-result-card{border:1px solid #d7e1e7;border-radius:7px;padding:14px;background:#fff}
.dls-result-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dls-result-top strong{color:var(--agc-blue-dark);font-size:12px}
.dls-official-badge{display:inline-flex;align-items:center;border:1px solid #b8dfb9;background:var(--agc-green-soft);color:var(--agc-green-dark);border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.dls-result-card h4{margin:9px 0 8px;color:#183f63;font-size:14px;line-height:1.35}
.dls-result-meta{display:grid;grid-template-columns:1.1fr .65fr 1.2fr;gap:9px}
.dls-result-meta span{font-size:11px;line-height:1.35;color:#536873}
.dls-result-meta b{display:block;margin-bottom:2px;color:#86949c;font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.dls-result-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.dls-result-note{margin-top:9px;color:#71818a;font-size:10px;line-height:1.45}
.dls-empty{border:1px dashed #cbd7de;border-radius:6px;padding:13px;color:#667780;font-size:11px;line-height:1.5}
.dls-empty a:not(.secondary-link-button){color:var(--agc-blue);font-weight:750;text-decoration:none}
.dls-empty a:hover{text-decoration:underline}
.dls-coverage-note{margin-top:17px;border-top:1px solid var(--line);padding-top:13px;color:#6c7b84;font-size:10px;line-height:1.5}
.dls-coverage-note strong{color:#526774}
@media(max-width:1100px){.dls-source-grid{grid-template-columns:1fr}.dls-search-form{grid-template-columns:1fr 1fr}.dls-result-meta{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.dls-search-form,.dls-result-meta{grid-template-columns:1fr}.dls-search-actions{align-items:stretch}.dls-search-actions .primary-button,.dls-search-actions .text-source-link{width:100%}.dls-result-top{align-items:flex-start}.dls-result-actions{align-items:stretch}.dls-result-actions .primary-button,.dls-result-actions .secondary-link-button{width:100%}}

/* v1.4 - official DLS rate extraction */
.dls-rates-panel{margin-top:14px;border:1px solid #cddce5;border-radius:8px;background:#fbfdfe;overflow:hidden}
.dls-rates-panel[hidden]{display:none}
.dls-rates-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:16px 17px;background:#fff;border-bottom:1px solid var(--line)}
.dls-rates-head h4{margin:4px 0 5px;color:var(--agc-blue-dark);font-size:16px}
.dls-rates-head p{margin:0;color:#687b86;font-size:11px;line-height:1.45;max-width:720px}
.dls-parser-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.dls-parser-badges span{border:1px solid #c7d8e3;border-radius:999px;background:#f5f9fc;color:#4c687a;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}
.dls-parser-warning{margin:12px 16px 0;border-left:3px solid #cf8c35;background:#fff8eb;color:#765b34;padding:9px 11px;font-size:10px;line-height:1.45}
.dls-upload-box{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 16px;padding:14px;border:1px dashed #aebfca;border-radius:7px;background:#fff}
.dls-upload-box>div{display:flex;flex-direction:column;gap:5px;color:#61747f;font-size:10px;line-height:1.45}
.dls-upload-box strong{color:var(--agc-blue-dark);font-size:12px}
.dls-upload-button{cursor:pointer;white-space:nowrap}
.dls-rates-panel>.dls-search-status{margin:0 16px 14px}
.dls-rate-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 140px 175px auto auto auto;align-items:end;gap:8px;padding:12px 16px;background:#f7fafc;border-bottom:1px solid var(--line)}
.dls-rate-toolbar input,.dls-rate-toolbar select{height:35px;border:1px solid #cbd8e1;border-radius:5px;background:#fff;padding:0 9px;font:inherit;font-size:11px;color:#314854}
.dls-effective-date{display:grid;gap:4px;color:#566d7a;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.dls-effective-date input{width:100%;text-transform:none;font-weight:600;letter-spacing:0}
.dls-rate-toolbar input:focus,.dls-rate-toolbar select:focus{outline:none;border-color:var(--agc-blue);box-shadow:0 0 0 2px rgba(25,92,162,.10)}
.dls-rate-toolbar #dlsRateCount{justify-self:end;color:#71828b;font-size:10px;white-space:nowrap}
.dls-rate-table-shell{overflow-x:auto;background:#fff}
.dls-rate-table{width:100%;min-width:940px;border-collapse:collapse;font-size:10px}
.dls-rate-table th{padding:8px 7px;background:#f4f8fb;color:#4e6777;text-align:left;text-transform:uppercase;letter-spacing:.035em;font-size:8px;border-bottom:1px solid #d5e0e7;white-space:nowrap}
.dls-rate-table td{padding:8px 7px;border-bottom:1px solid #e8eef2;vertical-align:middle}
.dls-rate-table tr:hover{background:#fbfdfe}

.rate-timeline{margin-top:5px;color:#637985;font-size:9px}
.rate-timeline summary{cursor:pointer;color:var(--agc-blue);font-weight:700;list-style-position:inside}
.rate-timeline>div{display:grid;gap:2px;margin-top:5px;max-width:220px}
.rate-timeline-row{display:flex;justify-content:space-between;gap:16px;padding:3px 6px;border-radius:4px;background:#f5f8fa}
.rate-timeline-row.is-applicable{background:#edf8ee;color:#116d1d;font-weight:800}
.rate-not-yet-effective{opacity:.64}
.future-rate-label{color:#7b8790;font-style:italic}
.dls-rate-table input[type="checkbox"],.dls-rate-card input[type="checkbox"]{width:16px;height:16px;accent-color:var(--agc-green);cursor:pointer}
.rate-type-tag{display:inline-flex;border-radius:999px;background:var(--agc-blue-soft);color:var(--agc-blue-dark);padding:4px 7px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.rate-type-tag.apprentice{background:#f2f6f0;color:#50754f}
.dls-rate-cards{display:none}
.dls-rate-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;background:#fbfcfd;border-top:1px solid var(--line);color:#687983;font-size:10px;line-height:1.4}
.dls-rate-footer strong{color:#506672}
.dls-rate-footer .primary-button{white-space:nowrap}
@media(max-width:1100px){.dls-rate-toolbar{grid-template-columns:minmax(180px,1fr) 140px 175px auto}.dls-rate-toolbar #dlsRateCount{justify-self:start}}
@media(max-width:980px){.dls-rates-head{display:block}.dls-parser-badges{justify-content:flex-start;margin-top:10px}.dls-rate-toolbar{grid-template-columns:1fr 1fr}.dls-rate-toolbar #dlsRateCount{justify-self:start}.dls-upload-box{align-items:flex-start}}
@media(max-width:760px){.dls-rate-table{display:none}.dls-rate-cards{display:grid}.dls-rate-card{display:block;padding:13px 14px;border-bottom:1px solid var(--line);background:#fff;cursor:pointer}.dls-rate-card:last-child{border-bottom:0}.dls-rate-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dls-rate-card>strong{display:block;margin-top:8px;color:var(--agc-blue-dark);font-size:12px;line-height:1.3}.dls-rate-card>span{display:block;margin-top:3px;color:#73828b;font-size:10px}.dls-rate-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.dls-rate-card-grid span{background:#f4f8fa;border-radius:5px;padding:7px;color:#71808a;font-size:8px;text-transform:uppercase}.dls-rate-card-grid b{display:block;margin-top:3px;color:#2f4b5c;font-size:10px;text-transform:none}.dls-rate-footer,.dls-upload-box{display:block}.dls-rate-footer .primary-button,.dls-upload-button{width:100%;margin-top:10px}.dls-rate-toolbar{grid-template-columns:1fr}.dls-rate-toolbar #dlsRateCount{justify-self:start}}
@media(max-width:480px){.dls-rate-card-grid{grid-template-columns:1fr}.dls-parser-badges span{white-space:normal}}

/* v1.6 - clearer product architecture */
[hidden]{display:none!important}
.tool-switcher{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 28px 12px;background:#fff}
.tool-switch{appearance:none;border:2px solid #cbd9e4;border-radius:9px;background:#fff;padding:16px 18px;text-align:left;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;color:var(--agc-blue-dark)}
.tool-switch:hover{border-color:#9dbbd3;box-shadow:0 4px 14px rgba(25,92,162,.08)}
.tool-switch.is-active{background:var(--agc-blue);border-color:var(--agc-blue);color:#fff;box-shadow:0 5px 16px rgba(25,92,162,.18)}
.tool-switch-label{display:block;font-size:16px;font-weight:800;line-height:1.2}
.tool-switch-note{display:block;margin-top:5px;font-size:11px;line-height:1.4;color:#6c7f8b;font-family:Corbel,Arial,Helvetica,sans-serif}
.tool-switch.is-active .tool-switch-note{color:rgba(255,255,255,.82)}
.tool-subnav{padding:11px 28px 16px;gap:8px;align-items:center;border-top:0;border-bottom:1px solid var(--line);background:#fff}
.tool-subnav-label{margin-right:7px;color:#7b8b95;font-size:9px;letter-spacing:.11em;font-weight:800;white-space:nowrap}
.tool-subnav .agc-tab{border:1px solid #c9d7e1;border-radius:6px;background:#fff;padding:9px 13px;color:#536774;font-weight:780;white-space:nowrap}
.tool-subnav .agc-tab:hover{background:var(--agc-blue-soft);border-color:#acc5d9;color:var(--agc-blue-dark)}
.tool-subnav .agc-tab.is-active{background:var(--agc-blue);border-color:var(--agc-blue);color:#fff}
.tool-subnav .agc-tab.is-active .tab-badge{background:rgba(255,255,255,.18);color:#fff}
.tool-subnav .tab-badge{height:19px;min-width:19px;font-size:10px}
.lookup-next-step{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 0;padding:15px 17px;border:1px solid #c8dceb;border-radius:8px;background:var(--agc-blue-soft)}
.lookup-next-step>div{display:flex;flex-direction:column;gap:3px;color:#587080;font-size:11px}
.lookup-next-step strong{color:var(--agc-blue-dark);font-size:13px}
.calculator-page-heading{align-items:flex-start}
.tool-inline-nav{margin-left:0;white-space:nowrap}
.calculator-context-note{margin:-4px 0 16px;padding:11px 13px;border-left:4px solid var(--agc-blue);background:var(--agc-blue-soft);color:#536c7b;font-size:11px;line-height:1.45}
.calculator-context-note strong{color:var(--agc-blue-dark)}
.inline-nav-button{appearance:none;border:0;background:transparent;padding:0;color:var(--agc-blue);font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.about-disclosure{margin:0 28px 22px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.about-disclosure summary{cursor:pointer;padding:13px 15px;color:var(--agc-blue-dark);font-size:11px;font-weight:800;list-style-position:inside;background:#fbfcfd}
.about-disclosure[open] summary{border-bottom:1px solid var(--line)}
.compact-about{padding:15px}
.compact-about article{box-shadow:none;padding:17px}
.compact-about h2{font-size:17px}
.compact-about p{font-size:11px}
.agc-shell[data-product="wage"] .tool-switcher{border-bottom:1px solid #edf1f4}
.agc-shell[data-product="wage"] .agc-panel{padding-top:24px}
@media(max-width:760px){
  .tool-switcher{grid-template-columns:1fr;padding:14px 14px 10px;gap:8px}
  .tool-switch{padding:13px 14px}
  .tool-switch-label{font-size:14px}
  .tool-subnav{padding:9px 14px 13px;overflow:auto;align-items:center}
  .tool-subnav-label{display:none}
  .tool-subnav .agc-tab{padding:8px 11px}
  .lookup-next-step{display:block}
  .lookup-next-step .primary-button{width:100%;margin-top:11px}
  .calculator-page-heading .tool-inline-nav{width:100%;margin-top:12px}
  .about-disclosure{margin:0 14px 18px}
}

/* v1.7 - independent Public Construction and Prevailing Wage products */
.standalone-subnav{
  padding:14px 28px;
  gap:9px;
  border-top:0;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.standalone-subnav .agc-tab{
  border:1px solid #c9d7e1;
  border-radius:7px;
  background:#fff;
  padding:10px 16px;
  color:#536774;
  font-weight:800;
  white-space:nowrap;
}
.standalone-subnav .agc-tab:hover{
  background:var(--agc-blue-soft);
  border-color:#a9c4d9;
  color:var(--agc-blue-dark);
}
.standalone-subnav .agc-tab.is-active{
  background:var(--agc-blue);
  border-color:var(--agc-blue);
  color:#fff;
  box-shadow:0 3px 10px rgba(25,92,162,.15);
}
.standalone-subnav .agc-tab.is-active .tab-badge{background:rgba(255,255,255,.18);color:#fff}
.agc-shell[data-product="wage"] .agc-hero{border-bottom-color:var(--agc-blue)}
.agc-shell[data-product="wage"] .agc-panel{padding-top:26px}
.agc-shell[data-product="wage"] .about-disclosure{margin-top:4px}
.agc-shell[data-product="construction"] .agc-kpis[hidden]{display:none!important}
.about-disclosure summary{user-select:none}
@media(max-width:760px){
  .standalone-subnav{padding:10px 14px 12px;overflow:auto;gap:7px}
  .standalone-subnav .agc-tab{padding:9px 12px}
}


/* v1.7.3 - standalone/full-screen launch from WordPress embeds */
.agc-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex:0 0 auto}
.fullscreen-link{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--agc-blue);border-radius:6px;background:#fff;color:var(--agc-blue);padding:8px 11px;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}
.fullscreen-link:hover{background:var(--agc-blue);color:#fff;box-shadow:0 3px 10px rgba(25,92,162,.14)}
.fullscreen-link:focus-visible{outline:3px solid rgba(25,92,162,.22);outline-offset:2px}
@media(max-width:760px){.agc-hero-actions{align-items:stretch;margin-top:16px}.fullscreen-link{justify-content:center}.agc-hero-actions .agc-status-card{margin-top:0}}
