body .object-card-dialog,body .object-hover-tooltip{--object-card-surface:#fff;--object-card-accent:var(--teal);color-scheme:light}
body.dark .object-card-dialog,body.dark .object-hover-tooltip{--object-card-surface:#1a2e39;--object-card-accent:#89d2ce;color-scheme:dark}
/* Compact form layout; colors follow the existing workspace theme. */
body dialog.drawer.object-card-dialog{position:fixed;top:0;right:0;bottom:0;z-index:1200;width:min(320px,100vw);max-width:320px;border-radius:0;background:var(--object-card-surface);color:var(--dark);box-shadow:-8px 0 30px #0004}
body .object-card-dialog .dialog-head{padding:10px 12px;gap:9px;background:var(--object-card-surface);border-bottom:0;align-items:center;min-height:58px;flex-shrink:0}.object-card-dialog .object-card-heading{flex:1;min-width:0}.object-card-dialog .dialog-head h2{font-size:13px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.object-card-dialog .dialog-head .intro{font-size:10px;color:var(--muted);margin:3px 0 0}.object-card-dialog .dialog-head .type-catalog-icon{width:27px;height:30px;background:var(--bg);color:var(--dark);border-radius:5px}.object-card-dialog .dialog-head .type-catalog-icon svg{width:20px;height:20px}.object-card-dialog .dialog-head .icon-btn{padding:4px;min-width:24px;width:24px;height:24px;min-height:0;color:var(--muted)}
body .object-card-dialog .object-card-tabs{display:flex;flex:none;gap:0;padding:0 8px;background:var(--object-card-surface);border-bottom:1px solid var(--line)}.object-card-tabs button[role=tab]{flex:1;background:none;border:0;border-radius:0;border-bottom:2px solid transparent;padding:11px 5px 9px;min-height:34px;color:var(--muted);font-size:9px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;white-space:nowrap}.object-card-tabs button[aria-selected=true]{color:var(--object-card-accent);border-bottom-color:var(--object-card-accent)}.object-card-tabs button:hover{background:var(--bg)}
body .object-card-dialog .dialog-body{padding:10px 10px 12px;scrollbar-width:thin;scrollbar-color:var(--muted) transparent}.object-card-dialog .object-card-frame{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:0 0 10px;background:var(--object-card-surface)}.object-card-dialog .object-card-frame:empty{display:none}.object-card-dialog .object-card-folder{margin-bottom:8px}.object-card-dialog .object-card-section{margin:0 0 8px;font-size:12px}.object-card-dialog .object-card-section>summary{list-style:none;cursor:pointer;font-weight:500;color:var(--dark);padding:0 0 6px;line-height:1.4}.object-card-dialog .object-card-section>summary:before{content:'›';display:inline-block;width:12px;color:var(--muted)}.object-card-dialog .object-card-section[open]>summary:before{content:'⌃'}.object-card-dialog .object-card-section>summary::-webkit-details-marker{display:none}.object-card-dialog .object-card-section>.object-card-frame:last-child{margin-bottom:0}
body .object-card-dialog .object-card-frame>.field,.object-card-dialog .object-card-type-row>.field{margin:0;gap:3px;padding:6px 9px 5px;font-size:9px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}.object-card-dialog .object-card-frame>.field:last-child{border-bottom:0}.object-card-dialog .field em{font-size:9px;letter-spacing:0;text-transform:none}.object-card-dialog .object-card-type-row{display:flex;align-items:center}.object-card-dialog .object-card-type-row>.field{flex:1;min-width:0;border-bottom:0}.object-card-dialog .object-card-type-row>button{font-size:10px;margin:0 9px 0 0;padding:6px 8px;color:var(--object-card-accent);border-color:var(--line);background:var(--bg);min-height:28px}
body dialog.object-card-dialog .field input,body dialog.object-card-dialog .field select,body dialog.object-card-dialog .field textarea{font-size:12px;line-height:1.45;letter-spacing:0;text-transform:none;font-weight:400;color:var(--dark);background:var(--object-card-surface);border:0;border-radius:2px;padding:2px 0;min-height:23px;margin:0;box-shadow:none}body dialog.object-card-dialog .field textarea{height:40px;min-height:36px;resize:vertical}.object-card-dialog input::placeholder,.object-card-dialog textarea::placeholder{color:var(--muted)}.object-card-dialog select option{background:var(--object-card-surface);color:var(--dark)}.object-card-dialog input:focus-visible,.object-card-dialog select:focus-visible,.object-card-dialog textarea:focus-visible,.object-card-dialog button:focus-visible,.object-card-dialog summary:focus-visible{outline:2px solid var(--object-card-accent);outline-offset:2px}
body .object-card-dialog .object-card-read-row{display:block;border-bottom:1px solid var(--line);padding:6px 9px}.object-card-dialog .object-card-read-row:last-child{border-bottom:0}.object-card-dialog .object-card-read-row>span{display:block;color:var(--muted);font-size:9px;letter-spacing:.07em;text-transform:uppercase;line-height:1.4;margin-bottom:3px}.object-card-dialog .object-field-value{font-size:12px;font-weight:400;line-height:1.45;color:var(--dark);padding:0;max-height:180px}.object-card-dialog .object-source-details{border-top:0;border-bottom:1px solid var(--line);padding:10px 0;margin:0;font-size:11px}.object-card-dialog .object-source-details>summary{font-weight:500;font-size:11px;color:var(--dark);line-height:1.5}.object-card-dialog .object-source-details>summary>span{color:var(--muted);font-size:10px}.object-card-dialog .object-source-details[open]>summary{margin-bottom:9px}.object-card-dialog .section-caption{font-size:10px;color:var(--muted);line-height:1.5;margin:7px 0}.object-card-dialog #object-media-section{padding:0;border:0;margin:0}.object-card-dialog #object-media-section>summary{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:2px 0 7px}.object-card-dialog #object-media-section>summary>span{padding:1px 4px;border-radius:3px;background:var(--bg);letter-spacing:0}.object-card-dialog .object-media-upload{width:100%;min-height:40px;justify-content:center;gap:5px;border:1px dashed var(--line);border-radius:4px;padding:9px;font-size:11px;background:var(--bg);color:var(--object-card-accent)}.object-card-dialog .object-media-upload:hover{background:var(--bg)}.object-card-dialog .object-media-item{background:var(--bg);border-color:var(--line);padding:8px}.object-card-dialog .object-media-heading b{font-size:11px;font-weight:500}.object-card-dialog .object-media-heading small{font-size:9px}.object-card-dialog .object-media-player audio{height:34px}.object-card-dialog .object-media-actions button{font-size:10px;color:var(--red)}.object-card-dialog .object-media-actions a{color:var(--object-card-accent)}
body .object-card-dialog .object-custom-row{background:var(--bg);border-color:var(--line);padding:7px;margin-bottom:7px}.object-card-dialog .object-custom-fields{grid-template-columns:1fr 1.2fr 20px;gap:6px}.object-card-dialog .object-custom-fields label{font-size:9px;color:var(--muted)}.object-card-dialog .object-custom-fields input,.object-card-dialog .object-custom-fields textarea{background:var(--object-card-surface);color:var(--dark);border:1px solid var(--line);font-size:11px;min-height:33px;padding:6px}.object-card-dialog .object-custom-fields button{color:var(--red)}.object-card-dialog .object-card-section-title h3{font-size:11px;font-weight:500;color:var(--dark)}.object-card-dialog .mini{background:var(--bg);border-color:var(--line);color:var(--dark);border-radius:4px;font-size:10px}.object-card-dialog #object-type-hover-fields{gap:9px 6px;grid-template-columns:1fr 1fr}.object-card-dialog #object-type-hover-fields label{font-size:10px;color:var(--dark)}.object-card-dialog input[type=checkbox]{accent-color:var(--object-card-accent)}.object-card-dialog #object-card-preview{background:var(--object-card-surface);border:1px solid var(--line);padding:0;display:block;max-width:100%;border-radius:4px;margin-top:12px}.object-card-dialog #object-card-geometry{background:var(--bg);color:var(--dark);border:1px solid var(--line);border-radius:4px;font-size:10px}.object-card-dialog #object-geometry-detail summary{font-size:11px}.object-card-dialog #object-source-section>button{background:var(--bg);color:var(--dark);border-color:var(--line);font-size:10px}
body .object-card-dialog .dialog-foot{padding:9px 10px;background:var(--object-card-surface);border-top:1px solid var(--line);gap:6px;flex-shrink:0}.object-card-dialog .dialog-foot>button{flex:1;min-width:0;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--dark);font-size:10px;text-transform:uppercase;letter-spacing:.04em;min-height:33px;padding:8px 5px;white-space:nowrap}.object-card-dialog .dialog-foot>button.primary{background:var(--teal);border-color:var(--teal);color:white}.object-card-dialog .dialog-foot>button:hover{filter:brightness(1.18)}.object-card-dialog .dialog-foot .form-error{flex-basis:100%;color:var(--red);font-size:11px;line-height:1.5;margin:0 0 5px;overflow-wrap:anywhere}.object-card-dialog .dialog-foot .form-error:empty{display:none}
/* Hover fields remain chosen by type; only their presentation changes. */
body .leaflet-tooltip.object-hover-tooltip{background:var(--object-card-surface);color:var(--dark);border:1px solid var(--line);border-radius:4px;padding:0;box-shadow:0 5px 18px #0006;max-width:min(300px,calc(100vw - 24px))}.leaflet-tooltip-right.object-hover-tooltip:before{border-right-color:var(--line)}.leaflet-tooltip-left.object-hover-tooltip:before{border-left-color:var(--line)}.object-hover-content{min-width:210px;max-width:298px}.object-hover-row{display:grid;grid-template-columns:minmax(75px,.85fr) minmax(100px,1.4fr);gap:0;padding:0;border-bottom:1px solid var(--line)}.object-hover-row:first-child{padding-top:0}.object-hover-row span{color:var(--muted);font-size:10px;padding:6px 8px;border-right:1px solid var(--line);margin:0;line-height:1.4;overflow-wrap:anywhere}.object-hover-row b{font-weight:400;font-size:11px;line-height:1.4;color:var(--dark);padding:6px 8px;min-width:0}.object-hover-content>small{margin:0;padding:6px 8px;color:var(--object-card-accent);font-size:9px;background:var(--bg);border-radius:0 0 4px 4px}.object-hover-content>b{display:block;padding:9px;font-size:11px;font-weight:500}
@media(max-width:400px){.object-card-tabs button[role=tab]{font-size:9px;padding-left:2px;padding-right:2px}.object-card-dialog .dialog-body{padding-left:10px;padding-right:10px}}

/* Leave a usable map area above the panel on small screens. */
@media(max-width:650px){body dialog.drawer.object-card-dialog{top:auto;bottom:0;width:100vw;max-width:100vw;height:60dvh;max-height:60dvh}}
