:root{--bg:#f5f5f4;--card:#fff;--line:#e5e7eb;--text:#1f2937;--muted:#6b7280;--primary:#d6453d;--primary-dark:#b3362f;--danger:#b91c1c;--ok:#15803d;--info:#1d4ed8;--warn:#b45309;--radius:8px;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Noto Sans KR,Malgun Gothic,sans-serif;font-size:15px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg)}h1{margin:0;font-size:1.35rem}h2{margin:0 0 12px;font-size:1.05rem}h3{margin:0 0 8px;font-size:1rem}a{color:inherit}.muted{color:var(--muted)}.center{text-align:center}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem}.pad{padding:24px}.hint{color:var(--muted);margin:10px 0;font-size:.88rem;line-height:1.5}:root{--side-bg:#2b2523;--ops-side-bg:#1e2f5c;--ops-band-bg:#3b5bdb;--ops-band-text:#fff}.shell{height:100%;display:flex}.side{background:var(--side-bg);color:#f5f5f4;flex-direction:column;flex:none;gap:12px;width:208px;padding:16px 12px;display:flex}.brand{padding:4px 8px 12px;font-size:1.05rem;font-weight:700}.shell-ops .side{background:var(--ops-side-bg)}.screen-band{background:var(--ops-band-bg);color:var(--ops-band-text);border-radius:var(--radius);text-align:center;padding:6px 10px;font-weight:700}.nav-flat{flex-direction:column;gap:2px;display:flex}.nav-sep{border-top:1px solid #ffffff1f;margin-top:8px;padding-top:8px}.nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav a{border-radius:var(--radius);color:#d6d3d1;white-space:nowrap;align-items:center;gap:10px;padding:10px;text-decoration:none;display:flex}.nav a:hover{background:#ffffff14}.nav a.active{background:var(--primary);color:#fff}.nav-icon{text-align:center;width:20px}.nav{overflow-y:auto}.nav-group{flex-direction:column;gap:2px;margin-top:2px;display:flex}.nav-group-btn{border-radius:var(--radius);color:#d6d3d1;width:100%;font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px;display:flex}.nav-group-btn:hover{background:#ffffff14}.nav-group.current>.nav-group-btn{color:#fff;font-weight:700}.nav-group-btn:focus-visible{outline:2px solid var(--info);outline-offset:1px}.nav-group-label{flex:1}.nav-caret{color:#a8a29e;font-size:.75rem}.nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-list[hidden]{display:none}.nav-group a{padding:7px 10px 7px 40px}.nav-settings{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:8px}.settings-head{flex:none;margin-bottom:4px}.main:has(>.settings-head){flex-direction:column;display:flex}.main>.settings-head+.map-page{flex:1;height:auto;min-height:0}.settings-head>.muted{margin-bottom:4px;font-size:.85rem;display:block}.home-cards{--expect:#f3c2bd;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.home-card{color:inherit;flex-direction:column;grid-column:span 2;gap:8px;min-width:0;padding:14px 16px;display:flex}.home-card-revenue,.home-card-map{grid-column:span 3}.home-card:hover{border-color:var(--primary)}.home-card-error{border-color:#fca5a5}.home-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.home-head-l{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.home-card-title{color:var(--text);white-space:nowrap;font-weight:700;text-decoration:none}.home-no{color:var(--primary);margin-right:4px}.home-card-body{color:inherit;flex-direction:column;gap:8px;min-width:0;text-decoration:none;display:flex}.home-card-body p{margin:0}.home-big{white-space:nowrap;letter-spacing:-.01em;font-size:1.9rem;font-weight:700;line-height:1.2}.home-big small{color:var(--muted);margin-left:2px;font-size:.95rem;font-weight:600}.home-line{font-size:.92rem}.home-note{color:var(--muted);font-size:.84rem;line-height:1.45}.home-chart{width:100%;min-width:0}.home-chart svg{display:block;overflow:visible}.home-chart text{fill:var(--muted);font-family:inherit;font-size:11px}.home-chart text.now{fill:var(--text);font-weight:600}.home-split{border-radius:4px;gap:2px;height:14px;display:flex;overflow:hidden}.home-split .a{background:var(--primary)}.home-split .e{background:repeating-linear-gradient(135deg, var(--expect) 0 4px, #fff 4px 7px);outline:1px dashed var(--primary);outline-offset:-1px;flex:1}.home-split-lbl{grid-template-columns:1fr 1fr;gap:8px;font-size:.84rem;display:grid}.home-split-lbl div:last-child{text-align:right}.home-split-lbl b{color:var(--text);white-space:nowrap;font-size:.98rem;display:block}.home-farm{flex-wrap:wrap;gap:10px;display:flex}.home-house{flex:210px;min-width:0;max-width:100%}.home-house-name{color:var(--muted);margin-bottom:4px;font-size:.8rem;font-weight:700}.home-strips{background:#fff;border:1px solid #d6d3d1;border-radius:4px;gap:2px;padding:2px;display:grid}.home-cell{white-space:nowrap;min-height:54px;color:var(--text);border-radius:2px;flex-direction:column;justify-content:center;align-items:center;font-size:.74rem;line-height:1.5;text-decoration:none;display:flex}.home-cell:hover,.home-cell:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.home-heat-legend{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;display:flex}.home-heat-legend .ramp{border-radius:2px;flex:0 160px;height:8px;display:flex;overflow:hidden}.home-heat-legend .ramp i{flex:1}.home-legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.8rem;display:flex}.home-legend span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.home-legend .sw{border-radius:2px;width:14px;height:10px;display:inline-block}.home-legend .sw-act{background:var(--primary)}.home-legend .sw-exp{background:repeating-linear-gradient(135deg, var(--expect) 0 3px, #fff 3px 5px);border:1px dashed var(--primary)}.home-rows{gap:6px;display:grid}.home-market-name{color:var(--muted);font-size:.8rem;font-weight:700}.home-prow{grid-template-columns:minmax(64px,auto) auto auto minmax(0,1fr);align-items:center;gap:10px;font-size:.92rem;display:grid}.home-prow .lbl{color:var(--muted);white-space:nowrap}.home-prow strong,.home-prow .chg{white-space:nowrap}.home-prow .chg{font-size:.86rem}.home-prow .home-spark{justify-self:end;min-width:60px;max-width:120px}.home-prow-wide{grid-column:2/-1}.home-notices{color:var(--muted);margin:4px 0 0;padding-left:18px;font-size:.8rem}.home-alerts{gap:6px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.home-alerts li{align-items:baseline;gap:8px;display:flex}.home-alerts .badge{white-space:nowrap;flex:none}@media (width<=1024px){.home-card,.home-card-revenue,.home-card-map{grid-column:span 3}}@media (width<=720px){.home-card,.home-card-revenue,.home-card-map{grid-column:span 6}.home-big{font-size:1.7rem}}.up{color:var(--danger)}.down{color:var(--info)}.small{font-size:.8rem}.title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.crop-bar{align-items:center;gap:8px;display:inline-flex}.crop-other{position:relative}.crop-other .btn.on{background:var(--primary);border-color:var(--primary);color:#fff}.crop-other-pop{gap:4px;min-width:160px;display:grid}.crop-other-pop .link-btn.on{font-weight:700}.profile-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.seg-wrap{flex-wrap:wrap;max-width:100%}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:.86rem;display:flex}.field-readonly{color:var(--text);padding:6px 0}.sector-chips{flex-wrap:wrap;gap:4px;display:flex}.profile-groups{border:1px solid var(--line);border-radius:6px;gap:10px;max-height:46vh;padding:8px 10px;display:grid;overflow:auto}.profile-groups h3{margin:0 0 4px;font-size:.86rem}.profile-groups ul{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.profile-groups label{color:var(--text);flex-direction:row;align-items:center;gap:6px}.crop-list{gap:6px;margin:0 0 12px;padding-left:22px;display:grid}.crop-list li>*{vertical-align:middle}.crop-list .crop-name{min-width:120px;display:inline-block}.crop-list .btn-row{display:inline-flex}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}.yield-view{gap:12px;display:grid}.yield-bars{padding-top:4px}.yield-bars li{grid-template-columns:5.5em 1fr auto}.side .logout{color:#d6d3d1;border-color:#ffffff40}.side .logout:hover{background:#ffffff14}.main{flex:1;min-width:0;padding:20px 24px 32px;overflow:auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.pad-card{padding:16px}.btn{font:inherit;border:1px solid var(--line);color:var(--text);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;padding:7px 12px}.btn:hover:not(:disabled){background:#f3f4f6}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-danger{color:var(--danger);border-color:#fecaca}.btn-danger:hover:not(:disabled){background:#fef2f2}.btn-ghost{background:0 0}.btn-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:1.4rem;line-height:1}.link-btn{font:inherit;color:var(--text);cursor:pointer;border:1px solid var(--line);text-align:left;white-space:nowrap;background:#fff;border-radius:6px;align-items:center;gap:8px;padding:3px 10px;font-size:.9rem;display:inline-flex}.link-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.link-btn:disabled{opacity:.45;cursor:not-allowed}li>.link-btn:only-child{width:100%;padding:6px 10px;display:flex}.link,.hint a,.setup-steps a{color:var(--info);text-underline-offset:2px;cursor:pointer;text-decoration:underline}button.link{font:inherit;background:0 0;border:0;padding:0}button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.badge{border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:600;display:inline-block}.badge-ok{color:var(--ok);background:#dcfce7}.badge-info{color:var(--info);background:#dbeafe}.badge-warn{color:var(--warn);background:#fef3c7}.badge-muted{color:var(--muted);background:#f3f4f6}.error-text{color:var(--danger);font-size:.9rem}.error-box{border-radius:var(--radius);color:var(--danger);background:#fef2f2;border:1px solid #fecaca;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}input,select{font:inherit;color:var(--text);background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:0;padding:7px 9px}input:focus-visible,select:focus-visible,.btn:focus-visible,.nav a:focus-visible{outline:2px solid var(--info);outline-offset:1px}label{color:var(--muted);flex-direction:column;gap:4px;font-size:.86rem;display:flex}label>input,label>select{color:var(--text)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px}.table th{color:var(--muted);background:#fafaf9;font-size:.82rem;font-weight:600}.table tr:last-child td{border-bottom:0}.table .actions{text-align:right;justify-content:flex-end;gap:6px;display:flex}.row-dim td{color:var(--muted);background:#fafaf9}.form{flex-direction:column;gap:12px;display:flex}.form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.modal-backdrop{z-index:50;background:#11182773;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:min(440px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 50px #00000040}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h2{margin:0}.modal-body{padding:18px}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.toasts{z-index:60;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--radius);color:#fff;padding:10px 14px;box-shadow:0 6px 20px #0003}.toast-ok{background:#166534}.toast-error{background:#991b1b}.toast-warn{background:#b45309}.overlap-notice{z-index:6;color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;max-width:60%;margin:0;padding:6px 10px;font-size:.85rem;position:absolute;bottom:44px;left:10px}.edit3d-warn{color:#fca5a5;margin-top:2px;font-weight:600}.login-wrap{justify-content:center;align-items:center;height:100%;padding:16px;display:flex}.login{flex-direction:column;gap:14px;width:min(360px,100%);padding:28px;display:flex}.login h1{font-size:1.3rem}.login p{margin:0}.login-signup{text-align:center;font-size:.95rem}.signup-wrap{align-items:flex-start;height:auto;min-height:100%;overflow-y:auto}.login.signup{width:min(480px,100%);margin:24px 0}.signup-agree{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.signup-agree summary{cursor:pointer;padding:6px 0;font-weight:600}.signup-text{max-height:220px;padding:8px 0;font-size:.9rem;line-height:1.55;overflow-y:auto}.signup-back{text-align:center}.legal-links{text-align:center;font-size:.85rem}.login.legal-page{width:min(760px,100%);margin:24px 0}.legal-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.legal-text{overflow-wrap:anywhere;line-height:1.65}.legal-text h2,.legal-text h3,.legal-text h4{margin:18px 0 6px;font-size:1.02rem}.legal-text p,.legal-text ul,.legal-text ol{margin:6px 0}.legal-text ul,.legal-text ol{padding-left:22px}.legal-text blockquote{border-left:3px solid var(--line);color:var(--muted);margin:6px 0;padding-left:10px}.legal-table th,.legal-table td{vertical-align:top;font-size:.88rem}.legal-versions ul{margin:6px 0 0;padding-left:20px}.legal-foot{text-align:center;font-size:.9rem}.withdraw-facts{margin:0;padding-left:20px;line-height:1.55}.template-field{flex-direction:column;gap:4px;display:flex}.template-preview{border:1px solid var(--line);border-radius:8px;max-height:320px;padding:8px 12px}.filters{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:12px;padding:14px 16px;display:flex}.seg{background:#fff;border:1px solid #d1d5db;border-radius:6px;display:inline-flex;overflow:hidden}.seg button{font:inherit;cursor:pointer;color:var(--text);white-space:nowrap;background:0 0;border:0;padding:7px 12px}.seg button+button{border-left:1px solid #d1d5db}.seg button.on{background:var(--primary);color:#fff}.chart-head{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px 16px 0;display:flex}.chart{width:100%}.map-page{flex-direction:column;height:100%;display:flex}.map-layout{flex:1;grid-template-columns:minmax(0,1fr) 320px;gap:12px;min-height:0;display:grid}.map-wrap{min-height:420px;position:relative;overflow:hidden}.map,.map.maplibregl-map{position:absolute;inset:0}.map-overlay{pointer-events:none;background:#fff9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.map-side{flex-direction:column;gap:12px;display:flex;overflow:auto}.map-side .card{flex-direction:column;gap:10px;display:flex}.map-side h2{margin:0}.map-side .seg{align-self:flex-start}.legend{border:1px solid var(--line);background:#ffffffeb;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;display:flex;position:absolute;top:10px;left:10px}.legend-bar{border-radius:3px;width:110px;height:10px}.swatch{border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.kv{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:.9rem;display:grid}.kv dd{text-align:right;margin:0}.selected{border-top:1px solid var(--line);padding-top:12px}.device-list{max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.vertex-handle{cursor:grab;background:#fff;border:3px solid #2563eb;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #0006}.midpoint-handle{cursor:copy;background:#60a5fa;border:2px solid #fff;border-radius:50%;width:10px;height:10px;box-shadow:0 1px 3px #00000059}.device-handle{cursor:grab;border:3px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 0 0 2px #111827,0 2px 6px #00000080}.vertex-handle,.midpoint-handle,.device-handle{z-index:5}.vertex-handle,.device-handle{opacity:1!important}.midpoint-handle{opacity:.9!important}.deck-tooltip{white-space:pre-line;font-family:inherit!important}@media (width<=1024px){.shell{flex-direction:column}.side{flex-flow:wrap;align-items:center;gap:4px 8px;width:auto;padding:8px 12px}.brand{white-space:nowrap;flex:none;padding:0 8px 0 0}.nav{scrollbar-width:thin;flex-direction:row;flex:100%;order:2;min-width:0;padding:3px 0;overflow:auto hidden}.nav a{padding:8px 10px}.nav-icon{display:none}.nav-group{flex-direction:row;align-items:center;margin-top:0}.nav-group a{padding:8px 10px}.nav-group-btn{width:auto;padding:8px 10px}.nav-list{flex-direction:row}.nav-settings,.nav-sep{border-top:0;margin-top:0;padding-top:0}.nav-flat{flex-direction:row}.screen-band{flex:none;order:1;padding:2px 8px;font-size:.88rem}.side .logout{flex:none;order:1;margin-left:auto}.main{padding:16px}.map-page{height:auto}.main>.settings-head+.map-page,.main>.settings-head+.map-page>.map-layout{flex:none}.map-layout{grid-template-columns:1fr}.map-wrap{height:60vh;min-height:360px}}@media (width<=640px){.nav-icon{display:none}}.notice{border-radius:var(--radius);margin-bottom:12px;padding:10px 14px;font-size:.92rem;line-height:1.5}.notice-info{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe}.notice-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.stat-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.stat-card{padding:14px 16px}.stat-value{white-space:nowrap;margin-top:4px;font-size:1.45rem;font-weight:700}.stat-value small{color:var(--muted);margin-left:2px;font-size:.8rem;font-weight:500}.stat-card .hint{margin:2px 0 0}.num-table td:not(:first-child),.num-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}@media (width<=800px){.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.farm3d{position:absolute;inset:0}.farm3d canvas{display:block}.hint3d{color:var(--muted);pointer-events:none;background:#ffffffd9;border-radius:6px;padding:4px 8px;font-size:.78rem;position:absolute;bottom:8px;left:10px}.tag3d{color:#fff;white-space:nowrap;background:#111827d1;border-radius:4px;padding:2px 6px;font-size:12px}.tag3d-house{color:#111827;background:#ffffffd9;font-weight:600}.map-notice{z-index:6;position:absolute;top:48px;left:10px;right:10px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.grid2 input,.grid3 input,.grid2 select,.grid3 select{box-sizing:border-box;width:100%;min-width:0}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.btn-row.tight{align-items:center;margin-top:0}.inline-move{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:.85rem;display:inline-flex}input.narrow{width:56px;padding:5px 6px}.row-on td{background:#dbeafe}.edit3d-bar{gap:6px;display:flex;position:absolute;top:10px;right:10px}.view3d-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:calc(100% - 20px)}.view3d-pick{border:1px solid var(--line);background:#ffffffeb;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;font-size:.85rem;display:inline-flex}.view3d-note{background:#ffffffeb;border-radius:6px;align-self:center;padding:2px 6px;font-size:.8rem}@media (width<=640px){.view3d-bar{justify-content:flex-start;top:48px;left:10px;right:10px}}.legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.edit3d-hud{color:#fff;text-align:center;pointer-events:none;font-variant-numeric:tabular-nums;background:#111827d9;border-radius:6px;max-width:70%;padding:6px 12px;font-size:.85rem;position:absolute;top:52px;left:50%;transform:translate(-50%)}.edit3d-note{color:#fde68a;margin-top:2px;font-size:.8rem}.map-layout-wide{grid-template-columns:minmax(0,1fr) 420px}@media (width<=900px){.map-layout-wide{grid-template-columns:1fr}}.check{cursor:pointer;flex-direction:row;align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.check input{width:auto}.member-farms{border:0;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;display:flex}.member-farms legend{margin-bottom:4px;padding:0}.member-farms small{flex-basis:100%}.checks{flex-wrap:wrap;gap:4px 14px;display:flex}.legend-inline{align-items:center;gap:8px;margin:6px 0;font-size:.85rem;display:flex}.legend-inline .legend-bar{flex:1}.source-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.source-list li{flex-direction:column;gap:1px;display:flex}.source-list .muted{padding-left:24px;font-size:.82rem}.link{font:inherit;color:var(--info);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.map-side details summary{cursor:pointer;color:var(--muted);margin-bottom:6px;font-size:.9rem}.map-side table input{box-sizing:border-box;width:100%;min-width:64px;padding:4px 6px}.kv dd{overflow-wrap:anywhere}.frame-list li{flex-flow:wrap;align-items:center;gap:6px}.frame-list .muted{padding-left:0}.cp-table{table-layout:fixed;width:100%}.cp-table th,.cp-table td{padding:4px 3px!important}.cp-table input{font-size:.8rem;min-width:0!important;padding:4px!important}.cp-table .btn{padding:4px 6px;font-size:.8rem}.cp-table th:nth-child(5),.cp-table td:nth-child(5){width:58px;font-size:.8rem}.cp-table th:nth-child(6),.cp-table td:nth-child(6){width:44px}.address-search{gap:8px;display:flex}.address-search input{flex:1;min-width:0}.address-candidates{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.address-candidates .btn{text-align:left;width:100%}.coord-inputs{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.coord-inputs input{width:100%;min-width:0}tr.clickable{cursor:pointer}tr.clickable:hover{background:#00000008}tr.subrow>td{background:#fafafa;padding:8px 16px 12px}.table.compact th,.table.compact td{padding:4px 8px;font-size:.88rem}.heatmap-layout{grid-template-columns:1fr 240px;gap:12px;display:grid}.heatmap-layout[hidden]{display:none}.heatmap-side{padding:4px 8px 0 0}.heatmap-map{border-radius:8px;height:520px;overflow:hidden}.heatmap-legend{align-items:center;gap:6px;margin-bottom:12px;font-size:.85rem;display:flex}.heatmap-legend .legend-bar{border-radius:3px;flex:1;height:10px}.unplaced-list{flex-wrap:wrap;gap:8px 16px;padding:0;list-style:none;display:flex}.unplaced-list .swatch{vertical-align:middle;border:1px solid #00000026;border-radius:3px;width:14px;height:14px;margin-right:6px;display:inline-block}.heatmap-estimate{margin:-6px 0 10px;font-size:.8rem}.heatmap-estimate .hatch{vertical-align:middle;background:repeating-linear-gradient(45deg,#1118278c 0 1.5px,#0000 1.5px 5px);border:1px solid #0003;width:14px;height:14px;margin-right:6px;display:inline-block}.zone-rows{max-height:340px;margin:8px 0;padding-left:22px;overflow-y:auto}.zone-rows li{margin-bottom:6px}.zone-row-name{font-size:.85rem;display:block}.zone-row-range{align-items:center;gap:4px;font-size:.85rem;display:inline-flex}.zone-row-range input.narrow{width:64px}.split-row{border:0;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;padding:0;display:flex}.split-sep{background:var(--line);width:1px;height:18px}.split-preview h3{margin:0 0 6px}.split-count{margin:4px 0;font-size:1.1rem}.split-count b{font-size:1.6rem}.split-names{margin:6px 0;padding-left:22px;font-size:.9rem}@media (width<=800px){.heatmap-layout{grid-template-columns:1fr}}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:.93rem;font-weight:600;text-decoration:none}.tabs a.active{color:var(--primary);border-bottom-color:var(--primary)}.tabs button.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:.93rem;font-weight:600}.tabs button.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.multi{position:relative}.multi summary{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:140px;padding:7px 10px;font-size:.92rem;list-style:none}.multi summary::-webkit-details-marker{display:none}.multi-pop{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:220px;max-height:280px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 8px 24px #0000001f}.multi-pop label{align-items:center;gap:8px;padding:4px 6px;font-size:.9rem;display:flex}.multi-pop .btn-row{justify-content:flex-start;margin-bottom:6px}.rank-list{gap:6px;margin:0;padding:0 16px 14px;list-style:none;display:grid}.rank-list li{grid-template-columns:2.2em 1fr auto;align-items:center;gap:10px;font-size:.92rem;display:grid}.rank-bar{background:var(--primary);opacity:.8;border-radius:5px;height:10px}.matrix td.rank1{background:#fef3c7;font-weight:700}.matrix td.rank2{background:#f3f4f6;font-weight:600}.matrix td.rank3{background:#fde7d9}.progress{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.progress>div{background:var(--primary);height:100%}.market-state{flex-wrap:wrap;gap:16px;padding:10px 16px;font-size:.92rem;display:flex}pre.json{background:#f9fafb;border-radius:6px;max-height:60vh;padding:10px;font-size:.8rem;overflow:auto}.detail-events{max-height:240px;margin:0;padding-left:18px;font-size:.88rem;overflow:auto}.fieldset{border:0;margin:0;padding:0;display:contents}.public-shell{flex-direction:column;min-height:100vh;display:flex}.public-head{color:#fff;background:#1f2937;align-items:center;gap:16px;padding:12px 24px;display:flex}.public-head .brand{font-size:1.1rem;font-weight:700}.public-head .muted{color:#cbd5e1}.public-main{flex:1;width:100%;max-width:1400px;margin:0 auto}.public-foot{text-align:center;border-top:1px solid var(--line);padding:16px 24px;font-size:.85rem}.route-timeline{gap:6px;display:grid}.route-lane{grid-template-columns:88px 1fr;align-items:center;gap:8px;display:grid}.route-lane-label{color:var(--muted,#6b7280);font-size:12px}.route-lane-track{background:var(--surface-2,#f3f4f6);border-radius:6px;height:28px;position:relative}.route-bar{color:#fff;cursor:pointer;border:0;border-radius:4px;min-width:6px;height:22px;padding:0;font-size:11px;font-weight:700;position:absolute;top:3px;overflow:hidden}.route-bar.on{outline-offset:1px;outline:2px solid #111827}.route-ticks{height:16px;color:var(--muted,#6b7280);font-size:11px;position:relative}.route-ticks span{white-space:nowrap;position:absolute;transform:translate(-50%)}.route-dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin:0 2px 0 6px;display:inline-block}.route-map{height:460px;margin-bottom:12px}.setup-steps{color:var(--muted);gap:4px;margin:0 0 12px 1.2em;padding:0;font-size:13px;display:grid}.setup-steps li.done{color:inherit}.setup-steps li.done::marker{content:"✓ ";color:#16a34a}.fv-summary{flex-wrap:wrap;gap:6px 18px;margin-bottom:12px;display:flex}.fv-house{margin-bottom:16px}.fv-house h2{margin:0 0 8px}.fv-cards{--expect:#f3c2bd;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.fv-sector{min-width:0;padding:12px 14px}.fv-sector.open{border-color:var(--primary)}.fv-sector-head{font:inherit;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 8px;padding:6px 8px;display:flex}.fv-kv{grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:0;font-size:.9rem;display:grid}.fv-kv dt{color:var(--muted);white-space:nowrap}.fv-kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.fv-worker{white-space:nowrap;margin-right:8px;display:inline-block}.fv-sector-more{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}@media (width<=1024px){.fv-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.fv-cards{grid-template-columns:minmax(0,1fr)}}.fv-cal-nav{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;display:flex}.fv-cal-wrap{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:12px;display:grid}.fv-cal{min-width:0;padding:8px}.fv-cal-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:3px;display:grid}.fv-cal-head span{text-align:center;color:var(--muted);padding:2px 0;font-size:.8rem}.fv-day{font:inherit;border:1px solid var(--line);min-width:0;min-height:84px;color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:6px;flex-direction:column;align-items:flex-start;gap:3px;padding:4px 5px;font-size:.76rem;line-height:1.5;display:flex}.fv-day.fv-out{cursor:default;background:0 0;border:0}.fv-day.today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.fv-day.on{outline:2px solid var(--info);outline-offset:0}.fv-dom{font-weight:600}.fv-day.future .fv-dom{color:var(--muted)}.fv-ev,.fv-kg,.fv-temp{overflow-wrap:anywhere;max-width:100%}.fv-ev.planted{color:var(--ok)}.fv-ev.ended{color:var(--warn)}.fv-kg{white-space:nowrap;font-weight:600}.fv-fc,.fv-fc-swatch{border:1px dashed var(--primary);background:repeating-linear-gradient(135deg,#f3c2bd 0 3px,#fff 3px 6px);border-radius:3px;padding:0 3px;font-weight:500}.fv-fc-swatch{vertical-align:middle;width:14px;height:10px;padding:0;display:inline-block}.fv-temp{color:var(--muted);white-space:nowrap;margin-top:auto;font-size:.7rem}.fv-temp.fc{font-style:italic}.fv-short{display:none}.fv-cal-side{flex-direction:column;gap:12px;min-width:0;display:flex}.fv-cal-side h3{margin:12px 0 6px}.fv-cal-side h3:first-child{margin-top:0}.fv-list{margin:0;padding-left:1.2em;font-size:.9rem;line-height:1.6}@media (width<=1024px){.fv-cal-wrap{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.fv-cal{padding:4px}.fv-cal-row{gap:2px}.fv-day{min-height:64px;padding:3px 2px;font-size:.7rem}.fv-temp{font-size:.62rem}.fv-long{display:none}.fv-short{display:inline}}.fv-pad{margin:8px 0 0;padding:0 16px 12px}.fv-tight{margin:2px 0 0}.fv-num{width:96px}.fv-hint-cell{white-space:normal;min-width:160px}.fv-err{color:var(--danger);margin-top:2px;font-size:.85rem}.fv-devices-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.fv-records{margin:0 0 2px;padding-left:1.1em;line-height:1.5}.wr-form{flex-direction:column;gap:14px;margin-bottom:12px;display:flex}.wr-form h2{margin:0}.wr-form .field>.seg{align-self:flex-start}.wr-form textarea{font:inherit;color:var(--text);resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:7px 9px;line-height:1.5}.wr-when-row{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;display:flex}.wr-picker{gap:8px}.wr-chip-row{flex-wrap:wrap;align-items:center;gap:6px 8px;line-height:1.5;display:flex}.wr-chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.wr-chip.on .muted{color:#fde2e0}.wr-chip.some{border-color:var(--primary)}.wr-houses{border:1px solid var(--line);border-radius:6px;gap:8px;max-height:46vh;padding:8px 10px;display:grid;overflow:auto}.wr-house-head{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 14px;margin-bottom:4px;display:flex}.wr-house-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.wr-house-list .check{color:var(--text);line-height:1.5}.wr-minimap{border:1px solid var(--line);background:#fafaf9;border-radius:6px;min-width:0}.wr-pick-body{flex-direction:column;gap:10px;min-width:0;display:flex}.wr-pick-body.wr-pick-side{grid-template-columns:minmax(0,1fr) 270px;align-items:start;display:grid}.wr-pick-body.wr-pick-side .wr-houses{max-height:70vh}.wr-pick-body.wr-pick-side .wr-house-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.wr-house-list li.hover{background:#eff6ff;border-radius:4px;outline:1px solid #bfdbfe}.wr-map-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:8px 10px 4px;display:flex}.wr-map-hint{word-break:keep-all;min-width:0}.wr-map-acts{gap:6px;margin-left:auto;display:flex}.wr-map-acts .btn.on{border-color:var(--primary);color:var(--primary-dark)}.wr-map-zoom{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 10px 8px;display:flex}.wr-map-zoom button{font:inherit;min-width:32px;min-height:32px;color:var(--text);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:3px 10px;font-size:.88rem}.wr-map-zoom button.on{border-color:var(--primary);color:var(--primary-dark);font-weight:600}.wr-map-zoom button:disabled{opacity:.45;cursor:default}.wr-map-steps{gap:6px;margin-left:auto;display:inline-flex}.wr-pickmap-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f1f0ea;position:relative;overflow:hidden}.wr-pickmap-map,.wr-pickmap-map.maplibregl-map{position:absolute;inset:0}.wr-pickmap-box.drag .maplibregl-canvas-container,.wr-pickmap-box.drag .maplibregl-canvas{cursor:crosshair;touch-action:none!important}.wr-map-drag{border:2px dashed var(--info);pointer-events:none;background:#1d4ed81a;position:absolute}.wr-map-legend{word-break:keep-all;flex-wrap:wrap;gap:4px 14px;padding:6px 10px 8px;display:flex}.wr-map-legend i{vertical-align:-1px;background:#fff;border:1px solid #6b7280;width:12px;height:12px;margin-right:4px;display:inline-block}.wr-map-legend i.on{background:var(--primary);color:#fff;text-align:center;border:2px solid #111827;font-size:9px;font-style:normal;font-weight:700;line-height:8px}.wr-map-legend i:not(.on):not(.hover):not(.bed):not(.worked){background:#fbe1d6;border-color:#7f1d1d}.wr-map-legend i.hover{border:2px solid var(--info);background:#fff}.wr-map-legend i.bed{background:#8d6e4f;border-color:#5c4028;width:6px}.wr-map-legend i.worked,.wr-worked-dot{background:#16a34a;border:1.5px solid #fff;border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 1px #16a34a}.wr-worked-dot{vertical-align:0;margin-left:5px}.wr-map-zoom button.some{border-color:var(--primary)}.wr-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wr-tag{border:1px solid var(--line);color:var(--text);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:2px;padding:1px 8px;font-size:.86rem;line-height:1.5;display:inline-flex}.wr-tag-x{padding:0 0 0 2px;font-size:1rem}.wr-members summary{cursor:pointer;color:var(--text);font-size:.9rem}.wr-members[open] summary{margin-bottom:6px}.wr-problems{margin:0;padding-left:30px}.wr-list-card{margin-bottom:12px}.wr-filters{border-bottom:1px solid var(--line);margin-bottom:0}.wr-count,.wr-empty{margin:10px 16px}.wr-rows{margin:0;padding:0;list-style:none}.wr-row{border-top:1px solid var(--line);flex-direction:column;gap:4px;min-width:0;padding:10px 16px;line-height:1.5;display:flex}.wr-row.editing{background:#fff7ed}.wr-row-main{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.wr-sectors{flex-wrap:wrap;gap:4px;min-width:0;display:inline-flex}.wr-row-line{overflow-wrap:anywhere;font-size:.92rem}.wr-row-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.wr-actions{flex-wrap:wrap;gap:6px;display:inline-flex}.wr-kind{color:var(--muted);background:#f3f4f6;border-radius:999px;padding:1px 8px;font-size:.82rem;font-weight:600;line-height:1.5;display:inline-block}.wr-kind-spray{color:#991b1b;background:#fee2e2}.wr-kind-other{color:#075985;background:#e0f2fe}.wr-more{margin:0 16px 12px}.wr-report-filters{align-items:flex-end}.wr-export{margin-top:0;margin-left:auto}.wr-report-summary{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.wr-report-title{line-height:1.5}.wr-summary-parts{margin-bottom:0}.wr-report-head{border-bottom:1px solid var(--line);padding:10px 16px}.wr-report-table td{vertical-align:top;line-height:1.5}.wr-report-table .wr-work{white-space:normal;overflow-wrap:anywhere;min-width:240px}.wr-work-line+.wr-work-line{margin-top:4px}.wr-crop-changes{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.crop-move-table{width:100%;margin-top:8px}.crop-move-table td,.crop-move-table th{padding:4px 8px}.wr-kind-line-spray:before{content:"● ";color:var(--primary)}.wr-gap td{background:#fafaf9;padding-top:6px;padding-bottom:6px;font-size:.84rem}@media (width<=720px){.wr-export{margin-left:0}.wr-report-table th,.wr-report-table td{padding:8px 10px}.wr-report-table .wr-work{min-width:200px}}.wt{font:inherit;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:1px 9px;font-size:.84rem;font-weight:600;line-height:1.6;display:inline-flex}.wt:before{content:"";background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.wt-x{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 0 2px;font-weight:400}button.wt{cursor:pointer}.wt.pick{background:#fff;border-color:#d1d5db;font-weight:500}.wt.pick.on{outline-offset:-2px;outline:2px solid;font-weight:600}.wt.pick:disabled{opacity:.5;cursor:default}.wt.pick .cnt{font-size:.78rem;font-weight:400}.wt.add{color:var(--muted);background:#fff;border:1px dashed #9ca3af;font-weight:500}.wt.add:before{content:none}.tag-box{background:#fff;border:1px solid #d1d5db;border-radius:8px;gap:8px;padding:8px;display:grid}.tag-sel{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-sel .tag-input{min-width:0;font:inherit;border:0;outline:none;flex:160px;padding:4px 2px}.sugg{border-top:1px dashed var(--line);gap:6px;padding-top:8px;display:grid}.sugg-h{color:var(--muted);font-size:.8rem}.sugg-row,.filter-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.new-tag{border:1px solid var(--line);background:#fafaf9;border-radius:8px;gap:8px;max-width:460px;margin-top:8px;padding:10px 12px;display:grid}.new-tag .hint{margin:0}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatches button{cursor:pointer;border:2px solid;border-radius:50%;width:24px;height:24px;padding:0}.swatches button.on{box-shadow:0 0 0 2px var(--text)}.wr-check{color:var(--text);padding-bottom:6px}.meas{font:inherit;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:1px 8px;font-size:.86rem;line-height:1.5;display:inline-flex}.meas-btn{cursor:pointer}.meas-on{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;font-weight:600}.meas-none{color:var(--muted);background:#f9fafb;border:1px dashed #d1d5db}.meas-orphan{color:#92400e;background:#fffbeb;border:1px dashed #f59e0b;font-weight:600}.ivs{background:#f9fafb;border-radius:6px;gap:4px;margin:2px 0 0;padding:6px 10px;font-size:.88rem;list-style:none;display:grid}.ivs li{overflow-wrap:anywhere;flex-wrap:wrap;gap:2px 12px;display:flex}.ivs .t{font-variant-numeric:tabular-nums}.meas-panel{background:#f0fdf4;border:1px solid #a7f3d0;border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.meas-panel h3{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;font-size:.98rem;display:flex}.meas-panel-sub{font-weight:400}.meas-panel p{margin:0}.meas-panel-sum{color:#065f46}.iv-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.iv-list li{border:1px solid var(--line);font-variant-numeric:tabular-nums;background:#fff;border-radius:6px;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:6px 8px;font-size:.9rem;display:flex}.iv-list li.on{background:#ecfdf5;border-color:#34d399}.iv-check{cursor:pointer;flex-wrap:wrap;align-items:center;gap:2px 10px;min-width:0;display:inline-flex}.iv-check input{width:18px;height:18px;margin:0}.iv-notes{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.84rem;display:inline-flex}.iv-mark{color:#065f46;font-size:.8rem;font-weight:600}.wr-form input.filled{background:#ecfdf5;border-color:#34d399}.filled-note{color:#065f46;font-size:.78rem}button.wr-attachable{cursor:pointer;border:0;font-family:inherit}.wr-tag-times{flex-wrap:wrap;gap:4px 18px;display:flex}.wr-report-table .wr-measured{white-space:normal;min-width:150px}.wt-head{border-bottom:1px solid var(--line);padding:12px 16px}.wt-head .new-tag{margin-top:0}.wt-table td{vertical-align:middle}.wt-actions{white-space:normal}.wt-actions>*+*{margin-left:12px}.wt-edit{gap:6px;max-width:320px;display:grid}.wt-error{margin-bottom:12px}@media print{@page{size:A4 portrait;margin:12mm}html,body,#root,.shell{background:#fff;height:auto;display:block}.side,.group-head,.toasts,.no-print,button{display:none!important}.main{padding:0;overflow:visible}.card{border:0}.table-wrap{overflow:visible}.table th,.table td{padding:4px 6px;font-size:10pt}.wr-report-table tr{break-inside:avoid}a{text-decoration:none}}.att-month-nav{align-items:center;gap:6px;display:inline-flex}.att-month-nav .btn{padding:6px 10px;line-height:1.45}.att-cal-legend{font-size:.85rem;line-height:1.45}.att-cal-hint{padding:0 16px}.att-cal-empty{margin:0;padding:16px}.att-cal-wrap{border:1px solid var(--line);border-radius:6px;max-width:100%;margin:0 16px 12px;padding:0 0 4px}.att-cal,.att-month{border-collapse:separate;border-spacing:0;font-size:.8rem;line-height:1.45}.att-cal th,.att-cal td{text-align:center;white-space:nowrap;border-bottom:1px solid var(--line);min-width:46px;padding:2px}.att-cal thead th{color:var(--muted);background:#fafaf9;padding:4px 2px;font-weight:600}.att-cal-dn,.att-cal-wd{display:block}.att-cal-wd{font-size:.72rem;font-weight:400}.att-cal .att-cal-name{z-index:1;text-align:left;white-space:normal;background:var(--card);border-right:1px solid var(--line);min-width:84px;max-width:120px;color:var(--text);padding:4px 8px;font-weight:600;position:sticky;left:0}.att-cal thead .att-cal-name{color:var(--muted);background:#fafaf9}.att-cal .att-cal-sum{text-align:right;font-variant-numeric:tabular-nums;padding:4px 8px}.att-cal td.wk,.att-month td.wk{background:#f8f8f7}.att-cal th.wk,.att-month th.wk{color:#9ca3af}.att-cal .today,.att-month .today{box-shadow:inset 0 0 0 2px var(--primary)}.att-cal-cell{font:inherit;cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;color:#14532d;background:#ecfdf5;border:1px solid #0000;border-radius:4px;width:100%;min-width:42px;padding:3px 4px;line-height:1.45}.att-cal-cell.lv1{background:#d1fae5}.att-cal-cell.lv2{background:#a7f3d0}.att-cal-cell.lv3{color:#052e16;background:#4ade80}.att-cal-cell.lv4{color:#fff;background:#15803d}.att-cal-cell.warn{color:#7c2d12;background:#fed7aa;border-color:#fb923c}.att-cal-cell.harvest{color:#374151;background:#f3f4f6;border-color:#d1d5db}.att-cal-cell:hover{border-color:#6b7280}.att-cal-cell.on{outline:2px solid var(--info);outline-offset:1px}.att-month{table-layout:fixed;width:100%;min-width:340px}.att-month th{color:var(--muted);border-bottom:1px solid var(--line);background:#fafaf9;padding:4px 2px;font-weight:600}.att-month td{vertical-align:top;border-bottom:1px solid var(--line);height:58px;padding:3px}.att-month-dn{color:var(--muted);font-size:.75rem;display:block}.att-month .att-cal-cell{white-space:normal;min-width:0;padding:2px}.att-cal-total{margin:0 16px 12px;line-height:1.45}.att-cal-detail{border:1px solid var(--line);background:#fafaf9;border-radius:6px;margin:0 16px 16px;padding:12px}.att-cal-detail h3{margin:0 0 8px;font-size:1rem;line-height:1.45}.att-cal-day+.att-cal-day{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px}.att-cal-day-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;line-height:1.45;display:flex}.att-cal-actions{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.route-daynav{align-items:center;gap:4px;display:inline-flex}.route-daynav .btn{padding:5px 9px;line-height:1.45}.route-days{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;min-width:0;line-height:1.5;display:flex}.route-days-label{margin-right:2px}.route-day{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:3px;min-width:2.4em;padding:3px 8px;line-height:1.45;display:inline-flex}.route-day.on{background:var(--primary);border-color:var(--primary);color:#fff}.route-day.on:hover:not(:disabled){background:var(--primary-dark)}.route-day-dot{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.route-day.on .route-day-dot{background:#fde68a}.fv-tools{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.fv-tools-row{flex-wrap:wrap;align-items:center;gap:8px 12px;line-height:1.45;display:flex}.fv-tools-row .btn-row{margin-top:0}.fv-search input{font:inherit;border:1px solid var(--line);border-radius:6px;width:220px;max-width:100%;padding:6px 10px;line-height:1.45}.fv-search{min-width:0;max-width:100%}.fv-edit-hint{flex:260px;min-width:0;line-height:1.5}.fv-house-chips{flex-wrap:wrap;gap:6px;display:flex}.fv-house-chips .link-btn{line-height:1.45}.fv-house-row{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 8px;display:flex}.fv-house h2.fv-house-title{flex:260px;min-width:0;margin:0;font-size:1rem}.fv-house-head{font:inherit;border:1px solid var(--line);background:var(--card);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 10px;line-height:1.45;display:flex}.fv-house-head:hover:not(:disabled){background:#f3f4f6}.fv-house-head:disabled{cursor:default}.fv-caret{width:1em;color:var(--muted);flex:none}.fv-house-name{font-size:1.1rem;font-weight:700}.fv-house-sum{color:var(--muted);overflow-wrap:anywhere;min-width:0;font-size:.85rem;font-weight:400}.fv-move{flex-wrap:wrap;gap:4px;display:inline-flex}.btn.fv-mini{padding:3px 9px;font-size:.85rem;line-height:1.45}.fv-edit-list{border:1px solid var(--line);background:var(--card);border-radius:6px;margin:0 0 8px;padding:0;list-style:none}.fv-edit-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;padding:6px 10px;line-height:1.45;display:flex}.fv-edit-list li+li{border-top:1px solid var(--line)}.fv-edit-name{overflow-wrap:anywhere;min-width:0}.fv-dim{opacity:.55}.fv-dim-house>.fv-house-row{opacity:.7}.fv-hidden-toggle{margin-top:8px}.fv-hidden-houses{flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;display:flex}.fv-hidden-houses>.fv-house{width:100%}.fv-prior{white-space:normal;font-size:.85rem;line-height:1.45;display:block}.fv-table-wrap{border:1px solid var(--line);background:var(--card);border-radius:6px;max-width:100%}.fv-table{border-collapse:separate;border-spacing:0;line-height:1.45}.fv-table td .fv-prior{max-width:220px}.fv-table .fv-sticky{z-index:1;background:var(--card);border-right:1px solid var(--line);white-space:normal;overflow-wrap:anywhere;text-align:left;min-width:88px;max-width:140px;position:sticky;left:0}.fv-table thead .fv-sticky{background:#fafaf9}.fv-sort{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;white-space:nowrap;background:#fff;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;line-height:1.45;display:inline-flex}.fv-sort-mark{min-width:.8em}.csvu-step{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;line-height:1.5}.csvu-step h3,.csvu-step h4{margin:4px 0 8px;line-height:1.45}.csvu-templates{flex-direction:column;gap:8px;margin:8px 0 12px;display:flex}.csvu-template{flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;display:flex}.csvu-headers{overflow-wrap:anywhere;min-width:0;margin:0}.csvu-headers code{overflow-wrap:anywhere}.table td.csvu-wrap{white-space:normal;min-width:16em;max-width:32em;line-height:1.45}.csvu-pos{border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin:12px 0;padding:8px 12px 12px}.csvu-pos legend{color:var(--muted);padding:0 4px;font-size:.86rem}.csvu-mapping,.csvu-save{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin:12px 0;display:flex}.csvu-mapping label,.csvu-save label{min-width:0;max-width:100%}.csvu-mapping select,.csvu-save input{max-width:100%}.csvu-layout{margin:12px 0}.csvu-cols select{max-width:16em}.csvu-newkey,.csvu-unit{width:10em;margin-top:4px;display:block}.csvu-legend{flex-wrap:wrap;gap:6px 10px;margin:6px 0 8px;font-size:.86rem;line-height:1.5;display:flex}.csvu-cell{border:1px solid var(--line);border-radius:4px;padding:1px 8px}.csvu-ok{background:#fff}.csvu-warn{color:#92400e;background:#fffbeb}.csvu-error{color:var(--danger);background:#fef2f2}.csvu-ignored{color:var(--muted);background:#f3f4f6}.badge.csvu-badge-error{color:var(--danger);background:#fee2e2}.csvu-card{flex-direction:column;gap:12px;display:flex}.csvu-lead{word-break:keep-all;margin:0;font-size:1rem;line-height:1.55}.csvu-steps{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.csvu-steps li{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.92rem;line-height:1.45;display:flex}.csvu-steps li+li:before{content:"";background:#d1d5db;width:22px;height:2px;margin-right:2px;display:inline-block}.csvu-n{width:24px;height:24px;color:var(--muted);background:#fff;border:2px solid #d1d5db;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.csvu-steps .done{color:var(--ok)}.csvu-steps .done .csvu-n{border-color:var(--ok);background:var(--ok);color:#fff}.csvu-steps .now{color:var(--text);font-weight:700}.csvu-steps .now .csvu-n,.csvu-sec-head .csvu-n{border-color:var(--primary);background:var(--primary);color:#fff}.csvu-sec-head .csvu-n.done{border-color:var(--ok);background:var(--ok)}.csvu-sec-head .csvu-n.later{color:var(--text);background:#d1d5db;border-color:#d1d5db}.csvu-sec-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.csvu-step .csvu-sec-head h3{margin:0;font-size:1.05rem}.csvu-todo{color:var(--muted);word-break:keep-all;margin:4px 0 10px;font-size:.9rem;line-height:1.5}.csvu-paths{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start;gap:12px;display:grid}.csvu-path{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;gap:8px;min-width:0;padding:16px;line-height:1.5;display:flex}.csvu-path.chosen{border:2px solid var(--primary);padding:15px}.csvu-path h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:1.02rem;line-height:1.45;display:flex}.csvu-path>p{color:var(--muted);word-break:keep-all;margin:0;font-size:.9rem}.csvu-row{align-items:center;margin-top:0}.csvu-inline{margin:0}.csvu-file{cursor:pointer;position:relative}.csvu-file input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.csvu-file:focus-within{outline:2px solid var(--info);outline-offset:2px}.csvu-file-chosen{border:1px solid var(--line);overflow-wrap:anywhere;background:#f9fafb;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 10px;font-size:.9rem;display:flex}.csvu-mini-steps{margin:0;padding-left:20px;font-size:.9rem}.csvu-mini-steps li{margin:2px 0}.csvu-path select{max-width:100%}.csvu-sheet-wrap{min-width:0}.csvu-sheet{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.86rem}.csvu-sheet th,.csvu-sheet td{text-align:right;white-space:nowrap;border:1px solid #d1d5db;padding:4px 8px;line-height:1.45}.csvu-sheet th{color:#065f46;text-align:center;background:#ecfdf5;font-weight:700}.csvu-sheet td:nth-child(2){text-align:left}.csvu-sheet .rn{width:28px;color:var(--muted);text-align:center;background:#f3f4f6;font-weight:400}.csvu-sheet td:not(.rn){color:#4b5563;font-style:italic}.csvu-sheet-cap{color:var(--muted);word-break:keep-all;margin:4px 0 0;font-size:.84rem;line-height:1.5}.csvu-sheet-cap code{overflow-wrap:anywhere}.csvu-details{margin:6px 0}.csvu-details>summary{cursor:pointer;padding:2px 0;line-height:1.5}.csvu-req{color:var(--danger);white-space:nowrap;font-weight:700}.csvu-coltable td{word-break:keep-all}.table.csvu-coltable td{white-space:normal;line-height:1.45}.table.csvu-coltable td:first-child,.table.csvu-coltable td:nth-child(2){white-space:nowrap}.csvu-coltable td.csvu-wrap{min-width:9em}.csvu-steps .badge{white-space:nowrap}.csvu-house-row{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;margin-bottom:10px;display:flex}.csvu-house-row label{min-width:0}.csvu-put{white-space:nowrap}.csvu-put .badge{margin-right:6px}.csvu-problem{white-space:normal;min-width:9em;line-height:1.45}.csvu-chips-legend .badge{margin:0 2px}.csvu-mapping-box{border-radius:var(--radius);background:#eff6ff;border:1px solid #bfdbfe;margin:12px 0;padding:10px 14px;line-height:1.5}.csvu-mapping-box p{word-break:keep-all;margin:0}.csvu-mapping-box .csvu-mapping{margin:8px 0 0}.csvu-summary{word-break:keep-all;margin:0 0 6px;font-size:1rem;line-height:1.6}.csvu-summary-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}[data-testid=upload-report] .table-wrap+.table-wrap{margin-top:12px}.csvu-errtable td{word-break:keep-all}.csvu-bad{color:#991b1b;overflow-wrap:anywhere;background:#fee2e2}.csvu-raw{margin:2px 0 0;font-size:.82rem}@media (width<=900px){.csvu-paths{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.csvu-steps{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.csvu-steps li{white-space:normal;font-size:.86rem}.csvu-steps li+li:before{content:none}.csvu-path{padding:12px}.csvu-path.chosen{padding:11px}.csvu-sheet{font-size:.8rem}.csvu-sheet th,.csvu-sheet td{padding:3px 4px}.csvu-put{white-space:normal}.csvu-cols select{max-width:12em}.csvu-steps .badge,.csvu-errtable thead{display:none}.csvu-errtable tr{border-bottom:1px solid var(--line);padding:6px 0;display:block}.table.csvu-errtable td{white-space:normal;border:0;padding:2px 6px 2px 0;display:inline-block}.table.csvu-errtable td.csvu-wrap{min-width:0;max-width:none;display:block}}.att-iv-scroll{border:1px solid var(--line);background:var(--card);border-radius:6px;max-height:262px;overflow:auto}.att-iv-scroll thead th{z-index:1;box-shadow:inset 0 -1px 0 var(--line);position:sticky;top:0}.att-iv-note{margin:4px 0 0}.att-cal-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.att-cal-detail .att-cal-detail-head h3{word-break:keep-all;overflow-wrap:anywhere;flex:18em;min-width:0;margin:0}.att-cal-detail .att-cal-day{border:1px solid var(--line);background:var(--card);border-radius:6px;padding:10px 12px}.att-cal-detail .att-cal-day+.att-cal-day{border-top:1px solid var(--line);margin-top:8px;padding-top:10px}.att-cal-detail .att-cal-day-head>span:first-child{word-break:keep-all;overflow-wrap:anywhere;min-width:0}.att-cal-names{word-break:keep-all;overflow-wrap:anywhere;margin:0}.att-fold-btn{min-height:32px;padding:4px 10px;font-size:.88rem}.att-fold-btn[aria-expanded=true]{border-color:var(--info);color:var(--info)}@media (width<=640px){.att-iv-scroll{max-height:300px}}.ua-nowrap{white-space:nowrap}.ua-top{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;display:flex}.ua-top select{min-width:0;max-width:100%}.ua-head{border-bottom:1px solid var(--line);word-break:keep-all;background:#fafaf9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;padding:12px 16px;font-size:1rem;display:flex}.ua-head b{white-space:nowrap}.ua-empty{margin:0;padding:16px}.ua-day-head{border-bottom:1px solid var(--line);background:#f9fafb;padding:8px 16px;font-size:.92rem;font-weight:700}.ua-rows{margin:0;padding:0;list-style:none}.ua-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;padding:10px 16px;display:flex}.ua-row-dim{background:#fafaf9}.ua-row-dim .ua-l1{color:var(--muted)}.ua-txt{flex:22em;gap:2px;min-width:0;display:grid}.ua-l1{font-variant-numeric:tabular-nums;word-break:keep-all;overflow-wrap:anywhere}.ua-l2{color:var(--muted);word-break:keep-all;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;font-size:.9rem;display:flex}.ua-l2.none{color:#92400e}.ua-l2 select{min-width:0;max-width:100%}.ua-acts{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.ua-acts .btn{min-height:36px}.ua-foot{color:var(--muted);word-break:keep-all;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:10px 16px 14px;font-size:.9rem;display:flex}@media (width<=640px){.ua-top,.ua-head,.ua-day-head,.ua-row,.ua-foot{padding-left:12px;padding-right:12px}.ua-acts{flex-basis:100%}.ua-acts .btn{flex:auto}}.wr-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wr-back-link{margin-bottom:8px;display:inline-block}.space-kinds-box{margin-top:16px}.space-kinds-box>summary{cursor:pointer;padding:6px 0;font-weight:600}.more-menu{display:inline-flex}.more-menu-pop{z-index:60;gap:4px;min-width:140px;display:grid;top:auto;left:auto}.more-menu-pop .link-btn{width:100%}.more-menu-pop .link-btn:focus-visible{outline:2px solid var(--info);outline-offset:1px}.status-section-title{margin:20px 0 8px;font-size:1.05rem}.farm-selector{flex-direction:column;gap:6px;padding:0 4px;display:flex}.farm-selector select{color:#f5f5f4;border-radius:var(--radius);width:100%;font:inherit;background:#ffffff1a;border:1px solid #ffffff40;padding:6px 8px}.farm-selector select option{color:var(--text);background:#fff}.farm-selector-name{overflow-wrap:anywhere;padding:6px 4px;font-weight:600}.account-menu{border-top:1px solid #ffffff26;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 4px 0;display:flex}.account-menu a{color:#d6d3d1;padding:6px 0}.account-menu .account-name{color:#a8a29e;text-overflow:ellipsis;white-space:nowrap;flex:100%;font-size:.88rem;overflow:hidden}.account-menu .logout{margin-left:auto}.side .screen-switch{color:#f5f5f4;border-color:#fff6;padding:4px 10px}.side .screen-switch:hover{background:#ffffff1f}.farm-pick-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.farms-overview .map-wrap{flex:1;min-height:360px;margin-top:12px}.once-value{gap:8px;display:flex}.once-value input{flex:1;min-width:0}.me-facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px;display:grid}.me-facts dt{color:var(--muted)}.me-facts dd{word-break:break-all;margin:0}.me-fact{display:contents}@media (width<=1024px){.farm-selector{flex-direction:row;flex:0 auto;order:1;min-width:0;padding:0}.farm-selector select{width:auto;max-width:44vw;padding:4px 6px}.account-menu{border-top:0;flex:100%;order:3;gap:4px 12px;padding:0}.account-menu .account-name{flex:0 auto}.side .account-menu .logout{order:0;margin-left:auto}}.plan-list{margin:0;padding:0;list-style:none}.plan-row+.plan-row{border-top:1px solid var(--line)}.plan-row-link{color:inherit;grid-template-columns:minmax(150px,1fr) 2fr auto;align-items:center;gap:4px 12px;padding:10px 14px;text-decoration:none;display:grid}.plan-row-link:hover{background:var(--hover,#2563eb0d)}.plan-row-nums{white-space:nowrap;font-weight:600}.plan-past .plan-row-date strong{color:var(--muted)}.plan-day{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:12px;margin-bottom:12px;display:grid}.plan-side{flex-direction:column;gap:12px;display:flex;position:sticky;top:8px}.plan-total{flex-direction:column;gap:4px;display:flex}.plan-date{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.plan-table input.narrow{text-align:right;width:4.5em}.plan-group-weight{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.plan-group-weight input.narrow{width:4.5em}.plan-send textarea{width:100%;font-size:1rem}.plan-help ul{margin:6px 0 0;padding-left:1.2em}.home-plan{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;margin-top:8px;padding-top:8px;font-size:.9rem;display:flex}.home-plan-none span{color:var(--muted)}.print-only{display:none}@media (width<=860px){.plan-day{grid-template-columns:1fr}.plan-side{order:-1;position:static}}@media (width<=640px){.plan-row-link{grid-template-columns:1fr}.plan-row-nums{white-space:normal}}@media print{.print-only{display:block!important}.plan-print h1{font-size:18pt}.plan-print table{width:100%}}.customer-picker{display:inline-block;position:relative}.customer-picker-btn{text-align:left;min-width:10rem}.customer-picker-pop{z-index:50;background:var(--card);width:min(20rem,100vw - 32px);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:8px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #00000026}.customer-picker-pop input{box-sizing:border-box;width:100%}.customer-picker-list{max-height:18rem;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.customer-picker-list button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px;display:block}.customer-picker-list button:hover,.customer-picker-list button[aria-selected=true]{background:var(--bg)}.customer-picker-head{padding:4px 8px;font-size:.8rem}.farm-selector .customer-picker,.farm-selector .customer-picker-btn{width:100%}.farm-selector .customer-picker-btn{color:#f5f5f4;background:#ffffff1a;border:1px solid #ffffff40}@media (width<=1024px){.farm-selector{flex-wrap:wrap;align-items:center}.farm-selector .customer-picker,.farm-selector .customer-picker-btn{width:auto}.farm-selector .customer-picker-btn{overflow-wrap:anywhere;min-width:8rem;max-width:44vw}.farm-selector-name{min-width:0;padding:4px 0}}.ops-top{flex-wrap:wrap;align-items:center;gap:8px 24px;margin-bottom:12px;display:flex}.ops-services{flex-wrap:wrap;gap:8px 16px;margin:0 0 12px;list-style:none;display:flex}.ops-counts{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:12px;margin-bottom:16px;display:grid}.ops-count{color:inherit;flex-direction:column;gap:4px;text-decoration:none;display:flex}.ops-count strong{font-size:1.5rem}.ops-filter{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.ops-filter input[type=search]{flex:16rem;min-width:0}.ops-filter label{align-items:center;gap:6px;display:inline-flex}.ops-table td .badge{margin:0 4px 2px 0}.row-click{cursor:pointer}.row-detail td{background:var(--bg)}.pre-wrap{white-space:pre-wrap;word-break:break-word}.pager{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:8px 0 16px;display:flex}.btn-small{padding:2px 10px;font-size:.85rem}.btn.on{border-color:var(--primary);color:var(--primary);font-weight:600}.chip{align-items:center;display:inline-flex}.load-more{justify-content:center}.drawer-backdrop{z-index:40;background:#0000004d;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--card);box-sizing:border-box;width:min(32rem,100vw);height:100%;padding:16px;overflow-y:auto}.drawer-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.drawer-head h2{margin:0}.drawer-part{border-top:1px solid var(--line);padding:12px 0}.drawer-part h3{justify-content:space-between;align-items:center;gap:8px;margin:0 0 8px;font-size:1rem;display:flex}.drawer-list{margin:0;padding:0;list-style:none}.drawer-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.kv{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 8px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.view-band,.notice-bar{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.view-band{color:#78350f;background:#fef3c7;border:1px solid #f59e0b;font-weight:600}.notice-bar.notice-info{color:#1e3a8a;background:#dbeafe}.notice-bar.notice-warn{color:#7f1d1d;background:#fee2e2}.notice-text{flex-wrap:wrap;gap:4px 8px;min-width:0;display:flex}.notice-body{text-overflow:ellipsis;white-space:nowrap;max-width:40rem;overflow:hidden}.notice-card h2{margin:0 0 6px;font-size:1.05rem}@media (width<=720px){.ops-table thead{display:none}.ops-table,.ops-table tbody,.ops-table tr,.ops-table td{box-sizing:border-box;width:100%;display:block}.ops-table tr{border-bottom:1px solid var(--line);padding:8px 0}.ops-table td[data-label]:before{content:attr(data-label);min-width:6.5rem;color:var(--muted);display:inline-block}.ops-table td.num{text-align:left}.drawer{width:100vw}.notice-body{white-space:normal}}.dm-bar{z-index:5;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;padding:10px 12px;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 8px #00000014}.dm-bar label{align-items:center;gap:6px;display:inline-flex}.dm-bar input{flex:12rem;min-width:0}.dm-danger{color:var(--danger);font-weight:600}.dm-result{margin-bottom:12px;padding:10px 12px}.dm-count{margin-left:6px}.dm-recount{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}@media (width<=720px){.dm-check input,.ops-table th input[type=checkbox]{width:22px;height:22px}}.home-today-tags{flex-wrap:wrap;gap:4px;margin-bottom:6px}.home-today-list{margin:0;padding:0;list-style:none}.home-today-list li{border-bottom:1px solid var(--line);padding:4px 0}.home-today-list li:last-child{border-bottom:0}.wr-row-overdue{border-left:3px solid var(--warn)}.devices-card,.members-card{margin-bottom:12px}.section-title{margin:0;font-size:1.05rem}.device-rows{margin:8px 0 0;padding:0;list-style:none}.device-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:8px 0;display:flex}.device-row:last-child{border-bottom:0}.device-main{flex:16rem;min-width:0}.device-actions{flex-wrap:wrap;gap:4px;display:flex}.device-stale{color:var(--warn)}.device-old{margin-top:12px}.member-left td{color:var(--muted)}.reloading{opacity:.45;transition:opacity .15s}.reloading-line{margin:4px 0}.move-btns{white-space:nowrap;gap:4px;display:inline-flex}.move-btn{min-width:2.5rem}.sector-tag{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px;display:flex}.sector-tag-label{font-weight:600}.sector-tag-list{max-height:50vh;margin:0;padding:0;list-style:none;overflow-y:auto}.sector-tag-list li{border-bottom:1px solid var(--line);padding:4px 0}.btn-link{font:inherit;color:var(--info);cursor:pointer;background:0 0;border:none;padding:0 0 0 4px;text-decoration:underline}.consult-cards{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.consult-card{flex-direction:column;gap:6px;padding:12px 14px;display:flex}.consult-card.consult-new{border:2px solid var(--info)}.consult-card.consult-important{border-left:6px solid var(--warn)}.consult-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.consult-title{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.consult-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.consult-clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.consult-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.consult-actions .btn{min-height:40px}.consult-folded{flex-flow:wrap;align-items:center;gap:8px;padding:8px 12px}.consult-folded-title{overflow-wrap:anywhere;flex:1;min-width:8rem}.consult-foot{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.consult-ops{grid-template-columns:minmax(280px,2fr) 3fr;align-items:start;gap:16px;display:grid}.consult-farm-list,.consult-list,.consult-pick-list{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.consult-farm{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;padding:6px 8px;display:flex}.consult-farm.on{border-color:var(--info);background:#eff6ff}.consult-farm-pick{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;flex:1;gap:2px;min-width:0;padding:4px 8px;display:flex}.consult-farm-pick:hover{background:#f3f4f6}.consult-farm.on .consult-farm-pick{border-color:var(--info)}.consult-farm-badges{flex-wrap:wrap;gap:4px;display:flex}.consult-sent-head{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font-size:1.05rem;display:flex}.consult-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:8px 12px;display:flex}.consult-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.consult-row details{width:100%}.consult-dates{flex-wrap:wrap;gap:12px;display:flex}.consult-sector-box{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;max-height:320px;padding:8px;display:flex;overflow:auto}.consult-sector-group{border:none;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;display:flex}.consult-pick-farm{align-items:center;gap:8px;display:inline-flex}@media (width<=720px){.consult-ops{grid-template-columns:1fr}}.att-note{flex-wrap:wrap;align-items:center;gap:4px;margin-left:4px;font-weight:400;display:inline-flex}.att-note input{width:9rem;max-width:100%}.att-note-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.att-worker{font-weight:400}.att-worker.att-note{margin-left:0;display:inline-flex}.att-worker-btn{text-align:left;padding:0}.att-dayname-btn{padding:2px 8px;font-size:.85rem}.att-cal-dayname{font-weight:400}.yield-bar-track{min-width:0;display:block;position:relative}.yield-bar-track .rank-bar{display:block}.yield-expected-mark{border-left:2px dotted var(--text);width:0;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.yield-expected-key{vertical-align:middle;border-left:2px dotted var(--text);width:0;height:12px;display:inline-block}a.btn{align-items:center;text-decoration:none;display:inline-flex}.limits-band{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:6px 0 10px;display:flex}.limits-band .small{flex-basis:100%}.farm-managers{gap:6px;margin:0;padding:0;list-style:none;display:grid}.farm-managers li{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.drawer-actions{margin-top:8px}.start-steps{margin-bottom:16px}.start-steps ol{flex-direction:column;gap:8px;margin:8px 0 0;padding-left:1.4rem;display:flex}.start-steps li{line-height:1.5}.start-steps .btn{margin-left:8px}.signup-settings{margin-top:16px}.signup-settings .title-row{justify-content:space-between}.signup-settings h2{margin:0;font-size:1.1rem}.map-page[data-entry=devices]{height:auto}.map-page[data-entry=devices] .map-layout{min-height:70vh}.devices-embedded{margin-top:16px}.devices-embedded .devices-list-head{margin:0 0 8px;font-size:1.05rem}.level-bar{white-space:nowrap;align-items:center;gap:6px 12px;margin:6px 0;padding-bottom:2px;display:flex;overflow-x:auto}.level-group{gap:6px;display:inline-flex}.wr-house-head .wr-chip{padding:1px 8px;font-size:.85rem}.edit-tools{margin:6px 0}.edit-tools .hint{margin:4px 0 0}.move-handle,.rotate-handle{color:#fff;cursor:move;z-index:6;background:#1d4ed8;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:15px;line-height:1;display:flex;box-shadow:0 1px 4px #00000073;opacity:1!important}.rotate-handle{cursor:grab;background:#f97316}.snap-ring{pointer-events:none;z-index:7;background:0 0;border:3px solid #16a34a;border-radius:50%;width:22px;height:22px;opacity:1!important}.color-dot{width:18px;height:18px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border:2px solid #fff;border-radius:50%;flex:none;padding:0}.color-pick{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px 8px;margin:6px 0 4px;display:flex}.color-swatch{width:28px;height:28px;box-shadow:0 0 0 1px var(--line);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:6px;padding:0;font-weight:700}.color-swatch.on{box-shadow:0 0 0 2px var(--text)}.color-custom{align-items:center;gap:6px;display:inline-flex}.color-custom input[type=color]{border:1px solid var(--line);width:40px;height:28px;padding:0}.color-custom-save{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;display:flex}.color-custom-save .notice{margin:0}.space-kinds-box .device-list li{flex-wrap:wrap}.space-legend{flex-wrap:wrap;gap:4px 12px;margin:0 0 8px;display:flex}.space-legend-chip{align-items:center;gap:4px;display:inline-flex}.space-legend-chip i{border-radius:3px;width:12px;height:12px;display:inline-block}.badge-bad{color:var(--danger);background:#fee2e2}.worker-card-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;max-height:60vh;display:grid;overflow:auto}.worker-card{color:#111;break-inside:avoid;background:#fff;border:1px solid #111;border-radius:8px;padding:10px 12px}.worker-card-head{margin-bottom:6px;font-size:1.05rem}.worker-card-body{align-items:flex-start;gap:10px;display:flex}.worker-qr{flex:none}.worker-card-lines{gap:2px;margin:0;font-size:.85rem;display:grid}.worker-card-lines div{gap:6px;display:flex}.worker-card-lines dt{color:#555;min-width:4.5em}.worker-card-lines dd{word-break:break-all;margin:0;font-weight:600}.worker-card-note{color:#333;margin:6px 0 0;font-size:.75rem}.card-print{display:none}@media print{body.printing-cards>:not(.card-print){display:none!important}body.printing-cards .card-print{display:block}.card-print-page{break-after:page;grid-template-columns:1fr 1fr;grid-auto-rows:64mm;gap:4mm;display:grid}.card-print-page.one{grid-template-columns:90mm}.card-print-page:last-child{break-after:auto}}
