.hab-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:16px 0}.hab-gallery>a,.hab-gallery>button{display:flex;flex-direction:column;text-decoration:none;border:1px solid #d8e3e0;border-radius:12px;background:#fff;padding:8px;gap:8px;color:#173a34;cursor:pointer}.hab-gallery img{width:100%;height:200px;object-fit:contain;background:#edf1ee;border-radius:8px}.hab-photo-map{position:relative;width:100%;margin:12px 0;line-height:0}.hab-photo-map>img{display:block;width:100%;height:auto}.hab-map-box{position:absolute;box-sizing:border-box;background:#12645455;border:2px solid #fff;color:#fff;text-shadow:0 1px 3px #000;font-weight:bold;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1.2;padding:2px;min-width:0;overflow:hidden}.hab-map-box:focus{outline:3px solid #f7b74c}.hab-map-box .hab-box-remove,.hab-map-box .hab-resize{display:none}.editing .hab-map-box{touch-action:none;cursor:move}.editing .hab-box-remove{display:block;position:absolute;right:0;top:0;line-height:1;border:0;color:#fff;background:#913727;cursor:pointer}.editing .hab-resize{display:block;position:absolute;right:0;bottom:0;width:18px;height:18px;background:#fff;cursor:nwse-resize}.hab-picker{width:min(1000px,94vw);max-height:92vh;padding:20px;border:0;border-radius:14px;overflow:auto}.hab-picker::backdrop{background:#102b24aa}.hab-field-row{padding:18px;border:1px solid #cbd9d5;margin:12px 0;background:#f8fbfa;border-radius:10px}.hab-warning{background:#fff1c9;padding:12px}.hab-pet-choice{display:block;margin:10px 0}.hab-picker-summary{padding:16px;background:#f1f7f4;line-height:1.5}.hab-picker-button{margin:8px 0!important}#hab-custom label{display:flex;flex-direction:column;gap:5px}#hab-custom label:has(input[type=checkbox]){display:block}[hidden]{display:none!important}.hab-history{max-height:420px;overflow:auto}.hab-instructions{background:#edf6f1;border-left:4px solid #24755b;padding:12px;margin:12px 0}.hab-monitor-tabs{display:flex;gap:10px;margin:15px 0}.hab-overdue{color:#a33420;font-weight:bold}
@media(max-width:700px){#hab-template-form .field-grid,form:has([name="hab_photo_save"]) .field-grid,form:has([name="env_action"]) .field-grid,.label-settings .field-grid{grid-template-columns:minmax(0,1fr)}.hab-gallery{grid-template-columns:minmax(0,1fr)}.hab-field-row{padding:12px}.hab-picker{box-sizing:border-box;width:96vw;padding:12px}.hab-monitor-tabs{flex-wrap:wrap}}
/* Mapped-first quick enclosure creation */
.hab-quick-create{margin:16px 0;padding:16px;background:#f3f8f6;border:1px solid #cbded5;border-radius:10px;line-height:1.5}
.hab-quick-create h3{margin:0 0 6px}.hab-quick-create .field-grid{margin-top:15px}.hab-quick-create form{margin-top:10px}
.hab-quick-create label{display:flex;flex-direction:column;gap:5px}
.hab-quick-drawing{cursor:crosshair;touch-action:none}
.hab-quick-new-box{position:absolute;z-index:10;border:3px dashed #f59e0b;background:rgba(245,158,11,.20);pointer-events:none;box-sizing:border-box;min-width:0;min-height:0}

/* Gallery-first enclosure creation */
.tgcp-mapped-create-panel{max-width:1050px}.hab-quick-create{margin-bottom:8px}.hab-quick-create-form{background:#f3f8f6;padding:18px;border:2px solid #24755b;border-radius:12px;margin:16px 0}.hab-quick-create-form h3{margin-top:0}.hab-photo-map{user-select:none}.hab-existing-map-tools{border-top:1px solid #d5ded9;margin-top:24px;padding:14px 0}.hab-existing-map-tools summary{font-weight:600;cursor:pointer}.hab-existing-map-tools form{padding:14px 0}.hab-quick-drawing{outline:3px solid #24755b;outline-offset:3px}.hab-quick-create-form[hidden]{display:none!important}
@media(max-width:782px){.hab-quick-create-form .field-grid{grid-template-columns:minmax(0,1fr)!important}}

/* Unified simplified enclosure creation */
.tgcp-simple-create-wrap{max-width:1100px}.tgcp-simple-create-wrap label{display:block;margin:12px 0}.tgcp-simple-create-wrap input[type=file]{display:block;margin-top:7px}.tgcp-simple-draw-tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tgcp-simple-map{position:relative;width:100%;line-height:0;touch-action:none;user-select:none;cursor:crosshair;background:#e5e7eb}.tgcp-simple-map img{width:100%;display:block;max-height:70vh;object-fit:fill;aspect-ratio:10/7}.tgcp-simple-map svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tgcp-simple-map-container{padding:10px 0;max-width:900px}.tgcp-select-existing-photo{white-space:normal!important;min-height:36px!important}.tgcp-simple-create-wrap #tgcp-simple-save{margin:16px 0}.hab-gallery>a{position:relative}

/* 1.51.3: Keep source photograph aspect ratio during map drawing. */
.tgcp-simple-map{width:min(100%,1000px)!important;height:auto!important;max-width:100%;}
.tgcp-simple-map img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;}
.tgcp-simple-map svg{width:100%!important;height:100%!important;inset:0!important;}
.tgcp-map-region-select{position:absolute;border:2px solid #fff;background:rgba(20,120,75,.25);color:#fff;text-shadow:0 1px 2px #000;font-weight:700;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:3px;box-sizing:border-box;line-height:1.1}
.tgcp-map-region-select:focus-visible{outline:3px solid #f59e0b}
/* Map controls use saved geometry, not the app's ordinary button dimensions. */
.tgcp-staff-map.hab-photo-map{display:block;position:relative;line-height:0;padding:0;border:0;}
.hab-gallery .tgcp-staff-map.hab-photo-map>img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;margin:0!important;padding:0!important;border:0!important;}
.tgcp-staff-map .tgcp-map-region-select{min-height:0!important;min-width:0!important;max-height:none!important;max-width:none!important;margin:0!important;padding:3px!important;border-radius:0!important;box-sizing:border-box!important;line-height:1.1!important;white-space:normal;overflow:hidden;}
#tgcp-map-overlap-chooser{border:0;border-radius:14px;max-width:min(95vw,500px);padding:24px}
#tgcp-map-overlap-chooser::backdrop{background:rgba(0,0,0,.55)}
.tgcp-map-overlap-options{display:grid;gap:8px;margin:15px 0}
.tgcp-map-overlap-options a{display:block;border:1px solid #b9c9c2;border-radius:7px;padding:14px;text-decoration:none;font-weight:700}

.tgcp-gallery-unit-card{display:flex;flex-direction:column;padding:8px;gap:10px;border:1px solid #d8e3e0;border-radius:12px;background:#fff}
.tgcp-gallery-unit-card a{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:#173a34}
.tgcp-gallery-unit-card img{width:100%;height:190px;object-fit:contain;background:#edf1ee}
.tgcp-gallery-unit-card .tgcp-select-existing-photo{white-space:normal;min-height:44px}

.tgcp-existing-map-list{border:1px solid #d1d5db;border-radius:10px;padding:12px;margin:10px 0;background:#f7fbf9}
#tgcp-existing-map-links{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
