:root{--ink:#17201c;--muted:#6c756f;--paper:#f2f0e9;--panel:#fbfaf6;--line:#d9d8d0;--orange:#e65a2f;--orange-dark:#c8431f;--green:#274f3d;--lime:#dce6a7;--shadow:0 14px 40px rgba(32,43,37,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:14px}.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#1c2722;color:#f8f7f0;padding:30px 22px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:800;letter-spacing:.04em;font-size:16px;margin:0 8px 43px}.brand>span:last-child span{color:#f37950}.brand-mark{width:27px;height:27px;display:flex;gap:3px;align-items:center;transform:skew(-12deg)}.brand-mark i{display:block;width:6px;background:var(--orange);border-radius:1px}.brand-mark i:nth-child(1){height:14px}.brand-mark i:nth-child(2){height:23px}.brand-mark i:nth-child(3){height:18px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{font:600 13px Manrope;background:transparent;border:0;color:#aab4ae;border-radius:7px;padding:11px 12px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;transition:.18s}.nav-item:hover{color:white;background:#26332d}.nav-item.active{background:#f8f6ee;color:#1c2722}.nav-icon{font:500 19px DM Mono;width:20px;text-align:center}.sidebar-bottom{margin-top:auto}.connection-card{background:#26342d;border:1px solid #394940;border-radius:9px;padding:12px;display:flex;gap:10px;align-items:center}.connection-card strong,.connection-card small{display:block}.connection-card strong{font-size:12px}.connection-card small{font-size:10px;color:#9eaaa4;margin-top:2px}.signal{height:25px;width:25px;border-radius:50%;display:grid;place-items:center;background:#31443a}.signal i{width:7px;height:7px;background:#7bc493;border-radius:50%;box-shadow:0 0 0 4px rgba(123,196,147,.12)}.sidebar-bottom>p{font:500 11px/1.6 DM Mono;color:#809087;margin:20px 9px 0}.sidebar-bottom>p span{color:#596b61}main{min-width:0;padding:0 42px 55px}.topbar{min-height:118px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);margin-bottom:30px}.eyebrow,.section-kicker{font:500 10px DM Mono;letter-spacing:.12em;color:#7a817c}.topbar h1{font-size:26px;letter-spacing:-.04em;margin:6px 0 0}.top-actions{display:flex;gap:10px;align-items:center}.date-window{background:#e8e6de;border-radius:7px;padding:8px 11px;display:flex;flex-direction:column;gap:3px}.date-window>span:first-child{font:500 8px DM Mono;color:#7a817c;letter-spacing:.1em}.date-inputs{display:flex;gap:5px;align-items:center}.date-inputs input{width:100px;border:0;background:transparent;padding:0;font:500 10px DM Mono;color:var(--ink)}.date-inputs b{font-weight:400;color:#999}.button{border:1px solid transparent;border-radius:7px;padding:11px 15px;font:700 12px Manrope;cursor:pointer;transition:.18s;white-space:nowrap}.button span{margin-right:5px}.button.primary{background:var(--orange);color:white}.button.primary:hover{background:var(--orange-dark);transform:translateY(-1px)}.button.secondary{border-color:var(--line);background:var(--panel);color:var(--ink)}.button.secondary:hover{border-color:#aaa}.button:disabled{opacity:.55;cursor:wait}.view{display:block}.hidden{display:none!important}.notice{padding:12px 16px;border:1px solid #e6b49f;background:#fff1e9;border-radius:8px;margin-bottom:18px;color:#8f371b}.loading-state{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.loader-mark{height:55px;display:flex;align-items:end;gap:5px}.loader-mark i{display:block;width:9px;background:var(--orange);animation:pulse 1s infinite alternate}.loader-mark i:nth-child(1){height:24px}.loader-mark i:nth-child(2){height:43px;animation-delay:.2s}.loader-mark i:nth-child(3){height:32px;animation-delay:.4s}@keyframes pulse{to{opacity:.25;transform:scaleY(.7)}}.loading-state h2{font-size:20px;margin:18px 0 7px}.loading-state p{color:var(--muted);max-width:450px;margin:0;line-height:1.7}.loading-bar{width:260px;height:3px;background:#deddd6;margin-top:28px;overflow:hidden}.loading-bar span{display:block;height:100%;background:var(--orange);width:40%;animation:load 1.5s ease-in-out infinite}@keyframes load{from{transform:translateX(-110%)}to{transform:translateX(280%)}}.decision-strip{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.decision-strip h2{font-size:22px;letter-spacing:-.035em;margin:7px 0 3px}.decision-strip p{margin:0;color:var(--muted)}.text-button{border:0;background:none;padding:7px 0;color:var(--orange-dark);font:700 12px Manrope;cursor:pointer}.text-button span{margin-left:7px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:14px}.metric-card{position:relative;min-height:138px;background:var(--panel);border:1px solid #dfded7;border-radius:9px;padding:19px;overflow:hidden}.metric-card>span{font:500 9px DM Mono;color:#7a817c;letter-spacing:.1em}.metric-card strong{display:block;font-size:27px;letter-spacing:-.045em;margin-top:13px}.metric-card small{font-size:10px;color:#89908b}.metric-card.accent{background:var(--green);border-color:var(--green);color:white}.metric-card.accent>span,.metric-card.accent small{color:#b7c8bf}.corner-arrow{position:absolute;right:16px;top:16px;color:var(--lime);font-size:19px}.metric-spark{position:absolute;right:15px;bottom:17px;height:35px;width:75px;display:flex;gap:3px;align-items:end}.metric-spark i{flex:1;background:#d9d7cc;min-height:3px}.metric-spark i:last-child{background:var(--orange)}.rate-mark{position:absolute;right:18px;bottom:20px;display:flex;gap:3px;align-items:end}.rate-mark i{height:7px;width:5px;background:#cfd2ca}.rate-mark i:nth-child(2){height:12px}.rate-mark i:nth-child(3){height:18px;background:#e99d82}.rate-mark i:nth-child(4){height:25px;background:#ee805a}.rate-mark i:nth-child(5){height:33px;background:var(--orange)}.mini-ring{position:absolute;right:17px;bottom:16px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--orange) var(--percent,0%),#deddd5 0)}.mini-ring:before{content:"";position:absolute;inset:5px;background:var(--panel);border-radius:50%}.mini-ring span{position:relative;font:500 8px DM Mono}.content-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.75fr);gap:14px;margin-bottom:14px}.panel{background:var(--panel);border:1px solid #dfded7;border-radius:9px;padding:22px}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:22px}.panel-heading h3,.insight-panel h3,.methodology h3{font-size:17px;letter-spacing:-.03em;margin:5px 0 0}.legend{font:500 8px DM Mono;color:#7b837d}.legend i{display:inline-block;width:7px;height:7px;background:var(--orange);margin-right:5px}.machine-bars{display:flex;flex-direction:column;gap:15px}.machine-row{display:grid;grid-template-columns:125px minmax(100px,1fr) 72px;align-items:center;gap:12px}.machine-label strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.machine-label span{font:400 8px DM Mono;color:#8d948f}.bar-track{height:8px;background:#e7e5dd;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--orange);width:var(--width);transition:width .5s}.machine-value{text-align:right}.machine-value strong{font:600 11px DM Mono}.machine-value span{display:block;font:400 8px DM Mono;color:#939993}.insight-panel{background:#e4e9c4;border-color:#d9dfb5;padding:24px}.insight-icon{margin-top:28px;font:500 28px DM Mono;color:#48604f}.insight-panel h3{font-size:20px;line-height:1.3;margin-top:12px}.insight-panel p{font-size:12px;line-height:1.7;color:#59645d;margin-bottom:17px}.recent-panel{padding-bottom:10px}.table-wrap{overflow:auto}.table-wrap.large{max-height:620px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;font:500 8px DM Mono;letter-spacing:.08em;color:#8a918d;padding:0 12px 11px;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #ebe9e2;font-size:11px}tbody tr:last-child td{border-bottom:0}.run-cell strong,.job-cell strong{display:block;font-size:11px}.run-cell span,.job-cell span{font:400 9px DM Mono;color:#8a918d}.machine-pill,.mix-pill{display:inline-flex;background:#e8e8e0;border-radius:4px;padding:4px 7px;font:500 9px DM Mono}.status{font:500 9px DM Mono;color:#427354}.status:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#66a47d;margin-right:5px}.planner-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.7fr);gap:15px}.job-form{padding:26px}.step-chip{background:#e9e7df;border-radius:4px;padding:5px 8px;font:500 8px DM Mono;color:#727a74}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}.field span{font:500 9px DM Mono;letter-spacing:.08em;color:#747c77}.field input,.field select,.search-box{border:1px solid #d8d7d0;border-radius:6px;background:#f7f6f1;padding:12px 11px;font:600 12px Manrope;color:var(--ink);outline:none}.field input:focus,.field select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(230,90,47,.1)}.form-foot{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.form-foot p{color:var(--muted);font-size:10px;line-height:1.6;max-width:390px}.methodology{background:#24322b;color:white;padding:28px}.methodology .section-kicker{color:#8da096}.methodology h3{font-size:20px;margin:10px 0 30px}.methodology ol{list-style:none;padding:0;margin:0}.methodology li{display:flex;gap:13px;padding:15px 0;border-top:1px solid #3a4941}.methodology li>b{font:500 10px DM Mono;color:var(--orange)}.methodology li strong,.methodology li span{display:block}.methodology li strong{font-size:11px}.methodology li span{font-size:9px;color:#aab6b0;margin-top:4px;line-height:1.5}.recommendations{margin-top:15px}.recommendation-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.recommendation-header h2{font-size:20px;margin:5px 0}.recommendation-header p{color:var(--muted);margin:0;font-size:11px}.recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.recommend-card{background:var(--panel);border:1px solid #dddbd3;border-radius:9px;padding:20px;position:relative}.recommend-card.best{border:2px solid var(--orange);padding:19px}.best-badge{position:absolute;right:14px;top:14px;background:#ffeadf;color:#b83e1c;border-radius:3px;padding:4px 6px;font:600 8px DM Mono}.recommend-rank{font:500 9px DM Mono;color:#89918b}.recommend-card h3{font-size:16px;margin:8px 0 3px}.confidence{font:500 9px DM Mono;color:#65716a}.recommend-time{font-size:30px;font-weight:700;letter-spacing:-.05em;margin:21px 0 0}.recommend-time span{font-size:12px;color:var(--muted);letter-spacing:0}.recommend-detail{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.recommend-detail div{background:#eeede6;padding:9px;border-radius:5px}.recommend-detail span,.recommend-detail strong{display:block}.recommend-detail span{font:500 8px DM Mono;color:#818984}.recommend-detail strong{font-size:11px;margin-top:3px}.recommend-card p{font-size:10px;color:var(--muted);line-height:1.55;margin:0}.search-box{padding:8px 10px;color:#8a918d}.search-box input{border:0;background:transparent;outline:0;width:210px;font:500 11px Manrope}.machine-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.machine-card{background:var(--panel);border:1px solid #dddbd3;border-radius:9px;padding:20px}.machine-card-top{display:flex;justify-content:space-between;gap:12px}.machine-card h3{font-size:15px;margin:0}.machine-card .rank{font:500 9px DM Mono;color:var(--orange)}.machine-card-rate{font-size:27px;font-weight:700;letter-spacing:-.04em;margin:22px 0 3px}.machine-card-rate span{font-size:10px;color:var(--muted)}.machine-card>p{font-size:10px;color:var(--muted);margin:0 0 17px}.machine-stat-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:14px}.machine-stat-row span,.machine-stat-row strong{display:block}.machine-stat-row span{font:500 7px DM Mono;color:#8a918d}.machine-stat-row strong{font-size:10px;margin-top:4px}.empty{color:var(--muted);text-align:center;padding:45px!important}.notice button{float:right;border:0;background:none;color:inherit;cursor:pointer}
@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.machine-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:15px 18px;flex-direction:row;align-items:center}.brand{margin:0 25px 0 0}.sidebar nav{flex-direction:row}.nav-item{font-size:0}.nav-icon{font-size:18px}.sidebar-bottom{display:none}main{padding:0 18px 40px}.topbar{align-items:flex-start;padding:22px 0;min-height:auto}.top-actions .secondary{display:none}.content-grid,.planner-layout{grid-template-columns:1fr}.recommendation-grid{grid-template-columns:1fr}.machine-card-grid{grid-template-columns:1fr}.topbar h1{font-size:21px}}
@media(max-width:560px){.topbar .button.primary{font-size:0;padding:10px}.topbar .button.primary span{font-size:18px;margin:0}.metrics-grid{grid-template-columns:1fr}.decision-strip{align-items:start;gap:10px;flex-direction:column}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.form-foot{align-items:flex-start;flex-direction:column}.machine-row{grid-template-columns:95px 1fr 62px}.recent-panel{padding:16px}}
.sort-button{border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;padding:4px 17px 4px 0;cursor:pointer;position:relative;white-space:nowrap}.sort-button:after{content:"↕";position:absolute;right:0;opacity:.35;font-size:10px}.sort-button[data-direction="asc"],.sort-button[data-direction="desc"]{color:var(--orange-dark)}.sort-button[data-direction="asc"]:after{content:"↑";opacity:1}.sort-button[data-direction="desc"]:after{content:"↓";opacity:1}.sort-button:hover{color:var(--ink)}.date-cell{display:block;min-width:88px}.date-cell strong,.date-cell small{display:block}.date-cell strong{font-size:10px}.date-cell small{font:400 8px DM Mono;color:#8a918d;margin-top:2px}.date-cell.muted{color:#a4aaa6}
.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.column-picker{position:relative}.column-picker summary{list-style:none;border:1px solid var(--line);border-radius:6px;background:#f7f6f1;padding:8px 10px;color:#59625d;font:700 10px Manrope;cursor:pointer;white-space:nowrap}.column-picker summary::-webkit-details-marker{display:none}.column-picker summary:after{content:"⌄";margin-left:7px;color:#8a918d}.column-picker[open] summary{border-color:#bcbdb7}.column-menu{position:absolute;z-index:24;right:0;top:calc(100% + 7px);width:190px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.column-menu label{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:4px;color:#4e5752;font-size:10px;cursor:pointer}.column-menu label:hover{background:#efeee8}.column-menu input{accent-color:var(--orange)}.responsive-table .column-hidden{display:none}
.brand{gap:10px}.brand-name{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}.brand-name strong{font-size:10px;letter-spacing:.075em}.brand-name small{color:#f37950;font:700 8px Manrope;letter-spacing:.14em;margin-top:4px}
.date-window{position:relative;min-width:190px}.date-window>label{font:500 8px DM Mono;color:#7a817c;letter-spacing:.1em}.date-window>select{appearance:none;width:100%;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%235b655f' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right center;padding:1px 22px 1px 0;font:700 12px Manrope;color:var(--ink);cursor:pointer;outline:none}.date-window>select:focus-visible{box-shadow:0 0 0 3px rgba(230,90,47,.15);border-radius:3px}.custom-range{position:absolute;z-index:20;top:calc(100% + 8px);right:0;width:min(315px,calc(100vw - 28px));padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.custom-range:before{content:"";position:absolute;right:24px;top:-6px;width:10px;height:10px;background:var(--panel);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.custom-range .date-inputs{min-width:0}.range-apply{border:0;border-radius:5px;background:var(--green);color:#fff;padding:8px 10px;font:700 10px Manrope;cursor:pointer}
.trend-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:18px;padding:28px 30px;background:#1f2c26;color:#fff;border-radius:10px;position:relative;overflow:hidden}.trend-hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(243,121,80,.18);border-radius:50%;right:-90px;top:-130px}.trend-hero h2{font-size:28px;line-height:1.12;max-width:590px;margin:7px 0 8px}.trend-hero p{max-width:680px;color:#b7c1bc;font-size:12px;line-height:1.6;margin:0}.trend-controls{display:grid;grid-template-columns:repeat(3,minmax(135px,1fr));gap:8px;min-width:470px;position:relative;z-index:1}.trend-controls label{display:block}.trend-controls label>span{display:block;color:#91a098;font:500 8px DM Mono;letter-spacing:.12em;margin-bottom:5px}.trend-controls select{width:100%;background:#293831;color:#fff;border:1px solid #43534a;border-radius:5px;padding:10px 28px 10px 10px;font:600 10px Manrope}.trend-loading{padding:28px;text-align:center}.trend-loading p{font-size:11px;color:var(--muted);margin:12px 0 0}.trend-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.trend-metrics article{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px 20px}.trend-metrics span{display:block;color:var(--muted);font:500 8px DM Mono;letter-spacing:.1em}.trend-metrics strong{display:block;font-size:22px;margin:8px 0 4px;color:var(--ink)}.trend-metrics small{color:#78817c;font-size:9px}.trend-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.8fr);gap:12px;margin-bottom:12px}.trend-chart-panel,.signal-panel,.heatmap-panel,.exceptions-panel{padding:22px}.trend-baseline,.heat-legend{color:#77817c;font:500 8px DM Mono;letter-spacing:.08em;white-space:nowrap}.trend-baseline i{display:inline-block;width:18px;border-top:1px dashed #e17a55;margin-right:5px;vertical-align:middle}.trend-chart{width:100%;min-height:285px}.trend-chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-grid{stroke:#e6e7e2;stroke-width:1}.chart-baseline{stroke:#e17a55;stroke-width:1;stroke-dasharray:5 5}.chart-line{fill:none;stroke:#263a30;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#f37950;stroke:#fff;stroke-width:2}.chart-x-label,.chart-y-label{font:8px DM Mono;fill:#7c857f}.chart-note{color:#7c857f;font-size:9px;margin:3px 0 0}.trend-insights{display:grid;gap:9px}.trend-insight{display:flex;gap:10px;padding:13px;background:#f6f6f1;border-radius:6px;border-left:3px solid #aab4ae}.trend-insight.positive{border-left-color:#638c70}.trend-insight.attention{border-left-color:#e17a55}.trend-insight i{display:block;width:7px;height:7px;border-radius:50%;background:#aab4ae;margin-top:4px;flex:none}.trend-insight.positive i{background:#638c70}.trend-insight.attention i{background:#e17a55}.trend-insight strong{display:block;font-size:10px;line-height:1.35}.trend-insight p{font-size:9px;line-height:1.5;color:#78817c;margin:4px 0 0}.heatmap-panel{margin-bottom:12px;overflow:hidden}.heat-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin:0 3px 0 8px}.heat-legend .low{background:#d97452}.heat-legend .normal{background:#d8dfd8}.heat-legend .high{background:#52765e}.trend-heatmap{overflow-x:auto;padding-bottom:4px}.heat-grid{display:grid;grid-template-columns:125px repeat(var(--weeks),minmax(39px,1fr));gap:4px;min-width:820px;align-items:center}.heat-grid>strong{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heat-week{font:7px DM Mono;color:#89918d;text-align:center;white-space:nowrap}.heat-cell{display:grid;place-items:center;height:31px;border-radius:3px;font:600 8px DM Mono;color:#26352d}.heat-low{background:#d97452;color:#fff}.heat-watch{background:#f1c4a8}.heat-normal{background:#d8dfd8}.heat-high{background:#52765e;color:#fff}.empty-heat{background:#f3f3ef;color:#c2c5c1}.exceptions-panel{margin-bottom:12px}.exception-index{display:inline-grid;place-items:center;min-width:34px;padding:5px 7px;border-radius:4px;background:#f7d7c7;color:#a3492c;font:700 10px DM Mono}.trend-methodology{padding:0}.trend-methodology summary{list-style:none;cursor:pointer;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700}.trend-methodology summary::-webkit-details-marker{display:none}.trend-methodology>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 20px 18px;border-top:1px solid var(--line)}.trend-methodology p{font-size:9px;line-height:1.65;color:#6f7873;margin:15px 0 0}@media(max-width:1100px){.trend-hero{align-items:stretch;flex-direction:column}.trend-controls{min-width:0}.trend-grid{grid-template-columns:1fr}.trend-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.trend-controls{grid-template-columns:1fr}.trend-metrics{grid-template-columns:1fr}.trend-hero{padding:22px}.trend-hero h2{font-size:23px}.trend-methodology>div{grid-template-columns:1fr;gap:0}}
@media(max-width:800px){.sidebar{max-width:100%;overflow-x:auto}.sidebar .brand,.sidebar nav{flex:none}}

/* Responsive hardening for tablet and phone layouts. */
.field,.job-form,.methodology,.planner-layout>*{min-width:0}
.field input,.field select{width:100%;min-width:0}
.table-wrap,.trend-heatmap{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}

@media(max-width:1100px){
  .topbar{align-items:flex-start;flex-direction:column;gap:16px;padding:20px 0}
  .top-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;width:100%}
  .top-actions .date-window{display:flex;min-width:0}
  .date-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .date-inputs input{min-width:0;width:100%}
  .top-actions .button{justify-self:end}
}

@media(max-width:900px){
  .content-grid,.planner-layout{grid-template-columns:minmax(0,1fr)}
  .recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:800px){
  .sidebar{position:sticky;top:0;z-index:30;gap:12px;padding:10px 12px;overflow:visible;box-shadow:0 5px 18px rgba(23,32,28,.14)}
  .brand{flex:none;margin:0}
  .brand-name{display:none}
  .sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;min-width:0;width:100%;flex:1}
  .nav-item{min-width:0;min-height:48px;padding:6px 3px;gap:2px;flex-direction:column;justify-content:center;text-align:center;font-size:8px;line-height:1.15;white-space:normal}
  .nav-icon{width:auto;font-size:16px;line-height:1}
  .top-actions .secondary{display:block;font-size:0;padding:10px}
  .top-actions .secondary span{font-size:18px;margin:0}
  .recommendation-grid{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:560px){
  .sidebar{padding-inline:8px}
  .sidebar .brand{display:none}
  .nav-item{font-size:8px}
  main{padding-inline:14px}
  .topbar{gap:12px}
  .topbar>div:first-child{min-width:0}
  .topbar h1{font-size:20px;line-height:1.15}
  .top-actions{grid-template-columns:minmax(0,1fr) auto}
  .top-actions .date-window{grid-column:1/-1;width:100%}
  .top-actions .secondary{justify-self:end}
  .panel,.job-form,.methodology,.trend-chart-panel,.signal-panel,.heatmap-panel,.exceptions-panel{padding:16px}
  .panel-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:16px}
  .table-actions{align-items:stretch;flex-wrap:wrap;justify-content:flex-start;width:100%}
  .table-actions .search-box{flex:1 0 100%}
  .column-menu{left:0;right:auto}
  .search-box{display:flex;align-items:center;gap:6px;width:100%}
  .search-box input{min-width:0;width:100%}
  .recommendation-header{align-items:flex-start;flex-direction:column;gap:10px}
  .form-foot .button{width:100%}
  .trend-hero{padding:18px}
  .trend-chart{min-height:200px}
  .trend-baseline,.heat-legend{white-space:normal;line-height:1.5}
}

/* Authentication and signed-in user controls. */
.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);background:#1c2722;color:#fff}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;border-right:1px solid #35433c}
.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:14px;letter-spacing:.08em}.auth-brand small{color:#f37950;font-size:9px;letter-spacing:.16em}
.auth-card{align-self:center;width:min(430px,calc(100% - 48px));margin:auto;background:var(--panel);color:var(--ink);border-radius:12px;padding:38px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.auth-card h1{font-size:29px;line-height:1.15;letter-spacing:-.045em;margin:10px 0}.auth-card>p{color:var(--muted);font-size:12px;margin:0 0 26px}.auth-card .field{margin-top:15px}.auth-card .field input{background:#fff}.auth-submit{width:100%;margin-top:22px}.auth-error{padding:10px 12px!important;margin:14px 0 0!important;border-radius:6px;background:#fff0e9;color:#9a3c21!important}
.auth-card .field textarea{min-height:88px;resize:vertical;border:1px solid #d8d7d0;border-radius:6px;background:#fff;padding:12px 11px;font:600 12px Manrope;color:var(--ink);outline:none}.auth-card .field i{font-style:normal;color:#a1a6a2}.auth-link{display:block;width:100%;margin-top:15px;border:0;background:transparent;color:var(--orange-dark);font:700 11px Manrope;cursor:pointer}.auth-success{padding:11px 12px!important;margin:15px 0 0!important;border-radius:6px;background:#e9f1e6;color:#356045!important;line-height:1.5}
.user-menu{position:relative}.user-button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--green);font:800 11px Manrope;cursor:pointer}.user-popover{position:absolute;z-index:25;right:0;top:calc(100% + 9px);width:220px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;box-shadow:var(--shadow)}.user-popover strong,.user-popover small{display:block}.user-popover strong{font-size:11px}.user-popover small{font-size:9px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis}.user-popover button{width:100%;margin-top:13px;padding:9px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--orange-dark);font:700 10px Manrope;cursor:pointer}
.admin-modal{position:fixed;z-index:80;inset:0;background:rgba(15,22,18,.68);padding:24px;display:grid;place-items:center}.admin-surface{width:min(900px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--paper);border-radius:12px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.admin-header,.admin-requests-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.admin-header h2{margin:6px 0 0;font-size:25px}.admin-header>button{border:0;background:transparent;font-size:27px;cursor:pointer}.admin-invite{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(150px,1fr) minmax(190px,1.2fr) auto;gap:12px;align-items:end;margin:24px 0;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.admin-invite h3,.admin-requests-heading h3{margin:0;font-size:14px}.admin-invite p,.admin-requests-heading p{font-size:10px;color:var(--muted);margin:4px 0 0}.admin-invite .field{gap:5px}.admin-invite .field input{background:#fff}.admin-message{grid-column:1/-1;margin:0;padding:9px;border-radius:5px;background:#eef0e8;color:#496052;font-size:10px}.admin-requests-heading{align-items:end;margin:26px 0 12px}.admin-requests-heading>span{font:600 9px DM Mono;color:var(--orange-dark)}.admin-requests{display:grid;gap:8px}.access-request{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:15px 17px;background:var(--panel);border:1px solid var(--line);border-radius:7px}.access-request strong,.access-request a,.access-request span{display:block}.access-request strong{font-size:12px}.access-request a{color:var(--orange-dark);font-size:10px;margin-top:3px}.access-request span{font:500 8px DM Mono;color:var(--muted);margin-top:4px}.access-request p{max-width:620px;font-size:10px;line-height:1.5;color:#59625d;margin:9px 0 0}.access-request.invited,.access-request.declined{opacity:.6}.access-actions{display:flex;align-items:center;gap:6px;flex:none}.access-actions span{text-transform:uppercase;margin:0 4px 0 0}.access-actions button{border:1px solid #bdd0c2;border-radius:5px;background:#e7efe8;color:#365944;padding:7px 9px;font:700 9px Manrope;cursor:pointer}.access-actions button.decline{border-color:#e2c9be;background:#f7ece7;color:#8e4932}
.feedback-modal{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:24px;background:rgba(15,22,18,.68)}.feedback-surface{width:min(540px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:28px;background:var(--panel);border-radius:12px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.feedback-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.feedback-header h2{font-size:25px;line-height:1.15;margin:6px 0}.feedback-header p{max-width:420px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.feedback-header>button{border:0;background:transparent;font-size:27px;line-height:1;cursor:pointer}.feedback-surface .field{margin-top:15px}.feedback-surface textarea{width:100%;min-height:150px;resize:vertical;border:1px solid #d8d7d0;border-radius:6px;background:#f7f6f1;padding:12px 11px;font:600 12px/1.55 Manrope;color:var(--ink);outline:none}.feedback-surface textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(230,90,47,.1)}.feedback-note{margin:11px 0 0;color:var(--muted);font-size:9px}.feedback-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}

@media(max-width:1100px){.top-actions{grid-template-columns:minmax(0,1fr) auto auto auto}}
@media(max-width:700px){.auth-screen{display:flex;flex-direction:column}.auth-brand{justify-content:flex-start;border-right:0;border-bottom:1px solid #35433c;padding:22px}.auth-card{padding:28px;margin:36px auto}.auth-card h1{font-size:25px}}
@media(max-width:800px){.admin-invite{grid-template-columns:1fr 1fr}.admin-invite>div,.admin-invite .admin-message{grid-column:1/-1}.admin-invite .button{width:100%}}
@media(max-width:560px){.top-actions{grid-template-columns:minmax(0,1fr) auto auto}.top-actions .date-window{grid-column:1/-1}.user-button{width:36px;height:36px}.user-popover{right:0;width:min(220px,calc(100vw - 28px))}.admin-modal,.feedback-modal{padding:0}.admin-surface,.feedback-surface{height:100vh;max-height:none;border-radius:0;padding:20px}.feedback-header h2{font-size:22px}.feedback-surface textarea{min-height:180px}.feedback-actions{flex-direction:column-reverse}.feedback-actions .button{width:100%}.admin-invite{grid-template-columns:1fr}.admin-invite>div,.admin-invite .admin-message{grid-column:auto}.access-request{flex-direction:column}.access-actions{width:100%;flex-wrap:wrap}.auth-card{width:min(430px,calc(100% - 28px));padding:24px}.auth-brand{padding:16px 18px}}
