/* Shared screen finish. Measurement colors and print layouts remain source-owned. */
@media screen {
  :root { --workspace-ink:#142a25; --workspace-muted:#64736e; --workspace-line:#e3e9e6; --workspace-brand:#173e31; }
  body.online-dashboard .app-header { padding:0 24px; background:linear-gradient(110deg,#12382c 0%,#173e31 50%,#20533f 100%); border:0; box-shadow:none; }
  body.online-dashboard .app-header .header-row { height:80px; min-height:80px; padding:0; margin:auto; gap:20px; align-items:center; }
  body.online-dashboard .app-header::after { display:none; }
  #laudosView .central-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #laudosView .central-entry-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; }
  #laudosView .central-entry-options button { min-height:54px; background:#e5f1e9; border-color:#b8d5c4; text-align:left; padding:14px 18px; }
  #laudosView .central-entry-options button:hover { background:#cfe5d7; }
  #laudosView .central-pending .central-section-head { flex-wrap:wrap; gap:12px; }
  #laudosView [data-action="approve-ready"] { margin-left:auto; }
  #priorityAnalysisView, #technicalModulesView, #adminView { color:var(--workspace-ink); background:transparent; border:0; border-radius:0; padding:0; box-shadow:none; }
  #priorityAnalysisView { --ink:var(--workspace-ink); --muted:var(--workspace-muted); --line:var(--workspace-line); gap:20px; }
  .priority-analysis-head, .technical-module-head { padding:0; margin:0 0 20px; align-items:center; }
  .priority-analysis-head h2, .technical-module-head h2, #adminView>header h2, .central-heading h2 { font-size:28px; font-weight:650; letter-spacing:-.035em; line-height:1.2; margin:0; }
  .priority-analysis-head .evolution-eyebrow, .technical-module-copy>span, #adminView .laudos-eyebrow, .central-eyebrow { display:none; }
  .priority-analysis-reference { background:transparent; border:0; padding:0; font-size:12px; color:var(--workspace-muted); }
  #priorityAnalysisView .priority-analysis-controls { background:transparent; border:0; box-shadow:none; padding:0; gap:12px; margin-bottom:18px; }
  #priorityAnalysisView .control label, .soil-online-bar label { font-size:12px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--workspace-muted); }
  #priorityAnalysisView select, .soil-online-bar select { min-height:42px; border:1px solid var(--workspace-line); border-radius:8px; background:white; color:var(--workspace-ink); font:500 13px Inter,"Segoe UI",sans-serif; padding:0 12px; }
  .priority-analysis-toolbar { margin:0 0 18px; gap:12px; }
  #priorityAnalysisView .priority-mode-tabs { background:#eaf0ec; border:0; padding:4px; border-radius:9px; }
  #priorityAnalysisView .priority-mode-button { min-height:36px; padding:8px 14px; font-size:12px; font-weight:600; border:0; box-shadow:none; }
  #priorityAnalysisView .priority-mode-button.active { background:white; color:var(--workspace-brand); box-shadow:0 1px 3px #142a2510; }
  #priorityAnalysisView :is(.priority-ranking-panel,.priority-scatter-panel) { padding:20px; background:white; border:1px solid var(--workspace-line); border-radius:12px; box-shadow:0 2px 4px #142a2503; }
  #priorityAnalysisView h3 { font-size:16px; font-weight:650; letter-spacing:-.015em; }
  #priorityAnalysisView .priority-section-head p { font-size:12px; color:var(--workspace-muted); }
  #priorityAnalysisView .priority-scatter-controls { padding:14px 0; gap:12px; border-bottom:1px solid var(--workspace-line); margin-bottom:12px; }
  #priorityAnalysisView .priority-scatter-controls button, .priority-export-menu>summary, .technical-module-action { min-height:40px; border:1px solid #d7e2db; border-radius:8px; background:white; color:var(--workspace-brand); box-shadow:none; font-size:12px; font-weight:600; padding:10px 14px; }
  #priorityScatterMethod { color:var(--workspace-muted); font-size:12px; line-height:1.6; }
  .priority-section-metric { font-size:12px; border-color:var(--workspace-line); background:#f6f8f7; }
  .soil-online-bar { padding:0 0 18px; gap:12px; border:0; background:transparent; }
  .technical-module-frame-wrap { background:white; border:1px solid var(--workspace-line); border-radius:12px; box-shadow:none; }
  .technical-module-copy p { font-size:13px; color:var(--workspace-muted); }
  .technical-module-empty { background:#f6f8f7; color:var(--workspace-ink); }
  #adminView>header { padding:0; margin-bottom:22px; }
  #adminView { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
  #adminView .soil-admin-card { min-width:0; max-width:100%; box-sizing:border-box; }
  #adminView .soil-admin-table { width:100%; max-width:100%; overflow:auto; }
  #adminView>header p { font-size:13px; color:var(--workspace-muted); margin:8px 0 0; }
  #adminView .soil-admin-card { background:white; border:1px solid var(--workspace-line); border-radius:12px; padding:22px; box-shadow:none; }
  #adminView h3 { font-size:16px; font-weight:650; }
  #adminView :is(input,select,button) { min-height:42px; border-radius:8px; font-size:13px; }
  #adminView button.primary { background:var(--workspace-brand); color:white; }
  #adminView th { background:#f6f8f7; color:var(--workspace-muted); font-size:12px; font-weight:600; text-transform:none; letter-spacing:0; }
  #adminView :is(td,th) { padding:14px 16px; border-color:var(--workspace-line); }
  #laudosView { padding:0; }
  #laudosView .central-tabs { border-color:var(--workspace-line); }
  :is(#priorityAnalysisView,#technicalModulesView,#adminView) :is(button,select,input,summary):focus-visible { outline:3px solid #71977f; outline-offset:3px; }
  @media(max-width:760px) {
    body.online-dashboard .app-header { padding:0 16px; }
    body.online-dashboard .app-header .header-row { height:auto; min-height:80px; padding:12px 0; }
    #priorityAnalysisView .priority-analysis-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #priorityAnalysisView :is(.priority-ranking-panel,.priority-scatter-panel), #adminView .soil-admin-card { padding:14px; }
    .priority-analysis-head h2,.technical-module-head h2,#adminView>header h2,.central-heading h2 { font-size:24px; }
    .priority-analysis-toolbar,.priority-section-head,.technical-module-head { flex-wrap:wrap; }
    #priorityAnalysisView :is(button,select), #adminView :is(button,select,input) { min-height:44px; }
  }
}

/* Access-specific navigation is backed by database RLS. */
body[data-participant-role="viewer"] [data-view="laudos"],body[data-participant-role="client"] [data-view="laudos"],body[data-participant-role="client"] #producerOfflineTab{display:none!important}
#evolutionView .evo-page-actions{align-items:flex-end}
#evolutionView .soil-online-bar{margin:0;padding:0;align-items:flex-end}
.evo-settings-stack{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.evo-settings-stack #soilDashboardStatus{font-size:12px;line-height:18px;font-variant-numeric:tabular-nums;color:#60786e;background:#e6eee9;border-radius:12px;padding:2px 8px}
#evolutionView .evo-settings-stack .evo-reference-action{height:50px;min-width:184px;margin:0}
#evolutionView #soilDashboardProducer{min-height:50px}
.soil-admin-producers{display:grid;gap:8px;max-height:230px;overflow:auto;padding:12px;border:1px solid #d8e5de;border-radius:10px}
.soil-admin-producers label{display:flex;align-items:center;gap:10px;font-size:14px}
.soil-admin-producers input{width:auto}

#evolutionView #evoProducerSlot .premium-filter-trigger{height:50px;min-height:50px;padding:0 16px}
dialog.soil-confirm .soil-admin-producers label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;margin:0;min-height:40px;text-align:left}
dialog.soil-confirm .soil-admin-producers input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;margin:0;flex:0 0 18px}

/* Administration: compact navigation, readable history, explicit selection. */
.admin-section-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #d8e5de;padding-bottom:16px;margin-bottom:24px}
.soil-admin .admin-section-nav button[aria-pressed=true]{background:#18513e;border-color:#18513e;color:white}
.admin-insights{background:#fff;border:1px solid #d8e5de;border-radius:12px;padding:24px;min-width:0}
.admin-insights[hidden],[data-admin-section][hidden]{display:none}
.admin-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}
.soil-admin .admin-section-heading h3{margin:0 0 8px}.admin-section-heading p{margin:0;color:#60736b;font-size:14px}
.admin-member-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;margin:0 0 24px}
.admin-member-summary article{display:flex;flex-direction:column;gap:8px;border:1px solid #e1eae4;border-radius:8px;padding:16px;min-width:0}
.admin-member-summary strong{font-size:14px;overflow-wrap:anywhere}.admin-member-summary small{color:#577366}.admin-member-summary span{font-size:13px;color:#53665d}
.soil-admin .admin-history-filters{grid-template-columns:minmax(180px,2fr) repeat(2,minmax(130px,1fr)) minmax(170px,1.5fr) auto;gap:12px;margin-bottom:20px}
.admin-history-table{max-height:560px;overflow:auto;border:1px solid #e1eae4;border-radius:8px}
.admin-history-table th{position:sticky;top:0;z-index:1}.soil-admin .admin-history-table td{vertical-align:top;max-width:260px;overflow-wrap:anywhere}
.soil-admin .admin-history-table td:last-child{min-width:110px}.soil-admin .admin-history-table td:first-child{white-space:nowrap}
.admin-history-footer,.admin-export-selection,.admin-export-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.admin-history-footer{justify-content:space-between}.admin-history-footer span,.admin-export-selection span{font-size:14px;color:#52695f}
.admin-data-note{font-size:13px;line-height:1.6;color:#60736b;margin:24px 0 0;max-width:1000px}
.admin-insights-status{min-height:24px;line-height:1.5;font-size:14px}.admin-insights-status:empty{display:none}
.admin-producer-search{max-width:480px}.admin-export-producers{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:8px;max-height:380px;overflow:auto;margin:16px 0;padding:4px}
.soil-admin .admin-export-producers label{flex-direction:row;align-items:center;gap:12px;border:1px solid #d8e5de;border-radius:8px;padding:12px;font-weight:500;cursor:pointer;min-width:0}
.admin-export-producers span{overflow-wrap:anywhere}.admin-export-producers label:has(input:checked){border-color:#277658;background:#f1f8f4}
.soil-admin .admin-export-producers input{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;margin:0;accent-color:#18513e}
.soil-admin button:hover:enabled{border-color:#277658}.soil-admin button:disabled{cursor:not-allowed}
@media(max-width:1000px){.soil-admin .admin-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-history-filters button{justify-self:start}}
@media(max-width:600px){.admin-insights{padding:16px}.soil-admin .admin-history-filters{grid-template-columns:1fr}.admin-section-heading{flex-direction:column}.soil-admin .admin-section-nav button{flex:1 1 auto;font-size:13px}.admin-export-actions button{flex:1}.admin-export-selection{gap:8px}.admin-member-summary{grid-template-columns:1fr}}

/* Offline download belongs to the overview producer controls. */
body .online-producer-slot,body #overviewProducerSlot{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
body .online-producer-slot{max-width:480px}
body .online-producer-slot .soil-producer-control{flex:1 1 220px;min-width:0}
body #producerOfflineTab.overview-download-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:88px;min-height:50px;padding:8px 16px;border:1px solid #c9dbd1;border-radius:8px;background:#fff;color:#173e31;font:600 13px/1.25 Inter,"Segoe UI",sans-serif;cursor:pointer;transition:background 160ms ease,border-color 160ms ease}
body #producerOfflineTab.overview-download-button:hover{background:#eaf3ed;border-color:#8bb49e}
body #producerOfflineTab.overview-download-button:focus-visible{outline:2px solid #287154;outline-offset:3px}
body #producerOfflineTab[hidden]{display:none}
@media(prefers-reduced-motion:reduce){body #producerOfflineTab.overview-download-button{transition:none}}
