:root{--bf-bg: #00c624;--bf-color: #ffffff;--bf-radius: 4px;--bf-border-width: 1px;--bf-border-color: rgba(0,0,0,.08);--bf-padding: 8px 12px;--bf-font-size: 14px;--bf-width: auto;--bf-height: auto;--bf-hover-bg: #006a29;--bf-shadow-color: rgba(0, 255, 110, .358);--bf-shadow-style: none}.bf-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--bf-bg);color:var(--bf-color);border-radius:var(--bf-radius);padding:var(--bf-padding);font-size:var(--bf-font-size);width:var(--bf-width);height:var(--bf-height);border:var(--bf-outline, var(--bf-border-width) solid var(--bf-border-color));cursor:pointer;transition:transform .16s ease,box-shadow .18s ease,background-color .16s ease,opacity .12s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.bf-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.bf-button:hover:not(:disabled){transform:translateY(-1px);background-color:var(--bf-hover-bg);color:var(--bf-hover-text-color, var(--bf-color))}.bf-button--outlined{background:transparent;color:var(--bf-border-color, var(--bf-bg))}.bf-button--shadow-soft{box-shadow:0 6px 18px #0000001f}.bf-button--shadow-strong{box-shadow:0 10px 30px #0000002e}.bf-button--shadow-soft{box-shadow:0 6px 18px var(--bf-shadow-color)}.bf-button--shadow-strong{box-shadow:0 10px 30px var(--bf-shadow-color)}.bf-btn-small{--bf-padding: 6px 10px;--bf-font-size: 13px }.bf-btn-large{--bf-padding: 12px 18px;--bf-font-size: 16px }.bf-btn-ghost{background:transparent;border-color:transparent;color:var(--bf-bg)}.bf-btn-medium{--bf-bg: #ffffff;--bf-color: #006a29;--bf-hover-bg: #006a29;--bf-hover-text-color: #ffffff;--bf-outline: 1px solid #00c624;--bf-padding: 9px 14px;--bf-font-size: 15px}.bf-btn-low{--bf-bg: #ffffff;--bf-color: #006a29;--bf-hover-bg: #006a29;--bf-hover-text-color: #ffffff;--bf-outline: none;--bf-padding: 9px 14px;--bf-font-size: 15px}.bf-btn-high{--bf-padding: 10px 16px;--bf-font-size: 15px;--bf-shadow-style: strong;--bf-shadow-color: rgba(0,198,36,.12)}.bf-button:focus{outline:none;box-shadow:0 0 0 3px #1976d21f}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;margin:20px}.app header{display:flex;justify-content:space-between;align-items:center}.controls{margin:12px 0}.card{border:1px solid #ddd;padding:12px;border-radius:6px;max-width:720px}.form,.comments{margin-top:8px}.comment{border-top:1px solid #eee;padding-top:8px;margin-top:8px}.status{margin-left:12px;color:#666}.map-container{margin-top:12px}.spinner{display:inline-block;width:18px;height:18px;border:3px solid rgba(0,0,0,.2);border-top-color:#000000b3;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-left:8px}@keyframes spin{to{transform:rotate(360deg)}}.controls button[disabled]{opacity:.6;cursor:not-allowed}.map-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffd9;z-index:999;pointer-events:none}.map-overlay .spinner{width:36px;height:36px;border-width:4px}.map-wrapper{--map-overlay-bg: rgba(255,255,255,.85);--map-overlay-text: #333;--map-overlay-muted: #666;--map-border: #ccc}.map-theme-dark{--map-overlay-bg: rgba(10,12,18,.88);--map-overlay-text: #dfe6f0;--map-overlay-muted: #9aa4b2;--map-border: #1f2430}.map-wrapper{border-color:var(--map-border)}.map-wrapper .map-overlay{background:var(--map-overlay-bg)}.map-wrapper .map-overlay div{color:var(--map-overlay-text)}.map-wrapper .map-overlay .spinner{border-top-color:#000000b3}.map-theme-dark .map-overlay .spinner{border-top-color:#cbd6ee}.places-panel{background:#fff;border-radius:8px;box-shadow:0 6px 18px #0000001f;padding:8px;margin-top:8px;max-width:720px}.places-list{max-height:320px;overflow:auto}.places-item{display:flex;justify-content:space-between;padding:8px;align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer}.places-item:hover{background:#f7f9fb}.places-name{font-weight:500}.places-distance{color:#666;font-size:.9em;margin-left:12px}.map-theme-dark .places-panel{background:#16202b;color:#dfe6f0;box-shadow:0 6px 18px #00000080}.map-theme-dark .places-item{border-bottom-color:#ffffff0a}.map-theme-dark .places-item:hover{background:#ffffff05}.map-theme-dark .places-distance{color:#9aa4b2}.global-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000085;z-index:4000;display:flex;align-items:center;justify-content:center;pointer-events:auto}.global-loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 22px}.global-loading-overlay .spinner{width:48px;height:48px;border-width:5px;border-color:#ffffff2e;border-top-color:#fff}.filters-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;display:flex;align-items:center;justify-content:center;pointer-events:auto}.filters-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008a;opacity:0;transition:opacity .5s ease}.filters-dialog{position:relative;background:#fff;padding:18px;border-radius:12px;width:min(480px,94%);max-width:94%;max-height:86vh;box-sizing:border-box;overflow-y:auto;box-shadow:0 10px 40px #0000004d;opacity:0;transform:translateY(-8px) scale(.98);transition:opacity .5s ease,transform .5s ease}.filters-overlay[data-open=true] .filters-backdrop{opacity:1}.filters-overlay[data-open=true] .filters-dialog{opacity:1;transform:translateY(0) scale(1)}.filters-overlay[data-open=false]{pointer-events:none}input[type=checkbox]{accent-color:var(--bf-bg, #00c624);width:18px;height:18px;cursor:pointer}label input[type=checkbox]{margin-left:6px}.bf-select{border:1px solid #cfcfcf;border-radius:6px;background:#fff;color:inherit;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .18s ease}.bf-select:hover,.bf-select:focus{background-color:var(--bf-bg, #00c624);color:#fff;border-color:var(--bf-bg, #003b0b);box-shadow:0 6px 18px #00000014;outline:none}.bf-select option{background:#fff;color:inherit}.bf-select option:checked,.bf-select option:focus{background:var(--bf-bg, #00c624);color:#fff}.bf-select option:hover{background:var(--bf-bg, #00c624);color:#fff}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:160px;height:14px;background:transparent;vertical-align:middle}input[type=range]::-webkit-slider-runnable-track{height:6px;background:#00000014;border-radius:999px;box-shadow:inset 0 1px 2px #0000000f}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:var(--bf-bg, #00c624);border:2px solid #fff;box-shadow:0 2px 6px #0000001f;cursor:pointer}input[type=range]:hover::-webkit-slider-runnable-track,input[type=range]:focus::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--bf-bg, #00c624) 0%,var(--bf-bg, #00c624) 50%,rgba(0,0,0,.08) 50%)}input[type=range]::-moz-range-track{height:6px;background:#00000014;border-radius:999px}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--bf-bg, #00c624);border:2px solid #fff;box-shadow:0 2px 6px #0000001f}
