/* Fully scoped, mobile-first UI. No downloaded fonts or framework styles. */
.md-root{--md-ink:#19332e;--md-muted:#516963;--md-accent:#176b59;--md-border:#d6e2dd;--md-paper:#fff;--md-soft:#f2f7f4;--md-danger:#9c3030;color:var(--md-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;box-sizing:border-box;max-width:100%}
.md-root *,.md-root *::before,.md-root *::after{box-sizing:border-box}.md-root [hidden]{display:none!important}.md-root h1,.md-root h2,.md-root h3,.md-root h4{color:var(--md-ink);line-height:1.2;letter-spacing:-.025em;margin:0 0 .7rem;font-weight:700}.md-root h2{font-size:clamp(1.65rem,4vw,2.35rem)}.md-root h3{font-size:1.3rem}.md-root h4{font-size:1.08rem}.md-root p{margin:.35rem 0 1rem;overflow-wrap:anywhere}.md-root a{color:var(--md-accent);text-underline-offset:3px}.md-root img{max-width:100%}.md-root input,.md-root select,.md-root textarea,.md-root button{font:inherit}.md-root input:not([type=checkbox]),.md-root select,.md-root textarea{width:100%;min-width:0;min-height:46px;border:1px solid #aabdb5;background:#fff;color:var(--md-ink);border-radius:9px;padding:.65rem .75rem;box-shadow:none}.md-root input[type=checkbox]{width:20px;height:20px;min-width:20px;accent-color:var(--md-accent);margin:.1rem 0 0}.md-root textarea{resize:vertical;min-height:100px}.md-root input:disabled{background:#e9efed;color:#687873}.md-root :focus-visible{outline:3px solid #be7512;outline-offset:3px}.md-root .md-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.65rem 1rem;border:1px solid var(--md-accent);border-radius:9px;background:var(--md-accent);color:#fff;text-decoration:none;cursor:pointer;text-align:center;font-weight:650;line-height:1.3;white-space:normal}.md-root .md-button:hover{background:#0e5143;color:#fff}.md-root .md-button:disabled{cursor:wait;opacity:.6}.md-root .md-secondary{background:#fff;color:var(--md-accent);border-color:#b4c9bf}.md-root .md-secondary:hover{background:#e9f3ed;color:#123c30}.md-root .md-danger{background:#fff;color:var(--md-danger);border-color:#e1b7b7}.md-root .md-danger:hover{background:#fce9e9;color:#812020}.md-section-header{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.md-eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:750;color:var(--md-accent);margin-bottom:.65rem!important}.md-muted{color:var(--md-muted);font-size:.94rem}.md-panel,.md-card{border:1px solid var(--md-border);border-radius:14px;background:var(--md-paper);padding:1.25rem;min-width:0;box-shadow:0 2px 3px #18312b05}.md-panel{margin:1rem 0}.md-card h3 a{text-decoration:none}.md-card h3 a:hover{text-decoration:underline}.md-card-image{display:block;width:100%;height:200px;object-fit:cover;border-radius:9px;margin-bottom:1rem;background:var(--md-soft)}.md-list,.md-grid,.md-cards{display:grid;gap:1rem}.md-cards .md-card{overflow:hidden}.md-search{display:grid;gap:1rem;padding:1.25rem;background:var(--md-soft);border-radius:14px;border:1px solid var(--md-border);margin:1rem 0}.md-field{display:flex;flex-direction:column;gap:.4rem;min-width:0;margin-bottom:1rem}.md-field label,.md-label{font-weight:650;font-size:.92rem}.md-field small{font-size:.83rem;line-height:1.45}.md-search .md-field{margin:0}.md-form-grid{display:grid;gap:0 1rem}.md-check{display:flex;gap:.65rem;align-items:flex-start;min-height:44px;padding:.5rem 0;cursor:pointer}.md-form{display:flex;flex-direction:column;gap:.4rem}.md-form fieldset{border:0;padding:0;margin:0;min-width:0}.md-form legend{font-size:1.2rem;font-weight:700;padding:0 0 1rem;float:none;width:auto}.md-message{margin:.5rem 0;color:var(--md-muted);overflow-wrap:anywhere}.md-message:empty{display:none}.md-message.md-error{border-left:4px solid #aa3838;background:#fff0f0;color:#752424;padding:.8rem 1rem;border-radius:0 8px 8px 0}.md-message.md-error p:last-child{margin-bottom:0}.md-empty{padding:2rem;text-align:center;border:1px dashed #b9ccc2;border-radius:14px;background:var(--md-soft)}.md-actions,.md-toolbar,.md-pagination,.md-view-toggle{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.md-actions{margin-top:1rem}.md-actions .md-button{flex:1 1 145px}.md-pagination{margin:1.25rem 0;justify-content:center}.md-view-toggle{margin:1.25rem 0}.md-view-toggle .md-button[aria-pressed=true]{background:var(--md-ink);color:#fff;border-color:var(--md-ink)}.md-result-count{font-weight:600}.md-badge{display:inline-block;font-size:.76rem;font-weight:650;border-radius:6px;padding:.25rem .6rem;background:#eaf3ed;color:#254f3d}.md-badge-warning{background:#fff1d9;color:#785015}.md-note{border-left:3px solid #dfbd74;padding:.55rem .8rem;background:#fff8e9}.md-stat-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin:1rem 0}.md-stat{border:1px solid var(--md-border);background:var(--md-soft);border-radius:12px;padding:1rem;display:flex;flex-direction:column}.md-stat strong{font-size:1.45rem}.md-stat span{font-size:.82rem;color:var(--md-muted)}.md-rating{font-size:.9rem;font-weight:650}.md-review{border-top:1px solid var(--md-border);padding:1rem 0}.md-review:last-child{padding-bottom:0}.md-root details>summary{cursor:pointer;font-weight:650;min-height:44px;display:list-item;padding:.6rem 0;list-style-position:inside}.md-extra-filters{grid-column:1/-1}.md-legal-document{border:1px solid var(--md-border);border-radius:9px;padding:0 .9rem}.md-legal-text{white-space:pre-wrap;max-height:280px;overflow:auto;padding:1rem 0;font-size:.92rem}.md-dialog{position:fixed;width:min(940px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid #c8d7cf;border-radius:18px;background:#fff;color:var(--md-ink);overscroll-behavior:contain}.md-dialog::backdrop{background:#082d2566;backdrop-filter:blur(2px)}.md-dialog-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--md-border);padding:1rem 1.1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between}.md-dialog-header h2{font-size:1.2rem;margin:0}.md-dialog-content{padding:1.1rem}.md-steps{display:flex;gap:.4rem;overflow:auto;padding:0 0 .5rem;margin-bottom:1rem}.md-steps .md-button{flex:0 0 auto;white-space:nowrap;font-size:.84rem}.md-steps .md-button[aria-current=step]{background:var(--md-accent);color:#fff}.md-editor-footer{position:sticky;bottom:0;z-index:3;display:flex;justify-content:space-between;gap:.6rem;padding:1rem 0 .3rem;background:#fff;border-top:1px solid var(--md-border);margin-top:1.5rem}.md-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.md-media-thumb{width:100%;height:150px;object-fit:contain;background:var(--md-soft);border-radius:8px}.md-map-host{position:relative;width:100%;height:clamp(300px,52dvh,540px);background:#e9efed;border:1px solid var(--md-border);border-radius:14px;overflow:hidden;margin:.7rem 0}.md-maplibre-surface{position:absolute;inset:0;overflow:hidden}.md-maplibre-surface .maplibregl-canvas-container,.md-maplibre-surface .maplibregl-canvas{position:absolute;inset:0;width:100%;height:100%;outline:none}.md-maplibre-surface .maplibregl-canvas{touch-action:none}.md-maplibre-host .md-map-controls,.md-maplibre-host .md-map-info,.md-maplibre-host .md-map-attribution{z-index:3}.md-map-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.md-map-canvas:active{cursor:grabbing}.md-map-controls{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:6px}.md-map-controls .md-button{width:44px;background:#fff;color:var(--md-ink);border-color:#b6c9bf;font-size:1.35rem;box-shadow:0 2px 8px #0002}.md-map-attribution{position:absolute;bottom:0;right:0;left:0;padding:3px 7px;background:#fffc;font-size:10px;line-height:1.4;max-height:70px;overflow:auto}.md-map-info{position:absolute;bottom:33px;left:10px;right:60px;font-size:12px;background:#fffde9d9;border-radius:5px;padding:4px 7px;pointer-events:none}.md-map-info:empty{display:none}.md-map-consent{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:1.5rem;max-width:640px;margin:auto}.md-map-consent h3{font-size:1.15rem}.md-map-consent p{font-size:.92rem}.md-root .md-admin-nav{display:flex;gap:.4rem;overflow:auto;margin:1rem 0;padding-bottom:.5rem;flex-wrap:wrap}.md-admin-nav .md-button{font-size:.85rem}.md-admin-nav .md-button[aria-current=page]{background:var(--md-ink);color:#fff}.md-admin-table-wrap{overflow:auto;border:1px solid var(--md-border);border-radius:10px}.md-root table{border-collapse:collapse;width:100%;background:#fff;font-size:.9rem}.md-root th,.md-root td{text-align:left;padding:.8rem;border-bottom:1px solid var(--md-border);vertical-align:top;overflow-wrap:anywhere}.md-root th{background:var(--md-soft);font-weight:700}.md-root pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;background:var(--md-soft);padding:1rem;border-radius:9px;max-height:420px;overflow:auto}.md-compare{display:grid;gap:1rem}.md-compare pre{max-height:440px}.md-admin{max-width:1240px}.md-admin .md-panel{margin-top:0}.md-verify{border-color:#dfc28e;background:#fffbf2}.md-page{max-width:1100px;margin:2rem auto;padding:0 1rem}.md-page-title{font:700 2rem system-ui;line-height:1.2}.md-detail .md-card-image{height:auto;max-height:420px;object-fit:contain}.md-template-options{display:flex;flex-direction:column;gap:.35rem}.md-template-option{display:flex;align-items:center;gap:.5rem;padding:.3rem .6rem;background:var(--md-soft);border-radius:8px}.md-template-option .md-check{flex:1}.md-template-option .md-button{padding:.35rem .6rem;min-width:44px}.md-action-heading{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between;margin:1rem 0}.md-action-heading h3{margin:0}.md-root .md-error-field{border-color:#a32d2d}.md-form-footnote{font-size:.82rem;color:var(--md-muted)}
@media(min-width:600px){.md-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.md-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.md-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.md-section-header{flex-direction:row;justify-content:space-between;align-items:center}.md-dialog-content{padding:1.5rem}.md-dialog-header{padding:1rem 1.5rem}.md-search{grid-template-columns:repeat(2,minmax(0,1fr))}.md-search>.md-button{align-self:end}.md-actions .md-button{flex:0 1 auto}}
@media(min-width:1000px){.md-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.md-search{grid-template-columns:1.3fr 1fr 1fr 1fr auto}.md-compare{grid-template-columns:repeat(2,minmax(0,1fr))}.md-list .md-card{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){.md-root *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:420px){.md-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.md-dialog-content{padding:1rem}.md-dialog-header{padding:.8rem 1rem}.md-map-consent{padding:1rem}.md-map-consent p{font-size:.84rem}.md-panel,.md-card{padding:1rem}}

.md-root .md-gallery-full{max-width:100%;height:auto;display:block;margin:auto}.md-root .md-technical{margin-top:16px}.md-root .md-media-preview{max-width:100%;object-fit:cover;border-radius:8px}.md-root .md-media-grid button{display:grid;gap:8px}

/* 0.3: version history, operations and narrow screens. */
.md-root .md-diff-list{margin:1rem 0;overflow-wrap:anywhere}.md-root .md-diff-list dt{font-weight:700;margin-top:.7rem}.md-root .md-diff-list dd{margin:.25rem 0 .7rem}.md-root progress{width:100%;height:20px;accent-color:var(--md-accent)}.md-root .md-panel h4{overflow-wrap:anywhere}.md-root caption{text-align:left;font-weight:700;padding:.8rem}.md-root .md-actions>*{min-width:0;max-width:100%}.md-root .md-dialog-header>h2{min-width:0;overflow-wrap:anywhere}.md-root .md-dialog-header>.md-button{flex-shrink:0}.md-root .md-technical code{overflow-wrap:anywhere}

.md-root .md-conflict-values{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.md-root .md-conflict-values pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}@media(max-width:600px){.md-root .md-conflict-values{grid-template-columns:1fr}}
/* 0.4: purchase and release workflows share the mobile-first component system. */
.md-purchase-cards { display: grid; gap: 1rem; }
.md-purchase-heading { display: grid; gap: .75rem; margin-bottom: 1rem; }
.md-purchase-steps { display: grid; gap: .5rem; list-style: none; padding: 0; margin: 1rem 0; }
.md-purchase-steps li { border: 1px solid #d3dfda; border-radius: .6rem; padding: .75rem; }
.md-key-values { display: grid; gap: .65rem; margin: 1rem 0; }
.md-key-value { display: grid; gap: .25rem; border-bottom: 1px solid #d3dfda; padding-bottom: .65rem; }
.md-key-value dt { font-size: .85rem; font-weight: 650; }
.md-key-value dd { margin: 0; overflow-wrap: anywhere; }
.md-commerce-line, .md-commerce-event { padding: .75rem 0; border-bottom: 1px solid #d3dfda; overflow-wrap: anywhere; }
.md-commerce-line h4, .md-commerce-event p { margin: .4rem 0; }
.md-release-compare { display: grid; gap: 1rem; }
.md-release-compare > section { min-width: 0; overflow-wrap: anywhere; }
@media (min-width: 680px) {
  .md-purchase-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md-key-value { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
  .md-release-compare { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* 0.5: explicit geocoding and radius search. Address queries are never autocomplete. */
.md-radius-filter{grid-column:1/-1;display:grid;gap:.75rem;padding:1rem;border:1px solid var(--md-border);border-radius:12px;background:#fff}
.md-geocode-results{display:grid;gap:.6rem}.md-geocode-choice{width:100%;justify-content:flex-start;text-align:left}
.md-geocode-editor{padding:.85rem;border:1px dashed #b9ccc2;border-radius:10px;background:var(--md-soft);margin:.75rem 0}
@media(min-width:680px){.md-radius-filter{grid-template-columns:minmax(0,2fr) minmax(120px,.7fr);align-items:end}.md-radius-filter>.md-actions,.md-radius-filter>.md-message{grid-column:1/-1}}
/* 1.0 RC: commerce/admin polish without changing the mobile-first layout. */
.md-plan-price{font-weight:800;font-size:1.05rem;margin:.25rem 0;color:var(--md-ink)}
.md-product-results{display:grid;gap:.5rem;margin:.5rem 0}.md-product-result{display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:.65rem;border:1px solid var(--md-border);border-radius:10px;background:var(--md-soft)}
.md-selected-product{padding:.6rem .75rem;border:1px solid var(--md-border);border-radius:10px;background:#fff}.md-selected-product p{margin:0}
.md-admin-map-preview{height:clamp(260px,42dvh,440px)}
