.auth-page{background:#202b2e;min-height:100vh;padding:5vh 5vw;display:grid;place-items:center}.auth-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.08fr 1fr;min-height:650px;background:white;border-radius:20px;overflow:hidden;box-shadow:0 24px 80px #0004}.auth-story{background:linear-gradient(140deg,#293c42,#172428);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}.auth-story .eyebrow{color:#a1b6bf}.auth-story h1{font-size:clamp(40px,4vw,58px);line-height:1.1;letter-spacing:-2px;margin:18px 0}.auth-story h1 span{color:var(--lime)}.auth-story p{color:#c7d2d6;line-height:1.7}.auth-credit{font-size:12px}.auth-card{padding:70px 48px;align-self:center}.auth-card h2{font-size:34px;margin:14px 0}.auth-card>p{line-height:1.6;color:#617078}.auth-card form,.activation-card form{display:grid;gap:20px;margin-top:32px}.auth-card input,.activation-card input{min-height:52px}.auth-card .btn{width:100%;color:#202b2e}.auth-help{font-size:13px;margin-top:28px}.auth-rule{font-size:12px;border-top:1px solid var(--line);padding-top:25px;margin-top:32px;color:#627177}.auth-rule span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#81a638;margin-right:8px}.activation-card{background:white;width:min(520px,100%);padding:40px;border-radius:16px}.activation-card h1{font-size:30px;margin-top:35px}#auth-error{color:#a12323;font-size:14px;margin:0}.batch-timer{border:1px solid #dbe5d7;border-left:5px solid #779f3b;background:#f6faee;padding:13px 16px;border-radius:6px;margin:12px 0;width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;font-variant-numeric:tabular-nums}.batch-timer strong{font-size:19px}.batch-timer small{display:block;font-size:12px;line-height:1.5}.batch-timer.warning{background:#fff4d8;border-color:#e2a32d;color:#7a4b00}.batch-timer.expired,.batch-timer.late,.batch-timer.invalid{background:#ffeded;border-color:#bf2f34;color:#9f2026}.batch-timer.missing{background:#f3f5f6;color:#52616b;border-color:#b9c3c7}.batch-timer.finished{background:#f4f5f5;color:#53625d;border-color:#b4c7b5}.truck>.batch-timer{margin:0 18px 14px;width:calc(100% - 36px)}.batch-cell{min-width:140px}.batch-edit{font-size:12px;color:inherit;background:transparent;text-decoration:underline;padding:5px;min-height:38px}.simple-active-card .batch-timer{order:2}.simple-active-card>.btn{order:3;flex:1}.simple-active-card .batch-edit{order:4}.simple-row{grid-template-columns:1fr 1fr 1fr 1fr auto}.simple-row .batch-timer{grid-column:1/-1;margin:0}.simple-start-fields{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.simple-start-fields .field{color:#e6ede8;font-size:13px}.simple-start-fields input{background:#fff;min-height:48px}.truck-times{grid-template-columns:repeat(4,1fr)}.live-bar{background:#edf3e5;color:#36502b;padding:10px 36px;display:flex;gap:15px;justify-content:space-between;font-size:12px;align-items:center}.account-controls{display:flex;align-items:center;gap:14px;font-size:13px}.account-controls button{background:none;color:inherit;text-decoration:underline}.sync-problem{background:#fff0db;border:1px solid #cf9d42;padding:15px 20px;margin:14px 36px;border-radius:6px;font-size:14px}.sync-problem:empty{display:none}.sync-problem button,.sync-problem a{margin:8px 12px 0 0}.users-list,.pour-list{display:grid;gap:10px;margin:20px 0}.user-row,.pour-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px;border:1px solid var(--line);border-radius:8px}.user-row small,.pour-row small{display:block;margin-top:5px;color:var(--muted)}.setup-link{width:100%;padding:12px;margin:12px 0;word-break:break-all;font-size:12px}.alert-strip{background:#fff1d4;color:#664500;border:1px solid #deb056;padding:12px 18px;border-radius:6px;margin:12px 0;font-weight:650}.alert-strip.expired{background:#ffeded;color:#9f2026;border-color:#bf2f34}.alert-strip:empty{display:none}.live-bar button{background:transparent;text-decoration:underline}.batch-report{font-size:11px}.batch-report b{display:block}.report-table th:nth-child(n){width:auto}.report-table{table-layout:auto}.status-error{color:#a22c2c}.status-ok{color:#416723}.login-required main{opacity:.5;pointer-events:none}.pending-notice{line-height:1.5}.timing-note{font-size:12px;color:#65717b;line-height:1.5}
@media(max-width:760px){.auth-page{padding:0;background:#fff}.auth-shell{grid-template-columns:1fr;border-radius:0;min-height:100vh}.auth-story{padding:26px}.auth-story>div{margin:20px 0 0}.auth-story h1{font-size:32px;letter-spacing:-1px}.auth-story>div>p:last-child,.auth-story>.auth-credit{display:none}.auth-card{padding:28px 26px 42px}.auth-card form{margin-top:24px}.auth-card h2{font-size:28px}.simple-start-fields{display:grid;width:100%}.simple-start-fields .field{width:100%}.simple-row{grid-template-columns:1fr 1fr}.truck-times{grid-template-columns:1fr 1fr}.live-bar{padding:10px 18px}.account-controls{flex-wrap:wrap;gap:4px 12px}.sync-problem{margin:12px 18px}.batch-timer{align-items:flex-start;flex-direction:column;gap:4px}.activation-card{border-radius:0;padding:28px}}
@media print{.sync-problem,.live-bar,.alert-strip{display:none!important}.report-table th:nth-child(n){width:auto}.report-table{font-size:8pt;table-layout:auto}.report-table th,.report-table td{padding:5pt 3pt}.batch-report{font-size:7pt}}

.pour-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:16px;font-size:14px;color:var(--muted)}
.pour-complete-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:#edf6dd;border:1px solid #9abd5a;border-left:6px solid #507321;border-radius:10px;padding:24px;margin-bottom:28px;color:#273c19}.pour-complete-banner .eyebrow{color:#375716;font-size:16px;font-weight:800;margin:0 0 10px}.pour-complete-banner h2{font-size:24px;margin:0 0 8px}.pour-complete-banner p{margin:0;font-size:14px}.pour-complete-banner .actions{flex-wrap:wrap}.pour-complete-banner .text-btn{color:#304819;min-height:44px}.pour-status-tag{display:inline-block;font-size:12px;font-weight:700;padding:5px 8px;background:#eef1f3;border-radius:4px;margin-top:8px}.pour-status-tag.done{color:#304819;background:#edf6dd}.report-pour-status{border:1px solid #b9c8aa;background:#f3f7ed;padding:12px 16px;margin:0 0 18px;font-size:13px}.report-pour-status strong{display:block;margin-bottom:5px}.report-pour-status span{display:block}.pour-is-complete .simple-control,.pour-is-complete .simple-active,.pour-is-complete .sample-reminder{display:none}.pour-is-complete .recorder-strip [data-action=handoff]{display:none}@media(max-width:760px){.pour-complete-banner{padding:18px}.pour-complete-banner .actions{width:100%}.pour-complete-banner .btn{flex:1;min-height:48px}.pour-complete-banner .text-btn{width:100%}.pour-complete-banner h2{font-size:21px}}@media print{.report-pour-status{break-inside:avoid;font-size:9pt;padding:8pt}}

.placement-home #navigation [data-view]:not([data-view=home]),.placement-home .live-bar [data-action=saved-pours]{display:none}.placement-welcome{max-width:960px;margin:24px auto 70px}.placement-welcome h1{font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-1px;margin:12px 0 16px}.placement-welcome>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.6}.project-picker{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin:32px 0 24px;max-width:580px}.project-picker .field{font-size:16px}.project-picker select{min-height:54px;font-size:16px;background:white}.home-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}.home-choice{display:flex;flex-direction:column;gap:16px;align-items:flex-start;text-align:left;padding:30px;border-radius:14px;border:1px solid #c9d0d3;background:white;color:#243138;min-height:238px;box-shadow:0 4px 16px #15202608}.home-choice:hover{border-color:#749442;box-shadow:0 6px 20px #15202612}.home-choice.start{background:#243337;color:white;border-color:#243337}.home-choice-label{font-size:24px;line-height:1.2;font-weight:750;letter-spacing:-.4px}.home-choice>span:nth-child(2){font-size:16px;line-height:1.6;color:#58686e}.home-choice.start>span:nth-child(2){color:#d1dbda}.home-choice-action{font-size:15px;font-weight:750;margin-top:auto;padding-top:10px;color:#415f1d}.home-choice.start .home-choice-action{color:var(--lime)}.home-project-hint{padding-left:2px}.home-choice:focus-visible{outline:3px solid #728e39;outline-offset:4px}@media(max-width:760px){.placement-welcome{margin:10px auto 36px}.home-choices{grid-template-columns:1fr;gap:16px;margin-top:24px}.home-choice{min-height:190px;padding:24px}.home-choice-label{font-size:22px}.project-picker{padding:20px;margin-top:24px}}

/* Detailed trucks remain visible independently of the waiting/finished filter. */
.detailed-active{margin:0 0 28px;padding:20px;border:1px solid #c9d8b5;border-radius:10px;background:#f6f9f1}
.detailed-active>.subline{margin:0 0 18px}
.detailed-active-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.detailed-active-grid .truck{margin:0;min-width:0}
.detailed-active-grid .empty{grid-column:1/-1}
.detailed-active-grid .truck-times{grid-template-columns:repeat(2,minmax(0,1fr))}
.detailed-active-grid .truck-top,.detailed-active-grid .truck-bottom{flex-wrap:wrap}
.detailed-active-grid .truck-id{min-width:0;overflow-wrap:anywhere}
.modal-actions{flex-wrap:wrap}
@media(max-width:1100px){.detailed-active-grid{grid-template-columns:1fr}}
@media(max-width:760px){.detailed-active{padding:14px}.detailed-active>.section-head{flex-wrap:wrap;gap:12px}.detailed-active .section-head .btn{width:100%}.modal-actions>button{flex:1 1 100%}}

.project-access{max-width:480px;margin-top:20px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;gap:14px}
.project-access input{min-height:52px;font-size:22px;letter-spacing:.22em;max-width:100%;width:100%;box-sizing:border-box}
.project-access p{margin:0;font-size:14px;line-height:1.5}.project-access .error:empty{display:none}.project-access .error{color:#a12323}
.project-access-ok{color:#416723;font-weight:650;margin:20px 0}.project-picker select{min-height:52px;width:100%}
@media(max-width:760px){.project-access{padding:18px}.project-access .btn{width:100%;min-height:48px}}
