:root{--studio-ink:#153348;--studio-teal:#076b71;--studio-line:#d8e2e8}
.studio-top{display:flex;gap:8px;align-items:center;padding:10px 18px;background:#e8f2f4;flex-wrap:wrap}.studio-top button,.studio button,.studio-dialog button{border:1px solid #bed0da;border-radius:8px;background:white;padding:9px 13px;color:var(--studio-ink);cursor:pointer;font:inherit}.studio-top .selected,.studio .selected,.studio button.primary{background:var(--studio-teal);color:white}.studio-top .saved{margin-left:auto;font-size:12px;color:#445b65}.studio{color:var(--studio-ink);padding:12px 0 35px}.studio h1{font-size:25px;margin:10px 0}.studio h2{font-size:19px;margin:20px 0 10px}.studio p{line-height:1.6}.studio-nav,.studio-actions,.studio-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.studio-nav button{font-size:13px}.studio-panel{background:#fff;border:1px solid var(--studio-line);padding:18px;border-radius:13px;margin:12px 0}.studio .table-scroll{overflow:auto;max-height:65vh;border:1px solid var(--studio-line);border-radius:9px}.studio table{border-collapse:collapse;width:100%;font-size:13px}.studio th{background:#e9f1f4;text-align:left;position:sticky;top:0;z-index:1;white-space:nowrap}.studio td,.studio th{padding:9px;border-bottom:1px solid var(--studio-line);vertical-align:top}.studio input,.studio select,.studio textarea,.studio-dialog input,.studio-dialog select{font:inherit;padding:8px;border:1px solid #b9cbd4;border-radius:6px;background:white;color:#173347;max-width:100%}.studio td input{min-width:85px;width:105px}.studio td input[type=checkbox]{min-width:20px;width:20px}.studio input[type=checkbox]{height:20px}.studio td button{font-size:12px;padding:6px}.studio .ok{color:#09654e}.studio .warn{color:#8c4a12}.studio .muted{color:#607480;font-size:12px}.studio .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.studio label{display:flex;flex-direction:column;gap:5px;font-size:13px}.studio .metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.studio .metric{padding:17px;background:#edf5f5;border-radius:10px}.studio .metric strong{display:block;font-size:24px}.studio-dialog{border:0;border-radius:14px;padding:22px;width:min(720px,94vw);max-height:90vh;overflow:auto;box-shadow:0 20px 70px #0004}.studio-dialog::backdrop{background:#0c233a88}.studio-dialog .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.studio-dialog label{display:flex;flex-direction:column;gap:5px}.studio-dialog h2{margin-top:0}.studio-dialog footer{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.studio-error{background:#fff0e6;color:#8b3912;padding:10px;border-radius:6px}.studio-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:15px}.studio-photos img{width:100%;height:140px;object-fit:contain;background:#eff3f5}.studio-mode .shell{max-width:1600px}.studio-mode .bottom-nav{display:none}.field-mode [data-ai-open],.field-mode #nameplateAnalysisBtn{display:none!important}.studio-banner{background:#fff0cf;padding:10px;border-radius:8px}.studio svg.chart{width:100%;height:230px}.studio .blank{padding:24px;color:#5d7382;text-align:center}
@media(max-width:900px){.studio-only{display:none!important}.studio-top{padding:8px}.studio-mode .shell{padding:10px}.studio h1{font-size:22px}.bottom-nav{grid-template-columns:repeat(4,1fr)!important}.bottom-nav [data-page=config],.bottom-nav [data-page=export]{display:none}.studio-top .saved{display:none}.studio-top button{padding:9px}.field-mode .ai-open-btn{display:none!important}}
.field-map{position:relative;background:#e9eef2;border:1px solid #bfcdd5;border-radius:10px;height:520px;min-height:250px;overflow:hidden;touch-action:none;user-select:none}.field-map-world{position:absolute;transform-origin:0 0;pointer-events:none}.field-map-world img{width:100%;height:100%;display:block}.field-map-world canvas,.field-map-world svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-marker{position:absolute!important;transform:translate(-50%,-50%);width:32px!important;height:32px!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;display:grid;place-items:center;cursor:pointer;z-index:2}.map-marker span{width:9px;height:9px;background:#125780;border:1.5px solid white;border-radius:50%;box-shadow:0 1px 3px #0008;pointer-events:none}.map-marker.group span{width:23px;height:23px;font-size:11px;background:#125780;color:white;display:grid;place-items:center}.map-marker small{position:absolute;top:28px;white-space:nowrap;background:#ffffffe8;color:#153348;padding:2px 4px;border-radius:3px;font:11px system-ui;pointer-events:none}.field-map.placing .map-marker{opacity:.22;pointer-events:none}.map-candidate{position:absolute;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;background:#ed5a2d;width:15px;height:15px;box-shadow:0 0 0 3px #ed5a2d55;pointer-events:none;z-index:5}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px}.map-info{padding:12px;background:#f0f5f7;border-radius:9px;overflow:auto;max-height:520px}.map-info button{display:block;margin:7px 0}.map-dialog{width:min(1200px,97vw)}.map-controls{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.map-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;margin:12px 0}.heat-scale{height:14px;width:180px;background:linear-gradient(90deg,#23aa55,#ffdc1e,#ff230f);border-radius:4px}.map-message{position:absolute;bottom:10px;left:10px;background:#ffffffe8;border-radius:7px;padding:8px;color:#233e4f;font:12px system-ui;pointer-events:none}.plan-workspace:has(.field-map){padding:0;overflow:hidden;max-height:none}.map-mode-help{font-size:13px;color:#4b6474}
@media(max-width:800px){.map-layout{grid-template-columns:1fr}.map-info{max-height:180px}.field-map{height:52vh}.map-dialog{padding:12px}.map-marker{width:36px!important;height:36px!important}.map-marker span{width:8px;height:8px}}
/* La shell deve occupare lo spazio residuo anche con banner e selettore Campo/Studio. */
body{display:flex;flex-direction:column}body>.shell{flex:1;min-height:0}body>.appbar,body>.studio-top,body>.field-test-banner,body>.bottom-nav{flex-shrink:0}body.app-locked>.studio-top{visibility:hidden}.field-mode .ai-intent-row,.field-mode .ai-open-btn{display:none!important}.studio-top details{position:relative}.studio-top details[open]{z-index:40}.studio-top details[open]>button{display:block;width:100%;white-space:nowrap}.studio-dialog input[type=checkbox]{width:20px;height:20px;display:inline-block}.studio-dialog .dialog-error:empty{display:none}
.sheet-head .close-btn{width:auto;min-width:36px;font-size:12px;padding:8px;border-radius:8px}
.map-controls button,.map-info button{padding:8px 12px;border:1px solid #cad7df;border-radius:8px;background:#fff;color:#17364c;font:inherit;cursor:pointer}.map-controls button:disabled{opacity:.5;cursor:default}
