:root {
  color-scheme: light;
  --bg:#f3f5f3; --surface:#fff; --surface-soft:#f7f9f7; --text:#20332b;
  --muted:#5b7064; --line:#dce5de; --accent:#176b55; --accent-ink:#fff;
  --accent-soft:#e6f2eb; --accent-strong:#104e3e; --warning:#85591a;
  --warning-bg:#fff1d5; --danger:#a2342b; --danger-bg:#fff0ed;
  --input:#fff; --shadow:0 5px 22px #183c2510; --focus:#ae721a;
  --comparison-up:#39745b; --comparison-down:#a35360; --comparison-flat:#626b78;
  --radius:12px;
  font-family:"Segoe UI",Inter,system-ui,sans-serif; font-size:15px; line-height:1.5;
  background:var(--bg); color:var(--text);
}
:root[data-theme="midnight-blue"], :root[data-report-theme="midnight-blue"] .ceo-report {
  color-scheme:dark; --bg:#071525; --surface:#0c2035; --surface-soft:#112a43;
  --comparison-up:#8cbaa1; --comparison-down:#cf929b; --comparison-flat:#abb4c0;
  --text:#edf4ff; --muted:#a8bad0; --line:#29425e; --accent:#52c8ff;
  --accent-ink:#061525; --accent-soft:#153650; --accent-strong:#9adeff;
  --warning:#f3ce83; --warning-bg:#3c321e; --danger:#ffabc9; --danger-bg:#3d223b;
  --input:#091b2e; --shadow:0 5px 22px #00000025; --focus:#b6a3ff;
}
:root[data-theme="tech-magenta"], :root[data-report-theme="tech-magenta"] .ceo-report {
  color-scheme:dark; --bg:#100c19; --surface:#1d152a; --surface-soft:#281e38;
  --comparison-up:#a0baa7; --comparison-down:#d19aaa; --comparison-flat:#b7b0c0;
  --text:#f5f1ff; --muted:#b9aecb; --line:#433151; --accent:#ff75bd;
  --accent-ink:#210f20; --accent-soft:#3c2040; --accent-strong:#ffa6d4;
  --warning:#f4c18a; --warning-bg:#3f2c29; --danger:#ffacb9; --danger-bg:#422332;
  --input:#17101f; --shadow:0 5px 22px #00000025; --focus:#64e1e5;
}
:root[data-report-theme="light"] .ceo-report {
  color-scheme:light; --comparison-up:#39745b; --comparison-down:#a35360; --comparison-flat:#626b78;
  --bg:#fff; --surface:#fff; --surface-soft:#f5f7fb;
  --text:#172b43; --muted:#4e627b; --line:#d9e2ed; --accent:#2563b8;
  --accent-ink:#fff; --accent-soft:#edf3fb; --accent-strong:#174b91;
  --warning:#85591a; --warning-bg:#fff1d5; --danger:#a2342b; --danger-bg:#fff0ed;
  --input:#fff; --shadow:none; --focus:#ae721a;
}
*{box-sizing:border-box} [hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text)}
body,.panel,.site-header,input,select,textarea,.status-card,.metric{transition:background-color .18s,color .18s,border-color .18s}
a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--accent-strong)}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,3vw,2.7rem);letter-spacing:-.045em;line-height:1.15;margin-bottom:14px;overflow-wrap:anywhere;font-weight:650}h2{font-size:1.3rem;letter-spacing:-.025em;margin-bottom:18px;font-weight:650}h3{font-size:1rem;line-height:1.4;font-weight:650}
small,.caption{font-size:.8rem;color:var(--muted)}small{display:block}
button,input,select,textarea{font:inherit}
button,.button{border:1px solid transparent;border-radius:8px;background:var(--accent);color:var(--accent-ink);padding:11px 17px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.3;transition:transform .15s,background-color .15s,box-shadow .15s}
button:hover,.button:hover{background:var(--accent-strong);color:var(--accent-ink);box-shadow:var(--shadow)}
button:active,.button:active{transform:translateY(1px)}
.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}
.secondary:hover{background:var(--surface-soft);color:var(--accent);border-color:var(--accent)}
.button.small{padding:8px 12px;font-size:.8rem}
input,select,textarea{display:block;width:100%;min-width:0;margin-top:7px;border:1px solid var(--line);border-radius:7px;padding:11px 12px;background:var(--input);color:var(--text)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}
label{display:block;font-size:.82rem;font-weight:600;color:var(--muted)}
input[type=checkbox]{width:17px;height:17px;display:inline-block;margin:0 8px 0 0;accent-color:var(--accent)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.site-header{display:flex;align-items:center;gap:36px;padding:18px max(4%,calc((100% - 1420px)/2));background:var(--surface);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.12rem;letter-spacing:-.02em;color:var(--text);text-decoration:none;white-space:nowrap}
.brand small{font-size:.7rem;letter-spacing:.025em;font-weight:400}.brand-mark{background:var(--accent);color:var(--accent-ink);border-radius:9px;width:40px;height:40px;display:grid;place-items:center;font-size:1rem}
.site-header nav{display:flex;gap:8px;margin-left:28px}
.site-header nav a{text-decoration:none;color:var(--muted);padding:10px 16px;border-radius:7px;font-size:.88rem}
.site-header nav a:hover{background:var(--surface-soft)}
.site-header nav a[aria-current]{color:var(--accent);background:var(--accent-soft);font-weight:650}
.theme-selector{margin-left:auto;min-width:145px;font-size:.72rem;white-space:nowrap}.theme-selector select{margin-top:3px;padding:7px 10px;font-size:.8rem}
.container{max-width:1540px;margin:auto;padding:36px 4%}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:10px 0 32px}
.page-heading p:last-child{margin-bottom:0}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700;color:var(--muted);margin-bottom:10px}
.muted{color:var(--muted)}
.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}
.status-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;padding:20px;color:var(--muted);display:flex;flex-direction:column;justify-content:space-between;gap:12px;font-size:.84rem;box-shadow:var(--shadow);transition:transform .18s,border-color .18s}
.status-card:hover{transform:translateY(-2px);border-color:var(--accent)}
.status-card strong{font-size:2.15rem;font-weight:600;color:var(--text);letter-spacing:-.04em}
.status-card.selected{border-color:var(--accent);background:var(--accent-soft)}
.status-card.selected small{color:var(--accent)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:24px;box-shadow:var(--shadow);min-width:0}
.filters,.activity-form{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:24px}
.filters label{min-width:110px}.filters input[type=number]{max-width:125px}
.grow{flex:1;min-width:200px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.section-heading h2,.section-heading .eyebrow{margin-bottom:4px}
.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.actions a{font-size:.88rem}
.table-scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.84rem}
th{text-align:left;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.045em;background:var(--surface-soft);font-weight:650}
th,td{padding:15px 13px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{white-space:nowrap}tfoot th,tfoot td{font-weight:700;background:var(--surface-soft)}
tbody tr:hover{background:var(--surface-soft)}
.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.operations-table{min-width:1280px}.operations-table th:first-child{width:28%}
.project-link{font-weight:650;color:var(--text);text-decoration:none}
.project-link:hover{color:var(--accent);text-decoration:underline}
.project-link+small{margin-top:5px;max-width:290px;overflow-wrap:anywhere;line-height:1.45}
.date-cell{font-size:.78rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.badge,.count-pill{display:inline-block;background:var(--surface-soft);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:.7rem;line-height:1.4}
.dead-badge{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}
.contract-status form{margin-top:18px}.contract-status summary{cursor:pointer;color:var(--danger)}
.count-pill{border-radius:20px;vertical-align:middle}
.positive,.stage-completed,.stage-signed{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.stage-approval,.stage-client{background:var(--surface-soft);color:var(--text)}
.attention{font-size:.7rem;background:var(--surface);color:var(--muted);border-color:var(--line);padding:7px 9px;white-space:nowrap}
.attention:hover{background:var(--accent-soft);color:var(--accent)}
.attention.flagged{background:var(--warning-bg);border-color:transparent;color:var(--warning)}
.empty{padding:36px 16px;text-align:center;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contract-form{max-width:1000px}
.checks{display:flex;gap:32px;margin:28px 0}.checks label,.confirm,.check-label{display:flex;align-items:center}
fieldset{border:1px solid var(--line);border-radius:9px;padding:24px;margin:28px 0}
legend{padding:0 10px;font-size:.9rem;font-weight:650}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
dl{margin:0 0 24px}dt{font-size:.8rem;color:var(--muted);margin-top:16px}dd{margin:4px 0 0;overflow-wrap:anywhere}
.large-number{font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.milestones{display:grid;grid-template-columns:1fr auto;gap:16px}.milestones dt,.milestones dd{margin:0}
.history{list-style:none;padding:0}.history li{border-top:1px solid var(--line);padding:22px 0}
.history small{margin-top:6px}.note{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0 0}
.danger-link{color:var(--danger)}.danger{background:var(--danger);border-color:var(--danger);color:var(--surface)}
.narrow{max-width:700px;margin:24px auto}.confirm{margin:24px 0}
.error{padding:16px;background:var(--danger-bg);border:1px solid var(--danger);border-radius:8px;margin:20px 0;color:var(--danger)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}
.metric{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;min-width:0;box-shadow:var(--shadow)}
.metric p{font-size:.8rem;color:var(--muted);margin-bottom:12px}.metric strong{font-size:clamp(1.35rem,2vw,1.9rem);font-weight:600;letter-spacing:-.045em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric small{margin-top:7px}
.metric-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.chart-wrap{position:relative;height:265px}
.chart-total{margin:0 0 12px;color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}
.chart-total strong{color:var(--text);font-weight:600}
.top-report-charts .chart-section{min-width:0}
.ceo-report .chart-total{font-size:.8rem;margin-bottom:8px}
.chart-data{margin-top:15px}.chart-data summary{cursor:pointer;font-size:.78rem;color:var(--accent)}
details[open] summary{margin-bottom:12px}details[open] .table-scroll{animation:reveal .2s ease}
@keyframes reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.report-section{margin-bottom:32px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.summary-strip span{display:block;font-size:.76rem;color:var(--muted)}.summary-strip strong{display:block;font-size:1.2rem;margin-top:6px;font-weight:600}
.recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.recent-item{padding:8px 0 8px 17px;border-left:2px solid var(--line)}
.recent-item h3{margin:10px 0 8px}.recent-item h3 a{color:var(--text);text-decoration:none}
.recent-note{font-size:.82rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.designer-row{display:flex;align-items:center;gap:24px;padding:22px 0;border-top:1px solid var(--line)}
.designer-identity{display:flex;align-items:center;gap:15px;min-width:200px}.designer-identity a{font-size:.8rem}
.avatar{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);width:44px;height:44px;border-radius:50%;font-weight:650}
.footer{font-size:.75rem;color:var(--muted);padding-top:8px;display:flex;justify-content:space-between;gap:12px}
.skip-link{position:absolute;top:-80px;background:var(--surface);padding:12px;z-index:10}.skip-link:focus{top:0}
#report-status{min-height:1.2em;margin:-12px 0 20px}
#report-content[aria-busy=true]{opacity:.65;transition:opacity .15s}
.print-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;font-size:.8rem}
.ceo-report{max-width:8.5in;margin:auto}
.print-page{padding:36px;background:var(--surface);border:1px solid var(--line);margin-bottom:30px;box-shadow:var(--shadow)}
.report-header{border-bottom:2px solid var(--accent);padding-bottom:22px;margin-bottom:24px}
.report-header h1{font-size:2.3rem}.report-meta{display:flex;justify-content:space-between;gap:16px;font-size:.88rem}
.report-header.compact h2{font-size:1.65rem;margin-bottom:8px}.report-header.compact p:last-child{margin:0;color:var(--muted)}
.ceo-report .chart-wrap{height:210px}.ceo-report .company-page .chart-wrap{height:160px}
.ceo-report .company-history-page .chart-wrap{height:220px}
.ceo-report .designer-charts .chart-wrap{height:175px}
.ceo-report{color:var(--text);background:var(--bg)}
.ceo-report,.ceo-report *{transition:none}
.company-history-page .chart-section{break-inside:avoid}
.ceo-report .panel{padding:16px;margin-bottom:16px}.ceo-report .chart-grid{gap:16px}
.ceo-report .metric{padding:12px}.ceo-report .metric strong{font-size:1.25rem}
.ceo-report .metric p{font-size:.7rem}.ceo-report .chart-section h3{font-size:.85rem}
.ceo-report .summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}
@media(max-width:1150px){.status-grid{gap:10px}.status-card{padding:16px}.site-header{gap:16px}.site-header nav{margin-left:0}.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-row{flex-wrap:wrap}.designer-identity{min-width:180px}}
@media(max-width:600px){.site-header{padding:14px 16px;flex-wrap:wrap}.site-header nav{order:3;width:100%;justify-content:space-between}.site-header nav a{padding:8px 12px}.brand{font-size:1rem}.theme-selector{min-width:130px}.container{padding:24px 16px}.page-heading{align-items:flex-start;flex-direction:column}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.detail-grid,.recent-grid{grid-template-columns:1fr}.checks{flex-direction:column;gap:14px}.filters label,.activity-form label{flex:1;min-width:100%}.filters input[type=number]{max-width:none}.section-heading{align-items:flex-start;flex-direction:column}.panel{padding:18px}.metric{padding:15px}.metric-grid{gap:10px}.milestones{grid-template-columns:1fr}.milestones dd{margin-top:-12px}.designer-row{gap:16px}.designer-row .grow{min-width:100%}.footer{flex-direction:column}.print-toolbar{flex-wrap:wrap}.print-page{padding:20px}.metric-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.report-meta{flex-direction:column}.ceo-report .summary-strip{grid-template-columns:1fr}.chart-wrap{height:240px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@page{size:letter portrait;margin:.55in}
/* Match the physical sheet and its margins to the report surface. Keeping the
   page content box unchanged preserves safe insets on every continuation page. */
@page monthly-report{size:letter portrait;margin:.55in;background:var(--surface)}
@media print{
  :root[data-report-view="true"] body{page:monthly-report}
  :root[data-report-view="true"],
  :root[data-report-view="true"] body,
  :root[data-report-view="true"] .ceo-report{background:var(--surface)}
  :root[data-report-theme="light"]{color-scheme:light;--comparison-up:#39745b; --comparison-down:#a35360; --comparison-flat:#626b78;--bg:#fff;--surface:#fff;--surface-soft:#f5f7fb;--text:#172b43;--muted:#4e627b;--line:#d9e2ed;--accent:#2563b8;--accent-ink:#fff;--accent-soft:#edf3fb;--shadow:none}
  :root[data-report-theme="midnight-blue"]{
  color-scheme:dark; --bg:#071525; --surface:#0c2035; --surface-soft:#112a43;
  --comparison-up:#8cbaa1; --comparison-down:#cf929b; --comparison-flat:#abb4c0;
  --text:#edf4ff; --muted:#a8bad0; --line:#29425e; --accent:#52c8ff;
  --accent-ink:#061525; --accent-soft:#153650; --accent-strong:#9adeff;
  --warning:#f3ce83; --warning-bg:#3c321e; --danger:#ffabc9; --danger-bg:#3d223b;
  --input:#091b2e; --shadow:0 5px 22px #00000025; --focus:#b6a3ff;
}
  :root[data-report-theme="tech-magenta"]{
  color-scheme:dark; --bg:#100c19; --surface:#1d152a; --surface-soft:#281e38;
  --comparison-up:#a0baa7; --comparison-down:#d19aaa; --comparison-flat:#b7b0c0;
  --text:#f5f1ff; --muted:#b9aecb; --line:#433151; --accent:#ff75bd;
  --accent-ink:#210f20; --accent-soft:#3c2040; --accent-strong:#ffa6d4;
  --warning:#f4c18a; --warning-bg:#3f2c29; --danger:#ffacb9; --danger-bg:#422332;
  --input:#17101f; --shadow:0 5px 22px #00000025; --focus:#64e1e5;
}
  body{background:var(--bg);font-size:9pt}.site-header,.footer,.no-print,.skip-link{display:none!important}
  .container{max-width:none;padding:0}.ceo-report{max-width:none}
  .print-page{padding:0;border:0;box-shadow:none;margin:0;break-before:page}
  .print-page:first-child{break-before:auto}
  .report-header{padding-bottom:14px;margin-bottom:18px}
  .report-header h1{font-size:26pt}.report-header.compact h2{font-size:20pt}
  .report-meta{display:flex;flex-direction:row;font-size:9pt}
  .metric-grid,.metric-grid.two{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
  .metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .metric{box-shadow:none;break-inside:avoid;padding:10px!important;border-radius:4px}
  .metric strong,.ceo-report .metric strong{font-size:14pt}
  .metric p{font-size:8pt;margin-bottom:7px}
  .chart-grid,.ceo-report .chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .chart-section{break-inside:avoid}.chart-section h3{font-size:9pt}
  .chart-wrap,.ceo-report .chart-wrap{height:220px}
  .company-page .chart-wrap,.ceo-report .company-page .chart-wrap{height:170px}
  .chart-data{display:none}.panel{box-shadow:none;border-radius:4px;padding:12px!important;margin-bottom:12px}
  .ceo-report .summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .summary-strip strong{font-size:12pt}.summary-strip span{font-size:8pt}
  .report-section{margin-bottom:18px}h2,h3{break-after:avoid}
  table{font-size:8.5pt}th,td{padding:8px 7px}thead{display:table-header-group}
  tfoot{display:table-row-group}tr{break-inside:avoid}.table-scroll{overflow:visible}
  a{color:inherit;text-decoration:none}.caption{font-size:8pt}
  .designer-page{break-inside:avoid}.designer-page .chart-section{margin-bottom:10px}.ceo-report .designer-charts .chart-wrap{height:175px}.designer-charts h3{margin-bottom:8px}.designer-charts .caption{margin-bottom:8px}
  *{animation:none!important;transition:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Historical designer comparisons always use a single full-width column. */
.historical-comparison-charts{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.historical-comparison-charts .chart-wrap{height:var(--chart-height,265px)}
@media print{
  .historical-comparison-charts .chart-wrap{height:var(--chart-print-height,220px)}
  .designer-comparison-history>.section-heading{break-after:avoid}
}

/* Proposal comparisons reuse horizontal sizing when many designers are present. */
.proposal-activity .chart-wrap{height:var(--chart-height,265px)}
@media print{
  .proposal-activity .chart-wrap{height:var(--chart-print-height,220px)}
}

/* Standalone fee calculator; shares the application's theme and form tokens. */
.site-header nav{flex-wrap:wrap}
.fee-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:18px}
.fee-form>label{flex:1;min-width:180px;max-width:320px}
.fee-guidance{background:var(--surface-soft);border-radius:8px;padding:16px 20px;margin-top:24px}
.fee-guidance h3{margin-bottom:6px}
.fee-guidance dl{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px 16px;margin:0;font-size:.82rem}
.fee-guidance dt{margin:0;font-size:inherit;font-weight:700;color:var(--accent)}.fee-guidance dd{margin:0;color:var(--muted)}
.fee-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.fee-result-grid .fee-result>.caption{min-height:3em}
.fee-breakdown{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin-bottom:0}
.fee-breakdown dt,.fee-breakdown dd{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
.fee-breakdown dt{color:var(--muted);font-size:.88rem}
.fee-breakdown dd{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;overflow-wrap:anywhere}
.fee-breakdown .fee-total{font-size:1.45rem;color:var(--text);font-weight:650;padding-top:4px}
.fee-warning{background:var(--warning-bg);color:var(--warning);border-radius:7px;padding:12px;font-size:.84rem}
.fee-minimum{background:var(--surface-soft);box-shadow:none}
.fee-minimum p{font-size:.84rem;margin-bottom:7px}.fee-minimum p:last-child{margin-bottom:0}
#manual-result{max-width:850px}
@media(max-width:850px){.fee-result-grid{grid-template-columns:1fr}}
@media(max-width:600px){
  .site-header nav{flex-wrap:wrap;justify-content:flex-start}
  .fee-form>label{min-width:100%;max-width:none}.fee-form>button{width:100%}
}

/* Project aliases and search context remain secondary to the project name. */
.contract-alias-input{margin-top:20px}
.contract-aliases{color:var(--muted);overflow-wrap:anywhere}
.operations-table .contract-aliases,.operations-table .matched-note{max-width:320px;margin-top:5px;font-size:.76rem;line-height:1.4}
.operations-table .matched-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

.contract-status-badge{white-space:nowrap}
.contract-status-hold{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}
.contract-status-collections{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}


/* Shared designer comparison presentation; other chart sizes stay unchanged. */
.chart-wrap.vertical-designer-chart{height:var(--chart-height,330px)}
.chart-wrap.compact-designer-chart{height:var(--chart-height,135px)}
@media print{
  .chart-wrap.vertical-designer-chart{height:var(--chart-print-height,300px)}
  .chart-wrap.compact-designer-chart{height:var(--chart-print-height,110px)}
  /* Chrome can fire beforeprint before print media applies. Keep these dynamic
     horizontal wrappers at the canvas height measured by the print handler. */
  .ceo-report .proposal-activity .chart-wrap.compact-designer-chart,
  .ceo-report .historical-comparison-charts .chart-wrap.compact-designer-chart{
    height:var(--chart-height,135px);
  }
}

.login-container{max-width:480px;margin:8vh auto}.login-form{display:grid;gap:18px}


/* Supporting context belongs only to the four selected-month summary cards. */
.metric .metric-comparison{color:var(--comparison-flat);font-size:.76rem;line-height:1.4;overflow-wrap:anywhere}
.metric .metric-comparison-up{color:var(--comparison-up)}
.metric .metric-comparison-down{color:var(--comparison-down)}
.metric .metric-comparison-flat,.metric .metric-comparison-unavailable{color:var(--comparison-flat)}
.ceo-report .metric-comparison{font-size:8pt}
