.panel[data-v-52e961ec]{display:grid;gap:.8rem}.panel-header h2[data-v-52e961ec]{margin:0;font-size:1rem}.panel-header p[data-v-52e961ec]{margin:.3rem 0 0;color:#516776;font-size:.9rem}.rows[data-v-52e961ec]{display:grid;gap:.7rem}.row[data-v-52e961ec]{border:1px solid #d1dae0;border-radius:10px;padding:.6rem;background:#fbfcfd}.point-button[data-v-52e961ec]{border:1px solid #8fa1ad;border-radius:8px;background:#fff;color:#274353;font-weight:600;padding:.35rem .6rem}.point-button.active[data-v-52e961ec]{background:#274353;color:#fff}.fields[data-v-52e961ec]{margin-top:.5rem;display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr))}label[data-v-52e961ec]{display:grid;gap:.2rem;color:#415a68;font-size:.84rem}input[data-v-52e961ec]{border:1px solid #bdc8d0;border-radius:6px;padding:.4rem .45rem}.actions[data-v-52e961ec]{display:grid;gap:.45rem}.primary[data-v-52e961ec]{border:none;border-radius:8px;background:#124559;color:#fff;padding:.55rem .9rem;font-weight:600}.message[data-v-52e961ec]{margin:0;color:#365a6e;font-size:.86rem}.map-canvas-shell[data-v-1e7123ca]{width:100%}.map-canvas-wrap[data-v-1e7123ca]{position:relative}.map-canvas[data-v-1e7123ca]{display:block;width:100%;border-radius:14px;border:1px solid #cad2d8;background:#e6ecef;touch-action:none}.map-canvas.pannable[data-v-1e7123ca]{cursor:grab}.map-canvas.dragging[data-v-1e7123ca]{cursor:grabbing}.map-canvas.selectable[data-v-1e7123ca]{cursor:crosshair}.interaction-controls[data-v-1e7123ca]{position:absolute;top:.65rem;left:.65rem;display:flex;gap:.35rem}.mode-button[data-v-1e7123ca]{border:1px solid #6e8694;border-radius:8px;background:#fffffff2;color:#153547;min-width:3.5rem;height:2.1rem;font-weight:700;cursor:pointer}.mode-button.active[data-v-1e7123ca]{border-color:#124559;background:#124559;color:#fff}.mode-button[data-v-1e7123ca]:disabled{opacity:.45;cursor:default}.zoom-controls[data-v-1e7123ca]{position:absolute;top:.65rem;right:.65rem;display:flex;gap:.35rem}.zoom-button[data-v-1e7123ca]{border:1px solid #6e8694;border-radius:8px;background:#fffffff2;color:#153547;min-width:2.2rem;height:2.1rem;font-weight:700;cursor:pointer}.zoom-level[data-v-1e7123ca]{min-width:3.6rem;font-size:.83rem}.zoom-button[data-v-1e7123ca]:disabled{opacity:.45;cursor:default}.map-caption[data-v-1e7123ca]{margin-top:.4rem;color:#415a68;font-size:.92rem}.map-manager[data-v-2da56e94]{display:grid;gap:.65rem}h2[data-v-2da56e94]{margin:0;font-size:1rem}label[data-v-2da56e94]{display:grid;gap:.25rem;color:#334b59;font-size:.87rem}select[data-v-2da56e94],input[data-v-2da56e94],button[data-v-2da56e94]{border-radius:8px;border:1px solid #bac8d1;padding:.52rem .6rem;font-size:.9rem}.file-field[data-v-2da56e94]{display:block;border:1px dashed #7f99a8;border-radius:10px;padding:.6rem;cursor:pointer;background:#f9fbfc}.file-field.disabled[data-v-2da56e94]{opacity:.5;cursor:not-allowed}.file-field input[data-v-2da56e94]{width:100%;border:none;padding:0}.download-group[data-v-2da56e94]{display:grid;grid-template-columns:1fr auto;gap:.45rem}.secondary[data-v-2da56e94]{background:#fff;color:#1f3f57;font-weight:600}.hint[data-v-2da56e94]{margin:0;color:#7d5130;font-size:.83rem}.offline-map[data-v-2da56e94]{color:#425b69}.photo-capture[data-v-e4f5feae]{display:grid;gap:.6rem}.source-section[data-v-e4f5feae]{display:grid;gap:.4rem}.source-title[data-v-e4f5feae]{margin:0;font-size:.84rem;font-weight:700;color:#2b4556;text-transform:uppercase;letter-spacing:.04em}.source-actions[data-v-e4f5feae]{display:grid;gap:.45rem}.location-mode[data-v-e4f5feae]{display:grid;gap:.35rem}.mode-option[data-v-e4f5feae]{display:flex;align-items:center;gap:.5rem;color:#2c4758;font-size:.9rem}.mode-option.disabled[data-v-e4f5feae]{color:#92a3af}h2[data-v-e4f5feae]{margin:0;font-size:1rem}p[data-v-e4f5feae]{margin:0;color:#4d6575;font-size:.9rem}.capture-label[data-v-e4f5feae]{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:.6rem .8rem;font-weight:700;color:#fff;background:#345995;cursor:pointer}.capture-label.camera[data-v-e4f5feae]{background:#345995}.capture-label.local[data-v-e4f5feae]{background:#2a7f62}.capture-label.disabled[data-v-e4f5feae]{opacity:.5;cursor:not-allowed}.capture-label input[data-v-e4f5feae]{display:none}.hint[data-v-e4f5feae]{font-size:.85rem;color:#6a7c88}.map-point[data-v-e4f5feae]{margin-top:-.1rem}.tracking-controls[data-v-2fe1b0ed]{display:grid;gap:.55rem}h2[data-v-2fe1b0ed]{margin:0;font-size:1rem}p[data-v-2fe1b0ed]{margin:0;color:#4d6575;font-size:.9rem}.actions[data-v-2fe1b0ed]{display:grid;gap:.45rem;grid-template-columns:1fr 1fr}button[data-v-2fe1b0ed]{border-radius:8px;padding:.55rem .5rem;font-weight:600}.primary[data-v-2fe1b0ed]{border:none;color:#fff;background:#146356}.secondary[data-v-2fe1b0ed]{border:1px solid #a3b5bf;color:#233a4b;background:#fff}.status[data-v-2fe1b0ed]{font-size:.86rem}.status.active[data-v-2fe1b0ed]{color:#146356;font-weight:700}.route-panel[data-v-95d4ec81]{display:grid;gap:.55rem}.route-panel h2[data-v-95d4ec81]{margin:0;font-size:1rem}.route-help[data-v-95d4ec81]{margin:0;color:#4d6575;font-size:.9rem}.route-label[data-v-95d4ec81]{display:grid;gap:.25rem;color:#334b59;font-size:.87rem}.route-label input[type=text][data-v-95d4ec81]{border-radius:8px;border:1px solid #bac8d1;padding:.5rem .6rem}.route-label.color[data-v-95d4ec81]{max-width:10rem}.route-label input[type=color][data-v-95d4ec81]{border-radius:8px;border:1px solid #bac8d1;width:3rem;height:2rem;padding:.15rem;background:#fff}.route-actions[data-v-95d4ec81]{display:flex;flex-wrap:wrap;gap:.45rem}.route-actions button[data-v-95d4ec81]{border:none;border-radius:8px;background:#124559;color:#fff;padding:.5rem .8rem;font-weight:700}.route-actions button.secondary[data-v-95d4ec81]{background:#4b6575}.route-actions button[data-v-95d4ec81]:disabled{opacity:.55}.route-list[data-v-95d4ec81]{margin:0;padding:0;list-style:none;display:grid;gap:.3rem}.route-list li[data-v-95d4ec81]{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.45rem;font-size:.84rem;color:#334b59}.route-color-dot[data-v-95d4ec81]{width:.8rem;height:.8rem;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.route-list small[data-v-95d4ec81]{color:#6e8390;font-size:.76rem}.route-delete[data-v-95d4ec81]{border:none;border-radius:7px;background:#b63a2d;color:#fff;padding:.32rem .62rem;font-size:.75rem;font-weight:700}.route-delete[data-v-95d4ec81]:disabled{opacity:.55}.comment-panel[data-v-95d4ec81]{display:grid;gap:.55rem}.comment-panel h2[data-v-95d4ec81]{margin:0;font-size:1rem}.comment-mode[data-v-95d4ec81]{display:grid;gap:.35rem}.comment-mode label[data-v-95d4ec81]{display:flex;align-items:center;gap:.5rem;color:#2c4758;font-size:.9rem}.comment-mode label.disabled[data-v-95d4ec81]{color:#92a3af}.comment-panel textarea[data-v-95d4ec81]{width:100%;border-radius:8px;border:1px solid #bac8d1;padding:.55rem .65rem;resize:vertical;min-height:5.2rem}.comment-dialog[data-v-95d4ec81]{width:min(720px,100%)}.comment-preview-panel[data-v-95d4ec81]{border:1px solid #ced8df;border-radius:10px;background:#f8fcff;padding:.6rem;display:grid;gap:.4rem}.comment-preview-text[data-v-95d4ec81]{margin:0;color:#1f3948;font-size:.94rem;line-height:1.4;white-space:pre-wrap}.comment-preview-meta[data-v-95d4ec81]{display:grid;gap:.18rem;color:#56707e;font-size:.78rem}.comment-edit-label[data-v-95d4ec81]{display:grid;gap:.35rem;color:#334b59;font-size:.82rem}.comment-edit-label textarea[data-v-95d4ec81]{width:100%;border-radius:8px;border:1px solid #bac8d1;padding:.55rem .65rem;resize:vertical;min-height:6rem}.comment-preview-actions[data-v-95d4ec81]{display:flex;flex-wrap:wrap;gap:.45rem}.comment-preview-actions button[data-v-95d4ec81]{border:none;border-radius:8px;background:#124559;color:#fff;padding:.42rem .75rem;font-weight:700}.comment-preview-actions button.secondary[data-v-95d4ec81]{background:#4b6575}.comment-preview-actions button.danger[data-v-95d4ec81]{background:#b63a2d}.comment-preview-actions button[data-v-95d4ec81]:disabled{opacity:.55}.comment-list[data-v-95d4ec81]{margin-top:.7rem;display:grid;gap:.45rem;max-height:min(34vh,280px);overflow:auto}.comment-card[data-v-95d4ec81]{border:1px solid #d2dbe1;border-radius:10px;padding:.5rem .6rem;background:#f9fcff;display:grid;gap:.25rem;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.comment-card[data-v-95d4ec81]:hover{border-color:#8ca3b1}.comment-card[data-v-95d4ec81]:disabled{opacity:.6;cursor:default}.comment-card.active[data-v-95d4ec81]{border-color:#124559;box-shadow:0 0 0 2px #12455933}.comment-card-text[data-v-95d4ec81]{color:#2e4756;font-size:.84rem;line-height:1.35;white-space:pre-wrap}.comment-card-time[data-v-95d4ec81]{color:#56707e;font-size:.74rem}.marker-choice-dialog[data-v-95d4ec81]{width:min(460px,100%)}.marker-choice-help[data-v-95d4ec81]{margin:0;color:#3f5968;font-size:.9rem}.marker-choice-actions[data-v-95d4ec81]{margin-top:.75rem;display:grid;gap:.55rem}.marker-choice-actions button[data-v-95d4ec81]{border:none;border-radius:8px;background:#124559;color:#fff;padding:.58rem .8rem;font-weight:700}.marker-choice-actions button[data-v-95d4ec81]:disabled{opacity:.55}:root{color-scheme:light;--page-bg: #f0f4f7;--panel-bg: #ffffff;--text-main: #122734;--text-muted: #4f6470;--accent: #124559;--accent-soft: #3f6f87;--border: #c4d2db;--shadow: 0 8px 24px rgba(18, 44, 60, .08)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;font-family:Segoe UI,Trebuchet MS,sans-serif;color:var(--text-main);background:radial-gradient(circle at 10% 10%,#ebf5f7 0%,var(--page-bg) 35%,#dde9ef 100%)}button,input,select{font:inherit}.app-shell{max-width:1440px;margin:0 auto;padding:.8rem}.app-header{background:linear-gradient(120deg,#124559,#1e5f78);color:#fff;border-radius:16px;padding:.95rem 1rem;display:grid;gap:.45rem;box-shadow:var(--shadow)}.app-header h1{margin:0;font-size:clamp(1.2rem,2vw,1.6rem)}.header-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.88rem}.app-main{margin-top:.85rem;display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr)}.map-section,.control-section{background:var(--panel-bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.map-section{padding:.75rem}.control-section{display:grid;gap:.75rem;padding:.8rem;align-content:start}.panel{border:1px solid #d2dbe1;border-radius:12px;background:#fff;padding:.72rem}.sync-panel{display:grid;gap:.5rem}.sync-panel h2{margin:0;font-size:1rem}.sync-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sync-actions button{border:none;border-radius:8px;background:var(--accent);color:#fff;padding:.52rem .8rem;font-weight:700}.sync-state{margin:0;color:var(--text-muted);font-size:.86rem}.photo-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:#0a171f8c}.photo-dialog{width:min(920px,100%);max-height:min(84vh,820px);overflow:auto;border-radius:14px;border:1px solid var(--border);background:#fff;box-shadow:0 22px 58px #0a182359;padding:.9rem}.photo-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.75rem}.photo-dialog-header h2{margin:0;font-size:1rem}.photo-dialog-close{border:none;border-radius:8px;background:#124559;color:#fff;font-weight:700;padding:.45rem .8rem;cursor:pointer}.photo-thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.7rem}.photo-preview-panel{margin-bottom:.8rem;border:1px solid #ced8df;border-radius:10px;padding:.45rem;background:#f8fcff}.photo-preview-image{display:block;width:100%;height:clamp(180px,38vh,420px);object-fit:contain;border-radius:8px;border:1px solid #d9e4ea;background:#edf3f7}.photo-preview-meta{margin-top:.35rem;display:grid;gap:.15rem}.photo-preview-meta strong,.photo-preview-meta span{font-size:.8rem;line-height:1.3;color:#28414f}.photo-preview-meta span{color:#56707e}.photo-delete-button{width:fit-content;border:none;border-radius:8px;background:#b63a2d;color:#fff;font-weight:700;padding:.42rem .72rem;cursor:pointer}.photo-delete-button:disabled{opacity:.6;cursor:default}.photo-thumbnail-card{margin:0;border:1px solid #d2dbe1;border-radius:10px;padding:.35rem;background:#f9fcff;display:grid;gap:.3rem;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.photo-thumbnail-card:hover{border-color:#8ca3b1}.photo-thumbnail-card.active{border-color:#124559;box-shadow:0 0 0 2px #12455933}.photo-thumbnail-card img{display:block;width:100%;height:110px;object-fit:cover;border-radius:8px;border:1px solid #d9e4ea;background:#eef3f6}.photo-thumbnail-card figcaption{margin-top:.35rem;display:grid;gap:.2rem}.photo-thumbnail-name,.photo-thumbnail-time{display:block;font-size:.75rem;color:#2e4756;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.photo-thumbnail-name{white-space:nowrap;font-weight:600}.photo-thumbnail-time{white-space:normal;color:#56707e}@media (min-width: 900px){.app-shell{padding:1rem}.app-main{grid-template-columns:minmax(0,1fr) 380px;align-items:start}.control-section{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}}@media (max-width: 899px){.app-shell{padding:.55rem}.app-main{margin-bottom:4.5rem}.control-section{gap:.65rem}.photo-dialog{max-height:88vh;padding:.7rem}}@media (max-width: 600px){.app-header{padding-bottom:.9rem}.header-meta{font-size:.82rem}.control-section{gap:.55rem}.panel{padding:.62rem}button,input,select{min-height:44px}}@media (min-width: 1200px){.app-main{grid-template-columns:minmax(0,1fr) 420px}.map-section{min-height:70vh}}
