@font-face{font-family:Carlito;src:url('/assets/Carlito-Regular.ttf');font-weight:400;font-display:swap}
@font-face{font-family:Carlito;src:url('/assets/Carlito-Bold.ttf');font-weight:700;font-display:swap}
:root{--green:#196449;--text:#202b30;--muted:#657680;--border:#d5e0e7;--surface:#f3f6f7}
*{box-sizing:border-box}body{margin:0;color:var(--text);font:18px/1.25 Carlito,Calibri,sans-serif;background:white}
button,input,select{font:inherit}button,select,input[type=checkbox],input[type=range]{cursor:pointer}button:disabled{cursor:default}
button{color:inherit}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #76bfa2;outline-offset:3px}
[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2{font-size:26px}h3{font-size:22px}p{overflow-wrap:break-word}
.header{height:76px;display:flex;align-items:center;gap:12px;padding:0 24px;border:1px solid var(--border)}
.mobile-mark{display:none}@media(max-width:760px){.mobile-mark{display:block}.desktop-mark{display:none}}
.workspace{display:flex;height:calc(100dvh - 76px);min-height:540px}.sidebar{width:382px;flex-shrink:0;padding:24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;border-right:1px solid var(--border);background:white;z-index:600}
.heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.icon-button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;padding:4px;border-radius:4px;min-width:30px;min-height:30px}.icon-button:hover{background:var(--surface)}
.muted{color:var(--muted)}.small{font-size:14px}.subtitle,.imagery{font-size:16px}.fields{display:grid;grid-template-columns:minmax(0,180fr) minmax(0,138fr);gap:16px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 12px;border:1px solid var(--border);border-radius:4px;font-weight:700;font-size:18px;text-decoration:none;transition:background .15s;white-space:nowrap}
.neutral{background:white}.neutral:hover{background:var(--surface)}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:#124e38}.primary:disabled{background:#c0d6cc;border-color:#c0d6cc;color:#fff}.button:disabled{opacity:.75}.sidebar>.button{width:100%}
select{width:100%;height:42px;border:1px solid var(--border);border-radius:4px;background:white;padding:8px 10px;color:var(--text);font-size:17px}
hr{margin:0;border:0;border-top:1px solid var(--border);width:100%}.notice{padding:16px;border-radius:6px;background:var(--surface);font-size:18px}.notice p{margin-top:8px;font-size:16px;color:var(--muted)}
section[id$="state"],#results{display:flex;flex-direction:column;gap:16px}.empty-state h3{font-size:20px}.empty-state ol{margin:0;padding-left:22px;font-size:17px;color:var(--muted)}.empty-state li{margin-bottom:5px}
.status{display:flex;gap:8px;align-items:center;color:var(--green);font-size:18px}.crop-table{max-height:230px;overflow-y:auto}.crop-row{display:flex;align-items:center;gap:12px;min-height:36px;width:100%;padding:6px 8px;background:white;border:1px solid var(--border);text-align:left;font-size:18px;margin-top:-1px}.crop-row:first-child{margin-top:0}.crop-row:hover{background:var(--surface)}.swatch{width:20px;height:20px;border-radius:2px;flex-shrink:0}.crop-name{flex:1;min-width:0}.crop-area{white-space:nowrap;flex-shrink:0;text-align:right}.total{display:flex;justify-content:space-between;gap:16px}
progress{width:100%;height:8px;border:0;border-radius:4px;accent-color:var(--green)}progress::-webkit-progress-bar{background:#e8efeb;border-radius:4px}progress::-webkit-progress-value{background:var(--green);border-radius:4px}.progress-label{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}
.error{background:#fff2ed}.error-text{color:#a33c26}.map-pane{position:relative;flex:1;min-width:0;overflow:hidden;background:#e3eae0}#map{height:100%;width:100%;background:#dbe4da;z-index:0}
.map-left{position:absolute;top:20px;left:24px;display:flex;gap:8px;z-index:500}.map-card,.map-button{background:white;border-radius:4px;box-shadow:0 1px 5px #20302822}.map-button{border:0}.map-left .button{font-size:16px;padding:10px 20px;height:42px}.expand{width:42px;padding:10px;display:flex;align-items:center;justify-content:center}.expand img{transform:rotate(180deg)}
.classification-switch{position:absolute;top:20px;right:66px;z-index:500;display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:16px;min-height:42px}.classification-switch input{accent-color:var(--green);width:16px;height:16px;margin:0}
.map-controls{position:absolute;top:20px;right:18px;z-index:500;display:flex;flex-direction:column;gap:4px}.map-controls button,.layers-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:8px}.map-controls button:hover,.layers-button:hover{background:var(--surface)}
.coverage-switch{position:absolute;bottom:24px;left:24px;z-index:500;display:flex;align-items:center;gap:12px;padding:8px 12px;font-size:15px}.coverage-switch select{height:32px;width:auto;max-width:220px;font-size:15px}.layers-button{position:absolute;bottom:24px;right:18px;z-index:500}.layers-panel{position:absolute;bottom:72px;right:18px;z-index:600;padding:16px;width:285px;display:flex;flex-direction:column;gap:12px;font-size:16px}.layers-panel label{display:flex;align-items:center;gap:8px}.layers-panel input[type=range]{width:100px;accent-color:var(--green)}input[type=checkbox]{accent-color:var(--green)}
.map-message{position:absolute;top:82px;left:24px;padding:12px 16px;z-index:500;font-size:16px;max-width:calc(100% - 90px);pointer-events:none}.pixel-card{position:absolute;top:145px;left:24px;padding:16px;z-index:600;width:290px;display:flex;flex-direction:column;gap:12px}.pixel-card h3{font-size:20px}.pixel-card p{font-size:16px}.pixel-card .small{font-size:14px}.pixel-card .swatch{display:inline-block;margin-right:8px;vertical-align:middle}
.leaflet-container{font-family:Carlito,Calibri,sans-serif}.leaflet-control-attribution{font-size:11px!important;background:#ffffffdd!important}.leaflet-control-scale-line{background:white;border-color:var(--text);font-size:14px;font-family:Carlito;margin-left:14px}.leaflet-bottom.leaflet-left{bottom:87px}.leaflet-image-layer{image-rendering:pixelated}.leaflet-tooltip{font:700 16px Carlito;padding:8px 10px;border:0;color:var(--text);box-shadow:0 1px 4px #20302825}.leaflet-tooltip::before{display:none}
.workspace.collapsed .sidebar{display:none}.workspace.drawing #map{cursor:crosshair}.workspace.drawing #select-map{background:var(--green);color:white}
#results{flex:1;min-height:245px}#results>:not(.crop-table){flex-shrink:0}.crop-table{flex:1;min-height:36px}
dialog{width:520px;max-width:calc(100% - 32px);padding:24px;border:0;border-radius:8px;box-shadow:0 4px 24px #10251b22;color:var(--text);font:18px/1.25 Carlito}dialog::backdrop{background:#10251b52}dialog[open]{display:flex;flex-direction:column;gap:16px}dialog h2{font-size:24px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.dialog-actions .button{min-width:115px}.checkbox-row{display:flex;gap:10px;align-items:center}.checkbox-row input{width:18px;height:18px;margin:0}.export-label{font-weight:700}dialog .notice p{margin:0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#202b30;color:white;box-shadow:0 2px 16px #0002;border-radius:6px;z-index:2000;font-size:16px;max-width:90vw}
@media(min-width:1500px){.workspace{min-height:600px}}
@media(max-width:760px){.header{height:64px;padding:0 16px}.header h1{font-size:24px}.workspace{height:auto;min-height:0;flex-direction:column}.map-pane{order:0;flex:none;height:330px;width:100%}.sidebar{order:1;width:100%;padding:20px 24px;overflow:visible;border:0;gap:16px}.sidebar h2{font-size:24px}.fields{grid-template-columns:1.2fr 1fr}.sidebar .collapse{display:none}.map-left{left:16px;top:20px}.map-left .button{padding:10px 14px}.map-controls{right:18px}.coverage-switch{left:16px;bottom:14px;gap:8px;padding:6px 8px}.coverage-switch label{display:none}.coverage-switch select{max-width:190px}.layers-button{bottom:14px}.leaflet-bottom.leaflet-left{bottom:64px}.classification-switch{top:20px;left:16px;right:auto;max-width:calc(100% - 85px);font-size:14px;padding:8px;min-height:36px}.map-pane:has(#classification-switch:not([hidden])) .map-left{top:65px}.map-message{top:117px;left:16px;font-size:14px;padding:8px 12px}.pixel-card{top:116px;left:16px;width:min(270px,calc(100% - 85px));padding:12px}.pixel-card p{font-size:14px}.layers-panel{bottom:60px;max-width:calc(100% - 32px)}.crop-table{max-height:none}.workspace.collapsed .map-pane{height:calc(100dvh - 64px)}dialog{padding:20px}.dialog-actions .button{flex:1;font-size:17px}.fields label{font-size:18px}}
