:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#0b0b0d;color:#f4f4f5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#ff525b}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.side{background:#111114;border-right:1px solid #29292e;padding:26px 18px;display:flex;flex-direction:column;gap:26px}.brand{font-size:24px;font-weight:900;letter-spacing:.12em}.brand span{color:#ef3945}.subtitle{color:#9b9ba3;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.nav{display:grid;gap:8px}.nav button,.ghost{border:0;background:transparent;color:#b9b9c1;text-align:left;padding:13px 14px;border-radius:9px}.nav button.active,.nav button:hover{background:#2c151a;color:#fff;border-left:3px solid #f43f4b}.sidefoot{margin-top:auto;color:#8f8f97;font-size:12px}.main{padding:34px;max-width:1400px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:28px}.top h1{font-size:30px;margin:5px 0}.muted{color:#9898a2}.eyebrow{font-size:12px;color:#f44b55;text-transform:uppercase;letter-spacing:.18em;font-weight:800}.pill{display:inline-flex;padding:7px 12px;border:1px solid #633039;border-radius:99px;color:#ff717a;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:26px}.card{background:#161619;border:1px solid #2a2a30;border-radius:14px;padding:20px}.stat strong{display:block;font-size:32px;margin:9px 0}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 14px}.sectionhead h2{font-size:19px;margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:13px}.machine{background:#161619;border:1px solid #2b2b30;border-radius:12px;padding:20px;text-align:left;color:inherit;transition:.15s}.machine:hover{border-color:#f43f4b;transform:translateY(-2px)}.machine strong{display:block;font-size:17px;margin:14px 0 7px}.machine small{color:#9e9ea7}.machine .symbol{color:#ff4b56;font-size:22px}.btn{border:0;border-radius:9px;padding:11px 16px;background:#ee3847;color:#fff;font-weight:750}.btn:hover{background:#ff4b58}.btn.secondary{background:#2a2a30}.btn:disabled{opacity:.55;cursor:not-allowed}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.field{display:grid;gap:7px;margin:12px 0}.field label{font-size:13px;color:#b9b9c2}.field input,.field select,.field textarea,.search{background:#101013;border:1px solid #3a3a40;border-radius:8px;padding:12px;color:#fff;min-width:0;width:100%}.field input:focus,.field select:focus,.search:focus{outline:1px solid #f14450}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.tablewrap{overflow:auto;border:1px solid #2b2b30;border-radius:12px}table{border-collapse:collapse;width:100%;min-width:850px;background:#151518}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #2a2a30;font-size:13px}th{color:#a6a6af;font-size:11px;text-transform:uppercase;letter-spacing:.08em}td{color:#e5e5e9}tr:last-child td{border-bottom:0}.notice{padding:12px 14px;border-radius:9px;background:#2a1c20;border:1px solid #67343c;color:#ffb8be;margin:12px 0}.success{background:#14281d;border-color:#285c3c;color:#a2e7b9}.loginwrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login{width:min(440px,100%)}.login h1{font-size:30px;margin-bottom:6px}.login .brand{margin-bottom:26px}.empty{color:#a0a0a9;padding:28px;text-align:center}.actions{display:flex;gap:8px;flex-wrap:wrap}.back{margin-bottom:18px}.loading{padding:40px;color:#bdbdc6}.mobilehead{display:none}@media(max-width:800px){.shell{display:block}.side{padding:15px;gap:12px}.side .subtitle,.sidefoot{display:none}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap}.main{padding:20px}.stats{grid-template-columns:1fr 1fr}.top h1{font-size:24px}}@media(max-width:500px){.stats{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.top{align-items:start;flex-direction:column}.main{padding:14px}}

.directory{border:1px solid #2b2b30;border-radius:14px;overflow:hidden;background:#161619}.directory-row{display:flex;align-items:center;gap:17px;padding:17px 20px;width:100%;background:transparent;color:#fff;border:0;border-bottom:1px solid #2b2b30;text-align:left}.directory-row:last-child{border-bottom:0}.directory-row:hover{background:#29181d}.directory-icon{color:#f34450;font-size:23px}.directory-title{display:grid;gap:5px;flex:1}.directory-title small{color:#9b9ba3}.directory-arrow{color:#ff6670;font-size:13px}.sheet-card{margin-bottom:22px}.sheet-table{min-width:760px}.selected-month{background:#301b21}.month-link{background:transparent;color:#ff717a;border:0;text-decoration:underline;text-underline-offset:3px;padding:0;text-align:left}.status-saved{color:#a2e7b9}.status-empty{color:#9b9ba3}@media(max-width:500px){.directory-arrow{font-size:11px}.directory-row{padding:14px 12px}}

.side-list-title{font-size:10px;letter-spacing:.12em;color:#a8a8af;padding:13px 14px 3px;display:flex;justify-content:space-between}.side-machine-list{display:grid;gap:2px;max-height:44vh;overflow:auto;padding-right:3px}.nav .side-machine{padding:8px 13px 8px 20px;font-size:12px;border-left:2px solid transparent}.nav .side-machine.active{border-left-color:#f43f4b;background:#2c151a;color:white}.sheet-intro{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.editable-sheet{min-width:1200px}.editable-sheet td{padding:8px 6px}.editable-sheet th{padding:12px 7px}.editable-sheet input{width:100%;min-width:92px;background:#0d0d10;color:#fff;border:1px solid #44444b;border-radius:6px;padding:10px 7px}.editable-sheet input:focus{outline:2px solid #f43f4b}.editable-sheet td:nth-child(8) input{min-width:150px}.editable-sheet .month-cell{min-width:155px;font-weight:700;color:#f0f0f2}.editable-sheet output{color:#ff7981;font-weight:700}.save-row{white-space:nowrap;padding:9px 12px}.sheet-hint{font-size:12px;margin-top:14px}@media(max-width:800px){.side-machine-list{display:none}.side-list-title{display:none}}

/* Excel-style dropdown fields on individual machine pages */
.editable-sheet select{width:100%;min-width:105px;background:#0d0d10;color:#fff;border:1px solid #44444b;border-radius:6px;padding:10px 7px;cursor:pointer}.editable-sheet select:focus{outline:2px solid #f43f4b}.editable-sheet select option{background:#18181c;color:#fff}

/* Official Redpack logo — sidebar and sign-in */
.brand-logo{display:block;width:100%;max-width:206px;height:auto;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}
.login .brand-logo{max-width:270px;margin-bottom:24px}
.side .subtitle{margin-top:12px;font-size:10px;letter-spacing:.19em;color:#b7b7bd}
@media(max-width:800px){.side .brand-logo{max-width:164px}.side .subtitle{display:block;margin-top:5px}}

/* Per-machine year and month controls */
.sheet-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:2px 0 14px;border-bottom:1px solid #2a2a30}
.sheet-controls label{display:grid;gap:7px;color:#c8c8d0;font-size:12px;font-weight:700}
.sheet-controls input,.sheet-controls select{background:#101013;border:1px solid #494951;border-radius:8px;color:#fff;padding:11px 12px;min-height:43px}
.sheet-controls input{width:112px}.sheet-controls select{min-width:225px}
.sheet-controls .muted{font-size:12px;padding-bottom:10px}
.sheet-controls input:focus,.sheet-controls select:focus{outline:2px solid #f43f4b}

/* All Machines year/month selectors */
.directory-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:end;margin:0 0 18px}
.directory-controls label{display:grid;gap:7px;color:#c8c8d0;font-size:12px;font-weight:700;min-width:150px}
.directory-controls select{background:#101013;border:1px solid #494951;border-radius:8px;color:#fff;padding:11px 12px;min-height:43px}
.directory-controls .search{min-width:210px;min-height:43px}
.directory-controls select:focus{outline:2px solid #f43f4b}

/* V8: dashboard concentration comparison and year dropdown */
.concentration-card{margin-bottom:25px}.concentration-card .sectionhead{margin-top:0}.concentration-card .sectionhead p{font-size:13px;margin:8px 0 0}.concentration-table{min-width:590px}.concentration-table th:nth-child(3),.concentration-table td:nth-child(3){background:#25191d}.concentration-value{font-weight:800;color:#ff727b;font-variant-numeric:tabular-nums}.table-machine-link{background:none;border:0;color:#f5f5f6;padding:0;text-align:left;font-weight:700}.table-machine-link:hover{color:#ff727b;text-decoration:underline}.sheet-controls #sheetYear{min-width:115px;width:125px}.concentration-card .directory-controls{margin:14px 0 18px}
/* V9: status, coolants, and print-ready report */
.limit{display:inline-block;padding:5px 9px;border-radius:7px;font-weight:800;font-size:12px}.limit.in{background:#173c28;color:#a6efbe}.limit.out{background:#552028;color:#ffadb5}.save-row.saved{background:#1b633c}.coolant-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid #303036}.coolant-item:last-child{border-bottom:0}.coolant-item p{margin:5px 0}.report-actions{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:20px}.report-actions label{display:grid;gap:7px;color:#c9c9d0;font-size:12px}.report-actions select{background:#17171b;color:#fff;border:1px solid #494951;border-radius:8px;padding:10px}.report-paper{background:#fff;color:#161616;border-radius:8px;padding:22px;overflow:auto}.report-heading{display:flex;align-items:center;gap:22px;margin-bottom:15px}.report-heading img{width:125px;max-height:64px;object-fit:contain;background:#151515;padding:7px;border-radius:4px}.report-heading h2{margin:0;font-size:21px}.report-heading p{margin:5px 0;color:#555}.report-table{background:white;color:#161616;min-width:720px;table-layout:fixed}.report-table th{background:#e9e9e9;color:#171717;font-size:10px;letter-spacing:0;padding:9px 6px;border:1px solid #aaa}.report-table td{color:#171717;padding:8px 6px;font-size:11px;border:1px solid #aaa}.report-table th:first-child{width:22%}.report-table td:not(:first-child),.report-table th:not(:first-child){text-align:center}.report-table .report-name{font-weight:700}.report-conc.in{background:#b9ecc5!important;color:#104e27!important;font-weight:800}.report-conc.out{background:#f4b5b9!important;color:#801923!important;font-weight:800}.report-conc.missing{background:#e5e5e5!important;color:#555!important}.report-totals{display:flex;flex-wrap:wrap;gap:25px;padding:15px 2px;font-size:13px}.report-key{font-size:11px;color:#444}.key-in{color:#28974d}.key-out{color:#ce3343}.key-empty{color:#999}
@page{size:A4 landscape;margin:7mm}@media print{html,body{background:white!important;color:black!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.shell{display:block!important}.side,.top,.no-print,#flash,.sidefoot{display:none!important}.main{padding:0!important;margin:0!important;max-width:none!important;width:100%!important}.report-paper{padding:0!important;border:0!important;overflow:visible!important;border-radius:0!important;width:100%!important}.report-heading{margin-bottom:7px!important}.report-heading h2{font-size:16px!important}.report-heading p{font-size:10px!important}.report-heading img{width:90px!important;max-height:40px!important}.report-table{min-width:0!important;width:100%!important;page-break-inside:avoid!important}.report-table th{font-size:8px!important;padding:4px 3px!important}.report-table td{font-size:8px!important;padding:4px 3px!important;height:21px!important}.report-totals{padding:8px 0!important;font-size:10px!important}.report-key{font-size:9px!important}tr{break-inside:avoid!important}}

.version-label{display:inline-block;margin-left:6px;color:#fff;background:#b92c3a;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:800;letter-spacing:.04em}

/* V11 coolant assignments and machine overview */
.coolant-summary{margin-bottom:18px;background:#080809;border:1px solid #303035}.coolant-summary h2{font-size:18px;margin:0 0 18px}.coolant-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.coolant-summary-grid>div{display:grid;gap:6px}.coolant-summary-grid small{color:#b4b4bc;font-size:12px}.coolant-summary-grid strong{font-size:15px}.coolant-summary-reading{border-top:1px solid #242429;padding-top:18px;display:grid;gap:15px;color:#c5c5cc;font-size:13px}.coolant-summary-result{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;color:#f5f5f7;font-size:15px}.coolant-list{display:grid;gap:16px}.coolant-panel{border:1px solid #303036;border-radius:12px;background:#161619;overflow:hidden}.coolant-assignments{padding:16px 20px;display:grid;gap:13px}.assigned-machines{display:flex;flex-wrap:wrap;gap:8px 16px}.assigned-machine{display:flex;align-items:center;gap:10px;color:#d4d4d9;font-size:12px;background:#232329;padding:6px 9px;border-radius:6px}.remove-machine{background:none;border:0;color:#ff8790;text-decoration:underline;cursor:pointer;font-size:11px}.assign-row{display:flex;gap:10px;flex-wrap:wrap}.assign-row select{flex:1;min-width:210px;background:#101013;border:1px solid #494951;color:#fff;border-radius:8px;padding:10px}.coolant-assignments small{font-size:11px}
/* V14: consistent rounded selectors and actions */
select,.editable-sheet select,.directory-controls select,.sheet-controls select,.report-actions select,.assign-row select{border-radius:13px!important;background-color:#202127!important;border:1px solid #50515a!important;color:#f8f8fa!important;padding:11px 14px!important;min-height:43px;box-shadow:0 2px 8px #0002;cursor:pointer}
select:focus{outline:2px solid #f14a56!important;outline-offset:2px}
.quick-add{position:fixed;bottom:25px;right:27px;z-index:80;border:0;border-radius:50%;width:56px;height:56px;background:#e83b49;color:white;font-size:36px;line-height:1;box-shadow:0 7px 25px #0008;cursor:pointer}
.quick-add:hover{background:#ff5260}.modal-shade{position:fixed;inset:0;z-index:90;background:#000b;display:grid;place-items:center;padding:20px}.modal-card{width:min(420px,100%);display:grid;gap:18px}.modal-card select{width:100%}.reset-row{margin-top:7px;white-space:nowrap}.timestamp-panel{margin-top:16px;display:grid;gap:7px}.stamp-line{display:flex;flex-wrap:wrap;gap:10px 22px;padding:8px 10px;background:#1e1e23;border-radius:10px;color:#babac4;font-size:12px}.stamp-line strong{color:#fff}.note-editor{display:grid;gap:12px;margin:18px 0}.note-editor textarea{background:#17171b;color:white;border:1px solid #51515a;border-radius:13px;padding:12px;resize:vertical}.note-editor button{justify-self:start}.note-item{border-top:1px solid #393941;padding:16px 0}.note-item p{white-space:pre-wrap;overflow-wrap:anywhere}.note-item small{display:block;color:#aaa;margin:8px 0}.online-dot{color:#71df9d;font-weight:700}.report-signoff{display:flex;justify-content:space-between;gap:20px;margin-top:16px;padding-top:11px;border-top:1px solid #aaa;font-size:12px}.report-signoff strong{font-style:italic;font-size:15px}
@page{size:A4 portrait;margin:8mm}
@media print{.quick-add,#quickModal{display:none!important}.report-paper{box-shadow:none!important;outline:0!important;border:0!important}.report-table{min-width:0!important;width:100%!important}.report-table th{font-size:7px!important;padding:4px 2px!important}.report-table td{font-size:7px!important;padding:4px 2px!important;height:17px!important}.report-heading{margin-bottom:8px!important}.report-signoff{margin-top:10px!important;font-size:10px!important}.report-signoff strong{font-size:12px!important}.report-totals{padding:7px 0!important}.report-table th:first-child{width:24%!important}}

/* V14 print refinement: transparent Redpack logo, no dark backing */
.report-heading img{background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important}
@media print{.report-heading img{background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important}}

/* V14.1: full-height, clean A4 portrait monthly report */
@page { size: A4 portrait; margin: 8mm; }
@media print {
  html, body, #app, .shell, .main { background: #fff !important; box-shadow: none !important; border: 0 !important; outline: 0 !important; }
  .report-paper {
    display: flex !important;
    flex-direction: column !important;
    min-height: 279mm !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  .report-heading { flex-shrink: 0; margin-bottom: 4mm !important; }
  .report-heading img { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
  .report-table { width: 100% !important; border-collapse: collapse !important; table-layout: fixed !important; }
  .report-table thead tr { height: 9mm !important; }
  .report-table tbody tr { height: 10.7mm !important; }
  .report-table td { height: 10.7mm !important; padding: 1.5mm 1mm !important; vertical-align: middle !important; font-size: 8px !important; }
  .report-table th { font-size: 7px !important; padding: 1.5mm 1mm !important; }
  .report-totals { flex-shrink: 0; padding: 3mm 0 2mm !important; }
  .report-key { flex-shrink: 0; }
  .report-signoff { margin-top: auto !important; padding-top: 3mm !important; padding-bottom: 1mm !important; flex-shrink: 0; }
}

/* V14.2 approved Option 2 report: charcoal/red branding, DARKER neutral grey zebra rows. */
.report-paper{position:relative;isolation:isolate;overflow:hidden;background:#fff;color:#151515;border-radius:6px;padding:22px;box-shadow:0 4px 22px #0002}
.report-paper::before{content:"";position:absolute;right:0;top:0;width:0;height:0;border-top:58px solid #25252b;border-left:58px solid transparent;z-index:0}
.report-paper::after{content:"";position:absolute;right:0;top:0;width:0;height:0;border-top:43px solid #e60016;border-left:43px solid transparent;z-index:1}
.report-heading{position:relative;z-index:2;gap:18px;margin-bottom:18px}
.report-heading img{width:190px;max-height:65px;object-fit:contain;background:transparent!important;padding:0!important;border:0!important;border-radius:0!important}
.report-heading-copy{border-left:2px solid #444;padding-left:16px}
.report-heading h2{font-size:23px;font-weight:850;line-height:1.15}
.report-heading p{font-size:12px;margin:4px 0;color:#525252}
.report-heading .report-month{font-size:16px;font-weight:800;color:#111}
.report-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed;border:1px solid #bfc1c5}
.report-table th{background:#e60016!important;color:white!important;font-weight:800;text-transform:uppercase;border:1px solid #f04754;padding:11px 5px;font-size:9px}
.report-table td{background:#fff;color:#171717;border:1px solid #c9cbd0;padding:9px 6px;font-size:11px}
.report-table tbody tr:nth-child(even) td{background:#d1d3d6} /* darker grey, no green tint */
.report-table tbody tr:nth-child(odd) td{background:#fff}
.report-table td.report-conc.in{background:#b9ecc5!important;color:#104e27!important}
.report-table td.report-conc.out{background:#f4b5b9!important;color:#801923!important}
.report-table td.report-conc.missing{background:inherit!important;color:#444!important}
.report-table tbody tr:nth-child(even) td.report-conc.missing{background:#d1d3d6!important}
.report-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:17px;padding:0}
.report-stat{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid #d9dade;border-left:4px solid #aaa;border-radius:8px;padding:10px 8px;background:#f8f8f9;font-size:11px;font-weight:700}
.report-stat strong{display:block;font-size:23px;color:#121212;line-height:1.1;margin-top:4px}
.report-stat .stat-icon{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border-radius:50%;background:#737781;color:white;font-size:21px;font-weight:900}
.report-stat.stat-in{border-left-color:#188c3b}.report-stat.stat-in .stat-icon{background:#188c3b}
.report-stat.stat-out{border-left-color:#e60016}.report-stat.stat-out .stat-icon{background:#e60016}
.report-stat.stat-empty{border-left-color:#777b85}
.report-key{padding-top:12px;padding-bottom:12px;font-size:11px}
.report-signoff{border-top:2px solid #e60016;padding-top:14px;margin-top:14px;align-items:center}
.report-signoff strong{font-size:19px;font-style:italic;color:#111}
.report-footer-accent{height:13px;margin:15px -22px -22px;background:linear-gradient(45deg,#26262b 0 16%,#fff 16% 18%,#e60016 18% 100%)}
@media print{
  @page{size:A4 portrait;margin:8mm}
  html,body,#app,.shell,.main{background:#fff!important;box-shadow:none!important;border:0!important;outline:0!important}
  .report-paper{display:flex!important;flex-direction:column!important;box-sizing:border-box!important;width:100%!important;height:281mm!important;min-height:0!important;max-height:281mm!important;padding:0!important;margin:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;box-shadow:none!important;break-inside:avoid!important}
  .report-paper::before{border-top-width:13mm!important;border-left-width:13mm!important}
  .report-paper::after{border-top-width:10mm!important;border-left-width:10mm!important}
  .report-heading{flex-shrink:0!important;gap:4mm!important;margin-bottom:4mm!important;min-height:21mm!important}
  .report-heading img{width:43mm!important;max-height:19mm!important}
  .report-heading-copy{padding-left:4mm!important}
  .report-heading h2{font-size:15px!important}
  .report-heading p{font-size:9px!important;margin:1mm 0!important}
  .report-heading .report-month{font-size:11px!important}
  .report-table{flex-shrink:0!important;min-width:0!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
  .report-table thead tr{height:9mm!important}
  .report-table tbody tr{height:9.1mm!important}
  .report-table th{font-size:7px!important;padding:1mm .6mm!important}
  .report-table td{height:9.1mm!important;font-size:8px!important;padding:1mm .7mm!important}
  .report-totals{flex-shrink:0!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2mm!important;margin-top:4mm!important;padding:0!important}
  .report-stat{padding:2mm 1mm!important;gap:1.5mm!important;font-size:8px!important;border-radius:2mm!important}
  .report-stat strong{font-size:16px!important}
  .report-stat .stat-icon{width:6mm!important;height:6mm!important;font-size:14px!important}
  .report-key{flex-shrink:0!important;padding:2mm 0!important;font-size:8px!important}
  .report-signoff{flex-shrink:0!important;margin-top:auto!important;padding-top:3mm!important;padding-bottom:3mm!important;font-size:9px!important}
  .report-signoff strong{font-size:14px!important}
  .report-footer-accent{flex-shrink:0!important;height:4mm!important;margin:0 -1mm 0!important}
  .report-table td,.report-table th,.report-stat,.report-footer-accent{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* V14.2: bacteria, fungi and tramp-oil risk indicators */
.reading-tone{display:inline-block;border-radius:7px;padding:5px 9px;font-weight:800;white-space:nowrap}
.reading-tone.good{background:#194b30;color:#b5f3c8}
.reading-tone.warn{background:#59420c;color:#ffe08a}
.reading-tone.bad{background:#59202a;color:#ffb2ba}
.editable-sheet .reading-cell.good{background:#183b29}
.editable-sheet .reading-cell.warn{background:#473916}
.editable-sheet .reading-cell.bad{background:#4a232b}
.report-table .report-reading.good{background:#bce9c8!important;color:#15532c!important;font-weight:800}
.report-table .report-reading.warn{background:#ffe29a!important;color:#654700!important;font-weight:800}
.report-table .report-reading.bad{background:#f6b8bc!important;color:#8b1824!important;font-weight:800}
@media print{
 .report-table .report-reading.good,.report-table .report-reading.warn,.report-table .report-reading.bad{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* V15 — landscape report preview and print, no decorative black border */
.report-paper{width:100%;max-width:1122px;min-height:790px;margin:0 auto 20px;background:#fff!important;color:#151515!important;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;padding:28px!important}
.report-paper::before,.report-paper::after,.report-footer-accent{display:none!important;content:none!important}
.report-paper .report-table{width:100%;min-width:0}
.report-table tbody tr:nth-child(even) td:not(.in):not(.out):not(.warn):not(.good):not(.bad){background:#d1d3d6!important}
.report-table .report-conc.warn,.report-table .report-ph.warn{background:#ffe29a!important;color:#674b00!important;font-weight:800}
.report-table .report-ph.in{background:#bce9c8!important;color:#15532c!important;font-weight:800}
.report-table .report-ph.out{background:#f6b8bc!important;color:#8b1824!important;font-weight:800}
.report-table .report-conc.missing,.report-table .report-ph.missing,.report-table .report-reading.missing{background:#e2e3e5!important;color:#515151!important}
.report-table .report-reading.good{background:#bce9c8!important}
.report-table .report-reading.warn{background:#ffe29a!important}
.report-table .report-reading.bad{background:#f6b8bc!important}
.key-warn{color:#e0a400}
.limit.warn{background:#5a4211;color:#ffe29a}
.reading-cell.in{background:#173c28}.reading-cell.warn{background:#59420c}.reading-cell.out{background:#552028}
.report-stat.stat-warn{border-left-color:#e0a400}
.weekly-report-table td,.weekly-report-table th{font-size:13px;padding:9px}
.weekly-report-table th:first-child{width:45%}
.weekly-report-table select{width:100%;max-width:160px;background:#fff!important;color:#151515!important;border:1px solid #aaa!important}
.weekly-action{width:100px;text-align:center}
@page{size:A4 landscape;margin:9mm}
@media print{
 @page{size:A4 landscape;margin:9mm}
 html,body,#app,.shell,.main{background:#fff!important;color:#111!important;border:0!important;outline:0!important;box-shadow:none!important}
 .report-paper{width:100%!important;max-width:none!important;height:auto!important;min-height:185mm!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;box-shadow:none!important;overflow:visible!important;break-inside:avoid!important;display:flex!important;flex-direction:column!important}
 .report-paper::before,.report-paper::after,.report-footer-accent{display:none!important;content:none!important;border:0!important}
 .report-heading{min-height:16mm!important;margin-bottom:3mm!important}
 .report-heading img{width:39mm!important;max-height:16mm!important}
 .report-table{width:100%!important;min-width:0!important}
 .report-table thead tr{height:7mm!important}
 .report-table tbody tr{height:6.5mm!important}
 .report-table th{font-size:8px!important;padding:1mm!important}
 .report-table td{height:6.5mm!important;font-size:9px!important;padding:1mm!important}
 .report-totals{margin-top:3mm!important}
 .report-key{font-size:9px!important}
 .report-signoff{margin-top:auto!important;padding-top:2mm!important;padding-bottom:1mm!important}
 .weekly-report-table th:first-child{width:48%!important}
 .weekly-report-table select{appearance:none!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;font-size:9px!important;background:#fff!important;color:#111!important}
 .no-print,.weekly-action{display:none!important}
 .report-table th,.report-table td{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* V15.1 — both Monthly and Weekly previews and printouts are A4 PORTRAIT.
   Final rules intentionally override the earlier V15 landscape styles. */
.report-paper{box-sizing:border-box!important;width:100%!important;max-width:794px!important;min-height:1123px!important;margin:0 auto 20px!important;padding:30px!important;background:#fff!important;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
.report-paper::before,.report-paper::after,.report-footer-accent{display:none!important;content:none!important}
.report-paper .report-table{width:100%!important;min-width:0!important;table-layout:fixed}
.report-paper .report-table th,.report-paper .report-table td{overflow-wrap:anywhere}
@page{size:A4 portrait;margin:8mm}
@media print{
 @page{size:A4 portrait;margin:8mm}
 html,body,#app,.shell,.main{background:#fff!important;border:0!important;outline:0!important;box-shadow:none!important}
 .report-paper{box-sizing:border-box!important;width:100%!important;max-width:none!important;height:281mm!important;min-height:281mm!important;max-height:281mm!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border:0!important;outline:0!important;box-shadow:none!important;break-inside:avoid!important}
 .report-paper::before,.report-paper::after,.report-footer-accent{display:none!important;content:none!important}
 .report-heading{min-height:19mm!important;margin-bottom:4mm!important}
 .report-heading img{width:37mm!important;max-height:16mm!important}
 .report-table{table-layout:fixed!important;width:100%!important;min-width:0!important}
 .report-table thead tr{height:7mm!important}
 .report-table tbody tr{height:9mm!important}
 .report-table th{font-size:7px!important;padding:1mm!important}
 .report-table td{height:9mm!important;font-size:8px!important;padding:1mm!important}
 .weekly-report-table th:first-child{width:48%!important}
 .report-totals{margin-top:4mm!important}
 .report-key{padding-top:2mm!important;padding-bottom:2mm!important}
 .report-signoff{margin-top:auto!important;padding-top:3mm!important;padding-bottom:2mm!important}
 .no-print,.weekly-action{display:none!important}
}

/* V17: white side gutters on both report previews and A4 portrait printouts.
   No visible border or background; the paper remains white. */
.report-paper{padding-left:48px!important;padding-right:48px!important}
@media print{
 .report-paper{padding-left:5mm!important;padding-right:5mm!important}
}

/* V18: weekly report on-screen editing layout only. Print CSS remains unchanged. */
@media screen {
  .weekly-report-table {width:100%!important;min-width:0!important;table-layout:fixed}
  .weekly-report-table th:first-child {width:34%!important}
  .weekly-report-table th:nth-child(2) {width:23%!important}
  .weekly-report-table th:nth-child(3) {width:19%!important}
  .weekly-report-table th:last-child:not(:nth-child(3)) {width:24%!important}
  .weekly-report-table td,.weekly-report-table th {padding:8px 6px!important;overflow-wrap:anywhere}
  .weekly-report-table select {width:100%;max-width:100%;min-width:0;box-sizing:border-box}
  .weekly-row-buttons {display:flex;gap:6px;justify-content:center;align-items:center;flex-wrap:wrap}
  .weekly-row-buttons .btn {padding:8px 10px;font-size:12px;min-width:58px}
  .weekly-action {width:auto!important}
  @media (max-width:700px) { .weekly-row-buttons {flex-direction:column} .weekly-row-buttons .btn {width:100%} }
}
