:root{--soil-ink:#183a30;--soil-muted:#526a61;--soil-green:#285f49;--soil-line:#d5e2db;--soil-soft:#edf3ef;--soil-radius:20px}
.laudos-panel{margin:24px auto;max-width:1840px;padding:24px;color:var(--soil-ink);font-family:inherit;background:#f1f6f3;border:1px solid var(--soil-line);border-radius:var(--soil-radius)}
.laudos-panel[hidden],.laudos-panel [hidden],.auth-gate[hidden]{display:none!important}
.laudos-head,.laudos-tools,.laudos-foot,.laudos-results-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.laudos-head{justify-content:space-between;margin-bottom:22px}.laudos-head h2{margin:4px 0;font-size:28px}.laudos-eyebrow{font-size:11px;letter-spacing:.14em;font-weight:750;color:var(--soil-muted)}
.laudos-panel h3{margin:0;font-size:19px}.laudos-panel small,.laudos-muted{color:var(--soil-muted);font-size:13px;line-height:1.5}.laudos-panel label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.laudos-panel input,.laudos-panel select,.laudos-panel button,.auth-gate input,.auth-gate button{box-sizing:border-box;min-height:42px;border:1px solid #bccfc3;border-radius:10px;padding:9px 12px;font:inherit;color:inherit;background:#fff;max-width:100%}.laudos-panel button,.auth-gate button{cursor:pointer;font-weight:600;font-size:14px;transition:background .16s,border-color .16s,box-shadow .16s}.laudos-panel button:hover{background:#e8f1eb;border-color:#8cab98}.laudos-panel button.primary,.auth-gate button{background:var(--soil-green);color:#fff;border-color:var(--soil-green)}.laudos-panel button.primary:hover,.auth-gate button:hover{background:#1e4e3b}.laudos-panel button:disabled,.auth-gate button:disabled{opacity:.5;cursor:not-allowed}.laudos-panel :focus-visible,.auth-gate :focus-visible{outline:3px solid #b47a21;outline-offset:2px}
.laudos-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.laudos-entry{background:#fff;border:1px solid var(--soil-line);border-radius:var(--soil-radius);padding:22px;display:flex;flex-direction:column;gap:16px;position:sticky;top:16px}.laudos-entry .laudos-muted{margin:-8px 0 0}.laudos-context{display:grid;gap:8px;background:#f4f7f5;border:1px solid #e0e9e3;border-radius:12px;padding:16px}.laudos-context span{font-size:12px;color:var(--soil-muted)}.laudos-context strong{font-size:16px;overflow-wrap:anywhere}.laudos-drop{border:1px dashed #92b29e;border-radius:14px;padding:20px 12px;text-align:center;background:#eff6f1;cursor:pointer}.laudos-drop span{font-weight:400;color:var(--soil-muted)}.laudos-file{font-size:11px!important;width:100%;padding:8px 0!important;border:0!important;background:transparent!important}.laudos-file::file-selector-button{border:0;border-radius:6px;background:#dceade;padding:8px;color:#214c36;cursor:pointer}.laudos-entry details{font-size:13px;line-height:1.6}.laudos-entry details p{color:var(--soil-muted)}
.laudos-main{min-width:0}.laudos-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.laudos-metrics>div{padding:20px;background:#fff;border:1px solid var(--soil-line);border-radius:18px}.laudos-metrics span{display:block;font-size:12px;color:var(--soil-muted);font-weight:650}.laudos-metrics strong{display:block;font-size:30px;line-height:1.3;margin-top:8px;font-variant-numeric:tabular-nums}.laudos-metrics .laudos-stage{font-size:19px;color:#776020;padding-top:8px}
.laudos-results{background:#fff;border:1px solid var(--soil-line);border-radius:var(--soil-radius);padding:20px;min-width:0}.laudos-results-head{justify-content:space-between;margin-bottom:16px}.laudos-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.laudos-filters>label{flex:1 1 135px;min-width:110px;max-width:220px}.laudos-filters select,.laudos-filters input{width:100%;font-size:13px}.laudos-search{flex-grow:2!important}.laudos-status{min-height:22px;padding:12px 0 8px;font-size:13px;color:var(--soil-muted)}.laudos-status[data-tone=error]{color:#a12626}
.laudos-columns{position:relative;font-size:14px}.laudos-columns summary{cursor:pointer;padding:10px 14px;border:1px solid var(--soil-line);border-radius:10px;list-style:revert}.laudos-columns>div{position:absolute;right:0;top:46px;z-index:8;background:white;padding:16px;box-shadow:0 12px 32px #183a3026;border:1px solid var(--soil-line);border-radius:12px;min-width:260px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.laudos-columns label{flex-direction:row;align-items:center;gap:8px}.laudos-columns input{min-height:20px;width:18px;height:18px;accent-color:var(--soil-green)}
.laudos-table-wrap{overflow:auto;max-height:62vh;border:1px solid var(--soil-line);border-radius:12px;scrollbar-color:#b4c9ba #f4f7f5}.laudos-panel table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap;font-size:14px}.laudos-panel th{position:sticky;top:0;z-index:3;text-align:left;background:#eff4f0;padding:12px;font-size:12px;color:#466153;border-bottom:1px solid var(--soil-line)}.laudos-panel th small{display:block;font-size:10px;font-weight:500}.laudos-panel td{padding:5px;border-bottom:1px solid #e6eee8;background:#fff}.laudos-panel tr:hover td{background:#f4f8f5}.laudos-panel td input{width:88px;min-height:40px;padding:8px;border:1px solid transparent;background:transparent;border-radius:6px;font-variant-numeric:tabular-nums;font-size:14px}.laudos-panel td input:hover{border-color:#c1d3c6}.laudos-panel td input:focus{background:#fff}.laudos-panel td input.identity{width:120px}.laudos-panel td[data-key=producer]{position:sticky;left:0;z-index:2;min-width:132px;max-width:132px;border-right:1px solid #d5e2db}.laudos-panel th[data-key=producer]{z-index:5}.laudos-panel :is(th,td)[data-key=field]{position:sticky;left:132px;z-index:2;border-right:1px solid #d5e2db}.laudos-panel th[data-key=field]{z-index:5}.laudos-panel [data-key=source]{max-width:140px;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--soil-muted)}.laudos-panel td.is-focused{background:#f0f7f2}.laudos-panel td.is-changed{box-shadow:inset 0 -2px #b58027;background:#fff9eb}.laudos-panel input[aria-invalid=true]{border-color:#aa2525;background:#fff0ee}.laudos-badge{display:inline-block;padding:5px 9px;background:#f3edda;color:#70591d;border-radius:20px;font-size:11px;font-weight:650}.laudos-panel .laudos-empty{text-align:center;padding:48px 16px;color:var(--soil-muted);white-space:normal}.laudos-foot{justify-content:space-between;padding-top:16px}.laudos-foot>div:first-child{display:flex;align-items:center;gap:10px;font-size:12px}.laudos-foot button{font-size:12px;min-height:40px}.laudos-foot .laudos-tools{gap:8px}
.soil-connection{background:#fff;border:1px solid var(--soil-line);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14px}.soil-connection summary{cursor:pointer;font-weight:600}.soil-message{font-size:13px;color:var(--soil-muted)}.soil-link-row{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid var(--soil-line)}.soil-link-row strong{width:100%;font-size:13px}.soil-link-row select{max-width:220px}.soil-link-row label{flex-direction:row;align-items:center}.soil-link-row input[type=checkbox]{min-height:20px;width:20px;accent-color:var(--soil-green)}.soil-history{display:block;margin-top:16px;min-width:0}
.soil-confirm{width:min(430px,calc(100vw - 48px));box-sizing:border-box;border:1px solid #b6cdc1;border-radius:14px;padding:24px;color:#14392e;box-shadow:0 18px 60px #14392e30}.soil-confirm::backdrop{background:#102d2460}.soil-confirm h3{margin:0 0 12px;font-size:20px}.soil-confirm p{line-height:1.5;margin:0 0 24px}.soil-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.auth-gate{min-height:100vh;box-sizing:border-box;padding:60px 24px;background:radial-gradient(ellipse at 15% 5%,#d8e9df,transparent 55%),#f3f6f3;color:var(--soil-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;font-family:inherit}.auth-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.auth-brand strong{font-size:24px}.auth-brand>span:last-child{flex-basis:100%;text-align:center;font-size:10px;letter-spacing:.2em;color:var(--soil-muted)}.auth-symbol{background:var(--soil-green);color:white;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:24px;font-weight:800}.auth-card{width:min(420px,100%);box-sizing:border-box;background:#fff;border:1px solid var(--soil-line);border-radius:24px;padding:32px;box-shadow:0 12px 36px #2148330a}.auth-card h1{font-size:25px;margin:10px 0}.auth-card p{font-size:14px;line-height:1.6;color:var(--soil-muted)}.auth-card form{display:grid;gap:18px;margin:24px 0 0}.auth-card label{display:grid;gap:8px;font-size:13px;font-weight:600}.auth-card input{width:100%;min-height:48px;font-size:15px}.auth-card button{width:100%;min-height:48px}.auth-card small{font-size:12px;line-height:1.5;color:var(--soil-muted)}.auth-card .auth-message{color:#a12626;min-height:20px}
body.awaiting-data .view-tabs{display:flex}.field-banner{padding:12px 24px;background:#e6f2ea;color:#144831;font-weight:600}
@media(max-width:1150px){.laudos-workspace{grid-template-columns:1fr}.laudos-entry{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;padding:16px}.laudos-entry h3,.laudos-entry>.laudos-muted{grid-column:1/-1}.laudos-context{grid-row:3/5}.laudos-entry details{grid-column:2/-1}.laudos-drop{padding:10px}.laudos-panel{padding:16px}}
@media(max-width:600px){.laudos-panel{margin:10px 0;padding:12px;border-radius:14px}.laudos-head h2{font-size:24px}.laudos-entry{grid-template-columns:1fr 1fr;gap:12px}.laudos-entry .laudos-context{grid-column:1/-1;grid-row:auto;display:none}.laudos-entry details{grid-column:1/-1}.laudos-entry .laudos-drop{grid-row:3/5;grid-column:2}.laudos-metrics{grid-template-columns:1fr 1fr;gap:8px}.laudos-metrics>div{padding:14px}.laudos-metrics strong{font-size:24px}.laudos-metrics .laudos-stage{font-size:17px}.laudos-results{padding:12px}.laudos-results h3{font-size:17px}.laudos-filters>label{min-width:125px;max-width:none}.laudos-panel :is(th,td)[data-key=field]{position:static}.laudos-panel td[data-key=producer]{min-width:112px;max-width:112px}.laudos-panel td input.identity{width:100px}.auth-gate{padding:32px 16px}.auth-card{padding:24px}}
@media(prefers-reduced-motion:reduce){.laudos-panel *,.auth-gate *{transition:none!important;scroll-behavior:auto!important}}@media print{.laudos-panel,.auth-gate{display:none}}

.laudos-panel td[data-key=producer]{position:static;min-width:132px;max-width:132px}.laudos-panel :is(th,td)[data-key=field]{left:0;min-width:154px;max-width:154px}.laudos-panel td[data-key=field] input{width:140px;font-weight:650}.laudos-row-context{display:block;overflow:hidden;text-overflow:ellipsis;max-width:144px;padding:0 8px 4px;font-size:10px!important}.laudos-panel td:not([data-key]){white-space:nowrap}.laudos-panel td input{width:78px}.laudos-panel td[data-key=depth] input{width:100px}.laudos-panel td button{font-size:12px;min-height:36px;padding:6px 10px}.laudos-filters>label{flex-basis:112px;min-width:100px;max-width:180px}.laudos-panel .laudos-head button{white-space:normal}@media(max-width:600px){.laudos-panel :is(th,td)[data-key=field]{position:sticky;min-width:128px;max-width:128px}.laudos-panel td[data-key=field] input{width:118px}.laudos-row-context{max-width:118px}.laudos-filters>label{min-width:125px;max-width:none}}

.auth-brand .auth-logo{display:block;width:240px;height:auto;max-width:80vw;object-fit:contain}.auth-card .auth-title{font-size:16px;letter-spacing:.09em;margin:0;color:#3f6554}.auth-card [hidden]{display:none!important}.auth-card .auth-link{background:transparent;border:0;color:#285f49;font-size:13px;min-height:40px;padding:8px;margin-top:10px;box-shadow:none}.auth-card .auth-link:hover{background:#edf4ef}.auth-password{position:relative;display:block}.auth-password input{padding-right:76px}.auth-card .auth-toggle{position:absolute;right:4px;top:4px;width:auto;min-height:40px;padding:6px 10px;background:transparent;border:0;color:#285f49;font-size:12px}.auth-card .auth-toggle:hover{background:#edf4ef}.auth-card .auth-message:empty{margin:0;min-height:0}

/* The online shell stays navigable before any dataset is loaded. */
body.online-dashboard{margin:0;background:#f3f6f4}
body.online-dashboard .app-main{max-width:none;width:100%;box-sizing:border-box;padding:20px 24px;background:#f3f6f4;min-height:calc(100vh - 94px)}
body.online-dashboard .app-main::before,body.online-dashboard .app-main::after{display:none}
body.online-dashboard .view-tabs{display:flex!important;flex-wrap:wrap;width:fit-content;max-width:100%;box-sizing:border-box;margin:0 0 20px}
body.online-dashboard .laudos-panel{max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent}
body.online-dashboard.awaiting-data #overviewView{display:block;width:100%;min-height:0;margin:0}
body.online-dashboard.awaiting-data #overviewView[hidden]{display:none}
body.online-dashboard.awaiting-data #overviewView>.controls,body.online-dashboard.awaiting-data #overviewView>.initial-empty{display:none}
.online-overview-empty{display:none;border:1px solid var(--soil-line);border-radius:18px;background:#fff;padding:36px;max-width:100%;box-sizing:border-box}
body.online-dashboard.awaiting-data .online-overview-empty{display:block}
.online-overview-empty h2{font-size:28px;margin:12px 0}.online-overview-empty p{line-height:1.6;max-width:720px}
.online-overview-empty button{background:var(--soil-green);border:0;color:white;font:inherit;font-weight:650;padding:12px 20px;border-radius:10px;cursor:pointer;margin-top:12px}
@media(max-width:600px){body.online-dashboard .app-main{padding:12px}body.online-dashboard .view-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:4px}.online-overview-empty{padding:24px}.online-overview-empty h2{font-size:24px}}

.soil-online-bar{display:flex;align-items:center;gap:16px;margin:0 0 20px;flex-wrap:wrap}.soil-online-bar[hidden]{display:none}.soil-online-bar label{display:flex;align-items:center;gap:10px;font-weight:600}.soil-online-bar select{font:inherit;padding:10px;border:1px solid var(--soil-line);border-radius:10px;max-width:70vw}.soil-online-bar span{font-size:13px;color:var(--soil-muted)}.soil-approval-check{display:flex!important;flex-direction:row!important;align-items:center;margin-bottom:22px}.soil-confirm textarea{width:100%;box-sizing:border-box;min-height:90px;margin:8px 0 20px;padding:10px;border:1px solid var(--soil-line);border-radius:8px;font:inherit}.soil-revision-history{width:min(720px,90vw)}.laudos-panel input[readonly]{color:var(--soil-muted)}



/* Full-width sample workspace. The table owns horizontal scrolling. */
.laudos-head{margin:4px 0 14px}.laudos-head h2{font-size:26px}
.laudos-actionbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.laudos-panel .laudos-actionbar button{min-height:40px;font-size:13px}
.laudos-panel .laudos-import-button{position:relative;display:flex;flex-direction:row;align-items:center;gap:10px;min-height:40px;box-sizing:border-box;padding:9px 14px;background:#fff;border:1px solid var(--soil-line);border-radius:9px;cursor:pointer;overflow:hidden}
.laudos-import-button span{font-size:11px;color:var(--soil-muted);font-weight:400}
.laudos-panel .laudos-import-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.laudos-import-button:focus-within{outline:3px solid #85af99;outline-offset:2px}
.laudos-actionbar-hint{margin-left:auto;font-size:12px;color:var(--soil-muted)}
.laudos-workspace{display:block}.laudos-metrics{display:flex;flex-wrap:wrap;gap:0;margin:0 0 12px;background:transparent;border:0}
.laudos-metrics>div{display:flex;align-items:baseline;gap:10px;padding:4px 22px 4px 0;margin-right:22px;border:0;border-right:1px solid var(--soil-line);border-radius:0;background:transparent}
.laudos-metrics>div:last-child{border-right:0}.laudos-metrics span{font-size:12px;font-weight:500}.laudos-metrics strong{font-size:20px;margin:0}.laudos-metrics .laudos-stage{font-size:13px;padding:0}
.laudos-results{border-radius:12px;padding:16px 16px 0;scroll-margin-top:115px;box-shadow:0 3px 12px #183a3004}
.laudos-results-head{margin-bottom:12px}.laudos-results h3{font-size:18px}.laudos-results-head small{font-size:12px}
.laudos-filters{display:grid;grid-template-columns:1.2fr 1.2fr 1fr .8fr .85fr .85fr 1.2fr;gap:10px}
.laudos-filters>label{min-width:0;max-width:none;font-size:12px}.laudos-filters select,.laudos-filters input{min-height:38px;border-radius:7px;font-size:13px;padding:7px 9px}
.laudos-status{font-size:12px;padding:10px 0;min-height:16px}.laudos-table-wrap{max-height:clamp(340px,60vh,760px);min-height:260px;border-radius:8px;overscroll-behavior:contain}
.laudos-panel .laudos-table-wrap table{width:max-content;min-width:100%;table-layout:fixed}
.laudos-panel .laudos-table-wrap th{font-size:12px;padding:10px 9px;background:#eaf1ec;min-width:78px;box-shadow:0 1px var(--soil-line)}
.laudos-panel .laudos-table-wrap th small{font-size:11px;color:#61786b}
.laudos-panel .laudos-table-wrap td{padding:3px 5px;height:48px}
.laudos-panel .laudos-table-wrap td input{width:78px;min-height:36px;font-size:14px;padding:6px}
.laudos-panel .laudos-table-wrap td input.identity{width:130px}
.laudos-panel .laudos-table-wrap :is(th,td)[data-key=field]{position:sticky;left:0;min-width:154px;max-width:154px;background:#fff;box-shadow:2px 0 5px #183a300a}
.laudos-panel .laudos-table-wrap th[data-key=field]{background:#eaf1ec;z-index:5}
.laudos-panel .laudos-table-wrap td[data-key=field] input{width:140px;font-weight:650}
.laudos-panel .laudos-table-wrap .laudos-row-context{max-width:144px;padding:0 6px 3px;font-size:11px!important}
.laudos-panel .laudos-table-wrap td[data-key=source]{max-width:210px;min-width:160px;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.4}
.laudos-panel .laudos-table-wrap tr:nth-child(even) td{background:#fafcfb}.laudos-panel .laudos-table-wrap tr:hover td{background:#f0f6f2}
.laudos-panel .laudos-table-wrap td.is-focused{background:#edf6f0}.laudos-panel .laudos-table-wrap td.is-changed{background:#fff8e8}
.laudos-foot{padding:12px 0;background:#fff;gap:10px}.laudos-foot button{border-radius:8px}
.laudos-panel .soil-connection{padding:0;margin:0 0 14px;border-radius:12px;overflow:hidden}
.soil-connection>summary{padding:14px 16px;display:flex;align-items:center;gap:12px;list-style:none}
.soil-connection>summary::before{content:'›';font-size:20px;color:var(--soil-green);transition:transform .16s}
.soil-connection[open]>summary::before{transform:rotate(90deg)}
.soil-connection>summary small{margin-left:auto;font-size:12px;font-weight:400}
.soil-connection>.soil-message{margin:0;padding:0 16px 10px}.soil-connection>.soil-message:empty{display:none}
.soil-connection>.soil-private{padding:0 16px 16px}.soil-connection-toolbar{padding-bottom:12px;border-bottom:1px solid #e8eeea}
.soil-connection-toolbar label{margin-right:auto}.soil-connection-toolbar label select{min-height:38px;max-width:235px;font-size:12px}
.soil-connection-toolbar button{min-height:38px;font-size:12px;padding:8px 12px}
.soil-history-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.soil-history-toolbar label{display:grid;gap:6px;width:min(440px,100%);font-size:12px}.soil-history-toolbar input{width:100%;min-height:40px}
.soil-history-toolbar p{font-size:12px;color:var(--soil-muted);margin:0 0 10px;white-space:nowrap}
.soil-history-list{display:block;max-height:330px;overflow:auto;border:1px solid var(--soil-line);border-radius:8px;margin:0 0 10px}
.laudos-panel .soil-batch-table{width:100%;min-width:640px;font-size:13px}
.laudos-panel .soil-batch-table th{padding:10px 12px;background:#eff4f0;white-space:nowrap;font-size:12px}
.laudos-panel .soil-batch-table td{padding:8px 12px;height:auto;background:white;border-bottom:1px solid #edf1ee}
.soil-batch-table td:first-child{font-weight:600;white-space:normal}.soil-batch-table td:nth-child(3){font-variant-numeric:tabular-nums}
.soil-batch-table td:last-child{text-align:right;width:84px}.laudos-panel .soil-batch-open{min-height:34px;padding:6px 16px;font-size:12px;color:var(--soil-green);background:#f0f6f2;border-color:#c9ddd0;border-radius:7px}
.soil-confirm{border-radius:16px;padding:26px;box-shadow:0 24px 70px #102d2433}.soil-confirm h3{font-size:21px}.soil-confirm p{font-size:14px;color:var(--soil-muted);line-height:1.65}
@media(max-width:1100px){.laudos-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.laudos-metrics>div{padding-right:14px;margin-right:14px}.laudos-actionbar-hint{display:none}}
@media(max-width:600px){.laudos-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.laudos-filters>label{min-width:0}.laudos-results{padding:12px 10px 0}.laudos-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px}.laudos-metrics>div{padding:3px 0;margin:0;border:0;gap:6px}.laudos-metrics span{font-size:11px}.laudos-metrics strong{font-size:18px}.soil-history-toolbar{align-items:stretch;flex-direction:column;gap:6px}.soil-history-toolbar p{margin:0}.soil-connection>summary small{display:none}.soil-connection-toolbar label{width:100%;margin:0}.soil-connection-toolbar button{flex:1}.laudos-foot .laudos-tools{width:100%}.laudos-foot .laudos-tools button{flex:1}.laudos-actionbar button,.laudos-import-button{flex:1}.laudos-panel .laudos-table-wrap td input{min-height:42px}}

/* Online producer selection replaces local workbook picker. */
.soil-producer-control{min-width:190px}.soil-producer-control select{width:100%}body:has(#overviewView:not([hidden])) .soil-online-bar{display:none}
.soil-producer-control #soilOverviewProducer{background-color:#075b46;color:#fff;border-color:#075b46;font-weight:700;cursor:pointer;color-scheme:dark}
.soil-producer-control #soilOverviewProducer:hover{background-color:#064a39}
.soil-producer-control #soilOverviewProducer:focus-visible{outline:3px solid #27836c;outline-offset:3px}
.soil-producer-control #soilOverviewProducer option{background-color:#fff;color:#173d32}

/* Action hierarchy and table focus stay stable while editing a new sample. */
.laudos-panel{--soil-action-shadow:0 2px 3px #173d3208,0 5px 12px #173d320a;--soil-action-focus:#287e66}
.laudos-panel .laudos-actionbar{gap:10px;margin-bottom:18px}
.laudos-panel .laudos-actionbar button,.laudos-panel .laudos-import-button,.laudos-panel #laudosNew{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 16px;border-radius:11px;font-size:13px;font-weight:650;line-height:1.3;box-shadow:var(--soil-action-shadow);transition:background-color .16s,border-color .16s,box-shadow .16s}
.laudos-panel .laudos-action-icon{width:19px;height:19px;flex:0 0 19px}
.laudos-panel .laudos-import-button{background:#075b46;color:#fff;border-color:#075b46;box-shadow:0 3px 8px #075b461f,inset 0 1px #ffffff1f}
.laudos-panel .laudos-import-button .laudos-action-label{font:inherit;color:inherit}
.laudos-panel .laudos-import-button .laudos-action-meta{font-size:10px;line-height:1.4;font-weight:600;color:#fff;background:#ffffff17;border:1px solid #ffffff30;border-radius:5px;padding:3px 6px;white-space:nowrap}
.laudos-panel .laudos-import-button:hover{background:#064c3a;border-color:#064c3a;box-shadow:0 4px 12px #075b462b}
.laudos-panel #laudosCurrent{background:#e6f1eb;border-color:#bed6c8;color:#24583f}
.laudos-panel #laudosCurrent:hover{background:#d9eade;border-color:#88b59c}
.laudos-panel #laudosOffline{background:#eaf1f4;border-color:#c3d5dc;color:#2b5767}
.laudos-panel #laudosOffline:hover{background:#dceaf0;border-color:#8bafbc}
.laudos-panel #laudosNew{box-shadow:0 3px 8px #285f491f,inset 0 1px #ffffff24}
.laudos-panel .laudos-actionbar button:active,.laudos-panel .laudos-import-button:active,.laudos-panel #laudosNew:active{box-shadow:inset 0 2px 4px #173d3224}
.laudos-panel .laudos-actionbar button:disabled{background:#edf1ef;color:#74867c;border-color:#d5dfd9;box-shadow:none;opacity:.7}
.laudos-panel .laudos-import-button:has(input:disabled){opacity:.6;cursor:wait;box-shadow:none}
.laudos-panel .laudos-import-button input:disabled{cursor:wait}
.laudos-panel .laudos-actionbar button:focus-visible,.laudos-panel #laudosNew:focus-visible,.laudos-panel .laudos-import-button:focus-within{outline:3px solid var(--soil-action-focus);outline-offset:3px}
.laudos-panel .laudos-results{box-shadow:0 2px 4px #173d3203,0 8px 24px #173d3207}
.laudos-panel .soil-connection{box-shadow:0 2px 6px #173d3204}
.laudos-panel .soil-back-conferences{display:inline-flex;align-items:center;min-height:40px;margin:0 0 12px;padding:8px 13px;border:1px solid #bed6c8;border-radius:9px;background:#e6f1eb;color:#24583f;font-size:13px;box-shadow:var(--soil-action-shadow)}
.laudos-panel .soil-back-conferences:hover{background:#d9eade;border-color:#88b59c}
.laudos-panel .soil-history{scroll-margin-top:125px}
.soil-match-summary{padding:12px 14px;background:#edf6f0;border:1px solid #c9ddcf;border-radius:9px;color:#24583f;font-size:13px}
.soil-match-hint{flex-basis:100%;font-size:12px}.soil-matches-ready{margin-top:14px;border:1px solid var(--soil-line);border-radius:10px;padding:0 14px}.soil-matches-ready>summary{padding:12px 0;font-size:13px;color:var(--soil-green)}
.laudos-panel .soil-connection>summary:hover{background:#f8fbf9}
.laudos-panel .laudos-table-wrap{scroll-margin-top:115px;scroll-padding-top:66px;isolation:isolate}
.laudos-panel .laudos-table-wrap th[data-key=producer]{position:sticky;top:0;left:auto;z-index:3}
.laudos-panel .laudos-table-wrap input[data-key=field]{position:static;min-width:0;max-width:100%;box-shadow:none}
@media(max-width:600px){.laudos-panel .laudos-actionbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.laudos-panel .laudos-import-button{grid-column:1/-1}.laudos-panel .laudos-actionbar button{padding:10px;min-height:48px;font-size:12px;text-align:left}.laudos-panel .laudos-actionbar-hint{display:none}.laudos-panel .laudos-table-wrap th[data-key=field]{position:sticky;top:0}.laudos-panel #laudosNew{font-size:12px;padding:10px 12px}}

body.online-dashboard #overviewView .soil-producer-control{display:flex}body.online-dashboard.awaiting-data #overviewView>.controls{display:flex;padding:14px}body.online-dashboard.awaiting-data #overviewView>.controls>:not(.soil-producer-control){display:none}body.online-dashboard #overviewView .file-control[hidden]{display:none}

body.online-dashboard #overviewView .soil-producer-control{display:flex!important;flex-direction:column;align-items:stretch}body.online-dashboard.awaiting-data #overviewView>.controls{display:flex!important}
.laudos-head>.soil-online-bar{margin:0;gap:16px;flex-wrap:wrap}.laudos-head{justify-content:flex-end;gap:20px;flex-wrap:wrap}.laudos-head>.soil-online-bar label{gap:12px}.laudos-head>.soil-online-bar select{min-width:220px;max-width:100%}@media(max-width:600px){.laudos-head>.soil-online-bar{width:100%}.laudos-head>.soil-online-bar label{flex-wrap:wrap;width:100%}.laudos-head>.soil-online-bar select{min-width:0;width:100%}}
/* Daily review: all attributes wrap within each sample instead of scrolling sideways. */
.laudos-panel.laudos-compact{margin-top:12px;padding-top:0}
.laudos-compact .laudos-head{margin-bottom:12px}
.laudos-compact .laudos-actionbar{position:sticky;top:0;z-index:35;background:#f3f7f4;padding:10px 0;margin:0;gap:8px;border-bottom:1px solid var(--soil-line)}
.laudos-compact .laudos-actionbar button,.laudos-compact .laudos-import-button{min-height:40px;padding:9px 13px;font-size:13px;border-radius:9px}
.laudos-compact .laudos-actionbar-hint{display:none}
.laudos-compact .soil-extra-actions{position:relative;margin-left:auto}
.laudos-compact .soil-extra-actions>summary{cursor:pointer;padding:10px;font-size:13px}
.laudos-compact .soil-extra-actions>div{position:absolute;right:0;top:100%;width:220px;display:grid;gap:8px;background:white;border:1px solid var(--soil-line);padding:12px;border-radius:10px;box-shadow:0 12px 30px #183a3026;z-index:40}
.soil-flow-message{font-size:13px;margin:8px 0;color:var(--soil-ink)}.soil-flow-message:empty{display:none}
.laudos-compact .soil-connection{margin:10px 0;padding:10px 14px;border-radius:10px}
.laudos-compact .soil-connection>summary{padding:4px 0;font-size:14px}
.laudos-compact .soil-message{display:none}
.laudos-compact .soil-link-row{gap:8px;padding:8px 0;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr auto}
.laudos-compact .soil-link-row>strong{font-size:12px;grid-column:auto}
.laudos-compact .soil-link-row select{min-height:34px;padding:5px 8px;font-size:12px;min-width:0;max-width:100%;width:100%}
.laudos-compact .soil-link-row>label{font-size:12px}.laudos-compact .soil-match-hint{grid-column:1/-1}
.laudos-compact .soil-mapping{max-height:40vh;overflow:auto}
.laudos-compact .laudos-metrics{margin:8px 0}.laudos-compact .laudos-metrics strong{font-size:17px}
.laudos-compact .laudos-results{padding:12px;border-radius:10px}
.laudos-compact .laudos-filters{gap:6px}.laudos-compact .laudos-filters input,.laudos-compact .laudos-filters select{min-height:32px;padding:5px 7px;font-size:12px}
.laudos-panel.laudos-compact .laudos-table-wrap{max-height:none;min-height:0;overflow:visible;border:0}
.laudos-panel.laudos-compact .laudos-table-wrap table{display:block;width:100%;min-width:0;table-layout:auto}
.laudos-panel.laudos-compact .laudos-table-wrap thead{display:none}
.laudos-panel.laudos-compact .laudos-table-wrap tbody{display:grid;gap:12px}
.laudos-panel.laudos-compact .laudos-table-wrap tr{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border:1px solid var(--soil-line);border-radius:9px;overflow:hidden;background:white}
.laudos-panel.laudos-compact .laudos-table-wrap td{display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:none;position:static;box-shadow:none;height:auto;min-height:54px;padding:5px 7px;border:0;border-bottom:1px solid #e6eee8;border-right:1px solid #e6eee8;white-space:normal;overflow-wrap:anywhere;background:white}
.laudos-panel.laudos-compact .laudos-table-wrap td::before{content:attr(data-label);font-size:11px;line-height:1.25;color:#4c665b;white-space:normal}
.laudos-panel.laudos-compact .laudos-table-wrap td input,.laudos-panel.laudos-compact .laudos-table-wrap td input.identity{width:100%;max-width:100%;min-width:0;min-height:26px;height:26px;padding:2px 0;border-radius:3px;font-size:13px;line-height:1.2}
.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=field],.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=producer],.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=farm]{grid-column:span 2;order:-3;background:#edf4ef;min-width:0;max-width:none}
.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=season],.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=depth],.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=sampleId]{grid-column:span 2;order:-3;background:#edf4ef}
.laudos-panel.laudos-compact .laudos-table-wrap .laudos-row-context{display:none}
.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=source]{grid-column:span 8;font-size:11px;color:#526a61;min-height:34px}
.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=status]{grid-column:span 2;min-height:34px}
.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=action]{grid-column:span 2;flex-direction:row;align-items:center;gap:6px;min-height:34px}
.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=action] button{font-size:11px;min-height:28px;padding:4px 6px}
.laudos-panel.laudos-compact .laudos-table-wrap td.is-focused{background:#edf7f0}.laudos-panel.laudos-compact .laudos-table-wrap td.is-changed{background:#fff4d6}
.laudos-panel.laudos-compact .laudos-table-wrap td.laudos-empty{grid-column:1/-1;min-height:90px}
@media(max-width:900px){.laudos-panel.laudos-compact .laudos-table-wrap tr{grid-template-columns:repeat(6,minmax(0,1fr))}.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=source]{grid-column:1/-1}.laudos-compact .soil-link-row{grid-template-columns:repeat(2,minmax(0,1fr))}.laudos-compact .soil-link-row>strong{grid-column:1/-1}.laudos-compact .laudos-actionbar{position:static}}
@media(max-width:540px){.laudos-panel.laudos-compact .laudos-table-wrap tr{grid-template-columns:repeat(3,minmax(0,1fr))}.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=field],.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=producer],.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=farm],.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=season],.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=depth],.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=sampleId]{grid-column:span 1}.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=action]{grid-column:span 2}.laudos-panel.laudos-compact .laudos-table-wrap td[data-key=status]{grid-column:span 1}.laudos-compact .soil-extra-actions{margin:0}}
.laudos-panel.laudos-compact .laudos-table-wrap td.has-error{background:#fff0ed;border-bottom:2px solid #be382c}.laudos-value-error{font-size:11px;line-height:1.3;color:#a22a20;white-space:normal}.laudos-value-error[hidden]{display:none}

/* Primary producer selector, consistent with the dashboard actions. */
#soilDashboardProducer{background-color:#075b46;color:#fff;border:1px solid #075b46;font-weight:650;cursor:pointer;box-shadow:0 3px 8px #075b461c;transition:background-color .15s,box-shadow .15s;color-scheme:dark}
#soilDashboardProducer:hover{background-color:#064a39;box-shadow:0 4px 10px #075b4629}
#soilDashboardProducer:focus-visible{outline:3px solid #78b99f;outline-offset:3px}
#soilDashboardProducer option{background:#fff;color:#173d32}
