/* Tariq Rice Mill Owner Dashboard — frontend-only, scoped to .trmo-root */
.trmo-root{--trmo-ink:#142639;--trmo-muted:#617284;--trmo-line:#e3e9ee;--trmo-nav:#112c40;--trmo-accent:#217565;--trmo-sand:#d5aa69;--trmo-bg:#f5f7f8;display:block;position:relative;background:var(--trmo-bg);color:var(--trmo-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.42;max-width:1080px;margin:0 auto;padding:0 14px 100px;box-sizing:border-box;border-radius:18px;overflow:visible;isolation:isolate}
.trmo-root *{box-sizing:border-box}.trmo-root h1,.trmo-root h2,.trmo-root h3,.trmo-root p{margin:0}.trmo-root a{text-decoration:none}.trmo-root button,.trmo-root select{font:inherit}.trmo-root button{cursor:pointer}.trmo-root strong,.trmo-root b{font-weight:720}.trmo-root :focus-visible{outline:3px solid #e2a842;outline-offset:3px}
.trmo-top{background:var(--trmo-nav);border-radius:0 0 17px 17px;color:#fff;padding:19px 19px 18px;display:flex;align-items:center;gap:13px;box-shadow:0 7px 19px #142a3b15}
.trmo-mark{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:17px;font-weight:800;letter-spacing:.5px;color:#f4e0b9;background:#24465b;border:1px solid #ffffff17;flex-shrink:0}
.trmo-brand{min-width:0;flex:1}.trmo-brand h1{color:#fff;font-size:20px;line-height:1.16;font-weight:770;letter-spacing:-.55px}.trmo-brand-sub{display:block;color:#bed0d9;font-size:9px;letter-spacing:1.55px;font-weight:740;margin-bottom:4px}.trmo-top-symbol{color:#d4b382;font-size:25px}
.trmo-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:24px 3px 18px}.trmo-overline{display:block;letter-spacing:1.7px;font-size:10px;font-weight:810;color:#79909b;line-height:1.8}.trmo-toolbar h2{font-size:27px;font-weight:785;letter-spacing:-.8px;line-height:1.13;color:var(--trmo-ink)}.trmo-toolbar p{font-size:12px;color:var(--trmo-muted);margin-top:5px}
.trmo-season-form{display:flex;flex-direction:column;gap:5px;max-width:46%;min-width:120px}.trmo-season-form label{font-size:10px;font-weight:750;color:var(--trmo-muted);letter-spacing:.8px;text-transform:uppercase}.trmo-season-form select{appearance:auto;background:#fff;min-height:39px;border:1px solid var(--trmo-line);border-radius:9px;color:var(--trmo-ink);font-size:12px;font-weight:650;max-width:100%;padding:7px}
.trmo-freshness{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-bottom:13px;color:var(--trmo-muted);font-size:11px;padding:0 2px}.trmo-freshness>span{display:inline-flex;align-items:center;gap:6px;margin-right:auto}.trmo-freshness i{width:7px;height:7px;background:#2b9675;display:inline-block;border-radius:50%;flex-shrink:0}.trmo-freshness time{font-variant-numeric:tabular-nums}.trmo-refresh{font-size:12px;background:#fff;border:1px solid var(--trmo-line);border-radius:8px;padding:6px 11px;color:var(--trmo-nav);font-weight:700}.trmo-refresh[disabled]{opacity:.65;cursor:progress}
.trmo-alert,.trmo-access{padding:16px;background:#fff4df;border:1px solid #e7cf98;border-radius:12px;color:#6d521f;margin:12px auto;line-height:1.6}.trmo-access{max-width:700px}.trmo-access a{color:#1a6a82;text-decoration:underline}
.trmo-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 0 13px}.trmo-stat{background:#fff;border-radius:13px;border:1px solid var(--trmo-line);box-shadow:0 4px 13px #243d5208;padding:15px;min-width:0;min-height:136px}.trmo-stat-symbol{color:#3f715e;background:#eef4ee;width:31px;height:31px;border-radius:9px;display:grid;place-items:center;font-weight:790;font-size:19px;margin-bottom:10px}.trmo-stat:nth-child(1) .trmo-stat-symbol{color:#a3773b;background:#f7f1e9}.trmo-stat:nth-child(3) .trmo-stat-symbol{color:#3c6686;background:#ebf2f7}.trmo-stat:nth-child(4) .trmo-stat-symbol{color:#9b6852;background:#f8eeec}.trmo-stat-label{font-size:12px;font-weight:690;line-height:1.2;min-height:29px}.trmo-stat-value{font-size:25px;font-weight:795;letter-spacing:-.9px;line-height:1.24;margin:5px 0 4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.trmo-stat-value span{font-size:11px;color:var(--trmo-muted);font-weight:680;margin-left:5px;letter-spacing:0}.trmo-stat-sub{font-size:10px;line-height:1.3;color:var(--trmo-muted)}
.trmo-section{background:#fff;border:1px solid var(--trmo-line);border-radius:15px;padding:18px 14px;margin:12px 0;box-shadow:0 4px 14px #243d5207;scroll-margin-top:15px}.trmo-section-head{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:15px}.trmo-section-head h2{font-weight:775;font-size:19px;letter-spacing:-.55px;line-height:1.2}.trmo-subdate{font-size:11px;color:var(--trmo-muted);white-space:nowrap}.trmo-outline-tag{font-size:10px;color:#406e68;border:1px solid #c2d7d0;background:#f1f8f4;padding:5px 8px;border-radius:20px;white-space:nowrap;font-weight:730}.trmo-muted{color:var(--trmo-muted);font-size:12px;line-height:1.6}.trmo-note{margin-top:12px!important}.trmo-today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.trmo-today-cell{padding:12px;border-radius:10px;border:1px solid #e9edf0;background:#f9fbfc;font-size:11px;color:var(--trmo-muted)}.trmo-today-cell strong{display:block;color:var(--trmo-ink);font-size:25px;margin-top:4px;line-height:1.25;letter-spacing:-.5px}.trmo-today-cell small{font-size:11px}
.trmo-map-explainer{color:var(--trmo-muted);font-size:12px;line-height:1.5;margin:-5px 0 15px!important}.trmo-map-outer{overflow:hidden;border-radius:13px;border:1px solid #d4dfe5;background:#eff3f5}.trmo-map{width:100%;height:auto;display:block;user-select:none;touch-action:pan-y}.trmo-road-label{fill:#63798a;font-size:9px;font-weight:800;letter-spacing:1.9px}.trmo-zone{cursor:pointer;outline:0;transition:filter .18s}.trmo-zone>rect,.trmo-zone>path{stroke-width:1.7;transition:stroke .2s,fill .2s}.trmo-zone>text:not(.trmo-index){pointer-events:none;fill:#193047;font-size:9px;font-weight:800;letter-spacing:.1px}.trmo-zone-machine>path{fill:#d2e1e9;stroke:#7496ad}.trmo-zone-yard>rect{fill:#f1e5cd;stroke:#c2a878}.trmo-zone-office>rect{fill:#e9ded9;stroke:#c9aaa0}.trmo-zone-godown>rect,.trmo-zone-main>rect{fill:#e4e8df;stroke:#9eab97}.trmo-zone-dehusk>rect{fill:#e4e5d9;stroke:#a7aa94}.trmo-zone-sort>rect{fill:#e5e0ed;stroke:#a79aba}.trmo-zone-product>rect{fill:#d7e8df;stroke:#8daea0}.trmo-map .trmo-hotspot{fill:#233f50;stroke:#fff;stroke-width:1.1}.trmo-map .trmo-index{fill:#fff;font-size:11px;font-weight:820;pointer-events:none}.trmo-zone:hover>rect,.trmo-zone:hover>path,.trmo-zone.is-active>rect,.trmo-zone.is-active>path,.trmo-zone:focus-visible>rect,.trmo-zone:focus-visible>path{stroke:#168475;stroke-width:3;filter:drop-shadow(0 1px 2px #166b5f38)}.trmo-zone.is-active .trmo-hotspot{fill:#168475}.trmo-map-help{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:#647687;font-size:10px;margin:10px 1px 2px}.trmo-map-help b{color:#21405a}.trmo-map-help i{background:#168475;width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}
.trmo-zone-info{background:#f7faf9;border:1px solid #d8e6e2;border-radius:11px;margin-top:12px;padding:13px;min-height:56px}.trmo-zone-placeholder{font-size:12px;color:#648079}.trmo-zone-detail[hidden]{display:none}.trmo-zone-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.trmo-zone-header h3{font-size:16px;letter-spacing:-.3px;margin:2px 0}.trmo-zone-header p{font-size:11px;color:#647687}.trmo-close-zone{border:0;background:#e6eeeb;color:#1d5d50;border-radius:8px;font-size:23px;line-height:1;width:30px;height:30px}.trmo-stock-highlight{display:grid;gap:4px;margin-top:12px;background:#fff;border:1px solid #dfeae6;border-radius:10px;padding:12px}.trmo-stock-highlight>span{font-size:10px;color:#708276;text-transform:uppercase;font-weight:750;letter-spacing:1px}.trmo-stock-highlight strong{font-size:15px}.trmo-stock-highlight small{color:#627782;line-height:1.5}.trmo-stock-list{padding:0;margin:11px 0 0;list-style:none}.trmo-stock-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 8px;padding:10px 3px;border-bottom:1px solid #dfeae6;font-size:11px}.trmo-stock-list li span{color:var(--trmo-ink);max-width:60%}.trmo-stock-list li small{width:100%;color:var(--trmo-muted)}
.trmo-storage-list{display:grid;gap:3px}.trmo-storage-row{display:flex;align-items:start;gap:9px;padding:12px 2px;border-bottom:1px solid #edf0f2}.trmo-storage-row:last-child{border-bottom:0}.trmo-storage-marker{height:29px;width:29px;background:#f0f5f2;color:#3c7767;border-radius:7px;display:grid;place-items:center;flex-shrink:0}.trmo-storage-text{flex:1;min-width:0}.trmo-storage-text strong{display:block;font-size:12px}.trmo-storage-text small{display:block;color:var(--trmo-muted);margin-top:4px;font-size:10px;line-height:1.4}.trmo-storage-row>b{max-width:37%;font-size:11px;text-align:right;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.trmo-activity-list{border-top:1px solid var(--trmo-line)}.trmo-activity-row{position:relative;display:grid;grid-template-columns:73px 1fr auto;column-gap:9px;padding:12px 0 12px 11px;border-bottom:1px solid #edf1f2;min-width:0}.trmo-act-line{position:absolute;top:17px;left:0;width:6px;height:6px;border-radius:50%;background:#4a897b}.trmo-act-meta{display:flex;flex-direction:column;gap:6px}.trmo-act-meta time{font-size:10px;font-weight:750;color:#677d89}.trmo-tiny-status{color:#9b7125;background:#faf3e6;font-size:9px;padding:3px 5px;border-radius:5px;width:max-content;max-width:69px}.trmo-tiny-status.checked{color:#286e54;background:#e9f6ed}.trmo-act-main{min-width:0}.trmo-act-main strong{display:block;font-size:12px;overflow-wrap:anywhere}.trmo-act-main small{color:var(--trmo-muted);font-size:10px;line-height:1.45;display:block;margin-top:5px;overflow-wrap:anywhere}.trmo-act-quantity{text-align:right;font-size:11px;font-weight:735;overflow-wrap:anywhere;max-width:95px}
.trmo-keylines{display:grid;gap:0;border:1px solid var(--trmo-line);border-radius:10px;padding:0 12px}.trmo-keylines>div{display:flex;justify-content:space-between;align-items:center;gap:11px;padding:12px 2px;border-bottom:1px solid var(--trmo-line)}.trmo-keylines>div:last-child{border-bottom:0}.trmo-keylines>div span{font-size:12px;color:#596d7d;line-height:1.4}.trmo-keylines>div strong{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.trmo-keylines .trmo-accent-line{background:#f1f7f4;padding:12px 8px;margin:0 -8px}.trmo-keylines .trmo-accent-line strong{color:#17674f}.trmo-subhead{font-size:14px;margin:21px 0 11px!important;letter-spacing:-.2px}.trmo-product-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.trmo-product-table table{width:100%;border-collapse:collapse;min-width:310px;font-size:10px}.trmo-product-table th{text-align:right;padding:10px 6px;background:#f6f9fa;color:#5c7181;font-weight:800}.trmo-product-table th:first-child{text-align:left}.trmo-product-table td{padding:11px 6px;text-align:right;border-bottom:1px solid #edf0f1;font-variant-numeric:tabular-nums}.trmo-product-table td:first-child{text-align:left}.trmo-product-table td small{display:block;color:#81909b;font-size:10px;margin-top:2px}.trmo-product-table .trmo-negative{color:#b0433c}
.trmo-chart-key{display:flex;flex-wrap:wrap;gap:14px;color:#65798a;font-size:10px}.trmo-chart-key span{display:flex;align-items:center;gap:6px}.trmo-chart-key i{display:inline-block;width:10px;height:10px;border-radius:3px}.trmo-chart-key .arrival,.trmo-bar.arrival{background:#ac8e5d}.trmo-chart-key .steam,.trmo-bar.steam{background:#568998}.trmo-chart-key .dehusk,.trmo-bar.dehusk{background:#387f65}.trmo-trend{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:128px;gap:10px;margin:12px 1px 3px;border-bottom:1px solid #e6ebef}.trmo-trend-day{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;color:#748797;font-size:10px}.trmo-bars{width:100%;height:106px;display:flex;align-items:flex-end;gap:2px;justify-content:center}.trmo-bar{display:block;min-width:4px;max-width:13px;flex:1;border-radius:3px 3px 0 0;transition:height .2s}.trmo-data-note{font-size:11px;line-height:1.65;color:#70808d;padding:12px 3px 25px}
.trmo-bottomnav{position:sticky;bottom:0;z-index:50;margin:0 -14px;background:#fff;border-top:1px solid #dde6ea;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));box-shadow:0 -3px 15px #1e354113;padding:6px 8px max(7px,env(safe-area-inset-bottom));border-radius:12px 12px 0 0}.trmo-bottomnav a{color:#607582;display:flex;flex-direction:column;align-items:center;gap:1px;min-height:45px;justify-content:center}.trmo-bottomnav a span{font-size:24px;font-weight:600;line-height:1}.trmo-bottomnav a small{font-size:10px;font-weight:700}.trmo-bottomnav a:hover,.trmo-bottomnav a:focus{color:#166f60}
@media(min-width:660px){.trmo-root{padding:0 28px 100px}.trmo-top{padding:24px 27px}.trmo-brand h1{font-size:24px}.trmo-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.trmo-stat{min-height:151px}.trmo-section{padding:20px}.trmo-today-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.trmo-map-outer{max-width:700px;margin:0 auto}.trmo-activity-row{grid-template-columns:106px 1fr auto}.trmo-bottomnav{margin:0 -28px}}
@media(min-width:980px){.trmo-root{padding-left:44px;padding-right:44px}.trmo-map-outer{max-width:620px}.trmo-summary{margin-bottom:20px}.trmo-bottomnav{margin:0 -44px}}
@media(max-width:360px){.trmo-stat{padding:12px}.trmo-stat-value{font-size:21px}.trmo-root{padding-left:9px;padding-right:9px}.trmo-bottomnav{margin:0 -9px}.trmo-season-form{min-width:105px}.trmo-toolbar h2{font-size:23px}.trmo-activity-row{grid-template-columns:66px 1fr auto;column-gap:6px}.trmo-act-quantity{max-width:70px}}
@media(prefers-reduced-motion:reduce){.trmo-root *{scroll-behavior:auto!important;transition:none!important}}

.trmo-map-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}.trmo-map-shortcuts button{border:1px solid #dee6e8;background:#f8fafb;color:#526b78;border-radius:7px;padding:8px 4px;font-size:10px;font-weight:730;line-height:1.2;min-height:37px}.trmo-map-shortcuts button.is-active{background:#e4f2eb;border-color:#50a08b;color:#185e4d}.trmo-map-shortcuts button:focus-visible{outline-offset:2px}
