/* Local reporting workspace: fluid layouts and accessible review controls. */
body{font-size:16px;line-height:1.5}
[hidden]{display:none!important}
button,input,select,textarea{font-family:inherit}
input,select,textarea{min-width:0;max-width:100%}
button,select,input:not([type=color]),textarea{font-size:1rem}
button,.button,input,select{min-height:44px}
textarea{border:1px solid #cfd2c8;border-radius:5px;padding:12px;resize:vertical;line-height:1.5;color:var(--ink);background:white}
button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #9c7200;outline-offset:3px}
label{font-size:.875rem;letter-spacing:.025em}
.hero>*,.panel>*,.panel-title>*,.creative-review-head>*,.creative-upload>*,.manual-grid>*,.field-grid>*,.upload-grid>*,.metric-strip>*,.observations>*{min-width:0}
.topbar{padding-inline:clamp(16px,4vw,64px);gap:20px}
.brand{min-width:0}.brand-mark,.platform-dot,.calendar-icon,.input-icon{flex-shrink:0}
.hero{max-width:1400px;min-height:450px;padding:clamp(32px,5vw,64px) clamp(20px,4vw,56px);gap:clamp(24px,4vw,64px)}
.hero h1{font-size:clamp(2.5rem,4.8vw,4.6rem)}
.hero-actions,.panel-actions,.export-row,.history-actions{flex-wrap:wrap;gap:12px}
.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.preview-grid small,.preview-grid span{font-size:.75rem;letter-spacing:.025em}
.workspace{padding:clamp(28px,4vw,56px) clamp(12px,3vw,48px) 64px;scroll-margin-top:90px}
.section-heading,.steps,.panel{max-width:1600px}
.section-heading h2{font-size:clamp(1.8rem,3vw,2.4rem)}
.panel{padding:clamp(16px,2.2vw,36px);min-width:0}
.panel-title{gap:20px;flex-wrap:wrap}
.panel-title>div:first-child{flex:1 1 240px}
.panel-title h3{font-size:clamp(1.4rem,2vw,1.8rem)}
.steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.step{font-size:.875rem;display:flex;align-items:center;gap:8px}
.step span{margin-right:0;flex-shrink:0}
.month-pick,.upload-grid,.manual-grid,.observations{grid-template-columns:repeat(2,minmax(0,1fr))}
.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.manual-card .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.upload-card{min-width:0;text-transform:none;letter-spacing:0}
.upload-card>span:last-child{min-width:0;flex:1}
.upload-card small{white-space:normal;overflow-wrap:anywhere;max-width:none;font-size:.875rem}
.upload-card:focus-within,.creative-file:focus-within{outline:3px solid #9c7200;outline-offset:3px}
.mapping-card{padding:14px 0;border-bottom:1px solid var(--line);min-width:0}
.mapping-card b,.mapping-card span{display:block;overflow-wrap:anywhere}
.mapping-card span{margin-top:6px;font-size:.875rem;color:var(--muted)}
.manual-card>small,.color-head small,.color-field span,.creative-upload p,.creative-status,.creative-review-head p{font-size:.875rem;overflow-wrap:anywhere}
.color-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.color-field input[type=color]{width:100%;min-width:0}
.metric-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
.metric-strip small,.metric-strip span{display:block;font-size:.875rem}
.metric-strip div{padding:16px;border:1px solid var(--line)}
.summary-table-wrap{max-width:100%;min-width:0;overscroll-behavior-inline:contain}
.summary-table th,.summary-table td{font-size:.875rem}
.summary-table th{white-space:normal}
.notice,.placeholder-note{overflow-wrap:anywhere}
.notice span,.placeholder-note span{font-size:.875rem}
.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.chart-card{min-width:0;padding:18px;border-radius:6px}
.chart-card h4{font-size:1rem;line-height:1.4}
.chart-plot{overflow:auto;max-width:100%;overscroll-behavior-inline:contain}
.chart-card canvas{display:block;width:100%;height:auto;aspect-ratio:5/2}
.creative-match-summary,.creative-score,.creative-status-pill,.carousel-choice{font-size:.875rem}
.creative-post-copy,.creative-deck-copy{max-width:none;overflow-wrap:anywhere}
.creative-select{min-width:0;width:100%}
.creative-match-table{table-layout:fixed;min-width:850px}
.creative-match-table th:nth-child(1){width:32%}.creative-match-table th:nth-child(2){width:34%}.creative-match-table th:nth-child(3){width:18%}.creative-match-table th:nth-child(4){width:16%}
.creative-preview,.creative-preview.landscape{max-width:100%;object-fit:contain}
.post-classifications{margin-block:32px}
.post-classifications h3{margin-bottom:8px;font-size:1.35rem}
.classification-help,.classification-status{font-size:.875rem;color:var(--muted);margin:8px 0 16px}
.classification-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.classification-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#4b5345;font-size:.875rem;font-weight:750;cursor:pointer}
.classification-tabs button[aria-selected=true]{background:#171914;color:#fff;border-color:#171914}
.classification-tabs button span{background:#edf0e7;border-radius:20px;min-width:26px;padding:2px 7px;color:#35402c;font-variant-numeric:tabular-nums}
.classification-tabs button[aria-selected=true] span{background:var(--yellow);color:#151713}
.classification-empty{background:#f0f4ed;border:1px solid #d4dfcc;border-radius:6px;padding:24px;text-align:center;color:#435237}
.classification-table{table-layout:fixed;min-width:0}
.classification-table th:nth-child(1){width:8%}.classification-table th:nth-child(2){width:24%}.classification-table th:nth-child(3){width:10%}.classification-table th:nth-child(4){width:10%}.classification-table th:nth-child(5){width:15%}.classification-table th:nth-child(6){width:11%}.classification-table th:nth-child(7){width:11%}.classification-table th:nth-child(8){width:11%}
.classification-table th,.classification-table th:not(:first-child),.classification-table td,.classification-table td:not(:first-child){text-align:left;overflow-wrap:anywhere;padding:12px 10px;font-weight:400}
.classification-table th,.classification-table td:first-child{font-weight:750}
.classification-table input,.classification-table input[type=url],.classification-table select{min-width:0;max-width:100%;padding:10px 6px;font-size:.875rem;font-weight:500}
.classification-table input[type=file]{font-size:.75rem;overflow:hidden}
.classification-table td:nth-child(5){min-width:0}
.classification-table small{max-width:none;font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere}
.confidence{font-size:.8125rem}
.classification-table tbody tr:nth-child(even){background:#fafbf8}
.observations label{text-transform:none;letter-spacing:0;font-size:1rem}
.observations textarea{min-height:180px}
footer{gap:24px;flex-wrap:wrap}
#toast{max-width:min(480px,calc(100vw - 32px));overflow-wrap:anywhere;right:16px;bottom:16px}
@media(max-width:1200px){
  .classification-wrap{border:0;background:transparent;overflow:visible}
  .classification-table,.classification-table tbody{display:block;background:transparent}
  .classification-table thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .classification-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;margin-bottom:16px;background:white!important;border:1px solid var(--line);border-radius:8px;border-top:3px solid var(--yellow)}
  .classification-table td,.classification-table td:not(:first-child){display:block;border:0;padding:0;min-width:0}
  .classification-table td::before{content:attr(data-label);display:block;font-size:.8125rem;font-weight:700;color:var(--muted);margin-bottom:6px}
  .classification-table td:nth-child(1),.classification-table td:nth-child(2),.classification-table td:nth-child(5){grid-column:1/-1}
  .classification-table td:nth-child(2){font-size:1rem;line-height:1.6}
  .classification-table input,.classification-table select{font-size:1rem;padding:12px}
  .classification-table input[type=file]{font-size:.875rem}
}
@media(max-width:850px){
  .hero{grid-template-columns:1fr;gap:28px}.preview-card{transform:none;min-height:0}
  .manual-grid,.upload-grid,.observations,.chart-grid{grid-template-columns:minmax(0,1fr)}
  .metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .creative-upload{grid-template-columns:minmax(0,1fr)}
  .creative-match-table,.creative-match-table tbody{display:block;min-width:0;width:100%}
  .creative-match-table thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
  .creative-match-table tbody tr{display:block;padding:18px;border-bottom:1px solid var(--line)}
  .creative-match-table td{display:block;padding:8px 0;border:0;min-width:0}
  .creative-match-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:.8125rem;font-weight:700;margin-bottom:6px}
  .creative-match-table td select{font-size:1rem}
  .creative-preview{width:112px;height:140px}.creative-preview.landscape{width:220px;height:auto}
}
@media(max-width:600px){
  .topbar{height:auto;min-height:64px;padding:12px 16px;position:relative}.brand{font-size:.9375rem}
  .hero{padding:28px 16px}.hero h1{font-size:2.6rem}.hero-copy{font-size:1rem}
  .preview-card{padding:18px}.preview-grid{grid-template-columns:minmax(0,1fr)}.preview-grid div{padding:12px}.preview-grid strong{font-size:1.5rem;margin:4px 0}
  .preview-head{gap:10px;flex-wrap:wrap}.hero-actions{flex-direction:column}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.step{padding:12px 8px;gap:6px}
  .month-pick,.manual-card .field-grid,.field-grid.four{grid-template-columns:minmax(0,1fr)}
  .manual-card{padding:16px}.color-grid,.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .color-head{flex-direction:column}.color-head .button{width:100%}
  .panel-title .calendar-icon,.panel-title .input-icon{width:44px;height:44px}
  .panel-actions{flex-direction:column}.panel-actions .button,.export-row,.export-row .button{width:100%}
  .history-actions{align-items:stretch}.history-actions>*{flex:1 1 180px}
  .classification-tabs button{flex:1 1 130px}
  .classification-table tbody tr{grid-template-columns:minmax(0,1fr);padding:16px}
  .chart-card{padding:14px}.chart-card canvas{min-width:560px}.chart-plot{padding-bottom:8px}
  .chart-scroll-hint{display:block;font-size:.8125rem;color:white;margin:8px 0 0}
  .meta-exclusions{padding:16px!important}
  footer{padding:24px 16px}footer .legal{text-align:left}
}
@media(min-width:601px){.chart-scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,#toast{transition:none}.button:hover{transform:none}}
