:root{--app-bg:#fff;--app-text:#111;--btn-bg:#f3f3f3;--btn-text:#111;--btn-border:#ccc;--btn-active-bg:#111;--btn-active-text:#fff;--bg-sat:1;--wallpaper-boost:1}:root[data-theme=telegram]{--app-bg:#e6f4ea;--app-text:#0f1f14;--btn-active-bg:#1f7a3a;--btn-active-text:#fff}:root[data-theme=ocean]{--app-bg:#e8f3ff;--app-text:#0b1b2a;--btn-active-bg:#1a5fb4;--btn-active-text:#fff}:root[data-theme=grayDark]{--app-bg:#2b2f34;--app-text:#f0f2f4;--btn-bg:#3a4047;--btn-text:#f0f2f4;--btn-border:#5a646e;--btn-active-bg:#9aa6b2;--btn-active-text:#111;--wallpaper-boost:.75}:root[data-theme=dark]{--app-bg:#0b0d10;--app-text:#f5f7fa;--btn-bg:#141820;--btn-text:#f5f7fa;--btn-border:#2b3340;--btn-active-bg:#3d7cff;--btn-active-text:#fff;--wallpaper-boost:.45}html,body{height:100%}body{background:var(--app-bg);min-height:100vh;color:var(--app-text);margin:0;padding:16px;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(900px 700px at 50% 0%, rgba(255,255,255, calc(var(--bg-sat) * .55 * var(--wallpaper-boost))), transparent 65%), radial-gradient(900px 700px at 50% 100%, rgba(255,255,255, calc(var(--bg-sat) * .4 * var(--wallpaper-boost))), transparent 70%), radial-gradient(800px 700px at 50% 55%, rgba(0,0,0, calc(var(--bg-sat) * .16 * var(--wallpaper-boost))), transparent 60%), linear-gradient(180deg, rgba(255,255,255, calc(var(--bg-sat) * .22 * var(--wallpaper-boost))) 0%, rgba(0,0,0, calc(var(--bg-sat) * .1 * var(--wallpaper-boost))) 50%, rgba(255,255,255, calc(var(--bg-sat) * .18 * var(--wallpaper-boost))) 100%);position:fixed;inset:-30vh -30vw}#app{max-width:980px}button{background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);cursor:pointer;border-radius:8px;padding:6px 10px}button.active{background:var(--btn-active-bg);color:var(--btn-active-text)}input,select{color:#111;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:8px;padding:6px 10px}.muted{opacity:.7}#list .selected{font-weight:700}.inactive{opacity:.5;text-decoration:line-through}#list{margin:0;padding-left:28px}#list li{margin:12px 0;list-style-position:outside}.placeRow{background:#ffffff1a;border:2px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.placeRow.selected{background:#0000000f;border-color:#000000bf}:root[data-theme=dark] .placeRow.selected,:root[data-theme=grayDark] .placeRow.selected{border-color:#fffc}:root[data-theme=dark] #list li::marker{color:#f2f2f2;font-weight:700}:root[data-theme=grayDark] #list li::marker{color:#f2f2f2;font-weight:700}.placeItem{background:#ffffff1a;border:2px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.placeItem.selected{background:#0000000f;border-color:#000000bf}:root[data-theme=dark] .placeItem,:root[data-theme=grayDark] .placeItem{background:#ffffff0f}:root[data-theme=dark] .placeItem.selected,:root[data-theme=grayDark] .placeItem.selected{border-color:#fffc}.placeThumb{object-fit:cover;border-radius:10px;flex:none;width:40px;height:40px}.placeTitle{font-size:18px}.paginationBlock{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:14px;margin-top:18px;display:flex}.pagination{align-items:center;gap:6px;display:inline-flex}.pagination button.active{outline:2px solid #00000040}.danger{color:#fff;background:#b00020;border:1px solid #b00020}#btnAdminConfirmClearAll{font-weight:700}.listHeader{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.listActions{align-items:center;gap:8px;display:inline-flex}.formLabel{display:block}.inputWide{width:100%;margin-top:6px}textarea.inputWide{resize:vertical}.photoRow{align-items:center;gap:14px;margin-top:10px;display:flex}.charCounter{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:4px;font-size:12px;overflow:hidden}.photoPreview{object-fit:cover;background:#0000000f;border:1px solid #0000002e;border-radius:12px;width:160px;height:100px}:root[data-theme=dark] .photoPreview,:root[data-theme=grayDark] .photoPreview{background:#ffffff0f;border-color:#ffffff2e}.filterInline,.sortInline{background:#ffffff40;border:1px solid #bbb;border-radius:8px;align-items:center;gap:6px;padding:4px 6px;display:inline-flex}.filterInline button,.sortInline button{padding:2px 8px;line-height:1}.sortInlineTitle{opacity:.75;font-size:12px;line-height:1}:root[data-theme=dark] .filterInline,:root[data-theme=grayDark] .filterInline,:root[data-theme=dark] .sortInline,:root[data-theme=grayDark] .sortInline{background:#ffffff1f;border-color:#666}.mapModal{z-index:9999;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.mapModal.hidden{display:none}.mapModalContent{background:#fff;border-radius:14px;width:100%;max-width:calc(1100vw - 24px);overflow:hidden;box-shadow:0 10px 30px #0000004d}.mapContainer{background:#eaeaea;border:1px solid #ccc;border-radius:10px;width:98%;height:520px;margin:0 auto}.mapModalHeader{border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}textarea{resize:vertical;overflow:auto}.hidden{display:none;display:none!important}#mapModal .mapModalTitle,#mapModal .mapModalHint{color:#111}.editError{white-space:pre-wrap;color:#b00020;opacity:1;background:#b0002024;border:2px solid #b0002073;border-radius:12px;margin:10px 0;padding:12px 14px;font-size:18px;font-weight:800;line-height:1.25}:root[data-theme=dark] .editError,:root[data-theme=grayDark] .editError{background:#fffdfd;border-color:#ff002f8c}#btnOpenAdmin{color:inherit;background:#00000026;border:1px solid #ffffff40;border-radius:999px;padding:6px 10px!important}#btnOpenAdmin:hover{background:#00000040;border-color:#ffffff59}.placeText{flex-direction:column;gap:2px;display:flex}.placeMeta{opacity:.75;word-break:break-all;font-size:12px}.serverStatus{background:#b41e1e1f;border:1px solid #b41e1e40;border-radius:12px;margin:10px 0 6px;padding:10px 12px;font-size:13px;line-height:1.35}.server-status{pointer-events:none}.inlineStatus{background:#b41e1e1f;border:1px solid #b41e1e40;border-radius:10px;padding:6px 8px;font-size:12px;line-height:1.2}.inlineStatus.ok,.serverStatus.ok{background:#1e8c1e1f;border:1px solid #1e8c1e40}
