.trip-builder{z-index:1100;background:var(--surface,#fff);border:1px solid #0000001f;border-radius:10px;flex-direction:column;width:min(480px,100vw - 16px);font-size:.9rem;display:flex;position:fixed;bottom:8px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}.trip-builder-handle{background:var(--surface-strong,#f5f5f5);-webkit-user-select:none;user-select:none;grid-template-columns:32px 1fr 32px;align-items:center;padding:.5rem;display:grid}.trip-builder-handle-summary{text-align:center;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;font-weight:600;overflow:hidden}.trip-builder-close{cursor:pointer;color:#0000008c;background:0 0;border:none;border-radius:4px;justify-self:end;padding:.2rem .4rem;font-size:1.1rem;line-height:1}.trip-builder-close:hover{color:#dc3545;background:#0000000f}.trip-builder-close.confirming{color:#dc3545;padding:.2rem .4rem;font-size:.72rem;font-weight:700}.trip-builder-toggle{cursor:pointer;color:#0009;background:0 0;border:none;border-radius:4px;justify-self:start;padding:.2rem .4rem;font-size:1rem;line-height:1}.trip-builder-toggle:hover{background:#0000000f}.trip-builder-body{border-top:1px solid #0000000f;max-height:min(50vh,360px);padding:.75rem;overflow-y:auto}.trip-name-input{background:#fff;border:1px solid #00000026;border-radius:4px;width:100%;margin-bottom:.5rem;padding:.4rem .5rem;font-size:1rem}.trip-stops-list{flex-direction:column;gap:.25rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.trip-stop-row{background:var(--surface-strong,#f5f5f5);border-radius:4px;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.trip-stop-position{background:var(--accent,#2d6a4f);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:inline-flex}.trip-stop-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.trip-stop-actions{gap:.25rem;display:flex}.trip-stop-action-btn{cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:4px;padding:.15rem .4rem;font-size:.85rem}.trip-stop-action-btn:disabled{opacity:.4;cursor:not-allowed}.trip-stop-remove-btn{color:#dc3545;cursor:pointer;background:#fff;border:1px solid #dc354566;border-radius:4px;padding:.15rem .5rem;font-size:.85rem}.trip-builder-limit-hint{color:#0000008c;margin:0 0 .5rem;font-size:.78rem}.trip-builder-warning{background:#ffc1071f;border:1px solid #ffc10766;border-radius:4px;margin:.5rem 0;padding:.4rem .5rem;font-size:.85rem}.trip-builder-actions-primary{border-top:1px solid #0000000f;align-items:stretch;gap:.5rem;padding-top:.5rem;display:flex}.trip-builder-actions-primary button,.trip-builder-actions-primary a{text-align:center;background:var(--accent,#2d6a4f);color:#fff;border:1px solid var(--accent,#2d6a4f);cursor:pointer;border-radius:4px;flex:1;justify-content:center;align-items:center;padding:.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.trip-builder-actions-primary button:disabled,.trip-builder-actions-primary a.disabled,.trip-builder-actions-primary a[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.trip-builder-toggles{flex-wrap:wrap;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.trip-builder-checkbox{align-items:center;gap:.3rem;font-size:.85rem;display:flex}.trip-stop-icon{background:0 0;border:none}.trip-stop-marker{color:#fff;background:#2d6a4f;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 1px 4px #0006}.my-trips-overlay{z-index:1200;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.my-trips-modal{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:640px;max-height:80vh;display:flex;box-shadow:0 8px 32px #0000003d}.my-trips-header{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.my-trips-header h2{margin:0;font-size:1.1rem}.my-trips-close-btn{cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.5rem;line-height:1}.my-trips-body{flex:1;padding:.75rem 1rem;overflow-y:auto}.my-trips-actions-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.my-trips-actions-row button{cursor:pointer;background:#fff;border:1px solid #00000026;border-radius:4px;padding:.4rem .75rem}.my-trips-actions-row button.primary{background:var(--accent,#2d6a4f);color:#fff;border-color:var(--accent,#2d6a4f)}.my-trips-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.my-trips-row{background:#f7f7f7;border-radius:4px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.my-trips-row-info{flex-direction:column;display:flex}.my-trips-row-name{font-weight:600}.my-trips-row-meta{color:#0000008c;font-size:.8rem}.my-trips-row-actions{flex-wrap:wrap;gap:.25rem;display:flex}.my-trips-row-actions button{cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:4px;padding:.2rem .5rem;font-size:.8rem}.my-trips-row-actions button.danger{color:#dc3545;border-color:#dc354566}.my-trips-empty{color:#0000008c;padding:.75rem 0;font-style:italic}.my-trips-anon-hint{color:#33691e;background:#f1f8e9;border-radius:6px;margin:0 0 .75rem;padding:.5rem .75rem;font-size:.85rem}.my-trips-section-heading{margin:.75rem 0 .4rem;font-size:.95rem;font-weight:700}.my-trips-error{color:#dc3545;background:#dc354514;border:1px solid #dc35454d;border-radius:4px;margin-bottom:.5rem;padding:.4rem .6rem}.my-valley-overlay{z-index:10001;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.my-valley-modal{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:640px;height:80vh;display:flex;box-shadow:0 8px 32px #0000003d}.my-valley-header{border-bottom:1px solid #00000014;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.my-valley-header h2{margin:0;font-size:1.1rem}.my-valley-close-btn{cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.5rem;line-height:1}.my-valley-progress{flex-shrink:0;padding:.75rem 1rem .25rem}.my-valley-progress-label{margin-bottom:.4rem;font-size:.9rem}.my-valley-progress-label strong{color:#2e7d32;font-size:1.1rem}.my-valley-progress-track{background:#e8ede9;border-radius:6px;height:10px;overflow:hidden}.my-valley-progress-fill{background:#2e7d32;border-radius:6px;height:100%;transition:width .3s}.my-valley-nudge{color:#33691e;background:#f1f8e9;border-radius:6px;flex-shrink:0;margin:.5rem 1rem 0;padding:.5rem .75rem;font-size:.85rem}.my-valley-modal .settings-tabs{flex-shrink:0;padding:.5rem 1rem 0}@media (width<=768px){.my-valley-modal .settings-tabs{flex-wrap:wrap;overflow:visible}.my-valley-row-name,.my-valley-detail-name{font-size:.9rem}.my-valley-row{padding:.5rem .6rem}}.my-valley-body{flex:1;padding:.75rem 1rem 1rem;overflow-y:auto}.my-valley-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.my-valley-row{background:#f7f7f7;border-radius:4px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.my-valley-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.my-valley-remove-btn{cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:4px;flex-shrink:0;padding:.2rem .5rem;font-size:.8rem}.my-valley-empty{color:#0009;padding:.75rem 0}.my-valley-empty strong{margin-bottom:.25rem;display:block}.my-valley-empty p{margin:0 0 .5rem;font-size:.88rem}.my-valley-hint{color:#0000008c;font-style:italic}.my-valley-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.my-valley-sort{color:#0009;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.my-valley-sort select{background:#fff;border:1px solid #00000026;border-radius:4px;padding:.2rem .4rem;font-size:.82rem}.my-valley-type-filter{flex-wrap:wrap;gap:.3rem;display:flex}.my-valley-chip{cursor:pointer;background:#fff;border:1px solid #00000026;border-radius:999px;padding:.15rem .6rem;font-size:.78rem}.my-valley-chip.active{color:#fff;background:#2d5016;border-color:#2d5016}.my-valley-row-open{min-width:0;font:inherit;text-align:left;cursor:pointer;color:#2d5016;background:0 0;border:none;flex:1;align-items:center;padding:0;display:flex}.my-valley-row-open:hover .my-valley-row-name{text-decoration:underline}.my-valley-row-meta{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.my-valley-count{color:#2d5016;white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem}.my-valley-count:hover{text-decoration:underline}.my-valley-detail-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.my-valley-detail-tabs{border-bottom:1px solid #0000001a;gap:.4rem;margin-bottom:.6rem;display:flex}.my-valley-detail-tab{color:#0000008c;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.3rem .6rem;font-size:.9rem;font-weight:600}.my-valley-detail-tab.active{color:#2d5016;border-bottom-color:#2d5016}.my-valley-detail .content-detail{padding:0}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:linear-gradient(#0000,#0000),url(/assets/spritesheet-DpIxuf5L.svg);background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:linear-gradient(#0000,#0000),url(/assets/spritesheet-DpIxuf5L.svg)}.leaflet-draw a{text-align:center;text-decoration:none;display:block}.leaflet-draw a .sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.leaflet-draw-actions{white-space:nowrap;margin:0;padding:0;list-style:none;display:none;position:absolute;top:0;left:26px}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{left:auto;right:26px}.leaflet-touch .leaflet-right .leaflet-draw-actions{left:auto;right:32px}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{border-radius:4px 0 0 4px}.leaflet-draw-actions a{color:#fff;background-color:#919187;border-left:1px solid #aaa;height:28px;padding-left:10px;padding-right:10px;font:11px/28px Helvetica Neue,Arial,Helvetica,sans-serif;text-decoration:none}.leaflet-touch .leaflet-draw-actions a{height:30px;font-size:12px;line-height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-draw-tooltip:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:6px solid #00000080;position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{color:#b94a48;background-color:#f2dede;border:1px solid #e6b6bd}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-edit-marker-selected{box-sizing:content-box;background-color:#fe57a11a;border:4px dashed #fe57a199;border-radius:4px}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}.modal-overlay{z-index:9998;background-color:#000000b3;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;animation:.3s ease-out slideUp;overflow-y:auto;box-shadow:0 4px 20px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:24px;font-weight:600}.modal-close{color:#525252;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:background-color .2s;display:flex}.modal-close:hover{background-color:#f0f0f0}.modal-tabs{border-bottom:1px solid #e0e0e0;padding:0 24px;display:flex}.modal-tabs button{cursor:pointer;color:#525252;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:12px 16px;font-size:16px;transition:color .2s,border-color .2s}.modal-tabs button:hover{color:#333}.modal-tabs button.active{color:#007bff;border-bottom-color:#007bff;font-weight:600}.modal-body{padding:24px}.media-upload-section{min-height:200px}.media-upload-dropzone{text-align:center;cursor:pointer;border:2px dashed #ccc;border-radius:8px;padding:40px 20px;transition:border-color .2s,background-color .2s}.media-upload-dropzone:hover{background-color:#f8f9fa;border-color:#007bff}.media-upload-dropzone.drag-active{background-color:#e7f3ff;border-color:#007bff}.upload-icon{margin-bottom:16px;font-size:48px}.media-upload-dropzone p{margin:8px 0;font-size:16px}.upload-hint{color:#525252;font-size:14px}.media-upload-preview{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;padding:16px;position:relative}.media-upload-preview img,.media-upload-preview video{object-fit:contain;border-radius:4px;width:100%;max-height:300px;margin-bottom:12px}.preview-remove{color:#fff;cursor:pointer;background:#f00c;border:none;border-radius:4px;padding:6px 12px;font-size:14px;transition:background-color .2s;position:absolute;top:24px;right:24px}.preview-remove:hover{background:red}.file-info{color:#525252;justify-content:space-between;align-items:center;font-size:14px;display:flex}.file-info strong{color:#333}.staged-images-count{color:#525252;margin:16px 0 8px;font-size:14px;font-weight:500}.staged-images-list{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.staged-image{border:1px solid #e0e0e0;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.staged-image-thumb{background:#f0f0f0;border-radius:4px;flex:0 0 72px;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.staged-image-thumb img{object-fit:cover;width:100%;height:100%}.staged-image-loading{color:#999;font-size:20px}.staged-image-details{flex:1;min-width:0}.staged-image-details .file-info{margin-bottom:8px}.staged-image-details .file-info strong{text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.staged-image-caption{border:1px solid #ccc;border-radius:4px;width:100%;padding:8px 10px;font-size:14px;transition:border-color .2s}.staged-image-caption:focus{border-color:#007bff;outline:none}.staged-image-remove{color:#999;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;width:28px;height:28px;font-size:18px;transition:background-color .2s,color .2s}.staged-image-remove:hover:not(:disabled){color:#d00;background:#f0f0f0}.staged-image-remove:disabled{opacity:.4;cursor:not-allowed}.form-group{margin-bottom:20px}.form-group label{color:#333;margin-bottom:8px;font-weight:500;display:block}.form-group input{border:1px solid #ccc;border-radius:4px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-group input:focus{border-color:#007bff;outline:none}.upload-error{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-top:16px;padding:12px}.upload-success{color:#155724;background:#d4edda;border:1px solid #28a745;border-radius:4px;margin-top:16px;padding:12px}.modal-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:background-color .2s,opacity .2s}.btn-primary{color:#fff;background:#28a745}.btn-primary:hover:not(:disabled){background:#218838}.btn-primary:disabled{cursor:not-allowed;background:#ccc}.btn-secondary{color:#333;background:#f0f0f0}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.modal-content{width:95%;max-height:95vh}.modal-header{padding:16px 20px}.modal-header h2{font-size:20px}.modal-tabs{padding:0 20px}.modal-tabs button{padding:10px 12px;font-size:14px}.modal-body{padding:20px}.modal-footer{padding:16px 20px}}.lightbox-overlay{z-index:10001;background-color:#000000f2;flex-direction:column;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-container{flex-direction:column;align-items:center;width:100%;height:100%;display:flex;position:relative}.sidebar-header.lightbox-header{box-sizing:border-box;z-index:10002;background:#4a4a4a;flex-shrink:0;width:100%}.lightbox-arrow{color:#fff;cursor:pointer;z-index:10002;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:48px;line-height:1;transition:background-color .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:#ffffff4d}.lightbox-arrow-left{left:10px}.lightbox-arrow-right{right:10px}.lightbox-top-bar{flex-direction:column;flex-shrink:0;align-items:center;padding:10px 0;display:flex}.lightbox-thumbnails{background:#00000080;border-radius:6px;gap:6px;max-width:calc(100vw - 40px);padding:6px;display:flex;overflow-x:auto}.lightbox-thumbnails::-webkit-scrollbar{height:4px}.lightbox-thumbnails::-webkit-scrollbar-track{background:#ffffff1a;border-radius:2px}.lightbox-thumbnails::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.lightbox-thumbnail{cursor:pointer;border:2px solid #0000;border-radius:3px;flex-shrink:0;width:60px;height:45px;transition:border-color .2s,opacity .2s;position:relative;overflow:hidden}.lightbox-thumbnail:hover{opacity:.8}.lightbox-thumbnail.active{border-color:#fff}.lightbox-thumbnail img{object-fit:cover;width:100%;height:100%}.lightbox-thumbnail:focus{outline-offset:2px;outline:2px solid #fff}.thumbnail-video-indicator,.thumbnail-youtube-indicator,.thumbnail-pending-indicator{color:#fff;background:#000000b3;border-radius:2px;padding:1px 4px;font-size:9px;font-weight:700;position:absolute;bottom:2px;right:2px}.thumbnail-pending-indicator{background:#ffa500e6;bottom:2px;left:2px;right:auto}.lightbox-main{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:0 70px;display:flex;position:relative}.lightbox-image{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%}.lightbox-video{border-radius:4px;max-width:100%;max-height:100%}.lightbox-youtube-container{width:min(90vw,1280px);height:min(50.625vw,90vh - 252px);max-height:720px;position:relative}.lightbox-youtube{border:none;border-radius:4px;width:100%;height:100%;position:absolute;top:0;left:0}.lightbox-caption{color:#fff;text-align:center;flex-shrink:0;max-width:800px;margin-top:8px;font-size:14px}.lightbox-pending-badge,.lightbox-primary-badge{z-index:10002;text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:5px 12px;font-size:11px;font-weight:600;position:absolute;top:10px;left:50%;transform:translate(-50%)}.lightbox-pending-badge{color:#fff;background:#ffa500f2}.lightbox-primary-badge{color:#333;background:#ffc107f2}.lightbox-bottom-bar{flex-shrink:0;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 20px;display:flex}.lightbox-set-primary,.lightbox-delete-media,.lightbox-add-media{color:#fff;cursor:pointer;text-align:center;border:none;border-radius:6px;width:110px;padding:8px 0;font-size:13px;font-weight:600;transition:background-color .2s;box-shadow:0 2px 8px #0000004d}.lightbox-set-primary{background:#007bff}.lightbox-set-primary:hover{background:#0069d9}.lightbox-delete-media{background:#dc3545}.lightbox-delete-media:hover{background:#c82333}.lightbox-add-media{background:#28a745}.lightbox-add-media:hover{background:#218838}.lightbox-set-primary:disabled,.lightbox-delete-media:disabled{cursor:not-allowed;opacity:.6;background:#6c757d}@media (width<=768px){.lightbox-main{padding:0 40px}.lightbox-arrow{width:36px;height:36px;font-size:28px}.lightbox-arrow-left{left:4px}.lightbox-arrow-right{right:4px}.lightbox-bottom-bar{gap:8px;padding:10px}.lightbox-set-primary,.lightbox-delete-media,.lightbox-add-media{width:95px;padding:8px 0;font-size:11px}.lightbox-youtube-container{width:calc(100vw - 40px);height:calc(56.25vw - 22.5px);max-height:none}}.mosaic{cursor:pointer;border-radius:0;flex-shrink:0;gap:4px;width:100%;height:200px;display:grid;overflow:hidden}.mosaic-1{grid-template-columns:1fr}.mosaic-2{grid-template-columns:1fr 1fr}.mosaic-3{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr}.mosaic-3 .mosaic-item-0{grid-row:1/3}.mosaic-3 .mosaic-item-1{grid-row:1}.mosaic-3 .mosaic-item-2{grid-row:2}.mosaic-item{aspect-ratio:4/3;background-color:#f0f0f0;transition:opacity .2s;position:relative;overflow:hidden}.mosaic-item:hover{opacity:.9}.mosaic-item:focus{outline-offset:-2px;outline:2px solid #007bff}.mosaic-image{object-fit:cover;width:100%;height:100%;display:block}.mosaic-video-indicator,.mosaic-youtube-indicator{pointer-events:none;background-color:#0009;border-radius:4px;padding:3px 5px;line-height:0;transition:background-color .2s;position:absolute;bottom:6px;right:6px}.mosaic-item:hover .mosaic-video-indicator,.mosaic-item:hover .mosaic-youtube-indicator{background-color:#000c}.mosaic-pending-indicator{color:#fff;pointer-events:none;text-transform:uppercase;letter-spacing:.5px;background-color:#ffa500e6;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600;position:absolute;top:8px;left:8px}.mosaic-more-overlay{color:#fff;pointer-events:none;background-color:#000000b3;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex;position:absolute;inset:0}@media (width<=768px){.mosaic{height:180px}}.feedback-overlay{z-index:10001;background-color:#0009;justify-content:center;align-items:center;animation:.2s ease-in-out feedbackFadeIn;display:flex;position:fixed;inset:0}@keyframes feedbackFadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:#fff;border-radius:12px;width:90%;max-width:480px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.feedback-modal h2{color:#2d5016;margin:0 0 .25rem;font-size:1.4rem}.feedback-modal .feedback-subtitle{color:#525252;margin:0 0 1.5rem;font-size:.9rem}.feedback-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:background-color .2s;display:flex;position:absolute;top:12px;right:12px}.feedback-close:hover{color:#333;background:#f0f0f0}.feedback-form{flex-direction:column;gap:1.25rem;display:flex}.feedback-field{flex-direction:column;gap:.4rem;display:flex}.feedback-field label{color:#333;font-size:.9rem;font-weight:600}.feedback-field .field-optional{color:#999;font-size:.8rem;font-weight:400}.feedback-radio-group{flex-wrap:wrap;gap:.75rem;display:flex}.feedback-radio-label{cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #e0e0e0;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.85rem;transition:all .15s;display:flex}.feedback-radio-label:hover{border-color:#4a7c2e}.feedback-radio-label.selected{background:#f0f7eb;border-color:#2d5016}.feedback-radio-label input[type=radio]{accent-color:#2d5016}.feedback-form input[type=text],.feedback-form input[type=email],.feedback-form textarea{border:2px solid #e0e0e0;border-radius:8px;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.feedback-form input[type=text]:focus,.feedback-form input[type=email]:focus,.feedback-form textarea:focus{border-color:#4a7c2e;outline:none}.feedback-form textarea{resize:vertical;min-height:100px}.feedback-char-count{color:#999;text-align:right;font-size:.75rem}.feedback-char-count.near-limit{color:#c0392b}.feedback-hp{opacity:0;width:0;height:0;position:absolute;top:-9999px;left:-9999px;overflow:hidden}.feedback-submit{color:#fff;cursor:pointer;background:#2d5016;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s}.feedback-submit:hover:not(:disabled){background:#3a6a1e}.feedback-submit:disabled{cursor:not-allowed;background:#999}.feedback-error{color:#c0392b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem;font-size:.85rem}.feedback-success{text-align:center;padding:1rem 0}.feedback-success .success-icon{margin-bottom:.75rem;font-size:3rem}.feedback-success h3{color:#2d5016;margin:0 0 .5rem}.feedback-success p{color:#525252;margin:0 0 1.5rem;font-size:.9rem}.feedback-success .feedback-done-btn{color:#fff;cursor:pointer;background:#2d5016;border:none;border-radius:8px;padding:.6rem 2rem;font-size:.9rem;font-weight:600;transition:background-color .2s}.feedback-success .feedback-done-btn:hover{background:#3a6a1e}@media (width<=600px){.feedback-modal{width:95%;padding:1.5rem}.feedback-radio-group{flex-direction:column}}.skip-link{color:#fff;z-index:100000;background:#2d5016;border-radius:0 0 4px;padding:8px 16px;font-size:.9rem;text-decoration:none;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}:focus-visible{outline-offset:2px;outline:3px solid #4a7c23}:root{--header-height:108px;--banner-height:40px}@media (width<=768px){:root{--header-height:104px}}@media (width<=360px){:root{--header-height:108px}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{color:#fff;z-index:10000;min-height:var(--header-height);background:linear-gradient(135deg,#2d5016 0%,#4a7c23 100%);flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.5rem;display:flex;position:fixed;top:0;left:0;right:0;overflow:visible;box-shadow:0 2px 8px #00000026}.header-left{align-items:baseline;gap:1rem;display:flex}.header-right{align-items:center;display:flex}.header h1{letter-spacing:-.5px;font-size:1.5rem;font-weight:700}.header .subtitle{opacity:.9;font-size:.9rem}.header-tabs{background:#0003;border-radius:8px;gap:.25rem;padding:.25rem;display:flex}.tab-btn{color:#ffffffeb;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s}.tab-btn:hover{color:#fff;background:#ffffff1a}.tab-btn:focus-visible,.tab-btn.kbd-focus{outline-offset:2px;outline:2px solid #fff}.tab-btn.active{color:#2d5016;background:#fffffff2;font-weight:600}.theme-video{width:100%;height:var(--header-height);max-height:var(--header-height);object-fit:cover;opacity:.25;z-index:0;pointer-events:none;position:absolute;top:0;left:0;overflow:hidden}.header-content-wrapper{z-index:10;flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex;position:relative}.header.theme-night{background:linear-gradient(135deg,#1a2e0d 0%,#2d4a16 100%)}@media (width<=768px){.theme-video{opacity:.2}.header-content-wrapper{gap:.25rem}}.tab-account-container{position:relative}.tab-btn.tab-account{justify-content:center;align-items:center;padding:.35rem;display:flex}.tab-user-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px}.tab-user-avatar-placeholder{color:#fff;background:#ffffff40;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:600;display:flex}.tab-dropdown-backdrop{z-index:999;position:fixed;inset:0}.tab-dropdown{z-index:1000;background:#fff;border-radius:8px;min-width:200px;margin-top:.5rem;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0003}.login-dropdown-inline{padding:.75rem}.oauth-btn-inline{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;gap:.75rem;width:100%;margin-bottom:.5rem;padding:.6rem .75rem;font-size:.85rem;transition:background .2s;display:flex}.oauth-btn-inline:last-child{margin-bottom:0}.oauth-btn-inline:hover{background:#f5f5f5}.oauth-btn-inline.google-btn:hover{border-color:#4285f4}.oauth-btn-inline.facebook-btn:hover{border-color:#1877f2}.user-dropdown-inline{padding:0}.user-info-inline{border-bottom:1px solid #eee;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.user-name-inline{color:#333;font-weight:600}.user-email-inline{color:#525252;font-size:.8rem}.admin-badge-inline{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:#f57c00;border-radius:4px;width:fit-content;margin-top:.25rem;padding:.15rem .4rem;font-size:.65rem;font-weight:600;display:inline-block}.edit-mode-toggle{cursor:pointer;color:#333;border-top:1px solid #eee;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.9rem;display:flex}.edit-mode-toggle input[type=checkbox]{accent-color:#2d6a4f;cursor:pointer;width:16px;height:16px}.edit-mode-toggle:hover{background:#f5f5f5}.dropdown-item-inline{text-align:left;cursor:pointer;color:#c62828;background:0 0;border:none;width:100%;padding:.75rem 1rem;font-size:.9rem;transition:background .2s;display:block}.dropdown-item-inline:hover{background:#f5f5f5}.settings-item-inline,.my-trips-menu-item{color:#333}.tab-dropdown-divider{background:#eee;height:1px;margin:.25rem 0}.filter-bar{background:#fff;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.filter-bar-content{flex-wrap:wrap;flex:1;align-items:center;gap:1rem;display:flex}.filter-group{align-items:center;gap:.5rem;display:flex}.filter-group label{color:#555;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.filter-group select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem .6rem;font-size:.9rem}.filter-group select:focus{border-color:#4a7c23;outline:none}.search-input{border:1px solid #ddd;border-radius:4px;width:200px;padding:.4rem .8rem;font-size:.9rem}.search-input:focus{border-color:#4a7c23;outline:none}.clear-filters{cursor:pointer;color:#525252;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:.4rem .8rem;font-size:.85rem}.clear-filters:hover{background:#e0e0e0}.result-count{color:#525252;margin-left:auto;font-size:.85rem}.main-content{flex:1;display:flex;position:relative;overflow:hidden}.map-container{flex:1;height:100%}.leaflet-container{width:100%;height:100%}.zoom-locate-control{margin-top:10px!important;margin-left:10px!important}.zoom-locate-btn{cursor:pointer;border-bottom:1px solid #ccc;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:30px;color:#333!important;background:#fff!important;width:30px!important;height:30px!important;text-decoration:none!important;display:flex!important}.zoom-locate-btn:last-child{border-bottom:none}.zoom-locate-btn:hover{background:#f4f4f4!important}.zoom-locate-btn:active{background:#e8e8e8!important}.locate-button:hover{color:#4285f4!important}.locate-button.locating{animation:1s infinite locate-pulse;color:#4285f4!important}.locate-button svg{width:16px;height:16px}@keyframes locate-pulse{0%,to{opacity:1}50%{opacity:.4}}.satellite-toggle-button:hover{color:#ff8c00!important}.satellite-toggle-button.active{color:#ff8c00!important;background:#fff3e0!important}.satellite-toggle-button svg{width:16px;height:16px}.measure-button:hover{color:#2d5016!important}.measure-button.active{color:#2d5016!important;background:#eaf2e1!important}.measure-button svg{width:16px;height:16px}.measure-handle{cursor:grab;justify-content:center;align-items:center;display:flex}.measure-handle:active{cursor:grabbing}.measure-handle-dot{box-sizing:border-box;background:#2d501640;border:2px solid #2d5016;border-radius:50%;width:28px;height:28px;position:absolute}.measure-handle-letter{color:#2d5016;font-size:12px;font-weight:700;line-height:1;position:relative}.measure-tooltip.leaflet-tooltip{color:#fff;white-space:nowrap;text-align:center;background:#2d5016;border:none;border-radius:6px;width:auto;min-width:0;max-width:none;padding:4px 8px;font-size:13px;font-weight:700;box-shadow:0 1px 4px #0000004d}.measure-tooltip.leaflet-tooltip:before{display:none}.measure-tooltip-secondary{opacity:.85;font-weight:400}.user-location-pulse{animation:2s infinite user-pulse}@keyframes user-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.marker-federal{color:#fff;background-color:#2d5016;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex;box-shadow:0 2px 4px #0000004d}.marker-private{background-color:#7b2d8e;border:2px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 4px #0000004d}.marker-local{background-color:#1565c0;border:2px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 4px #0000004d}.marker-other{background-color:#f57c00;border:2px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 4px #0000004d}.leaflet-marker-icon:hover{filter:drop-shadow(0 0 6px #0066cce6)drop-shadow(0 0 2px #0066cce6)}.leaflet-interactive.map-hover,.leaflet-interactive.map-hover path{stroke:#0066cce6!important;stroke-opacity:1!important}.destination-tooltip{white-space:normal;word-wrap:break-word;min-width:350px;max-width:450px}.destination-tooltip:not(.selected-tooltip){opacity:0;transition:opacity .15s ease-in}.destination-tooltip .leaflet-tooltip-content{padding:0}.tooltip-content{white-space:normal;word-wrap:break-word;min-width:330px;padding:.75rem 1rem}.tooltip-content strong{color:#2d5016;margin-bottom:.25rem;font-size:.95rem;display:block}.tooltip-content p{color:#555;margin:0;font-size:.8rem;line-height:1.4}.tooltip-content p.trail-info{color:#8b4513;margin-top:.25rem;font-size:.75rem;font-weight:500}.tooltip-thumbnail{border-radius:6px 6px 0 0;width:calc(100% + 2rem);height:180px;margin:-.75rem -1rem .75rem;overflow:hidden}.tooltip-thumbnail img{object-fit:cover;width:100%;height:100%}.leaflet-tooltip{white-space:normal;background:#fff;border:none;border-radius:6px;min-width:350px;max-width:450px;padding:0;box-shadow:0 3px 12px #0003}.leaflet-tooltip-top:before{border-top-color:#fff}.map-popup{min-width:200px}.map-popup h3{color:#333;margin:0 0 .5rem;font-size:1rem}.map-popup .era-badge{color:#525252;background:#f0f0f0;border-radius:3px;margin-bottom:.5rem;padding:.2rem .5rem;font-size:.75rem;display:inline-block}.map-popup p{color:#555;margin-bottom:.5rem;font-size:.85rem}.map-popup .view-details{color:#4a7c23;cursor:pointer;font-size:.85rem;text-decoration:underline}.sidebar{z-index:1000;background:#fff;flex-direction:column;width:400px;height:100%;transition:transform .3s;display:flex;position:absolute;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 12px #00000026}.sidebar.open{transform:translate(0)}.sidebar-content-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.sidebar.editing{overflow-y:hidden}.sidebar-header{color:#fff;background:linear-gradient(135deg,#2d5016 0%,#4a7c23 100%);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.sidebar-header h2{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-right:1rem;font-size:1.25rem;overflow:hidden}.close-btn{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.header-buttons{align-items:center;gap:.5rem;display:flex}.share-badge-btn{color:#fff;cursor:pointer;background:#2d5016;border:none;border-radius:12px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:500;transition:background-color .2s;display:inline-flex}.share-badge-btn:hover{background:#3d6a1e}.share-badge-btn svg{flex-shrink:0}.nps-map-toggle-btn{color:#fff;cursor:pointer;background:#5a7a9e;border:none;border-radius:12px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:500;transition:background-color .2s;display:inline-flex}.nps-map-toggle-btn:hover{background:#6a8aae}.nps-map-toggle-btn.active{background:#3a5a7e;box-shadow:inset 0 1px 3px #0000004d}.nps-map-toggle-btn svg{flex-shrink:0}.associations-badge-btn{color:#fff;cursor:pointer;background:#ff9800;border:none;border-radius:12px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:500;transition:background-color .2s;display:inline-flex}.associations-badge-btn:hover{background:#f57c00}.associations-badge-btn svg{flex-shrink:0}.share-modal-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal{background:#fff;border-radius:12px;width:90%;max-width:400px;overflow:hidden;box-shadow:0 4px 20px #00000040}.share-modal-header{color:#fff;background:#2d5016;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.share-modal-header h3{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.share-modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;line-height:1;display:flex}.share-modal-close:hover{background:#ffffff59}.share-modal-content{padding:1.25rem}.share-platforms{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.share-platform-btn{color:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:70px;height:70px;padding:.5rem;font-size:.7rem;font-weight:500;text-decoration:none;transition:transform .2s,opacity .2s;display:flex}.share-platform-btn:hover{opacity:.9;transform:scale(1.05)}.share-platform-btn.facebook{background:#1877f2}.share-platform-btn.threads{background:#000}.share-platform-btn.linkedin{background:#0a66c2}.share-platform-btn.twitter{background:#000}.share-platform-btn.mastodon{background:#6364ff}.share-platform-btn.email{background:#6c757d}.share-link-section{border-top:1px solid #eee;padding-top:1rem}.share-link-section label{color:#525252;margin-bottom:.5rem;font-size:.85rem;display:block}.share-link-input-group{gap:.5rem;display:flex}.share-link-input{color:#333;background:#f9f9f9;border:1px solid #ddd;border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.85rem}.share-copy-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#2d5016;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background-color .2s}.share-copy-btn:hover{background:#3d6a1e}.share-copy-btn.copied{background:#198754}.associations-tab-view{text-align:center;padding:1rem}.associations-tab-view p{color:#525252;margin-bottom:1rem}.btn-view-associations{color:#fff;cursor:pointer;background:#ff9800;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .2s}.btn-view-associations:hover{background:#f57c00}.sidebar-media-section{background:#f5f5f5;flex-shrink:0;width:100%}.sidebar-image{background:#f5f5f5;flex-shrink:0;width:100%;height:200px;min-height:200px;position:relative;overflow:hidden}.sidebar-image img{object-fit:cover;width:100%;height:100%}.sidebar-image.virtual-thumbnail{background:#fff}.sidebar-image.virtual-thumbnail img.logo-image{padding:.25rem;object-fit:contain!important}.sidebar-no-media{background:#f5f5f5;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:200px;min-height:200px;display:flex;position:relative}.btn-add-first-media{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:6px;padding:12px 24px;font-size:14px;font-weight:600;transition:background-color .2s,transform .1s;box-shadow:0 2px 8px #00000026}.btn-add-first-media:hover{background:#218838;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.btn-add-first-media:active{transform:translateY(0)}.image-placeholder{color:#2d5016;background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.placeholder-icon{margin-bottom:.5rem;font-size:3rem}.placeholder-text{opacity:.7;font-size:.85rem}.thumbnail-carousel-wrapper{z-index:10;opacity:1;background:#4a7c23;max-height:200px;padding:.5rem 0;transition:opacity .5s ease-out,max-height .5s ease-out,padding .5s ease-out;position:sticky;top:0;overflow:hidden}.thumbnail-carousel-wrapper.hidden{opacity:0;pointer-events:none;max-height:0;padding-top:0;padding-bottom:0}.thumbnail-carousel-wrapper:before,.thumbnail-carousel-wrapper:after{content:"";pointer-events:none;z-index:2;opacity:0;width:40px;transition:opacity .3s;position:absolute;top:0;bottom:0}.thumbnail-carousel-wrapper:before{background:linear-gradient(90deg,#4a7c23,#0000);left:0}.thumbnail-carousel-wrapper:after{background:linear-gradient(270deg,#4a7c23,#0000);right:0}.thumbnail-carousel-wrapper.can-scroll-left:before,.thumbnail-carousel-wrapper.can-scroll-right:after{opacity:1}.thumbnail-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff4d transparent;overscroll-behavior-x:contain;border:none;outline:none;gap:.5rem;padding:.5rem 1rem 1rem;display:flex;overflow:auto hidden}.thumbnail-carousel::-webkit-scrollbar{height:4px}.thumbnail-carousel::-webkit-scrollbar-track{background:0 0}.thumbnail-carousel::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.thumbnail-item{cursor:pointer;opacity:.6;flex-shrink:0;width:60px;transition:opacity .2s,transform .2s;position:relative}.thumbnail-item:hover{opacity:.8}.thumbnail-item.selected{opacity:1;transform:scale(1.1)}.thumbnail-image{background:#ffffff1a;border:2px solid #0000;border-radius:8px;width:60px;height:60px;transition:border-color .2s;position:relative;overflow:hidden}.thumbnail-item.selected .thumbnail-image{border-color:#fff;box-shadow:0 0 8px #ffffff80}.thumbnail-image img{object-fit:cover;width:100%;height:100%}body{overscroll-behavior-x:none}.swipe-indicator{z-index:1000;pointer-events:none;animation:.3s ease-out swipe-pulse;position:fixed;top:50%;transform:translateY(-50%)}.swipe-indicator-left{left:20px}.swipe-indicator-right{right:20px}.swipe-arrow{color:#4285f4;text-shadow:0 2px 8px #4285f480;font-size:60px;font-weight:300;line-height:1;display:block}@keyframes swipe-pulse{0%{opacity:0;transform:translateY(-50%)scale(.8)}to{opacity:1;transform:translateY(-50%)scale(1)}}.selected-indicator{background:#4a7c23e6;border:2px solid #fff;border-radius:50%;width:20px;height:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.thumbnail-type-badge{color:#fff;background:#666;border:2px solid #4a7c23;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;display:flex;position:absolute;bottom:-8px;right:-8px}.thumbnail-type-badge.destination{background:#2196f3}.thumbnail-type-badge.trail{background:#8b4513}.thumbnail-type-badge.river{background:#1e90ff}.thumbnail-type-badge.boundary{background:#228b22}.thumbnail-type-badge.virtual{background:#9c27b0}.thumbnail-carousel-count{text-align:center;color:#fff;opacity:.9;margin-top:.25rem;font-size:.75rem;font-weight:600}.sidebar-tabs{background:#f5f5f5;border-bottom:2px solid #e0e0e0;gap:0;padding:0 .5rem;display:flex}.sidebar-tab{cursor:pointer;color:#525252;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.6rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.sidebar-tab:hover{color:#333;background:#e8e8e8}.sidebar-tab.active{color:#2d5016;background:#fff;border-bottom-color:#4a7c23}.sidebar-tab-content{flex-direction:column;flex:1;min-height:0;padding-bottom:80px;display:flex;overflow-y:auto}.sidebar.editing .sidebar-tab-content{overflow-y:hidden}.sidebar-tab-loading,.sidebar-tab-empty{text-align:center;color:#525252;padding:2rem 1.5rem;font-style:italic}.poi-news-list,.poi-events-list{flex-direction:column;height:100%;display:flex}.poi-news-list-content,.poi-events-list-content{scrollbar-width:none;-ms-overflow-style:none;flex:1;padding:0 1rem 1rem;overflow:hidden auto}.poi-news-list-content::-webkit-scrollbar{display:none}.poi-events-list-content::-webkit-scrollbar{display:none}.poi-news-actions{border-bottom:1px solid #e0e0e0;margin-bottom:1rem;padding-bottom:1rem}.update-news-btn{color:#fff;cursor:pointer;background:#4a7c23;border:none;border-radius:6px;width:100%;padding:.6rem 1rem;font-size:.85rem;font-weight:500;transition:background .2s}.update-news-btn:hover:not(:disabled){background:#3d6a1d}.update-news-btn:disabled{opacity:.7;cursor:not-allowed}.collect-result{border-radius:4px;margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem}.collect-result.success{color:#2e7d32;background:#e8f5e9}.collect-result.error{color:#c62828;background:#ffebee}.poi-news-item,.poi-event-item{background:#f9f9f9;border-left:3px solid #4a7c23;border-radius:6px;margin-bottom:.75rem;padding:.75rem;transition:background .15s}.poi-news-item:hover{background:#f0f0f0}.poi-news-collapsed-meta{color:#888;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.75rem;display:flex}.content-detail{padding:.75rem}.back-button{color:#2e7d32;cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:0;font-size:.9rem}.back-button:hover{text-decoration:underline}.content-detail-header{align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.content-detail-title{color:#333;margin:0;font-size:1.05rem;font-weight:600;line-height:1.3}.content-detail-meta{color:#888;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.content-detail-location{color:#555;margin-bottom:.75rem;font-size:.85rem}.content-detail-body{color:#444;margin:.75rem 0;font-size:.9rem;line-height:1.5}.content-detail-actions{align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.content-detail-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;text-decoration:none;display:inline-flex}.content-detail-btn:hover{background:#f0f0f0;text-decoration:none}.content-detail-sources{color:#888;border-top:1px solid #eee;margin-top:.75rem;padding-top:.75rem;font-size:.8rem}.poi-news-item.closure,.poi-event-item.closure{border-left-color:#c62828}.poi-news-header,.poi-event-header{align-items:flex-start;gap:.5rem;margin-bottom:.25rem;display:flex}.poi-news-title,.poi-event-title{color:#333;flex:1;font-size:.9rem;font-weight:600;line-height:1.3}.poi-news-summary,.poi-event-description{color:#555;margin:.5rem 0;font-size:.85rem;line-height:1.4}.poi-news-meta{color:#888;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.poi-event-date{color:#4a7c23;margin-bottom:.25rem;font-size:.8rem;font-weight:500}.poi-event-location{color:#525252;margin:.25rem 0;font-size:.8rem}.poi-event-meta{margin-top:.25rem}.poi-news-history-tag{color:#7a5a1e;background:#f5ecd9;border-radius:.75rem;padding:.05rem .5rem;font-size:.72rem;font-weight:500;display:inline-block}.poi-item-source{color:#4a7c23;white-space:nowrap;background:#eef4e6;border-radius:.75rem;padding:.05rem .5rem;font-size:.72rem;font-weight:500;display:inline-block}.sidebar-content{padding:1.5rem}.history-tab-content{flex-direction:column;flex:1;min-height:0;padding:1.5rem;display:flex}.history-tab-content .edit-section{flex-direction:column;flex:1;min-height:0;display:flex}.history-tab-content textarea{resize:none;box-sizing:border-box;flex:1;width:100%;min-height:200px}.badges-row{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:.75rem .5rem;margin-bottom:1rem;display:flex}.era-badge-large{color:#2d5016;background:#e8f5e9;border-radius:12px;padding:.3rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.owner-badge{border-radius:12px;padding:.3rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.owner-federal{color:#2d5016;background:#e8f5e9}.owner-private{color:#7b2d8e;background:#f3e5f5}.owner-local{color:#1565c0;background:#e3f2fd}.owner-other{color:#f57c00;background:#fff3e0}.owner-badge-small{text-transform:uppercase;color:#2d5016;letter-spacing:.3px;background:#e8f5e9;border-radius:8px;padding:.15rem .5rem;font-size:.65rem;font-weight:600;display:inline-block}.section{margin-bottom:1.5rem}.section h3{text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:.5rem;font-size:.8rem}.section p{color:#333;font-size:.95rem;line-height:1.6}.historical-description{color:#333;white-space:pre-line;font-style:normal;line-height:1.6}.details-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.detail-item{flex-direction:column;display:flex}.detail-item label{text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:.25rem;font-size:.75rem}.detail-item span{color:#333;font-size:.9rem}.cell-signal{gap:2px;display:flex}.signal-bar{background:#ddd;border-radius:1px;width:6px;height:12px}.signal-bar.active{background:#4a7c23}.more-info-link{color:#fff;background:#4a7c23;border-radius:4px;margin-top:1rem;padding:.6rem 1.2rem;font-size:.9rem;text-decoration:none;display:inline-block}.more-info-link:hover{background:#2d5016}.news-delete-btn{color:#767676;cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:50%;flex-shrink:0;width:22px;height:22px;margin-left:auto;padding:0;font-size:14px;line-height:1;transition:all .2s}.news-delete-btn:hover{color:#fff;background:#c62828;border-color:#c62828}.news-delete-btn:disabled{opacity:.5;cursor:not-allowed}.news-management-section{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.park-news-tab,.park-events-tab{padding:1.5rem}.park-news-tab h2,.park-events-tab h2{color:#333;margin:0 0 .25rem;font-size:1.3rem}.tab-subtitle{color:#525252;margin:0 0 1rem;font-size:.85rem}.no-content{color:#888;text-align:center;padding:2rem;font-style:italic}.park-news-list,.park-events-list{flex-direction:column;gap:1rem;display:flex}.park-news-item{background:#f9f9f9;border-left:4px solid #4a7c23;border-radius:8px;padding:1rem}.park-news-item.general{border-left-color:#4a7c23}.park-news-item.wildlife{border-left-color:#2e7d32}.park-event-item{background:#f9f9f9;border-left:4px solid #7b2d8e;border-radius:8px;padding:1rem}.park-event-item.guided-tour{border-left-color:#1565c0}.park-event-item.program{border-left-color:#7b2d8e}.park-event-item.festival{border-left-color:#c62828}.park-event-item.volunteer{border-left-color:#2e7d32}.park-event-item.educational{border-left-color:#f57c00}.park-news-item.closure,.park-event-item.closure{border-left-color:#c62828}.park-news-item.maintenance{border-left-color:#f57c00}.park-news-item.seasonal{border-left-color:#1565c0}.park-news-header,.park-event-header{align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.park-news-title-section,.park-event-title-section{flex-direction:column;flex:1;gap:.25rem;display:flex}.park-news-title,.park-event-title{color:#333;font-size:.95rem;font-weight:600;line-height:1.3}.park-news-poi-link,.park-event-poi-link{color:#4a7c23;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.park-news-poi-link:hover,.park-event-poi-link:hover{color:#2d5016}.park-news-summary,.park-event-description{color:#555;margin:.5rem 0;font-size:.9rem;line-height:1.4}.park-news-date{color:#1565c0;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.park-news-meta{color:#777;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;font-size:.8rem;display:flex}.park-event-date{color:#1565c0;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.park-event-recurring{color:#1a1a1a;margin-bottom:.5rem;font-size:.85rem}.park-event-location{color:#1a1a1a;margin:.5rem 0;font-size:.85rem}.park-event-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.calendar-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.add-calendar-btn{cursor:pointer;border-radius:4px;align-items:center;padding:.4rem .75rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.add-calendar-btn.google{color:#fff;background:#4285f4;border:none}.add-calendar-btn.google:hover{background:#3367d6}.add-calendar-btn.ics{color:#333;background:#fff;border:1px solid #ccc}.add-calendar-btn.ics:hover{background:#f5f5f5;border-color:#767676}.settings-tab{padding:1.5rem}.settings-tab h2{margin:0 0 .5rem;font-size:1.3rem}.settings-tab ul{margin:.5rem 0;padding-left:1.5rem}.settings-tab li{color:#525252;margin:.5rem 0}.no-poi-selected{text-align:center;color:#888;padding:2rem}.no-poi-selected p{margin:0;font-style:italic}.news-type-icon,.event-type-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;display:inline-flex}.news-type-icon.general{background:#6a1b9a}.news-type-icon.alert{background:#c62828}.news-type-icon.wildlife{background:#2e7d32}.news-type-icon.infrastructure{background:#f57c00}.news-type-icon.community{background:#1565c0}.news-type-icon.closure{background:#c62828}.news-type-icon.maintenance{background:#f57c00}.news-type-icon.seasonal{background:#1565c0}.event-type-icon{background:#7b2d8e}.event-type-icon.guided-tour{background:#1565c0}.event-type-icon.program{background:#7b2d8e}.event-type-icon.festival{background:#c62828}.event-type-icon.volunteer{background:#2e7d32}.event-type-icon.educational{background:#f57c00}.event-type-icon.concert{background:#d81b60}.news-source{background:#e0e0e0;border-radius:3px;padding:.1rem .4rem}.news-link,.event-link{color:#4a7c23;font-size:.875rem;font-weight:500;text-decoration:none}.news-link:hover,.event-link:hover{text-decoration:underline}.news-item-id{color:#767676;margin-left:.25rem;font-family:monospace;font-size:.75rem}.news-sources-group,.event-sources-group{flex-wrap:wrap;gap:.5rem;display:inline-flex}.event-links{gap:1rem;margin-top:.5rem;display:flex}.event-link.calendar-link{color:#2563eb}.loading-indicator{text-align:center;color:#888;padding:1rem;font-size:.9rem}.map-poi-count{z-index:1000;color:#2d5016;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;font-weight:500;transition:all .2s,right .3s;position:absolute;top:1rem;right:1rem;box-shadow:0 2px 8px #00000026}.map-poi-count:hover{background:#f5f5f5;border-color:#4a7c23;box-shadow:0 3px 12px #0003}.map-poi-count:active{background:#e8f5e9}@media (width>=768px){.map-poi-count.sidebar-open,.map-refresh-news.sidebar-open,.map-create-organization.sidebar-open{transition:right .3s;right:calc(400px + 1rem)!important}}.map-refresh-news{z-index:2000;color:#fff;cursor:pointer;background:#4a7c23;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;font-weight:500;transition:all .2s;position:absolute;top:3.5rem;right:1rem;box-shadow:0 2px 8px #00000026}.map-refresh-news:hover:not(:disabled){background:#2d5016;box-shadow:0 3px 12px #0003}.map-refresh-news:disabled{cursor:not-allowed;background:#a5d6a7}.map-refresh-news.refreshing{background:#f57c00;animation:1.5s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.map-create-organization{z-index:2000;color:#fff;cursor:pointer;background:#ff9800;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;font-weight:500;transition:all .2s;position:absolute;top:6rem;right:1rem;box-shadow:0 2px 8px #00000026}.map-create-organization:hover{background:#f57c00;box-shadow:0 3px 12px #0003}.map-refresh-result{z-index:1000;background:#fff;border-radius:6px;align-items:center;gap:.5rem;max-width:300px;padding:.5rem .75rem;font-size:.8rem;display:flex;position:absolute;top:3.5rem;right:1rem;box-shadow:0 2px 8px #00000026}.map-refresh-result.success{color:#2e7d32;border-left:3px solid #4caf50}.map-refresh-result.error{color:#c62828;border-left:3px solid #f44336}.map-refresh-result .dismiss-btn{cursor:pointer;color:#767676;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.map-refresh-result .dismiss-btn:hover{color:#333}.map-container.edit-mode-active .map-refresh-news{top:5.5rem;right:1rem}.map-container.edit-mode-active .map-create-organization{top:8rem;right:1rem}.map-container.edit-mode-active .map-refresh-result{top:10.25rem}.boundary-stroke-only{pointer-events:stroke}.legend{z-index:1000;box-sizing:border-box;background:#fff;border-radius:6px;flex-direction:column;width:320px;height:min(580px,75vh);padding:.75rem 1rem;display:flex;position:absolute;bottom:2rem;left:1rem;box-shadow:0 2px 8px #00000026}.legend-close-btn{display:none}.legend.legend-expanded{z-index:2000;width:auto;max-width:400px;height:auto;max-height:80vh;position:fixed;top:50%;bottom:auto;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.legend-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.legend-search{flex:none}.legend h4{text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:.5rem;font-size:.75rem}.legend-item{align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.85rem;display:flex}.legend-color{border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0003}.legend-color.federal{background:#2d5016}.legend-color.private{background:#7b2d8e}.legend-color.local{background:#1565c0}.legend-color.other{background:#f57c00}.legend-divider{background:#e0e0e0;height:1px;margin:.5rem 0}.legend-section{border-top:1px solid #e0e0e0;flex-direction:column;min-height:0;padding:.5rem 0;display:flex}.legend-section:first-of-type{border-top:none;padding-top:0}.legend-section.open{flex:auto;min-height:0}.legend-section.open .legend-section-body{scrollbar-width:none;-ms-overflow-style:none;flex:auto;min-height:0;overflow-y:auto}.legend-section.open .legend-section-body::-webkit-scrollbar{display:none}.legend-section-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.legend-section-toggle{cursor:pointer;color:#333;font:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:.4rem;padding:.1rem 0;display:inline-flex}.legend-section-toggle:hover .legend-section-title{color:#000}.legend-section-chevron{color:#888;text-align:center;width:.75rem;font-size:.65rem;transition:transform .15s;display:inline-block}.legend-section-chevron.open{transform:rotate(90deg)}.legend-section-title{font-size:.85rem;font-weight:600}.legend-section-count{color:#888;font-size:.75rem;font-weight:400}.legend-section-actions{gap:.25rem;display:flex}.legend-section-actions button{cursor:pointer;color:#525252;background:#f5f5f5;border:1px solid #ddd;border-radius:3px;padding:.15rem .4rem;font-size:.7rem}.legend-section-actions button:hover{background:#e8e8e8}.boundary-chips-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.boundary-chips-header h4{color:#333;margin:0;font-size:.85rem}.boundary-chips-actions{gap:.25rem;display:flex}.boundary-chips-actions button{cursor:pointer;color:#525252;background:#f5f5f5;border:1px solid #ddd;border-radius:3px;padding:.15rem .4rem;font-size:.7rem}.boundary-chips-actions button:hover{background:#e8e8e8}.boundary-chips{grid-template-columns:1fr 1fr;justify-items:start;gap:.35rem;display:grid}.boundary-chip{-webkit-user-select:none;user-select:none;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:12px;align-items:center;gap:.35rem;min-width:0;max-width:100%;padding:.25rem .5rem;font-size:.75rem;transition:all .15s;display:flex}.boundary-chip.active{background:#f0f7e6;border-color:#4a7c23}.boundary-chip.inactive{opacity:.5;background:#f5f5f5}.boundary-chip:hover{border-color:#4a7c23}.boundary-chip-color{border:1px solid #0003;border-radius:50%;flex-shrink:0;width:10px;height:10px}.boundary-chip-icon{font-size:.8rem;line-height:1}.boundary-chip-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.touch-tooltip{color:#fff;white-space:nowrap;pointer-events:none;z-index:10000;background:#333;border-radius:6px;padding:.3rem .6rem;font-size:.8rem;position:fixed;transform:translate(-50%);box-shadow:0 2px 8px #0000004d}.legend-toggle{cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.legend-toggle input{cursor:pointer;accent-color:#2d5016}.legend-search{margin-bottom:.5rem}.legend-search .search-input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.9rem}.legend-search .search-input:focus{border-color:#4a7c23;outline:none;box-shadow:0 0 0 2px #4a7c231a}.loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100vh;display:flex}.loading-spinner{border:4px solid #e0e0e0;border-top-color:#4a7c23;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-error{color:#c62828;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100vh;display:flex}.legend-mobile-toggle,.filter-bar-mobile-toggle{display:none}@media (width<=768px){.header{flex-direction:column;gap:.25rem;height:88px;padding:.5rem .75rem}.header-left h1{font-size:1.2rem}.header-left .subtitle{font-size:.75rem}.header-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;justify-content:space-between;align-items:center;width:100%;padding:.25rem .5rem;position:relative;overflow:auto hidden}.header-tabs::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;justify-content:center;align-items:center;height:36px;padding:.4rem .6rem;font-size:.85rem;display:flex}.tab-account-container{flex-shrink:0}.tab-dropdown{z-index:10001;margin-top:0;position:fixed;top:5.5rem;left:auto;right:.75rem}.filter-bar{flex-direction:column;gap:0;padding:0}.filter-bar-mobile-toggle{cursor:pointer;text-align:left;color:#525252;background:#f5f5f5;border:none;border-bottom:1px solid #e0e0e0;width:100%;padding:.5rem 1rem;font-size:.85rem;display:block}.filter-bar-mobile-toggle:hover{background:#e8e8e8}.filter-bar-content{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 1rem;display:none}.filter-bar.filter-bar-expanded .filter-bar-content{display:flex}.filter-bar.filter-bar-expanded .filter-bar-mobile-toggle{background:#e0e0e0}.search-input{width:100%}.filter-group{flex:1;min-width:100px}.filter-group select{width:100%}.sidebar{width:100%;height:100%;box-shadow:none;border:none;outline:none;position:absolute;top:0;left:0;right:auto;transform:translate(100%)}.sidebar.open{transform:translate(0)}.sidebar.editing{width:100%}.main-content:has(.sidebar.expanded){z-index:10001!important}.sidebar.expanded{z-index:20000;width:100%;height:100%;position:fixed;inset:0}.sidebar-expand-btn{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.sidebar-expand-btn:hover{opacity:1}.sidebar-show-photos-btn{color:#4a9eff;cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:1px solid #ffffff1a;width:100%;padding:8px;font-size:.85rem;display:block}.sidebar-tabs{padding:0}.sidebar-tab{text-align:center;flex:1;padding:.5rem;font-size:.8rem}.results-subtab{text-align:center;flex:1;padding:.5rem .25rem;font-size:.8rem}.sidebar-header{flex-shrink:0;padding:.75rem 1rem}.sidebar-header h2{font-size:1rem}.sidebar-image{flex-shrink:0;height:150px}.sidebar-image img{object-fit:cover;width:100%;height:100%}.legend{display:none;top:calc(var(--header-height) + 1rem)!important;width:auto!important;max-width:none!important;max-height:calc(100vh - var(--header-height) - 2rem)!important;z-index:2000!important;background:#fff!important;border-radius:6px!important;padding:.75rem 1rem!important;position:fixed!important;bottom:1rem!important;left:1rem!important;right:1rem!important;overflow-y:auto!important;transform:none!important;box-shadow:0 2px 8px #00000026!important}.legend.legend-edit-mode{top:calc(var(--header-height) + var(--banner-height) + 1rem);max-height:calc(100vh - var(--header-height) - var(--banner-height) - 2rem)}.legend.legend-expanded{display:block;top:calc(var(--header-height) + 1rem)!important;width:auto!important;max-width:none!important;bottom:1rem!important;left:1rem!important;right:1rem!important;transform:none!important}.legend.legend-expanded.legend-edit-mode{top:calc(var(--header-height) + var(--banner-height) + 1rem)!important}.legend-content{display:block}.legend-close-btn{cursor:pointer;color:#666;z-index:1;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1;display:block;position:absolute;top:.5rem;right:.5rem}.legend-expanded .legend-search{padding-right:2rem}.map-poi-count{padding:.4rem .6rem;font-size:.8rem;top:.5rem;right:.5rem}.leaflet-top{top:.5rem!important}.leaflet-left{left:.5rem!important}.edit-mode-banner{top:5.5rem}}@media (width<=360px){.header{gap:.15rem;height:96px;padding:.35rem .5rem}.header-content-wrapper{gap:.15rem}.header-left h1{font-size:1.1rem}.header-left .subtitle{font-size:.7rem}.header-tabs{padding:.2rem .4rem}.tab-btn{padding:.4rem .5rem;font-size:.8rem}.tab-dropdown{top:5.75rem}}.admin-btn{color:#fff;cursor:pointer;background:#4a7c23;border:none;border-radius:4px;width:100%;margin-top:.25rem;padding:.4rem .6rem;font-size:.8rem}.admin-btn:hover{background:#2d5016}.admin-btn:disabled{cursor:not-allowed;background:#a5d6a7}.spatial-import-form{flex-direction:column;gap:.35rem;margin-top:.25rem;display:flex}.selected-file{background:#f5f5f5;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .4rem;font-size:.75rem;display:flex}.selected-file .file-name{text-overflow:ellipsis;white-space:nowrap;color:#333;flex:1;overflow:hidden}.selected-file .cancel-btn{color:#767676;cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1rem;line-height:1}.selected-file .cancel-btn:hover{color:#c62828}.file-input-visible{width:100%;margin-bottom:.5rem;font-size:.8rem}.import-type-select{background:#fff;border:1px solid #ddd;border-radius:4px;width:100%;margin-bottom:.5rem;padding:.35rem;font-size:.8rem}.admin-btn.import-btn{background:#1976d2}.admin-btn.import-btn:hover{background:#1565c0}.import-message{border-radius:4px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;font-size:.8rem;display:flex}.import-message span{flex:1}.import-message .dismiss-btn{cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 .25rem;font-size:1rem}.import-message .dismiss-btn:hover{opacity:1}.import-message .admin-btn{margin:0;padding:.25rem .5rem;font-size:.75rem}.import-success{color:#2e7d32;background:#e8f5e9;border:1px solid #81c784}.import-error{color:#c62828;background:#ffebee;border:1px solid #ef5350}.import-warning{color:#e65100;background:#fff3e0;border:1px solid #ffb74d}.map-admin{z-index:1001;background:#fff;border-radius:8px;width:320px;position:absolute;top:1rem;right:1rem;overflow:hidden;box-shadow:0 4px 20px #00000040}.admin-header{color:#fff;background:linear-gradient(135deg,#2d5016 0%,#4a7c23 100%);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.admin-header h3{margin:0;font-size:1rem}.admin-header .close-btn{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.admin-content{padding:1rem}.admin-instructions{color:#525252;margin-bottom:1rem;font-size:.8rem;line-height:1.4}.shift-controls{flex-direction:column;align-items:center;gap:.25rem;margin-bottom:1rem;display:flex}.shift-row{gap:.5rem;display:flex}.shift-controls button{cursor:pointer;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;min-width:80px;padding:.5rem 1rem;font-size:.85rem}.shift-controls button:hover{background:#e0e0e0}.fine-controls{color:#525252;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.8rem;display:flex}.fine-controls .shift-row.small button{min-width:30px;padding:.3rem .5rem;font-size:.8rem}.bounds-inputs{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem;display:grid}.input-group{flex-direction:column;gap:.25rem;display:flex}.input-group label{color:#525252;text-transform:uppercase;font-size:.75rem}.input-group input{border:1px solid #ddd;border-radius:4px;width:100%;padding:.4rem;font-size:.85rem}.input-group input:focus{border-color:#4a7c23;outline:none}.admin-actions{margin-bottom:1rem}.copy-btn{color:#fff;cursor:pointer;background:#4a7c23;border:none;border-radius:4px;width:100%;padding:.6rem;font-size:.85rem}.copy-btn:hover{background:#2d5016}.current-values{background:#f5f5f5;border-radius:4px;padding:.5rem}.current-values code{color:#333;font-size:.75rem;line-height:1.6}.admin-section{border-bottom:1px solid #e0e0e0;margin-bottom:1rem;padding-bottom:1rem}.admin-section:last-of-type{border-bottom:none}.admin-section h4{color:#333;margin-bottom:.25rem;font-size:.85rem}.admin-hint{color:#888;margin-bottom:.5rem;font-size:.75rem}.stretch-controls{flex-direction:column;gap:.5rem;display:flex}.stretch-group{justify-content:space-between;align-items:center;display:flex}.stretch-group label{color:#555;min-width:80px;font-size:.8rem}.stretch-buttons{gap:.25rem;display:flex}.stretch-buttons button{cursor:pointer;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;min-width:28px;padding:.3rem .4rem;font-size:.7rem}.stretch-buttons button:hover{background:#e0e0e0}.stretch-buttons button:active{color:#fff;background:#4a7c23}.opacity-controls{gap:.5rem;display:flex}.opacity-controls button{cursor:pointer;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;flex:1;padding:.4rem .5rem;font-size:.8rem}.opacity-controls button:hover{background:#e0e0e0}.opacity-controls button.active{color:#fff;background:#4a7c23;border-color:#4a7c23}.legend-header-row{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.legend-header-row h4{color:#333;margin:0;font-size:.85rem}.legend-filter-btns{gap:.25rem;display:flex}.legend-filter-btns button{cursor:pointer;background:#f0f0f0;border:1px solid #ddd;border-radius:3px;padding:.15rem .4rem;font-size:.65rem}.legend-filter-btns button:hover{background:#e0e0e0}.legend-icons{grid-template-columns:1fr 1fr;justify-items:start;gap:.25rem;margin-bottom:.5rem;display:grid}.legend-icon-item{-webkit-user-select:none;user-select:none;cursor:pointer;color:inherit;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:.35rem;min-width:0;max-width:100%;padding:.2rem .3rem;font-family:inherit;font-size:.75rem;transition:background .15s,opacity .15s;display:flex}.legend-icon-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend-icon-item:hover{background:#e8f5e9}.legend-icon-item.active{opacity:1}.legend-icon-item.inactive{opacity:.4;background:#f5f5f5}.legend-icon-item.inactive:hover{opacity:.7;background:#e0e0e0}.legend-icon-item img{width:18px;height:18px}.legend-icon-item.legend-section-header{position:relative}.legend-expand-icon{opacity:.6;margin-left:auto;font-size:.6rem}.legend-section-content{background:#f9f9f9;border-radius:4px;margin-top:.25rem;margin-bottom:.5rem;padding:.5rem}.legend-checkbox-label{cursor:pointer;border-radius:3px;align-items:center;gap:.4rem;padding:.25rem .15rem;font-size:.75rem;display:flex}.legend-checkbox-label:hover{background:#e8f5e9}.legend-checkbox-label input[type=checkbox]{cursor:pointer;margin:0}.legend-color-swatch{border:1px solid #0003;border-radius:3px;flex-shrink:0;width:14px;height:14px}.login-backdrop{display:none}.login-container{position:relative}.login-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:background .2s}.login-btn:hover{background:#ffffff40}.login-dropdown{z-index:1000;background:#fff;border-radius:8px;min-width:220px;margin-top:.5rem;padding:.75rem;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #00000026}.oauth-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;gap:.75rem;width:100%;margin-bottom:.5rem;padding:.6rem .75rem;font-size:.85rem;transition:background .2s;display:flex}.oauth-btn:last-of-type{margin-bottom:0}.oauth-btn:hover{background:#f5f5f5}.google-btn:hover{border-color:#4285f4}.facebook-btn:hover{border-color:#1877f2}.auth-error{color:#d32f2f;text-align:center;margin-top:.5rem;font-size:.8rem}@media (width<=768px){.login-backdrop{z-index:999;background:#00000080;display:block;position:fixed;inset:0}.login-dropdown{z-index:1001;min-width:280px;max-width:90vw;margin-top:0;padding:1.25rem;position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}.oauth-btn{margin-bottom:.75rem;padding:.75rem 1rem;font-size:.9rem}.oauth-btn:last-of-type{margin-bottom:0}}.admin-item{color:#f57c00;font-weight:500}.admin-panel-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-panel-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:auto;box-shadow:0 8px 32px #00000040}.admin-panel-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.admin-panel-header h2{color:#2d5016;font-size:1.25rem}.admin-panel-header .close-btn{cursor:pointer;color:#525252;background:#f5f5f5;border:none;border-radius:50%;width:32px;height:32px;font-size:1rem}.admin-panel-header .close-btn:hover{background:#e0e0e0}.admin-panel-content{padding:1.25rem}.admin-panel-content p{color:#555;margin-bottom:.75rem}.admin-panel-content ul{color:#525252;margin-left:1.5rem}.admin-panel-content li{margin-bottom:.5rem}.edit-mode-banner{top:var(--header-height);color:#fff;text-align:center;z-index:9000;height:var(--banner-height);background:linear-gradient(90deg,#f57c00,#ff9800);padding:.75rem 1rem;font-size:.9rem;font-weight:600;line-height:1.4;position:fixed;left:0;right:0;box-shadow:0 2px 8px #0003}.main-content{top:var(--header-height);position:fixed;bottom:0;left:0;right:0}.main-content.edit-mode{top:calc(var(--header-height) + var(--banner-height))}@media (width>=769px){.leaflet-top{top:1rem!important}.leaflet-left{left:1rem!important}}.edit-mode-toggle input:checked+span{color:#f57c00;font-weight:600}.edit-mode-hint{color:#f57c00;margin-top:.25rem;font-size:.7rem;font-style:italic}.edit-coords{color:#f57c00;margin-top:.25rem;font-family:monospace;font-size:.75rem}.coord-confirm-overlay{z-index:3000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.coord-confirm-dialog{background:#fff;border-radius:12px;width:90%;max-width:400px;padding:1.5rem;box-shadow:0 8px 32px #0000004d}.coord-confirm-dialog h3{color:#2d5016;margin:0 0 .5rem;font-size:1.25rem}.coord-confirm-dialog .dest-name{color:#333;margin-bottom:1rem;font-size:1rem;font-weight:600}.coord-comparison{background:#f5f5f5;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem;display:flex}.coord-old,.coord-new{flex:1}.coord-label{color:#525252;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.75rem;display:block}.coord-value{color:#333;font-family:monospace;font-size:.85rem;display:block}.coord-old .coord-value{color:#d32f2f;text-decoration:line-through}.coord-new .coord-value{color:#2e7d32;font-weight:600}.coord-arrow{color:#767676;font-size:1.25rem}.coord-diff{color:#525252;text-align:center;margin-bottom:1rem;font-size:.8rem}.coord-confirm-buttons{justify-content:flex-end;gap:.75rem;display:flex}.coord-confirm-buttons button{cursor:pointer;border-radius:6px;padding:.6rem 1.25rem;font-size:.9rem;transition:all .2s}.coord-confirm-buttons .cancel-btn{color:#525252;background:#f5f5f5;border:1px solid #ddd}.coord-confirm-buttons .cancel-btn:hover{background:#e0e0e0}.coord-confirm-buttons .confirm-btn{color:#fff;background:#2d5016;border:none}.coord-confirm-buttons .confirm-btn:hover{background:#1e3a0f}.coord-confirm-buttons button:disabled{opacity:.6;cursor:not-allowed}.view-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.view-scroll{flex:1;overflow-y:auto}.edit-view-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.edit-view-scroll{flex:1;padding:1rem 1.25rem;overflow-y:auto}.edit-buttons-footer{background:#fff;border-top:1px solid #ddd;flex-shrink:0;gap:.75rem;padding:1rem 1.25rem;display:flex;box-shadow:0 -2px 8px #0000001a}.edit-buttons-footer button{cursor:pointer;border-radius:6px;flex:1;padding:.65rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.edit-buttons-footer .cancel-btn{color:#525252;background:#f5f5f5;border:1px solid #ddd}.edit-buttons-footer .cancel-btn:hover{background:#e8e8e8}.edit-buttons-footer .save-btn{color:#fff;background:#4a7c23;border:none}.edit-buttons-footer .save-btn:hover{background:#2d5016}.edit-buttons-footer button:disabled{opacity:.6;cursor:not-allowed}.edit-buttons-footer .delete-btn{color:#d32f2f;background:#fff;border:1px solid #d32f2f;flex:none;padding:.65rem 1.25rem}.edit-buttons-footer .delete-btn:hover{background:#ffebee}.more-info-section{border-top:1px solid #e0e0e0;margin-top:1rem;padding:1.5rem 1.25rem}.more-info-link{color:#fff;text-align:center;background:#3d6a1e;border-radius:8px;justify-content:center;align-items:center;width:100%;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .2s,transform .1s;display:inline-flex}.more-info-link:hover{background:#2d5016;transform:translateY(-1px)}.more-info-link:active{transform:translateY(0)}.edit-buttons-right{gap:.75rem;margin-left:auto;display:flex}.delete-confirm-overlay{z-index:3000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.delete-confirm-dialog{text-align:center;background:#fff;border-radius:12px;width:90%;max-width:400px;padding:1.5rem;box-shadow:0 8px 32px #0000004d}.delete-confirm-dialog h3{color:#d32f2f;margin:0 0 .75rem;font-size:1.25rem}.delete-dest-name{color:#333;margin-bottom:.5rem;font-size:1rem;font-weight:600}.delete-warning{color:#525252;margin-bottom:1.5rem;font-size:.9rem}.delete-confirm-buttons{justify-content:center;gap:.75rem;display:flex}.delete-confirm-buttons button{cursor:pointer;border-radius:6px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.delete-confirm-buttons .cancel-btn{color:#525252;background:#f5f5f5;border:1px solid #ddd}.delete-confirm-buttons .cancel-btn:hover{background:#e8e8e8}.delete-confirm-buttons .confirm-delete-btn{color:#fff;background:#d32f2f;border:none}.delete-confirm-buttons .confirm-delete-btn:hover{background:#b71c1c}.delete-confirm-buttons button:disabled{opacity:.6;cursor:not-allowed}.sidebar-header .header-buttons{align-items:center;gap:.5rem;display:flex}.sidebar-header .edit-btn{cursor:pointer;background:#fff3;border:1px solid #fff6;border-radius:4px;padding:.35rem .5rem;font-size:.9rem;transition:background .2s}.sidebar-header .edit-btn:hover{background:#ffffff59}.sidebar-header .mtb-nav-btn{cursor:pointer;color:#fff;background:#fff3;border:1px solid #fff6;border-radius:4px;justify-content:center;align-items:center;min-width:32px;padding:.35rem .6rem;font-size:1.2rem;transition:background .2s;display:inline-flex}.sidebar-header .mtb-nav-btn:hover{background:#ffffff59}.sidebar-header .back-to-mtb-btn{cursor:pointer;color:#fff;white-space:nowrap;background:#fff3;border:1px solid #fff6;border-radius:4px;padding:.35rem .75rem;font-size:.85rem;transition:background .2s}.sidebar-header .back-to-mtb-btn:hover{background:#ffffff59}.sidebar-content.edit-mode{padding:1rem 1.25rem}.edit-section{margin-bottom:1rem}.edit-section label{text-transform:uppercase;letter-spacing:.5px;color:#525252;margin-bottom:.35rem;font-size:.75rem;font-weight:500;display:block}.edit-section input,.edit-section select,.edit-section textarea{border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.role-editor{margin-bottom:1rem}.role-editor label{text-transform:uppercase;letter-spacing:.5px;color:#525252;margin-bottom:.35rem;font-size:.75rem;font-weight:500;display:block}.role-chips{flex-wrap:wrap;gap:.4rem;display:flex}.role-chip{color:#666;cursor:pointer;background:#f5f5f5;border:1px solid #ccc;border-radius:16px;padding:.3rem .7rem;font-size:.8rem;transition:all .15s}.role-chip:hover{border-color:#999}.role-chip.active{color:#fff;background:#4caf50;border-color:#4caf50}.role-chip.active:hover{background:#388e3c;border-color:#388e3c}.geojson-uploader{margin-bottom:1rem}.geojson-uploader label{text-transform:uppercase;letter-spacing:.5px;color:#525252;margin-bottom:.35rem;font-size:.75rem;font-weight:500;display:block}.geojson-upload-area{text-align:center;cursor:pointer;border:2px dashed #ccc;border-radius:6px;padding:1rem;transition:border-color .2s}.geojson-upload-area:hover{border-color:#4caf50}.geojson-upload-area.has-file{background:#f0f8f0;border-style:solid;border-color:#4caf50}.geojson-file-info{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.geojson-file-name{color:#333;font-size:.85rem;font-weight:500}.geojson-file-meta{color:#666;font-size:.75rem}.geojson-clear-btn{color:#d32f2f;cursor:pointer;background:0 0;border:1px solid #d32f2f;border-radius:3px;padding:.2rem .5rem;font-size:.75rem}.geojson-clear-btn:hover{background:#ffebee}.geojson-upload-prompt{color:#888;font-size:.85rem}.geojson-error{color:#d32f2f;margin-top:.3rem;font-size:.8rem}.new-content-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;inset:0}.new-content-modal{background:#fff;border-radius:8px;width:min(90vw,520px);max-height:75vh;margin-top:40px;overflow-y:auto;box-shadow:0 8px 32px #0003}.new-content-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.new-content-header h3{margin:0;font-size:1.1rem}.new-content-header .close-btn{cursor:pointer;color:#666;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.new-content-form{padding:1.25rem}.new-content-form .form-section{margin-bottom:1rem}.recur-weekdays{flex-wrap:wrap;gap:.35rem;display:flex}.recur-day{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.4rem .6rem;font-size:.8rem}.recur-day.active{color:#fff;background:#2d5016;border-color:#2d5016}.new-content-form .form-row-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.recur-admin-controls{gap:.5rem;margin-top:.5rem;display:flex}.recur-edit-btn,.recur-delete-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.35rem .7rem;font-size:.8rem}.recur-edit-btn{color:#2d5016;border-color:#2d5016}.recur-delete-btn{color:#c62828;border-color:#c62828}.new-content-form .form-section label{text-transform:uppercase;letter-spacing:.5px;color:#525252;margin-bottom:.35rem;font-size:.75rem;font-weight:500;display:block}.new-content-form .form-section input,.new-content-form .form-section select,.new-content-form .form-section textarea{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.new-content-form .form-section input:focus,.new-content-form .form-section select:focus,.new-content-form .form-section textarea:focus{border-color:#4a7c23;outline:none}.new-content-form .form-error{color:#d32f2f;background:#ffebee;border-radius:4px;margin-bottom:.75rem;padding:.5rem;font-size:.85rem}.form-ai-info{color:#555;background:#fff8e1;border:1px solid #ffe082;border-radius:4px;margin-bottom:.75rem;padding:.6rem .75rem;font-size:.8rem;line-height:1.4}.form-ai-reasoning{margin-bottom:.3rem}.form-ai-status{color:#888;font-size:.75rem}.form-urls-list{flex-direction:column;gap:.3rem;display:flex}.form-url-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;align-items:center;gap:.4rem;padding:.3rem .5rem;display:flex}.form-url-link{color:#1976d2;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;overflow:hidden}.form-url-source{color:#888;flex-shrink:0;font-size:.7rem}.form-url-remove{color:#f44336;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:.85rem;line-height:1}.form-url-add{gap:.4rem;margin-top:.3rem;display:flex}.form-url-add input{border:1px solid #ccc;border-radius:4px;flex:1;padding:.35rem .5rem;font-size:.78rem}.form-url-add-btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:4px;padding:.35rem .7rem;font-size:.78rem;font-weight:500}.form-url-add-btn:disabled{cursor:not-allowed;background:#ccc}.new-content-form .form-buttons{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:flex}.new-content-form .cancel-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.new-content-form .save-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.new-content-form .save-btn:disabled{cursor:not-allowed;background:#ccc}.new-content-form .save-btn:not(:disabled):hover{background:#388e3c}.tab-header-with-new{justify-content:space-between;align-items:flex-start;display:flex}.tab-new-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#4caf50;border:none;border-radius:4px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;transition:background .2s}.tab-new-btn:hover{background:#388e3c}.card-moderation-bar{border-top:1px solid #e8e8e8;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.card-mod-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600}.card-mod-badge.source-ai{color:#1565c0;background:#e3f2fd}.card-mod-badge.source-human{color:#7b1fa2;background:#f3e5f5}.card-mod-badge.source-feed{color:#e65100;background:#fff3e0}.card-mod-badge.source-community,.card-mod-badge.status-published,.card-mod-badge.status-auto_approved{color:#2e7d32;background:#e8f5e9}.card-mod-badge.status-pending{color:#e65100;background:#fff3e0}.card-mod-badge.status-rejected{color:#c62828;background:#ffebee}.card-mod-actions{gap:.4rem;margin-left:auto;display:flex}.card-mod-btn{cursor:pointer;color:#333;background:#f5f5f5;border:1px solid #ccc;border-radius:4px;padding:3px 10px;font-size:.75rem;font-weight:500}.card-mod-btn:hover{background:#e0e0e0}.card-mod-btn.edit{color:#1565c0;border-color:#1565c0}.card-mod-btn.edit:hover{background:#e3f2fd}.card-mod-btn.delete{color:#c62828;border-color:#c62828}.card-mod-btn.delete:hover{background:#ffebee}.edit-section input:focus,.edit-section select:focus,.edit-section textarea:focus{border-color:#4a7c23;outline:none;box-shadow:0 0 0 2px #4a7c2326}.edit-section textarea{resize:vertical;min-height:80px}.edit-row{gap:1rem;display:flex}.edit-section.half{flex:1}.icon-type-selector{align-items:center;gap:.75rem;display:flex}.icon-type-selector select{flex:1}.icon-type-selector .icon-preview{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;width:32px;height:32px;padding:4px}.edit-buttons{border-top:1px solid #eee;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.edit-buttons button{cursor:pointer;border-radius:6px;flex:1;padding:.65rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.edit-buttons .cancel-btn{color:#525252;background:#f5f5f5;border:1px solid #ddd}.edit-buttons .cancel-btn:hover{background:#e8e8e8}.edit-buttons .save-btn{color:#fff;background:#4a7c23;border:none}.edit-buttons .save-btn:hover{background:#2d5016}.edit-buttons button:disabled{opacity:.6;cursor:not-allowed}.create-mode-banner{color:#fff;text-align:center;z-index:1000;background:linear-gradient(90deg,#1565c0,#1976d2);padding:.5rem;font-size:.9rem;font-weight:600;position:absolute;top:0;left:0;right:0;box-shadow:0 2px 8px #0003}.create-mode-toggle input:checked+span{color:#1565c0;font-weight:600}.create-mode-hint{color:#1565c0;margin-top:.25rem;font-size:.7rem;font-style:italic}.create-poi-btn{color:#fff;cursor:pointer;background:#1565c0;border:none;border-radius:4px;width:100%;margin-top:.5rem;padding:.5rem .6rem;font-size:.8rem;font-weight:500}.create-poi-btn:hover{background:#0d47a1}.form-error{color:#c62828;background:#ffebee;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.form-section{margin-bottom:1rem}.form-section label{text-transform:uppercase;letter-spacing:.5px;color:#525252;margin-bottom:.35rem;font-size:.75rem;font-weight:500;display:block}.form-section input,.form-section select,.form-section textarea{border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.form-section input:focus,.form-section select:focus,.form-section textarea:focus{border-color:#4a7c23;outline:none;box-shadow:0 0 0 2px #4a7c2326}.form-section textarea{resize:vertical;min-height:60px}.form-section.half{flex:1}.form-buttons{border-top:1px solid #eee;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.form-buttons button{cursor:pointer;border-radius:6px;flex:1;padding:.65rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.form-buttons .cancel-btn{color:#525252;background:#f5f5f5;border:1px solid #ddd}.form-buttons .cancel-btn:hover{background:#e8e8e8}.form-buttons .save-btn{color:#fff;background:#4a7c23;border:none}.form-buttons .save-btn:hover{background:#2d5016}.form-buttons button:disabled{opacity:.6;cursor:not-allowed}.selected-marker-icon{background:0 0}.marker-highlight{justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.marker-highlight:before{content:"";border-radius:50%;width:44px;height:44px;animation:1.5s ease-out infinite pulse-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.marker-highlight img{z-index:1;width:28px;height:28px;position:relative}.marker-highlight.edit-highlight:before{background:#ff8c004d;border:3px solid #ff8c00}.marker-highlight.edit-highlight img{filter:drop-shadow(0 0 4px #ff8c00cc)}.marker-highlight.view-highlight:before{background:#1e90ff4d;border:3px solid #1e90ff}.marker-highlight.view-highlight img{filter:drop-shadow(0 0 4px #1e90ffcc)}@keyframes pulse-ring{0%{opacity:1;transform:translate(-50%,-50%)scale(.9)}to{opacity:0;transform:translate(-50%,-50%)scale(1.3)}}.selected-tooltip{z-index:1000!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;transition:none!important}.selected-tooltip.leaflet-tooltip,.leaflet-tooltip-pane .leaflet-tooltip.selected-tooltip{opacity:1!important;visibility:visible!important}.tooltip-hidden,.leaflet-tooltip.tooltip-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.main-content-full{top:var(--header-height);-webkit-overflow-scrolling:touch;background:#f5f5f5;flex-direction:column;padding:2rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.main-content-full .park-news-tab,.main-content-full .park-events-tab,.main-content-full .results-tab-wrapper,.main-content-full .about-page{box-sizing:border-box;background:#fff;border-radius:12px;flex:none;width:100%;max-width:900px;min-height:min-content;margin:0 auto;padding:1.5rem;box-shadow:0 2px 8px #0000001a}@media (width<=768px){.main-content-full{padding:.75rem}.main-content-full .park-news-tab,.main-content-full .park-events-tab,.main-content-full .results-tab-wrapper,.main-content-full .about-page{border-radius:8px;padding:1rem}}.settings-content{top:var(--header-height);background:#f5f5f5;padding:2rem;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.settings-panel{background:#fff;border-radius:12px;max-width:800px;margin:0 auto;padding:0;overflow:hidden;box-shadow:0 2px 8px #0000001a}.settings-tabs{background:0 0;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;gap:0;margin-bottom:0;padding:0;display:flex}.settings-tabs.settings-tabs-row2{border-bottom:2px solid #e0e0e0}.settings-tab-btn{color:#525252;cursor:pointer;background:0 0;border:none;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;transition:color .2s;position:relative}.settings-tab-btn:hover{color:#333}.settings-tab-btn.active{color:#4caf50}.settings-tab-btn.active:after{content:"";background:#4caf50;height:2px;position:absolute;bottom:-2px;left:0;right:0}.settings-tab-content{padding:1.5rem}@media (width<=768px){.settings-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;position:relative;overflow:auto hidden}.settings-tabs::-webkit-scrollbar{height:4px}.settings-tabs::-webkit-scrollbar-track{background:#e0e0e0}.settings-tabs::-webkit-scrollbar-thumb{background:#999;border-radius:2px}.settings-tab-btn{white-space:nowrap;flex:none;min-width:fit-content;padding:.6rem .75rem;font-size:.8rem}}.news-settings{padding:1rem}.news-settings h3{color:#2d5016;margin-top:0;margin-bottom:.5rem}.news-settings h4{color:#333;border-bottom:1px solid #eee;margin:1.5rem 0 1rem;padding-bottom:.5rem;font-size:1rem}.status-row{border-bottom:1px solid #eee;justify-content:space-between;padding:.5rem 0;display:flex}.status-row:last-child{border-bottom:none}.status-row.error{color:#c62828}.progress-stats{flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;display:flex}.progress-hint{color:#525252;margin:0;font-size:.85rem;font-style:italic}.ai-config-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.ai-config-section h4{color:#333;margin:0 0 8px}.ai-config-section .settings-description{color:#525252;margin-bottom:16px;font-size:.9rem}.config-row{flex-direction:column;margin-bottom:16px;display:flex}.config-row label{color:#333;margin-bottom:4px;font-weight:500}.config-row select,.config-row input[type=number],.config-row input[type=text],.config-row input[type=password]{background:#fff;border:1px solid #ccc;border-radius:4px;max-width:350px;padding:8px 12px;font-size:14px}.config-row select:focus,.config-row input[type=number]:focus,.config-row input[type=text]:focus,.config-row input[type=password]:focus{border-color:#4a7c23;outline:none;box-shadow:0 0 0 2px #4a7c231a}.config-row select:disabled,.config-row input[type=number]:disabled,.config-row input[type=text]:disabled,.config-row input[type=password]:disabled{cursor:not-allowed;background:#f5f5f5}.config-hint{color:#525252;margin-top:4px;font-size:12px}.ai-config-section .action-btn{margin-top:8px}.progress-provider-info{background:#ffffff26;border-radius:6px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:.9rem;display:flex}.provider-label{color:#ffffffe6;font-weight:600}.provider-value{color:#fff;font-weight:500}.provider-fallback{color:#ffffffb3;font-size:.85rem;font-weight:400}.action-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.75rem 1.5rem;font-weight:600;transition:background-color .2s}.action-btn.primary{color:#fff;background:#4a7c23}.action-btn.primary:hover:not(:disabled){background:#3d6a1c}.action-btn.secondary{color:#333;background:#f5f5f5;border:1px solid #ccc}.action-btn.secondary:hover:not(:disabled){background:#e8e8e8}.action-btn:disabled{opacity:.6;cursor:not-allowed}.progress-bar-wrapper{background:#ffffff40;border-radius:10px;height:6px;margin-bottom:1rem;overflow:hidden}.progress-bar-fill{border-radius:10px;height:100%;transition:width .5s;animation:2s linear infinite shimmer;box-shadow:0 0 10px #ffffff80}.progress-counts{flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;display:flex}.news-events-results-section{margin-bottom:1.5rem}.results-tabs{background:#f0f0f0;border-radius:8px;gap:.25rem;margin-bottom:1rem;padding:.25rem;display:flex}.results-tab{color:#525252;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.results-tab:hover{color:#333;background:#0000000d}.results-tab.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);font-weight:600}.results-tab .tab-icon{font-size:1rem}.results-loading{text-align:center;color:#525252;padding:2rem}.no-results{text-align:center;color:#525252;padding:2rem;font-style:italic}.news-item-card,.event-item-card{background:#fff;border-left:4px solid #6a1b9a;border-radius:8px;margin-bottom:.5rem;padding:.75rem;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000001a}.news-item-card:last-child,.event-item-card:last-child{margin-bottom:0}.news-item-card:hover,.event-item-card:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.news-item-card.closure{border-left-color:#c62828}.news-item-card.seasonal{border-left-color:#1565c0}.news-item-card.maintenance{border-left-color:#f57c00}.news-item-card.wildlife{border-left-color:#2e7d32}.news-item-card.general{border-left-color:#6a1b9a}.event-item-card.guided-tour{border-left-color:#1565c0}.event-item-card.program{border-left-color:#6a1b9a}.event-item-card.festival{border-left-color:#c62828}.event-item-card.volunteer{border-left-color:#2e7d32}.event-item-card.educational{border-left-color:#f57c00}.event-item-card.concert{border-left-color:#e91e63}.item-card-header{align-items:flex-start;gap:.5rem;margin-bottom:.25rem;display:flex}.item-card-title{color:#333;flex:1;font-size:.95rem;font-weight:600;line-height:1.3}.item-card-delete{color:#767676;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.item-card-delete:hover{color:#c62828}.item-card-date-row{color:#1565c0;margin-bottom:.25rem;font-size:.85rem;font-weight:500}.item-card-summary{color:#525252;margin:.25rem 0;font-size:.85rem;line-height:1.4}.item-card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.8rem;display:flex}.item-card-poi{color:#555;background:#f0f0f0;border-radius:4px;padding:.15rem .5rem;font-weight:500}.item-card-source,.item-card-date{color:#888}.item-card-location{color:#888;font-style:italic}.item-card-link{color:#1565c0;font-weight:500;text-decoration:none}.item-card-link:hover{text-decoration:underline}.google-integration-tab{flex-direction:column;gap:0;display:flex}.settings-divider{background:#e0e0e0;height:1px;margin:1.5rem 0}.settings-panel h2{color:#2d5016;margin:0 0 .5rem;font-size:1.5rem}.settings-description{color:#525252;margin-bottom:2rem;font-size:.95rem}.settings-section{border-bottom:1px solid #eee;margin-bottom:2rem;padding-bottom:2rem}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h3{color:#333;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;display:flex}.settings-field{margin-bottom:1rem}.settings-field:last-child{margin-bottom:0}.settings-field label{color:#555;margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.settings-field input{border:1px solid #ddd;border-radius:6px;width:100%;max-width:400px;padding:.6rem .85rem;font-size:.9rem}.settings-field input:focus{border-color:#4a7c23;outline:none;box-shadow:0 0 0 2px #4a7c2326}.settings-field input:disabled{color:#767676;cursor:not-allowed;background:#f5f5f5}.field-hint{color:#888;margin-top:.35rem;font-size:.8rem}.general-settings{padding:0}.general-settings .settings-section h3{color:#2d5016;margin-bottom:.75rem;font-size:1.2rem;font-weight:600}.general-settings .settings-description{color:#525252;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.timezone-select{color:#333;cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E") right 1rem center no-repeat;border:2px solid #e0e0e0;border-radius:8px;width:100%;max-width:400px;padding:.75rem 3rem .75rem 1rem;font-size:.95rem;transition:all .2s}.timezone-select:hover{border-color:#4a7c23}.timezone-select:focus{border-color:#4a7c23;outline:none;box-shadow:0 0 0 3px #4a7c231a}.settings-actions{align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.save-settings-btn{color:#fff;cursor:pointer;background:#4a7c23;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #4a7c2333}.save-settings-btn:hover:not(:disabled){background:#3d6a1d;transform:translateY(-1px);box-shadow:0 4px 8px #4a7c234d}.save-settings-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #4a7c2333}.save-settings-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-message{border-radius:6px;padding:.75rem 1rem;font-size:.9rem;font-weight:500;animation:.3s slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.save-message.success{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.save-message.error{color:#c62828;background:#ffebee;border:1px solid #ef9a9a}.settings-info-box{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:1.5rem;padding:1.25rem}.info-box-header{color:#2d5016;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1rem;display:flex}.info-icon{font-size:1.2rem}.info-list{color:#525252;margin:0;padding-left:1.75rem;font-size:.9rem;line-height:1.6}.info-list li{margin:.5rem 0}.coming-soon{color:#767676;text-align:center;background:#f9f9f9;border-radius:6px;padding:1rem;font-style:italic}.theme-settings{padding:0}.theme-settings .settings-section h3{color:#2d5016;margin-bottom:.75rem;font-size:1.2rem;font-weight:600}.theme-settings .settings-description{color:#525252;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.theme-preview-banner{color:#fff;background:linear-gradient(135deg,#4a7c23 0%,#6b9e3e 100%);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex;box-shadow:0 2px 8px #00000026}.theme-preview-banner span{font-size:1rem;font-weight:600}.stop-preview-btn{color:#4a7c23;cursor:pointer;background:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;transition:all .2s}.stop-preview-btn:hover{background:#f0f0f0;transform:translateY(-1px)}.theme-table-container{border-radius:8px;margin-bottom:2rem;overflow-x:auto;box-shadow:0 2px 4px #0000001a}.theme-table{border-collapse:collapse;background:#fff;width:100%}.theme-table thead{color:#fff;background:linear-gradient(135deg,#4a7c23 0%,#6b9e3e 100%)}.theme-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;padding:1rem;font-size:.9rem;font-weight:600}.theme-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.theme-table tbody tr:hover{background-color:#f8f9fa}.theme-table tbody tr.testing{background-color:#e8f4dd}.theme-table td{color:#333;padding:1rem;font-size:.9rem}.theme-table .checkbox-cell{text-align:center;width:80px}.theme-table .checkbox-cell input[type=checkbox]{cursor:pointer;width:20px;height:20px}.theme-table .theme-name{color:#2d5016;min-width:120px;font-weight:600}.date-input-table{color:#333;background:#fff;border:2px solid #e0e0e0;border-radius:6px;width:100%;max-width:100px;padding:.5rem .75rem;font-size:.9rem;transition:all .2s}.date-input-table:hover{border-color:#4a7c23}.date-input-table:focus{border-color:#4a7c23;outline:none;box-shadow:0 0 0 3px #4a7c231a}.test-btn{color:#fff;cursor:pointer;background:#4a7c23;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s}.test-btn:hover{background:#3d6a1e;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.test-btn.active{background:#d9534f}.test-btn.active:hover{background:#c9302c}.night-mode-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.night-mode-section h4{color:#2d5016;margin:0 0 1rem;font-size:1rem;font-weight:600}.night-mode-controls{flex-wrap:wrap;align-items:flex-end;gap:1.5rem;display:flex}.night-mode-controls label{color:#333;flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.night-mode-controls label input[type=checkbox]{cursor:pointer;width:20px;height:20px}.night-mode-controls label span{font-weight:500}.hour-input{color:#333;background:#fff;border:2px solid #e0e0e0;border-radius:6px;max-width:120px;padding:.5rem .75rem;font-size:.9rem;transition:all .2s}.hour-input:hover{border-color:#4a7c23}.hour-input:focus{border-color:#4a7c23;outline:none;box-shadow:0 0 0 3px #4a7c231a}@media (width<=768px){.theme-table{font-size:.85rem}.theme-table th,.theme-table td{padding:.75rem .5rem}.theme-preview-banner{text-align:center;flex-direction:column;gap:1rem}.night-mode-controls{flex-direction:column;align-items:stretch}.hour-input{max-width:100%}}.collection-status{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;margin:1rem;padding:1.25rem;animation:.4s ease-out slideDown;box-shadow:0 4px 12px #667eea4d}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.status-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.status-phase{align-items:center;gap:.5rem;display:flex}.phase-icon{font-size:1.5rem;display:inline-block}.phase-icon.pulse{animation:1.5s ease-in-out infinite pulse}.phase-label{color:#fff;text-shadow:0 1px 2px #0003;font-size:1rem;font-weight:600}.status-header-right{align-items:center;gap:.5rem;display:flex}.status-timer{color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:20px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.status-close-btn{color:#ffffffe6;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1.5rem;line-height:1;transition:all .2s;display:flex}.status-close-btn:hover{background:#ffffff40;transform:scale(1.1)}.status-message{color:#fffffff2;margin-bottom:.75rem;font-size:.9rem;font-weight:500}.status-progress-bar{background:#ffffff40;border-radius:10px;height:6px;margin-bottom:1rem;overflow:hidden}.status-progress-fill{border-radius:10px;height:100%;transition:width .5s,background-color .5s;animation:2s linear infinite shimmer;box-shadow:0 0 10px #ffffff80}@keyframes shimmer{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.status-counts{gap:1rem;margin-bottom:.75rem;display:flex}.count-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .75rem;animation:.3s ease-out countFadeIn;display:flex}@keyframes countFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.count-icon{font-size:1.1rem}.count-value{color:#0f172a;font-size:1.1rem;font-weight:700}.count-label{color:#334155;font-size:.85rem;font-weight:500}.count-details{flex-direction:column;gap:.3rem;display:flex}.count-row{align-items:center;gap:.5rem;display:flex}.count-row .count-label{text-align:left;min-width:80px}.count-row .count-value{font-size:1rem}.status-phases{border-top:1px solid #fff3;flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.phase-badge{background:#ffffff26;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .75rem;animation:.3s ease-out backwards phaseFadeIn;display:flex}.phase-badge.completed{opacity:1;background:#4caf5033}.phase-badge.current{opacity:1;background:#ffffff40;border:1px solid #fff6}.phase-badge.pending{opacity:.4;background:#ffffff0d}.phase-badge-icon{font-size:1rem}.phase-badge-label{color:#fffffff2;flex:1;font-size:.85rem;font-weight:500}.phase-badge-check{color:#4caf50;font-size:1rem;font-weight:700}.phase-badge-spinner{font-size:1rem;animation:1.5s ease-in-out infinite pulse}.phase-badge:first-child{animation-delay:.1s}.phase-badge:nth-child(2){animation-delay:.2s}.phase-badge:nth-child(3){animation-delay:.3s}.phase-badge:nth-child(4){animation-delay:.4s}.phase-badge:nth-child(5){animation-delay:.5s}.status-summary-badges{border-top:1px solid #fff3;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.summary-badge{border-radius:8px;flex-direction:column;flex:1;align-items:center;padding:.75rem;animation:.3s ease-out countFadeIn;display:flex}.summary-badge.found{background:#2196f34d}.summary-badge.saved{background:#4caf504d}.summary-badge.duplicates,.summary-badge.skipped{background:#ff98004d}.summary-badge-label{color:#fffc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.summary-badge-value{color:#fff;font-size:1.5rem;font-weight:700}@keyframes phaseFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:.85;transform:translateY(0)}}.status-cancel-btn{color:#b71c1c;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4433626;border:1px solid #f4433699;border-radius:6px;padding:.25rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s}.status-cancel-btn:hover{background:#f4433680;border-color:#f44336b3;transform:scale(1.05)}.ai-stats{background:#00000026;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem;display:flex}.ai-stats-title{color:#ffffffd9;text-transform:uppercase;letter-spacing:.5px;width:100%;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.ai-stats-items{flex-wrap:wrap;gap:.75rem;display:flex}.ai-stat-item{color:#fffffff2;background:#ffffff1a;border-radius:4px;padding:.25rem .75rem;font-size:.85rem;font-weight:500}.ai-stat-item.rate-limit{color:#ffcdd2;background:#f4433633}.ai-provider-badge{align-items:center;gap:.5rem;display:flex}.ai-provider-label,.ai-errors-label,.ai-usage-label{color:#ffffffb3;font-size:.8rem;font-weight:500}.ai-stats-table{background:#0003;border-radius:8px;margin:.75rem 0;overflow:hidden}.ai-stats-row{color:#ffffffe6;border-top:1px solid #ffffff1a;grid-template-columns:2fr 1.5fr 1fr 1fr;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;display:grid}.ai-stats-row.active{background:#ffffff1a}.ai-stats-row.llm.active{background:#2196f326}.ai-col-provider{font-weight:600}.ai-col-status{color:#ffffffb3}.ai-stats-row.active .ai-col-status{color:#4caf50;font-weight:600}.ai-col-requests,.ai-col-errors{text-align:center;font-weight:500}.ai-stats-row .ai-col-errors{color:#ffffffb3}.ai-stats-row .ai-col-errors:not(:empty){color:#ef9a9a}.ai-col-poi{white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-weight:500;overflow:hidden}.ai-stats-row.empty-slot{opacity:.4}.ai-stats-row.empty-slot .ai-col-status{font-style:italic}.progress-status-text{color:#ffffffd9;text-align:left;margin-top:.5rem;font-size:.85rem;font-style:italic}.step-check{color:#4caf50;background:#ffffffe6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:700;display:flex}.step-text{font-weight:500}.sync-settings{padding:.5rem 0}.sync-settings h3{color:#2d5016;margin-bottom:.5rem}.sync-description{color:#525252;margin-bottom:1rem;font-size:.9rem}.sync-error{color:#c62828;background:#ffebee;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.sync-success{color:#2e7d32;background:#e8f5e9;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.drive-access-prompt{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.drive-access-prompt p{margin:0;font-weight:500}.drive-access-prompt .sync-btn{white-space:nowrap;text-align:center;flex-shrink:0;padding:.5rem 1rem;text-decoration:none;display:inline-block}.sync-status-grid{background:#f5f5f5;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;display:grid}.sync-status-item{flex-direction:column;gap:.25rem;display:flex}.sync-status-item label{color:#525252;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.sync-status-item span{color:#333;font-size:.95rem;font-weight:500}.sync-status-item .pending-highlight{color:#e65100;font-weight:600}.sync-actions{flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;display:flex}.sync-unified-tile{background:linear-gradient(135deg,#f8fdf5 0%,#f0f7e8 100%);border:2px solid #4a7c23;border-radius:10px;margin-bottom:1.5rem;padding:1.25rem}.sync-tile-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.sync-unified-tile h4{color:#2d5016;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;display:flex}.sync-unified-tile h4:before{content:"🔄"}.refresh-btn{color:#fff;cursor:pointer;background:#4a7c23;border:2px solid #3d6a1c;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 4px #00000026}.refresh-btn:hover:not(:disabled){background:#3d6a1c;transform:scale(1.05)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn.spinning{pointer-events:none;animation:.8s linear infinite spin}.sync-status-row{border-bottom:1px solid #d5e8c5;gap:2rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.sync-status-row .sync-status-item{flex-direction:column;gap:.25rem;display:flex}.sync-status-row .sync-status-item label{color:#525252;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.sync-status-row .sync-status-item span{color:#333;font-size:1rem;font-weight:500}.sync-queue-detailed{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1rem;overflow:hidden}.queue-header-row{background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);border-bottom:1px solid #90caf9;padding:.6rem .75rem}.queue-direction{color:#1565c0;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.direction-icon{font-size:1rem}.queue-items-list{max-height:200px;padding:.5rem;overflow-y:auto}.queue-item-row{border-radius:4px;align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.queue-item-row:last-child{margin-bottom:0}.queue-item-row.queue-insert{background:#e8f5e9;border-left:3px solid #4caf50}.queue-item-row.queue-update{background:#e3f2fd;border-left:3px solid #2196f3}.queue-item-row.queue-delete{background:#ffebee;border-left:3px solid #f44336}.queue-item-row.queue-pending{background:#fff3e0;border-left:3px solid #ff9800;font-style:italic}.queue-op-icon{text-align:center;width:1.2rem;font-size:1rem;font-weight:700}.queue-item-row.queue-insert .queue-op-icon{color:#2e7d32}.queue-item-row.queue-update .queue-op-icon{color:#1565c0}.queue-item-row.queue-delete .queue-op-icon{color:#c62828}.queue-op-label{color:#555;min-width:50px;font-weight:500}.queue-item-name{color:#333;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.queue-arrow{color:#767676;font-size:.9rem}.queue-tab-name{color:#525252;white-space:nowrap;background:#f5f5f5;border-radius:3px;padding:.15rem .4rem;font-size:.75rem;font-weight:500}.sync-queue-compact{background:#fff3e0;border:1px solid #ffcc80;border-radius:6px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.85rem}.queue-summary{color:#5d4037;flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.queue-badge.queue-insert{color:#2e7d32;background:#c8e6c9}.queue-badge.queue-update{color:#1565c0;background:#bbdefb}.queue-badge.queue-delete{color:#c62828;background:#ffcdd2}.backup-section{border-bottom:1px solid #e0e0e0;padding:1rem 0}.backup-section:last-of-type{border-bottom:none}.sync-buttons-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem;display:grid}.sync-button-card{text-align:center;flex-direction:column;align-items:center;display:flex}.sync-button-card .sync-btn{width:100%;padding:.75rem 1rem;font-size:.95rem}.button-description{color:#525252;margin:.4rem 0 0;font-size:.75rem;line-height:1.3}.job-link-inline{color:#1565c0;margin-top:.3rem;font-size:.8rem;font-weight:600;text-decoration:none;display:block}.job-link-inline:hover{text-decoration:underline}.job-link-active{color:#1565c0;font-weight:600;text-decoration:none;animation:2s ease-in-out infinite pulse-badge}.job-link-active:hover{text-decoration:underline}.sync-clear-row{border-top:1px solid #e0e0e0;justify-content:center;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.clear-hint{color:#767676;font-size:.75rem}.sync-btn.sync-now-btn{color:#fff;background:#4a7c23}.sync-btn.sync-now-btn:hover:not(:disabled){background:#2d5016}.sync-action-buttons{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.sync-full-options{border-top:1px solid #d5e8c5;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.sync-full-label{color:#525252;font-size:.85rem}.sync-btn-small{cursor:pointer;border:none;border-radius:4px;padding:.4rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s}.sync-btn-small:disabled{opacity:.5;cursor:not-allowed}.sync-btn-small.push-btn{color:#fff;background:#1565c0}.sync-btn-small.push-btn:hover:not(:disabled){background:#0d47a1}.sync-btn-small.pull-btn{color:#fff;background:#7b2d8e}.sync-btn-small.pull-btn:hover:not(:disabled){background:#5c1a6a}.sync-btn-small.clear-btn{color:#525252;background:#f5f5f5;border:1px solid #ddd}.sync-btn-small.clear-btn:hover:not(:disabled){background:#e0e0e0}.sync-btn-small.disconnect-btn:hover:not(:disabled){background:#f5f5f5;border-color:#767676}.sync-action-group{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.sync-action-group h4{color:#333;margin:0 0 .25rem;font-size:.95rem}.action-hint{color:#525252;margin-bottom:.75rem;font-size:.8rem}.sync-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.sync-btn{cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s}.sync-btn:disabled{opacity:.5;cursor:not-allowed}.sync-btn.process-btn{color:#fff;background:#4a7c23}.sync-btn.process-btn:hover:not(:disabled){background:#2d5016}.sync-btn.clear-btn{color:#525252;background:#f5f5f5;border:1px solid #ddd}.sync-btn.clear-btn:hover:not(:disabled){background:#e0e0e0}.sync-btn.push-btn{color:#fff;background:#1565c0}.sync-btn.push-btn:hover:not(:disabled){background:#0d47a1}.sync-btn.pull-btn{color:#fff;background:#7b2d8e}.sync-btn.pull-btn:hover:not(:disabled){background:#5c1a6a}.sync-info{background:#fff3e0;border-radius:8px;padding:1rem;font-size:.85rem}.sync-info p{color:#5d4037;margin:.5rem 0}.sync-info p:first-child{margin-top:0}.sync-info p:last-child{margin-bottom:0}.sync-spreadsheet-info{background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.sync-spreadsheet-info h4{color:#1565c0;margin:0 0 .75rem;font-size:.95rem}.spreadsheet-details{flex-direction:column;gap:.5rem;display:flex}.spreadsheet-field{flex-direction:column;gap:.15rem;display:flex}.spreadsheet-field label{color:#525252;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.spreadsheet-field span{color:#333;font-size:.9rem}.spreadsheet-field code{word-break:break-all;background:#0000000d;border-radius:4px;padding:.25rem .5rem;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem}.spreadsheet-link{color:#1565c0;margin-top:.5rem;font-size:.9rem;text-decoration:none;display:inline-block}.spreadsheet-link:hover{text-decoration:underline}.spreadsheet-actions{border-top:1px solid #0000001a;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;display:flex}.sync-btn-small{cursor:pointer;border:none;border-radius:4px;margin-left:auto;padding:.35rem .75rem;font-size:.8rem;transition:all .2s}.sync-btn-small.disconnect-btn{color:#525252;background:#f5f5f5;border:1px solid #ddd}.sync-btn-small.disconnect-btn:hover{color:#c62828;background:#ffebee;border-color:#ef9a9a}.sync-spreadsheet-info.spreadsheet-problem{background:#fff3e0;border-color:#ffb74d}.sync-spreadsheet-info.spreadsheet-problem h4{color:#e65100}.spreadsheet-warning{background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;margin-top:1rem;padding:1rem}.spreadsheet-warning strong{color:#c62828;margin-bottom:.5rem;display:block}.spreadsheet-warning p{color:#5d4037;margin:0;font-size:.9rem}.sync-drive-info{background:#f3e5f5;border:1px solid #ce93d8;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.sync-drive-info h4{color:#7b2d8e;margin:0 0 .75rem;font-size:.95rem}.drive-folder-structure{font-family:inherit}.drive-folder{padding:.25rem 0}.drive-folder.root-folder{padding-left:0}.drive-folder.subfolder{border-left:2px solid #e1bee7;margin-left:.5rem;padding-left:1.5rem}.folder-link{color:#6a1b9a;border-radius:4px;align-items:center;gap:.5rem;padding:.35rem .5rem;text-decoration:none;transition:background .2s;display:inline-flex}.folder-link:hover{background:#6a1b9a1a}.folder-icon{font-size:1.1rem}.folder-name{font-weight:500}.file-count{color:#9c27b0;white-space:nowrap;font-size:.8rem}.subfolder-list{margin-top:.25rem}.drive-info-description{color:#525252;margin-bottom:1rem;font-size:.85rem}.drive-root-header{border-bottom:1px solid #e1bee7;margin-bottom:.75rem;padding-bottom:.5rem}.drive-root-header .root-link{font-weight:600}.drive-id-list{flex-direction:column;gap:.75rem;display:flex}.drive-id-row{background:#ffffff80;border-radius:6px;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.5rem;display:flex}.drive-id-row .drive-id-label{flex-shrink:0;min-width:160px}.drive-id-row .drive-id-input{flex:none;width:320px;margin-left:auto}.drive-id-row .drive-id-save-btn,.drive-id-row .drive-id-link,.drive-id-row .drive-id-link-placeholder{flex-shrink:0}.drive-id-label{color:#6a1b9a;white-space:nowrap;align-items:center;gap:.4rem;min-width:0;font-weight:500;display:flex;overflow:hidden}.drive-id-label .item-name{color:#888;font-size:.85rem;font-weight:400}.drive-id-input-group{flex:1;align-items:center;gap:.5rem;display:flex}.drive-id-input{box-sizing:border-box;background:#fff;border:1px solid #ce93d8;border-radius:4px;width:100%;min-width:0;max-width:100%;padding:.4rem .6rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem}.drive-id-input:focus{border-color:#9c27b0;outline:none;box-shadow:0 0 0 2px #9c27b01a}.drive-id-save-btn{color:#fff;cursor:pointer;background:#9c27b0;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.8rem;transition:background .2s}.drive-id-save-btn:hover:not(:disabled){background:#7b1fa2}.drive-id-save-btn:disabled{cursor:not-allowed;background:#ccc}.drive-id-link{color:#6a1b9a;background:#e1bee7;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;text-decoration:none;transition:background .2s;display:inline-flex}.drive-id-link:hover{background:#ce93d8}.drive-id-link-placeholder{width:28px;height:28px}.drive-actions{border-top:1px solid #e1bee7;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.action-hint{color:#888;font-size:.8rem}@media (width<=768px){.drive-id-row{grid-template-rows:auto auto;grid-template-columns:1fr auto auto;gap:.5rem}.drive-id-label{grid-area:1/1/auto/-1}.drive-id-input{grid-area:2/1}.drive-id-save-btn,.drive-id-link,.drive-id-link-placeholder{grid-row:2}}.sync-queue-details{background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.sync-queue-details h4{color:#e65100;margin:0 0 .5rem;font-size:.95rem}.queue-description{color:#5d4037;margin-bottom:.75rem;font-size:.85rem}.sync-queue-list{flex-direction:column;gap:.5rem;max-height:300px;display:flex;overflow-y:auto}.queue-item{text-align:left;background:#fff;border-left:3px solid #ccc;border-radius:4px;grid-template-columns:80px 1fr 100px auto;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.85rem;display:grid}.queue-item.queue-insert{border-left-color:#4caf50}.queue-item.queue-update{border-left-color:#2196f3}.queue-item.queue-delete{border-left-color:#f44336}.queue-item.queue-header{text-transform:uppercase;letter-spacing:.5px;color:#525252;background:#f5f5f5;border-left-color:#9e9e9e;font-size:.75rem;font-weight:600}.queue-item.queue-header span{text-align:left}.queue-operation{text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.queue-insert .queue-operation{color:#2e7d32}.queue-update .queue-operation{color:#1565c0}.queue-delete .queue-operation{color:#c62828}.queue-item-name{color:#333;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.queue-table{color:#525252;font-size:.8rem}.queue-time{color:#767676;white-space:nowrap;font-size:.75rem}.sync-btn-small.auth-btn{color:#fff;background:#ff9800}.sync-btn-small.auth-btn:hover{background:#f57c00}.sync-auth-warning{background:#fff8e1;border:1px solid #ffcc80;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.sync-auth-warning p{color:#5d4037;margin:0 0 .75rem;font-size:.9rem}.sync-btn.auth-btn{color:#fff;background:#ff9800}.sync-btn.auth-btn:hover{background:#f57c00}.sync-no-spreadsheet{text-align:center;background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.sync-no-spreadsheet h4{color:#1565c0;margin:0 0 .75rem}.sync-no-spreadsheet p{color:#37474f;margin:0 0 1rem;font-size:.9rem}.sync-no-spreadsheet .auth-needed{color:#f57c00;font-style:italic}.sync-no-spreadsheet .auth-hint{color:#525252;margin-top:.5rem;font-size:.85rem;font-style:italic}.sync-btn.create-btn{color:#fff;background:#4caf50;padding:.75rem 1.5rem;font-size:1rem}.sync-btn.create-btn:hover{background:#43a047}.sync-btn.create-btn:disabled{background:#a5d6a7}.sync-auth-status{border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.sync-auth-status.auth-ok{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.sync-auth-status.auth-missing{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.sync-auth-status.auth-expired{color:#c62828;background:#ffebee;border:1px solid #ef9a9a}.sync-auth-status .auth-indicator{border-radius:50%;width:10px;height:10px}.sync-auth-status.auth-ok .auth-indicator{background:#4caf50}.sync-auth-status.auth-missing .auth-indicator{background:#ff9800}.sync-auth-status.auth-expired .auth-indicator{background:#ef5350}.sync-permission-info{color:#525252;background:#f5f5f5;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.sync-permission-info code{background:#e0e0e0;border-radius:3px;padding:.1rem .4rem;font-family:monospace}.authorized-scopes{border-top:1px solid #ddd;margin-top:.75rem;padding-top:.75rem}.scope-list{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.scope-list li{background:#e8e8e8;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8rem;display:flex}.scope-list li.scope-ok{color:#2e7d32;background:#c8e6c9}.scope-list li code{background:0 0;padding:0}.scope-check{color:#2e7d32;font-weight:700}.scope-warning{color:#f57c00;margin-top:.5rem;font-style:italic}.sync-btn.connect-btn{color:#fff;background:#1976d2}.sync-btn.connect-btn:hover{background:#1565c0}.connect-form{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin-top:1rem;padding:1rem}.connect-hint{color:#525252;margin-bottom:.75rem;font-size:.85rem}.connect-input-group{gap:.5rem;display:flex}.spreadsheet-id-input{border:1px solid #ccc;border-radius:4px;flex:1;padding:.5rem .75rem;font-family:monospace;font-size:.9rem}.spreadsheet-id-input:focus{border-color:#1976d2;outline:none}.sync-linear-features{background:#e8f5e9;border:2px solid #66bb6a;border-radius:8px;margin-top:2rem;padding:1.5rem}.sync-linear-features h4{color:#2e7d32;margin:0 0 .5rem}.sync-linear-features .sync-description{color:#1b5e20;margin:0 0 1rem}.sync-btn.import-btn{color:#fff;background:#43a047}.sync-btn.import-btn:hover{background:#388e3c}.sync-btn.import-btn:disabled{background:#a5d6a7}.import-hint{color:#525252;margin:1rem 0 0;font-size:.85rem}.danger-zone{background:#ffebee;border:2px solid #ef5350;border-radius:8px;margin-top:2rem;padding:1.5rem}.danger-zone h4{color:#c62828;margin:0 0 .5rem}.danger-warning{color:#c62828;margin:0 0 1rem;font-weight:500}.danger-hint{color:#525252;margin:1rem 0 0;font-size:.85rem}.sync-btn.danger-btn{color:#fff;background:#d32f2f}.sync-btn.danger-btn:hover{background:#c62828}.sync-btn.danger-btn:disabled{background:#ef9a9a}.ai-settings{padding:.5rem 0}.ai-settings h3{color:#2d5016;margin-bottom:.5rem}.ai-description{color:#525252;margin-bottom:1rem;font-size:.9rem}.ai-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1rem;padding:1rem}.ai-section h4{color:#333;margin:0 0 .75rem;font-size:.95rem}.api-key-status{align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.status-indicator{border-radius:50%;width:10px;height:10px;display:inline-block}.status-indicator.configured{background-color:#4caf50}.status-indicator.not-configured{background-color:#f44336}.api-key-form{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.api-key-input{border:1px solid #ddd;border-radius:4px;flex:1;min-width:200px;padding:.5rem .75rem;font-size:.9rem}.api-key-input:focus{border-color:#4a7c23;outline:none}.section-description{color:#525252;margin-bottom:1rem;font-size:.85rem;line-height:1.5}.section-description code{background:#e8e8e8;border-radius:3px;padding:.1rem .4rem;font-family:monospace;font-size:.85em}.prompt-editor{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.prompt-editor:first-of-type{border-top:none;margin-top:0;padding-top:0}.prompt-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.prompt-header label{color:#333;font-size:.9rem;font-weight:500}.prompt-actions{gap:.5rem;display:flex}.prompt-textarea{resize:vertical;border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;line-height:1.5}.prompt-textarea:focus{border-color:#4a7c23;outline:none}.prompt-textarea:disabled{color:#525252;background:#f5f5f5}.label-with-ai{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.ai-generate-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:4px;padding:.3rem .6rem;font-size:.75rem;font-weight:500;transition:opacity .2s,transform .1s}.ai-generate-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ai-generate-btn:active:not(:disabled){transform:translateY(0)}.ai-generate-btn:disabled{opacity:.5;cursor:not-allowed;background:#999}.ai-error-banner{color:#c62828;background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.6rem .75rem;font-size:.85rem;display:flex}.ai-error-banner button{color:#c62828;cursor:pointer;background:0 0;border:1px solid #ef9a9a;border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.ai-error-banner button:hover{background:#ffcdd2}.prompt-editor-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.prompt-editor-dialog{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:700px;max-height:90vh;display:flex;box-shadow:0 20px 60px #0000004d}.prompt-editor-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.prompt-editor-header h3{color:#333;margin:0;font-size:1.1rem}.prompt-editor-header .close-btn{cursor:pointer;color:#525252;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.prompt-editor-header .close-btn:hover{color:#333}.prompt-editor-hint{color:#525252;margin:0;padding:1rem 1.25rem .5rem;font-size:.9rem}.prompt-loading{text-align:center;color:#525252;padding:3rem 1.25rem}.prompt-editor-textarea{resize:vertical;border:1px solid #ddd;border-radius:6px;min-height:200px;margin:.5rem 1.25rem;padding:.75rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.85rem;line-height:1.5}.prompt-editor-textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea33}.prompt-editor-textarea:disabled{color:#767676;background:#f5f5f5}.ai-error-inline{color:#c62828;background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;margin:0 1.25rem;padding:.6rem .75rem;font-size:.85rem}.prompt-editor-buttons{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.ai-generate-btn-large{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;transition:opacity .2s,transform .1s}.ai-generate-btn-large:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ai-generate-btn-large:active:not(:disabled){transform:translateY(0)}.ai-generate-btn-large:disabled{opacity:.5;cursor:not-allowed;background:#999}.research-section{background:linear-gradient(135deg,#e8f5e9 0%,#f1f8e9 100%);border:1px solid #c8e6c9;border-radius:8px;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem;display:flex}.research-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#43a047 0%,#2e7d32 100%);border:none;border-radius:6px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:opacity .2s,transform .1s}.research-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.research-btn:active:not(:disabled){transform:translateY(0)}.research-btn:disabled{opacity:.5;cursor:not-allowed;background:#999}.research-hint{color:#558b2f;font-size:.8rem;font-style:italic}.research-sources{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.8rem}.research-sources strong{color:#333}.research-sources ul{margin:.5rem 0 0;padding-left:1.2rem}.research-sources li{word-break:break-all;margin:.25rem 0}.research-sources a{color:#1976d2;text-decoration:none}.research-sources a:hover{text-decoration:underline}.prompt-editor-overlay:has(.draft-approval-dialog){align-items:flex-start;padding:2rem 1rem;overflow-y:auto}.draft-approval-dialog{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:650px;margin:0 auto;display:flex;box-shadow:0 20px 60px #0000004d}.draft-fields{flex-direction:column;gap:.75rem;padding:0 1.25rem 1rem;display:flex}.draft-field{border:1px solid #e0e0e0;border-radius:8px;padding:.75rem;transition:border-color .2s,background .2s}.draft-field.accepted{background:#f1f8e9;border-color:#81c784}.draft-field.rejected{opacity:.6;background:#fafafa;border-color:#e0e0e0}.draft-field-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.draft-field-header label{color:#333;cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.draft-field-header input[type=checkbox]{accent-color:#4a7c23;width:16px;height:16px}.draft-field-input{color:#333;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.4rem .5rem;font-size:.85rem}.draft-field-input:focus,.draft-field-textarea:focus{border-color:#4a7c23;outline:none;box-shadow:0 0 0 2px #4a7c2326}.draft-field-textarea{color:#333;resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem;font-family:inherit;font-size:.85rem;line-height:1.5}.draft-sources{padding:0 1.25rem 1rem;font-size:.8rem}.draft-sources strong{color:#333}.draft-sources ul{margin:.5rem 0 0;padding-left:1.2rem}.draft-sources li{word-break:break-all;margin:.25rem 0}.draft-sources a{color:#1976d2;text-decoration:none}.draft-sources a:hover{text-decoration:underline}.reject-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e53935 0%,#c62828 100%);border:none;border-radius:6px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:opacity .2s,transform .1s}.reject-btn:hover{opacity:.9;transform:translateY(-1px)}.reject-btn:active{transform:translateY(0)}.prompt-edit-icon{cursor:pointer;color:#667eea;opacity:.7;vertical-align:middle;background:0 0;border:none;margin-left:.25rem;padding:0 .25rem;font-size:.85rem;transition:opacity .2s}.prompt-edit-icon:hover{opacity:1}.field-hint{color:#767676;margin-left:.25rem;font-size:.75rem;font-weight:400}.news-section{background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);border:1px solid #90caf9}.news-section .research-hint{color:#1565c0}.news-btn{background:linear-gradient(135deg,#1976d2 0%,#1565c0 100%)}.activities-settings{margin-top:1rem}.activities-toolbar{align-items:stretch;gap:.75rem;margin-bottom:1rem;display:flex}.add-activity-form{flex:1;gap:.5rem;display:flex}.sort-btn{cursor:pointer;white-space:nowrap;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background .2s}.sort-btn:hover:not(:disabled){background:#e0e0e0}.sort-btn:disabled{opacity:.5;cursor:not-allowed}.add-activity-form input{border:1px solid #ddd;border-radius:4px;flex:1;padding:.5rem .75rem;font-size:.9rem}.add-activity-form button{color:#fff;cursor:pointer;white-space:nowrap;background:#4a7c23;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:500}.add-activity-form button:hover:not(:disabled){background:#3d6a1d}.add-activity-form button:disabled{opacity:.5;cursor:not-allowed}.activities-list{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.activity-item{cursor:grab;background:#fff;border-bottom:1px solid #e0e0e0;align-items:center;gap:.75rem;padding:.6rem .75rem;transition:background .15s,transform .15s,box-shadow .15s;display:flex}.activity-item:last-child{border-bottom:none}.activity-item:nth-child(2n){background:#f9f9f9}.activity-item:hover{background:#f0f7eb}.activity-item.dragging{opacity:.5;cursor:grabbing;background:#e8f5e9}.activity-item.drag-over{background:#c8e6c9;border-top:2px solid #4a7c23;margin-top:-2px}.activity-drag-handle{color:#767676;cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px;padding:0 .25rem;font-size:1rem}.activity-drag-handle:hover{color:#525252}.activity-item.dragging .activity-drag-handle{cursor:grabbing}.activity-name{flex:1;font-size:.9rem}.activity-actions{gap:.5rem;display:flex}.activity-actions button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;font-size:.8rem}.activity-actions button:hover{background:#f0f0f0}.activity-actions .delete-btn-small{color:#c62828;border-color:#ef9a9a}.activity-actions .delete-btn-small:hover{background:#ffebee}.activity-edit{flex:1;gap:.5rem;display:flex}.activity-edit input{border:1px solid #4a7c23;border-radius:4px;flex:1;padding:.35rem .5rem;font-size:.9rem}.activity-edit button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.35rem .75rem;font-size:.8rem}.activity-edit button:first-of-type{color:#fff;background:#4a7c23;border-color:#4a7c23}.no-activities{text-align:center;color:#525252;padding:1rem;font-style:italic}.activities-selector{position:relative}.activities-toggle{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;justify-content:space-between;align-items:center;min-height:40px;padding:.6rem .75rem;display:flex}.activities-toggle:hover{border-color:#bbb}.activities-summary{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.activities-summary:empty,.activities-toggle .activities-summary:first-child:last-child{color:#888}.activities-arrow{color:#525252;margin-left:.5rem;font-size:.8rem}.activities-dropdown{z-index:100;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:250px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.activity-checkbox{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background .15s;display:flex}.activity-checkbox:hover{background:#f5f5f5}.activity-checkbox input[type=checkbox]{cursor:pointer;accent-color:#4a7c23;width:16px;height:16px}.activity-checkbox span{color:#333;font-size:.9rem}.activities-empty{text-align:center;color:#525252;padding:1rem;font-size:.85rem}.activities-sync-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1rem;padding:.75rem}.activities-sync-section .sync-buttons{gap:.5rem;display:flex}.activities-sync-section .sync-btn{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background .2s}.activities-sync-section .sync-btn.push{color:#fff;background:#4a7c23}.activities-sync-section .sync-btn.push:hover:not(:disabled){background:#3d6a1d}.activities-sync-section .sync-btn.pull{color:#fff;background:#5c6bc0}.activities-sync-section .sync-btn.pull:hover:not(:disabled){background:#4a5ab8}.activities-sync-section .sync-btn:disabled{opacity:.5;cursor:not-allowed}.activities-sync-section .sync-message{border-radius:4px;margin-top:.5rem;padding:.5rem;font-size:.85rem}.activities-sync-section .sync-message.success{color:#2e7d32;background:#e8f5e9}.activities-sync-section .sync-message.error{color:#c62828;background:#ffebee}.boundaries-settings{margin-top:1rem}.no-boundaries{color:#525252;text-align:center;background:#f9f9f9;border-radius:4px;padding:1rem;font-style:italic}.boundaries-list{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.boundary-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.boundary-header{border-bottom:1px solid #e0e0e0;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.boundary-name{color:#333;font-size:1.1rem;font-weight:600}.boundary-preview{border:2px solid #0003;border-radius:4px;width:24px;height:24px}.boundary-controls{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.boundary-field{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.boundary-field span:first-child{color:#525252;font-weight:500}.boundary-field input[type=color]{cursor:pointer;border:1px solid #ccc;border-radius:4px;width:40px;height:32px;padding:0}.boundary-field select{border:1px solid #ddd;border-radius:4px;padding:.4rem .6rem;font-size:.9rem}.color-value{color:#525252;font-family:monospace;font-size:.85rem}.eras-settings{margin-top:1rem}.eras-toolbar{flex-wrap:wrap;align-items:stretch;gap:.75rem;margin-bottom:1rem;display:flex}.add-era-form{flex-wrap:wrap;flex:1;gap:.5rem;display:flex}.add-era-form .era-name-input{border:1px solid #ddd;border-radius:4px;flex:2;min-width:150px;padding:.5rem .75rem;font-size:.9rem}.add-era-form .era-year-input{border:1px solid #ddd;border-radius:4px;width:90px;padding:.5rem .75rem;font-size:.9rem}.add-era-form button{color:#fff;cursor:pointer;white-space:nowrap;background:#4a7c23;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:500}.add-era-form button:hover:not(:disabled){background:#3d6a1d}.add-era-form button:disabled{opacity:.5;cursor:not-allowed}.eras-list{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.era-item{cursor:grab;background:#fff;border-bottom:1px solid #e0e0e0;align-items:flex-start;gap:.75rem;padding:.75rem;transition:background .15s,transform .15s,box-shadow .15s;display:flex}.era-item:last-child{border-bottom:none}.era-item:nth-child(2n){background:#f9f9f9}.era-item:hover{background:#f0f7eb}.era-item.dragging{opacity:.5;cursor:grabbing;background:#e8f5e9}.era-item.drag-over{background:#c8e6c9;border-top:2px solid #4a7c23;margin-top:-2px}.era-drag-handle{color:#767676;cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px;padding:0 .25rem;font-size:1rem}.era-drag-handle:hover{color:#525252}.era-item.dragging .era-drag-handle{cursor:grabbing}.era-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.era-name{font-size:.95rem;font-weight:500}.era-years{color:#525252;font-size:.8rem;font-style:italic}.era-description{color:#777;font-size:.8rem}.era-actions{flex-shrink:0;gap:.5rem;display:flex}.era-actions button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;font-size:.8rem}.era-actions button:hover{background:#f0f0f0}.era-actions .delete-btn-small{color:#c62828;border-color:#ef9a9a}.era-actions .delete-btn-small:hover{background:#ffebee}.era-edit{flex-direction:column;flex:1;gap:.5rem;display:flex}.era-edit-row{gap:.5rem;display:flex}.era-edit .era-name-input{border:1px solid #4a7c23;border-radius:4px;flex:2;padding:.35rem .5rem;font-size:.9rem}.era-edit .era-year-input{border:1px solid #4a7c23;border-radius:4px;width:70px;padding:.35rem .5rem;font-size:.9rem}.era-edit .era-description-input{border:1px solid #4a7c23;border-radius:4px;width:100%;padding:.35rem .5rem;font-size:.9rem}.era-edit-buttons{gap:.5rem;display:flex}.era-edit-buttons button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.35rem .75rem;font-size:.8rem}.era-edit-buttons button:first-child{color:#fff;background:#4a7c23;border-color:#4a7c23}.no-eras{text-align:center;color:#525252;padding:1rem;font-style:italic}.surfaces-settings{margin-top:1rem}.surfaces-toolbar{flex-wrap:wrap;align-items:stretch;gap:.75rem;margin-bottom:1rem;display:flex}.add-surface-form{flex-wrap:wrap;flex:1;gap:.5rem;display:flex}.add-surface-form .surface-name-input{border:1px solid #ddd;border-radius:4px;flex:1;min-width:120px;padding:.5rem .75rem;font-size:.9rem}.add-surface-form .surface-description-input{border:1px solid #ddd;border-radius:4px;flex:2;min-width:200px;padding:.5rem .75rem;font-size:.9rem}.add-surface-form button{color:#fff;cursor:pointer;white-space:nowrap;background:#4a7c23;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:500}.add-surface-form button:hover:not(:disabled){background:#3d6a1d}.add-surface-form button:disabled{opacity:.5;cursor:not-allowed}.surfaces-list{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.surface-item{cursor:grab;background:#fff;border-bottom:1px solid #e0e0e0;align-items:flex-start;gap:.75rem;padding:.75rem;transition:background .15s,transform .15s,box-shadow .15s;display:flex}.surface-item:last-child{border-bottom:none}.surface-item:nth-child(2n){background:#f9f9f9}.surface-item:hover{background:#f0f7eb}.surface-item.dragging{opacity:.5;cursor:grabbing;background:#e8f5e9}.surface-item.drag-over{background:#c8e6c9;border-top:2px solid #4a7c23;margin-top:-2px}.surface-drag-handle{color:#767676;cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px;padding:0 .25rem;font-size:1rem}.surface-drag-handle:hover{color:#525252}.surface-item.dragging .surface-drag-handle{cursor:grabbing}.surface-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.surface-name{font-size:.95rem;font-weight:500}.surface-description{color:#777;font-size:.8rem}.surface-actions{flex-shrink:0;gap:.5rem;display:flex}.surface-actions button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;font-size:.8rem}.surface-actions button:hover{background:#f0f0f0}.surface-actions .delete-btn-small{color:#c62828;border-color:#ef9a9a}.surface-actions .delete-btn-small:hover{background:#ffebee}.surface-edit{flex-direction:column;flex:1;gap:.5rem;display:flex}.surface-edit-row{gap:.5rem;display:flex}.surface-edit .surface-name-input{border:1px solid #4a7c23;border-radius:4px;flex:1;padding:.35rem .5rem;font-size:.9rem}.surface-edit .surface-description-input{border:1px solid #4a7c23;border-radius:4px;width:100%;padding:.35rem .5rem;font-size:.9rem}.surface-edit-buttons{gap:.5rem;display:flex}.surface-edit-buttons button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.35rem .75rem;font-size:.8rem}.surface-edit-buttons button:first-child{color:#fff;background:#4a7c23;border-color:#4a7c23}.no-surfaces{text-align:center;color:#525252;padding:1rem;font-style:italic}.icons-settings{margin-top:1rem}.icons-toolbar{justify-content:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.icons-toolbar .sync-buttons{gap:.5rem;display:flex}.icons-toolbar .sync-btn{cursor:pointer;white-space:nowrap;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background .2s}.icons-toolbar .sync-btn:hover:not(:disabled){background:#e0e0e0}.icons-toolbar .sync-btn:disabled{opacity:.5;cursor:not-allowed}.icons-list{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.icon-item{cursor:grab;background:#fff;border-bottom:1px solid #e0e0e0;align-items:flex-start;gap:.75rem;padding:.75rem;transition:background .15s,opacity .15s;display:flex}.icon-item:last-child{border-bottom:none}.icon-item:nth-child(2n){background:#f9f9f9}.icon-item:hover{background:#f0f7eb}.icon-item.dragging{opacity:.5;cursor:grabbing;background:#e8f5e9}.icon-item.drag-over{background:#c8e6c9;border-top:2px solid #4a7c23;margin-top:-2px}.icon-item.disabled{opacity:.6;background:#f5f5f5}.icon-drag-handle{color:#767676;cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px;align-self:center;padding:.25rem;font-size:1rem}.icon-drag-handle:hover{color:#525252}.icon-preview-container{background:#f0f0f0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.icon-preview{object-fit:contain;width:28px;height:28px}.icon-info{flex:1;min-width:0}.icon-header{align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.icon-label{color:#333;font-size:.95rem;font-weight:600}.icon-name{color:#888;font-size:.8rem}.icon-keywords,.icon-activities{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.25rem;display:flex}.keywords-label,.activities-label{color:#525252;font-size:.75rem;font-weight:500}.keyword-chip,.activity-chip{color:#1565c0;background:#e3f2fd;border-radius:3px;padding:.1rem .4rem;font-size:.75rem;display:inline-block}.activity-chip{color:#e65100;background:#fff3e0}.icon-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.icon-actions button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;font-size:.8rem}.icon-actions button:hover{background:#f0f0f0}.icon-actions .delete-btn-small{color:#c62828;border-color:#ef9a9a}.icon-actions .delete-btn-small:hover{background:#ffebee}.toggle-switch{width:40px;height:22px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#ccc;border-radius:22px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .3s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background-color:#4a7c23}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.icon-edit{flex-direction:column;flex:1;gap:.75rem;display:flex}.icon-edit-row{align-items:flex-start;gap:.75rem;display:flex}.icon-edit-row .icon-preview{background:#f0f0f0;border-radius:6px;width:36px;height:36px;padding:4px}.icon-edit-fields{flex-direction:column;flex:1;gap:.5rem;display:flex}.icon-edit-field{flex-direction:column;gap:.25rem;display:flex}.icon-edit-field.full-width{width:100%}.icon-edit-field label{color:#555;font-size:.75rem;font-weight:600}.icon-edit-field input[type=text]{border:1px solid #ddd;border-radius:4px;padding:.4rem .6rem;font-size:.9rem}.icon-edit-field input[type=text]:focus{border-color:#4a7c23;outline:none}.icon-edit-field .field-hint{color:#888;margin:0;font-size:.7rem}.icon-edit-field .checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.icon-edit-field .checkbox-label input{width:auto}.icon-edit-buttons{gap:.5rem;margin-top:.5rem;display:flex}.icon-edit-buttons button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem .75rem;font-size:.85rem}.icon-edit-buttons button:first-child{color:#fff;background:#4a7c23;border-color:#4a7c23}.icon-edit-buttons button:hover:not(:disabled){opacity:.9}.no-icons{text-align:center;color:#525252;padding:1rem;font-style:italic}.sync-message{border-radius:4px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.sync-message.success{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.sync-message.error{color:#c62828;background:#ffebee;border:1px solid #ef9a9a}.generate-icon-btn{color:#fff;cursor:pointer;background:#4a7c23;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .2s}.generate-icon-btn:hover{background:#2d5016}.icon-generator-modal{background:#fff;border-radius:12px;flex-direction:column;width:95%;max-width:700px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.icon-generator-modal .modal-header{background:#f9f9f9;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.icon-generator-modal .modal-header h3{color:#333;margin:0;font-size:1.1rem}.icon-generator-modal .modal-close{color:#525252;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.icon-generator-modal .modal-close:hover{color:#333}.icon-generator-modal .modal-body{flex:1;padding:1.5rem;overflow-y:auto}.icon-generator-modal .modal-footer{background:#f9f9f9;border-top:1px solid #e0e0e0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.icon-generator-modal .modal-footer button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.icon-generator-modal .modal-footer button:hover:not(:disabled){background:#f0f0f0}.icon-generator-modal .modal-footer button:disabled{opacity:.5;cursor:not-allowed}.icon-generator-modal .modal-footer .save-btn{color:#fff;background:#4a7c23;border-color:#4a7c23}.icon-generator-modal .modal-footer .save-btn:hover:not(:disabled){background:#2d5016}.generator-layout{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=600px){.generator-layout{grid-template-columns:1fr}}.generator-form{flex-direction:column;gap:1rem;display:flex}.generator-form .form-group{flex-direction:column;gap:.35rem;display:flex}.generator-form .form-group label{color:#333;font-size:.85rem;font-weight:600}.generator-form .form-group input[type=text],.generator-form .form-group textarea{border:1px solid #ddd;border-radius:4px;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.generator-form .form-group input[type=text]:focus,.generator-form .form-group textarea:focus{border-color:#4a7c23;outline:none}.generator-form .form-group textarea{resize:vertical;min-height:80px}.color-palette{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.color-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:32px;height:32px;transition:transform .15s,border-color .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.custom-color{align-items:center;gap:.5rem;display:flex}.custom-color label{color:#525252;font-size:.8rem}.custom-color input{border:1px solid #ddd;border-radius:4px;width:90px;padding:.35rem .5rem;font-family:monospace;font-size:.85rem}.custom-color .color-preview{border:2px solid #ddd;border-radius:50%;width:24px;height:24px}.generator-actions{margin-top:.5rem}.generate-btn{color:#fff;cursor:pointer;background:#0288d1;border:none;border-radius:6px;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:500;transition:background .2s}.generate-btn:hover:not(:disabled){background:#0277bd}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generator-preview{flex-direction:column;gap:.5rem;display:flex}.generator-preview>label{color:#333;font-size:.85rem;font-weight:600}.preview-container{background:#f5f5f5;border:2px dashed #ddd;border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:180px;padding:1rem;display:flex}.preview-placeholder{color:#767676;text-align:center;font-size:.9rem}.svg-preview{justify-content:center;align-items:center;display:flex}.svg-preview svg{width:128px;height:128px}.preview-sizes{background:#f9f9f9;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.size-label{color:#525252;font-size:.8rem}.preview-sizes .svg-preview.size-32 svg{width:32px;height:32px}.preview-sizes .svg-preview.size-24 svg{width:24px;height:24px}.preview-sizes .svg-preview.size-16 svg{width:16px;height:16px}.legend-icon-svg{justify-content:center;align-items:center;width:20px;height:20px;display:flex}.legend-icon-svg svg{width:100%;height:100%}.image-uploader{margin-bottom:0}.image-uploader>label{display:none}.image-upload-error{color:#c00;background:#fee;border-radius:4px;margin-bottom:.5rem;padding:.5rem;font-size:.85rem}.image-drop-zone{text-align:center;cursor:pointer;background:#f0f0f0;border:2px dashed #ccc;border-radius:0;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:2rem;transition:all .2s;display:flex}.image-drop-zone:hover{background:#f5f8f2;border-color:#2d5016}.image-drop-zone.drag-active{background:#e8f5e0;border-style:solid;border-color:#4a7c23}.image-drop-zone.uploading{cursor:default;border-color:#ccc}.drop-zone-icon{color:#888;margin-bottom:.75rem}.drop-zone-icon svg{opacity:.6}.image-drop-zone:hover .drop-zone-icon svg{opacity:.8}.drop-zone-text{color:#555;margin-bottom:.5rem;font-size:.95rem;line-height:1.4}.drop-zone-hint{color:#888;font-size:.8rem}.upload-progress{color:#555;flex-direction:column;align-items:center;gap:.75rem;display:flex}.upload-spinner{border:3px solid #ddd;border-top-color:#4a7c23;border-radius:50%;width:28px;height:28px;animation:1s linear infinite spin}.image-preview-container{background:#f0f0f0;border-radius:0;height:200px;position:relative;overflow:hidden}.image-preview{object-fit:cover;width:100%;height:100%;display:block}.image-preview-container.virtual-thumbnail{background:#fff}.image-preview-container.virtual-thumbnail .image-preview.logo-image{padding:.25rem;object-fit:contain!important}.image-load-error{color:#888;justify-content:center;align-items:center;height:100%;font-size:.9rem;display:flex}.image-preview-actions{background:linear-gradient(#0000,#0009);justify-content:flex-end;align-items:center;gap:.5rem;padding:.5rem;display:flex;position:absolute;bottom:0;left:0;right:0}.drive-badge{color:#4285f4;background:#ffffffe6;border-radius:4px;align-items:center;gap:4px;margin-right:auto;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.drive-badge svg{color:#4285f4}.image-change-btn,.image-delete-btn,.image-add-btn{cursor:pointer;border:none;border-radius:4px;padding:.35rem .75rem;font-size:.8rem;transition:all .2s}.image-change-btn{color:#333;background:#ffffffe6}.image-change-btn:hover{background:#fff}.image-delete-btn{color:#fff;background:#c83232d9}.image-delete-btn:hover{background:#c00}.image-add-btn{color:#fff;background:#007bffe6}.image-add-btn:hover{background:#007bff}.image-change-btn:disabled,.image-delete-btn:disabled,.image-add-btn:disabled{opacity:.5;cursor:not-allowed}.edit-hint{color:#888;margin-top:.25rem;font-size:.8rem;font-style:italic;display:block}.feature-type-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.feature-type-badge.trail{color:#fff;background:#8b4513}.feature-type-badge.river{color:#fff;background:#1e90ff}.feature-type-badge.boundary{color:#fff;background:#6b8e23}.boundary-color-swatch{vertical-align:middle;border:2px solid #0003;border-radius:4px;width:20px;height:20px;margin-left:.25rem;display:inline-block}.boundary-color-palette{flex-wrap:wrap;gap:8px;margin-top:.5rem;display:flex}.boundary-color-palette .color-swatch{cursor:pointer;border:2px solid #00000026;border-radius:6px;width:32px;height:32px;padding:0;transition:all .15s}.boundary-color-palette .color-swatch:hover{border-color:#0000004d;transform:scale(1.1)}.boundary-color-palette .color-swatch.selected{border-color:#333;transform:scale(1.05);box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.current-color-display{color:#525252;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.85rem;display:flex}.current-color-display .color-preview{border:1px solid #0003;border-radius:4px;width:20px;height:20px;display:inline-block}.current-color-display .color-hex{color:#888;font-family:monospace;font-size:.8rem}.difficulty-badge{border-radius:12px;padding:.3rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.difficulty-badge.easy{color:#2e7d32;background:#c8e6c9}.difficulty-badge.moderate{color:#e65100;background:#fff3e0}.difficulty-badge.difficult{color:#c62828;background:#ffebee}.linear-feature-tooltip{color:#fff!important;background:#000000d9!important;border:none!important;border-radius:4px!important;padding:.5rem .75rem!important;font-size:.85rem!important;font-weight:500!important;box-shadow:0 2px 8px #0000004d!important}.linear-feature-tooltip:before{display:none!important}.leaflet-interactive.trail-hover,.leaflet-interactive.river-hover{cursor:pointer}.leaflet-interactive:focus{outline:none}.news-events-header{margin-bottom:1rem}.news-events-header h2{margin-bottom:.25rem}.news-events-layout{align-items:flex-start;gap:1rem;max-width:100%;display:flex}.news-events-content{flex:1;min-width:0;max-width:100%}.map-thumbnail-sidebar{flex-shrink:0;position:sticky;top:1rem}.event-legend{box-sizing:border-box;background:#f9f9f9;border-radius:8px;width:200px;margin-top:1rem;padding:.75rem 1rem;font-size:.8rem}.event-legend-title{color:#333;border-bottom:1px solid #e0e0e0;margin-bottom:.5rem;padding-bottom:.5rem;font-weight:600}.event-legend-items{flex-direction:column;gap:.4rem;display:flex}.event-legend-item{color:#555;align-items:center;gap:.5rem;display:flex}.event-legend-item .event-type-icon,.event-legend-item .news-type-icon{flex-shrink:0;width:18px;height:18px;font-size:.65rem}.poi-type-icon{object-fit:contain;flex-shrink:0;width:20px;height:20px;display:block}.poi-type-badge{color:#2e7d32;background:#e8f5e9;border-radius:12px;padding:.3rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.poi-type-badge.trail{color:#795548;background:#efebe9}.poi-type-badge.mtb{color:#e65100;background:#fff3e0}.poi-type-badge.river{color:#1565c0;background:#e3f2fd}.poi-type-badge.boundary{color:#7b2d8e;background:#f3e5f5}.poi-type-badge.virtual{color:#ff9800;background:#fff3e0}.poi-type-badge.water-taxi{color:#00695c;background:#e0f2f1}.service-badge{border-radius:12px;padding:.3rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.service-badge.seasonal{color:#b26a00;background:#fff8e1}.service-badge.ada{color:#1565c0;background:#e3f2fd}.service-badge.bike{color:#2e7d32;background:#e8f5e9}.boat-marker-icon.leaflet-div-icon{background:0 0;border:none}.boat-status-badge{vertical-align:middle;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.boat-status-badge.live{color:#2e7d32;background:#e8f5e9}.boat-status-badge.docked{color:#e65100;background:#fff3e0}.boat-status-badge.offline{color:#999;background:#f5f5f5}.boat-status-badge.idle{color:#1565c0;background:#e3f2fd}.train-marker-icon.leaflet-div-icon{background:0 0;border:none;justify-content:center;align-items:center;display:flex}.train-marker-inner{transform-origin:50%;justify-content:center;align-items:center;display:flex}.zephyr-marker-icon.leaflet-div-icon{background:0 0;border:none;justify-content:center;align-items:center;display:flex}.zephyr-marker-inner{transform-origin:50%;justify-content:center;align-items:center;display:flex}.poi-type-badge .poi-type-icon{width:18px;height:18px;font-size:.65rem}.poi-type-legend{box-sizing:border-box;background:#f9f9f9;border-radius:8px;width:200px;margin-top:1rem;padding:.75rem 1rem;font-size:.8rem}.poi-type-legend-title{color:#333;border-bottom:1px solid #e0e0e0;margin-bottom:.5rem;padding-bottom:.5rem;font-weight:600}.poi-type-legend-items{flex-direction:column;gap:.4rem;display:flex}.poi-type-legend-item{color:#555;align-items:center;gap:.5rem;display:flex}.poi-type-legend-item .poi-type-icon{width:18px;height:18px;font-size:.65rem}.results-tile.poi-type-destination{border-left-color:#2e7d32}.results-tile.poi-type-trail{border-left-color:#795548}.results-tile.poi-type-river{border-left-color:#1565c0}.results-tile.poi-type-boundary{border-left-color:#7b2d8e}.map-thumbnail-container{cursor:pointer;background:#fff;border-radius:8px;transition:box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026}.map-thumbnail-container:hover{box-shadow:0 4px 12px #00000040}.map-thumbnail-container .leaflet-container{z-index:1;pointer-events:none;width:100%;height:100%}.map-thumbnail-container:hover .leaflet-container{pointer-events:none}.map-thumbnail-poi-count{z-index:1000;color:#2d5016;background:#fff;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;font-weight:500;position:absolute;top:.5rem;right:.5rem;box-shadow:0 2px 6px #0003}@media (width<=768px){.news-events-layout{flex-direction:column-reverse}.map-thumbnail-sidebar{justify-content:center;width:100%;display:flex;position:static}}.tab-badge{background:#ffffff4d;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:.7rem;font-weight:600;display:inline-flex}.tab-btn.active .tab-badge{color:#fff;background:#2d5016}.results-page{background:#f5f5f5;flex-direction:column;flex:1;display:flex;overflow:hidden}.poi-navigation{background:#fff;border-bottom:1px solid #e0e0e0;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.poi-nav-btn{color:#fff;cursor:pointer;background:#2d5016;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background-color .2s}.poi-nav-btn:hover{background:#3d6a1e}.poi-nav-btn:disabled{cursor:not-allowed;background:#ccc}.poi-nav-position{color:#525252;text-align:center;min-width:80px;font-size:.9rem;font-weight:500}.results-subtabs{border-bottom:2px solid #e0e0e0;align-items:center;gap:0;margin-bottom:1rem;display:flex}.results-subtab{color:#525252;cursor:pointer;background:0 0;border:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:color .2s;position:relative}.results-subtab:hover{color:#333}.results-subtab.active{color:#4caf50}.results-subtab.active:after{content:"";background:#4caf50;height:2px;position:absolute;bottom:-2px;left:0;right:0}.results-new-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:4px;align-self:center;margin-bottom:4px;margin-left:auto;padding:.4rem 1rem;font-size:.85rem;font-weight:600;transition:background .2s}.results-new-btn:hover{background:#388e3c}.subtab-label-short{display:none}@media (width<=768px){.subtab-label-full{display:none}.subtab-label-short{display:inline}}.results-filters{background:#f8f9fa;border-radius:8px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.results-search-input{border:1px solid #ddd;border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.results-search-input:focus{border-color:#4caf50;outline:none}.results-filter-actions{gap:.25rem;margin-bottom:.5rem;display:flex}.filter-action-btn{cursor:pointer;background:#f0f0f0;border:1px solid #ddd;border-radius:3px;padding:.15rem .4rem;font-size:.65rem}.filter-action-btn:hover{background:#e0e0e0}.results-type-filters{flex-wrap:wrap;gap:.35rem;display:flex}.type-filter-chip{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #ddd;border-radius:12px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.75rem;transition:all .15s;display:inline-flex}.type-filter-chip.active{border-color:currentColor}.type-filter-chip.inactive{opacity:.5;background:#f5f5f5}.type-filter-chip:hover{border-color:currentColor}span.type-filter-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:700;display:inline-flex}img.type-filter-icon{object-fit:contain;vertical-align:middle;flex-shrink:0;width:18px;height:18px;display:inline-block}.type-filter-chip.organization,.type-filter-chip.virtual{color:#fb8c00}.type-filter-chip.organization.active,.type-filter-chip.virtual.active{background:#fff3e0}.type-filter-chip.organization .type-filter-icon,.type-filter-chip.virtual .type-filter-icon{background-color:#fb8c00}.type-filter-chip.general{color:#6a1b9a}.type-filter-chip.general.active{background:#f3e5f5}.type-filter-chip.general .type-filter-icon{background-color:#6a1b9a}.type-filter-chip.alert{color:#c62828}.type-filter-chip.alert.active{background:#ffebee}.type-filter-chip.alert .type-filter-icon{background-color:#c62828}.type-filter-chip.wildlife{color:#2e7d32}.type-filter-chip.wildlife.active{background:#e8f5e9}.type-filter-chip.wildlife .type-filter-icon{background-color:#2e7d32}.type-filter-chip.infrastructure{color:#f57c00}.type-filter-chip.infrastructure.active{background:#fff3e0}.type-filter-chip.infrastructure .type-filter-icon{background-color:#f57c00}.type-filter-chip.hike{color:#2e7d32}.type-filter-chip.hike.active{background:#e8f5e9}.type-filter-chip.hike .type-filter-icon{background-color:#2e7d32}.type-filter-chip.race{color:#e65100}.type-filter-chip.race.active{background:#fff3e0}.type-filter-chip.race .type-filter-icon{background-color:#e65100}.type-filter-chip.concert{color:#d81b60}.type-filter-chip.concert.active{background:#fce4ec}.type-filter-chip.concert .type-filter-icon{background-color:#d81b60}.type-filter-chip.festival{color:#c62828}.type-filter-chip.festival.active{background:#ffebee}.type-filter-chip.festival .type-filter-icon{background-color:#c62828}.type-filter-chip.program{color:#6a1b9a}.type-filter-chip.program.active{background:#f3e5f5}.type-filter-chip.program .type-filter-icon{background-color:#6a1b9a}.type-filter-chip.volunteer{color:#4caf50}.type-filter-chip.volunteer.active{background:#e8f5e9}.type-filter-chip.volunteer .type-filter-icon{background-color:#4caf50}.type-filter-chip.arts{color:#1565c0}.type-filter-chip.arts.active{background:#e3f2fd}.type-filter-chip.arts .type-filter-icon{background-color:#1565c0}.type-filter-chip.community{color:#ff9800}.type-filter-chip.community.active{background:#fff3e0}.type-filter-chip.community .type-filter-icon{background-color:#ff9800}.results-count{color:#525252;font-size:.85rem;font-weight:500}.pagination-controls{justify-content:center;align-items:center;gap:16px;margin-top:8px;padding:16px 0;display:flex}.pagination-btn{border:1px solid var(--accent);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:8px 20px;font-size:14px}.pagination-btn:hover:not(:disabled){background:var(--accent);color:#fff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{color:var(--text-secondary);font-size:14px}.results-tab-list{flex-direction:column;gap:.75rem;max-width:100%;display:flex}.results-tile{cursor:pointer;box-sizing:border-box;content-visibility:auto;contain-intrinsic-size:100px;background:#fff;border-left:4px solid #2e7d32;border-radius:8px;max-width:100%;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.results-tile:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.results-tile:focus{outline-offset:2px;outline:2px solid #4a7c23}.results-tile.selected{background:#f8fdf5;border:3px solid #4a7c23;box-shadow:0 2px 8px #4a7c2340}.results-tile-image{background:#f0f0f0;border-radius:8px;width:100px;min-width:100px;height:100px;margin:.75rem 0 .75rem .75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.results-tile-image img{object-fit:cover;width:100%;height:100%;transition:transform .2s}.results-tile:hover .results-tile-image img{transform:scale(1.05)}.results-tile-image.virtual-thumbnail{background:#fff}.results-tile-image img.logo-image{object-fit:contain;padding:.5rem}.results-tile-placeholder{background:linear-gradient(135deg,#efebe9 0%,#d7ccc8 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;display:flex}.results-tile-content{flex-direction:column;flex:1;min-width:0;padding:.75rem;display:flex}.results-tile-name{color:#333;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.35rem;font-size:.95rem;font-weight:600;overflow:hidden}.results-tile-badges{flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem;display:flex}.results-tile-badges .status-badge{border-radius:4px;margin-bottom:0;padding:.15rem .5rem;font-size:.65rem;font-weight:600;display:inline-block}.results-tile-badges .status-open{color:#fff;background:#4caf50}.results-tile-badges .status-closed{color:#fff;background:#f44336}.results-tile-badges .status-limited{color:#fff;background:#ff9800}.results-tile-badges .status-maintenance{color:#fff;background:#2196f3}.results-tile-badges .status-unknown{color:#fff;background:#9e9e9e}.results-tile-type{text-transform:uppercase;border-radius:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:600;display:inline-block}.results-tile-type.trail{color:#fff;background:#8b4513}.results-tile-type.river{color:#fff;background:#1565c0}.results-tile-type.boundary{color:#fff;background:#7b2d8e}.results-tile-era{color:#525252;background:#f0f0f0;border-radius:4px;padding:.15rem .4rem;font-size:.65rem;display:inline-block}.results-tile-difficulty{border-radius:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:500;display:inline-block}.results-tile-difficulty.easy{color:#2e7d32;background:#c8e6c9}.results-tile-difficulty.moderate{color:#e65100;background:#fff3e0}.results-tile-difficulty.difficult{color:#c62828;background:#ffebee}.results-tile-description{color:#525252;font-size:.8rem;line-height:1.4}.results-tile-status-info{margin-top:4px;font-size:.85rem}.results-tile-status-info .status-row{margin-bottom:6px}.results-tile-status-info .status-conditions{color:#555;margin-bottom:4px;line-height:1.3}.results-tile-status-info .status-updated{color:#767676;font-size:.75rem}.results-tab-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.results-tab-empty-icon{margin-bottom:1rem;font-size:3rem}.results-tab-empty-text{color:#333;margin-bottom:.5rem;font-size:1.1rem}.results-tab-empty-hint{color:#525252;font-size:.9rem}@media (width<=768px){.results-tab-list{gap:.5rem;padding:.75rem}.results-tile{flex-direction:row}.results-tile-image{width:70px;min-width:70px;height:70px;margin:.5rem 0 .5rem .5rem}.results-tile-content{padding:.5rem}.results-tile-name{font-size:.9rem}.results-tile-description{font-size:.75rem}.results-tab-empty{padding:1.5rem}.results-tab-empty-icon{font-size:2rem}.results-tab-empty-text{font-size:1rem}}.associations-tab-content{max-height:100%;padding:1rem;overflow-y:auto}.associations-description{color:#525252;margin-bottom:1rem;font-size:.9rem}.associations-list{flex-direction:column;gap:.75rem;display:flex}.association-item{background:var(--card-bg,#f9f9f9);cursor:pointer;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.association-item:hover{background:var(--card-hover-bg,#f0f0f0);transform:translate(2px);box-shadow:0 2px 4px #0000000d}.association-item-thumbnail{background:#f0f0f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:80px;min-width:80px;height:80px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000001a}.association-item-thumbnail img{object-fit:cover;width:100%;height:100%;transition:transform .2s}.association-item-clickable:hover .association-item-thumbnail img{transform:scale(1.05)}.association-item-thumbnail img.default-thumbnail{object-fit:contain;padding:.5rem}.association-item-thumbnail.virtual-thumbnail{background:#fff}.association-item-thumbnail img.logo-image{object-fit:contain;padding:.5rem}.association-item-badges{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.association-item-era{background:var(--era-badge-bg,#e3f2fd);color:var(--era-badge-color,#1976d2);border-radius:12px;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.association-item-content{flex:1;min-width:0}.association-item-name{color:var(--text-primary,#333);margin-bottom:.25rem;font-weight:600}.association-item-description{color:var(--text-secondary,#666);font-size:.85rem;line-height:1.4}.poi-type-icon.virtual{background-color:#ff9800}.virtual-poi-creator-banner{z-index:400;color:#fff;pointer-events:none;background:#ff9800;border-radius:8px;padding:.75rem 1.5rem;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.banner-content{pointer-events:auto;align-items:center;gap:1rem;display:flex}.banner-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.9rem}.banner-close:hover{background:#ffffff4d}.virtual-poi-creator-modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.virtual-poi-creator-modal{z-index:10001;background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:800px;max-height:90vh;display:flex;position:relative;box-shadow:0 8px 32px #0000004d}.virtual-poi-creator-modal .modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.virtual-poi-creator-modal .modal-header h2{margin:0;font-size:1.5rem}.virtual-poi-creator-modal .modal-close{cursor:pointer;color:#525252;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;line-height:1;display:flex}.virtual-poi-creator-modal .modal-close:hover{color:#333}.virtual-poi-creator-modal .modal-content{flex-direction:column;flex:1;gap:2rem;padding:1.5rem;display:flex;overflow-y:auto}.virtual-poi-creator-modal .form-section h3,.virtual-poi-creator-modal .poi-selection-section h3{margin:0 0 1rem;font-size:1.1rem}.virtual-poi-creator-modal .form-group{margin-bottom:1rem}.virtual-poi-creator-modal .form-group label{color:#333;margin-bottom:.5rem;font-weight:600;display:block}.virtual-poi-creator-modal .form-group input,.virtual-poi-creator-modal .form-group textarea{border:1px solid #ddd;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.virtual-poi-creator-modal .form-group input:focus,.virtual-poi-creator-modal .form-group textarea:focus{border-color:#9c27b0;outline:none;box-shadow:0 0 0 3px #9c27b01a}.virtual-poi-creator-modal .section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.virtual-poi-creator-modal .selection-buttons{gap:.5rem;display:flex}.virtual-poi-creator-modal .poi-list{border:1px solid #e0e0e0;border-radius:6px;max-height:300px;padding:.5rem;overflow-y:auto}.virtual-poi-creator-modal .poi-checkbox-item{cursor:pointer;border-radius:4px;align-items:center;gap:.75rem;padding:.75rem;transition:background .2s;display:flex}.virtual-poi-creator-modal .poi-checkbox-item:hover{background:#f5f5f5}.virtual-poi-creator-modal .poi-checkbox-item input[type=checkbox]{cursor:pointer;width:auto}.virtual-poi-creator-modal .poi-type-badge{color:#fff;background:#4a90e2;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:inline-flex}.virtual-poi-creator-modal .poi-type-badge.destination{background:#2e7d32}.virtual-poi-creator-modal .poi-type-badge.trail{background:#795548}.virtual-poi-creator-modal .poi-type-badge.river{background:#1565c0}.virtual-poi-creator-modal .poi-type-badge.boundary{background:#7b2d8e}.virtual-poi-creator-modal .poi-name{flex:1;font-size:.95rem}.virtual-poi-creator-modal .empty-message{text-align:center;color:#525252;padding:2rem}.virtual-poi-creator-modal .modal-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;align-items:center;gap:1rem;padding:1.5rem;display:flex}.virtual-poi-creator-modal .btn-primary,.virtual-poi-creator-modal .btn-secondary{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;transition:all .2s}.virtual-poi-creator-modal .btn-primary{color:#fff;background:#9c27b0}.virtual-poi-creator-modal .btn-primary:hover:not(:disabled){background:#7b1fa2}.virtual-poi-creator-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.virtual-poi-creator-modal .btn-secondary{color:#333;background:#e0e0e0}.virtual-poi-creator-modal .btn-secondary:hover:not(:disabled){background:#d0d0d0}.section-header-with-actions{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.btn-add-association{color:#fff;cursor:pointer;background:#9c27b0;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:background .2s}.btn-add-association:hover{background:#7b1fa2}.association-item{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.association-item-clickable{background:var(--card-bg,#f9f9f9);cursor:pointer;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;flex:1;align-items:flex-start;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.association-item-clickable:hover{background:var(--card-hover-bg,#f0f0f0);transform:translate(2px);box-shadow:0 2px 4px #0000000d}.btn-delete-association{color:#d32f2f;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;line-height:1;transition:all .2s;display:flex}.btn-delete-association:hover:not(:disabled){background:#ffebee;border-color:#d32f2f}.btn-delete-association:disabled{opacity:.5;cursor:not-allowed}.add-associations-modal-overlay{z-index:2001;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.add-associations-modal{background:#fff;border-radius:12px;flex-direction:column;width:90%;max-width:600px;max-height:80vh;display:flex;overflow:hidden}.add-associations-modal-header{color:#fff;background:#ff9800;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.add-associations-modal-header h3{margin:0;font-size:1rem;font-weight:600}.add-associations-modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .5rem;font-size:1.75rem;line-height:1;transition:background-color .2s}.add-associations-modal-close:hover{background:#ffffff59}.add-associations-modal-content{flex:1;padding:1.25rem;overflow-y:auto}.filter-input-container{margin-bottom:1rem}.filter-input{border:1px solid #ddd;border-radius:6px;width:100%;padding:.75rem;font-size:.95rem;transition:border-color .2s}.filter-input:focus{border-color:#ff9800;outline:none;box-shadow:0 0 0 3px #ff98001a}.add-associations-modal-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.available-pois-list{background:#fff;border:1px solid #e0e0e0;border-radius:6px;max-height:300px;margin-bottom:1rem;padding:.5rem;overflow-y:auto}.poi-checkbox-item{cursor:pointer;border-radius:4px;align-items:center;gap:.75rem;padding:.75rem;transition:background .2s;display:flex}.poi-checkbox-item:hover{background:#f5f5f5}.poi-checkbox-item input[type=checkbox]{cursor:pointer;width:18px;height:18px}.poi-checkbox-item .poi-type-badge{color:#fff;background:#4a90e2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:inline-flex}.poi-checkbox-item .poi-type-badge.destination{background:#2e7d32}.poi-checkbox-item .poi-type-badge.trail{background:#795548}.poi-checkbox-item .poi-type-badge.river{background:#1565c0}.poi-checkbox-item .poi-type-badge.boundary{background:#7b2d8e}.poi-checkbox-item .poi-name{flex:1;font-size:.95rem}.add-associations-modal-footer .btn-cancel,.add-associations-modal-footer .btn-save{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.add-associations-modal-footer .btn-cancel{color:#333;background:#e0e0e0}.add-associations-modal-footer .btn-cancel:hover{background:#d0d0d0}.add-associations-modal-footer .btn-save{color:#fff;background:#ff9800}.add-associations-modal-footer .btn-save:hover:not(:disabled){background:#f57c00}.add-associations-modal-footer .btn-save:disabled{opacity:.6;cursor:not-allowed}.leaflet-draw-tooltip{color:#fff;visibility:inherit;white-space:nowrap;z-index:6000;background:#00000080;border:1px solid #0000;border-radius:4px;margin-top:-21px;margin-left:20px;padding:4px 8px;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;position:absolute}.leaflet-draw-guide-dash{opacity:.6;width:5px;height:5px;font-size:1%;position:absolute}.leaflet-overlay-pane svg path.leaflet-interactive{pointer-events:auto}.leaflet-draw-section{position:relative}path.leaflet-interactive{stroke-linecap:round;stroke-linejoin:round}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8f8f8}.leaflet-overlay-pane svg{position:relative;z-index:400!important}.leaflet-draw-actions{z-index:1000}.leaflet-mouse-marker{cursor:crosshair;background-color:#fff}svg.leaflet-zoom-animated{will-change:auto!important}.poi-tab-actions{z-index:10;background:#f8f9fa;border-bottom:1px solid #dee2e6;margin-bottom:1rem;padding:1rem;position:sticky;top:0}.refresh-content-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d5016 0%,#4a7c23 100%);border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.refresh-content-btn:hover:not(:disabled){background:linear-gradient(135deg,#3a6a1d 0%,#5a9c2d 100%);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.refresh-content-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.refresh-content-btn:disabled{opacity:.6;cursor:not-allowed}.collect-result{border-radius:4px;margin-top:.75rem;padding:.75rem;font-size:.85rem;line-height:1.4}.collect-result.success{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.collect-result.error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.back-to-mtb-list-btn{color:#fff;cursor:pointer;text-align:center;background:#4a7c23;border:none;border-radius:4px;width:100%;padding:.75rem 1rem;font-size:.9rem;transition:background .2s;display:block}.back-to-mtb-list-btn:hover{background:#3d6a1e}.trail-status{background:#f5f5f5;border-radius:8px;margin-bottom:1rem;padding:1rem}.status-badge{border-radius:12px;margin-right:8px;padding:2px 8px;font-size:.85em;font-weight:600;display:inline-block}.status-badge.status-open{color:#155724;background-color:#d4edda}.status-badge.status-closed{color:#721c24;background-color:#f8d7da}.status-badge.status-limited{color:#856404;background-color:#fff3cd}.status-badge.status-maintenance{color:#0c5460;background-color:#d1ecf1}.status-badge.status-unknown{color:#383d41;background-color:#e2e3e5}.status-open .status-badge{color:#fff;background:#4caf50}.status-closed .status-badge{color:#fff;background:#f44336}.status-limited .status-badge{color:#fff;background:#ff9800}.status-maintenance .status-badge{color:#fff;background:#2196f3}.status-unknown .status-badge{color:#fff;background:#9e9e9e}.trail-status-badge{border-radius:12px;padding:.3rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.trail-status-badge.status-open{color:#2e7d32;background:#c8e6c9}.trail-status-badge.status-closed{color:#c62828;background:#ffebee}.trail-status-badge.status-limited{color:#e65100;background:#fff3e0}.trail-status-badge.status-maintenance{color:#1565c0;background:#e3f2fd}.trail-status-badge.status-unknown{color:#616161;background:#f5f5f5}.trail-status-details{background:#f9f9f9;border-left:4px solid #4a7c23;border-radius:4px;margin-top:1rem;padding:.75rem}.trail-status-details .status-indicator{border-radius:16px;margin-bottom:.5rem;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.trail-status-details .status-indicator.status-open{color:#fff;background:#4caf50}.trail-status-details .status-indicator.status-closed{color:#fff;background:#f44336}.trail-status-details .status-indicator.status-limited{color:#fff;background:#ff9800}.trail-status-details .status-indicator.status-maintenance{color:#fff;background:#2196f3}.trail-status-details .status-indicator.status-unknown{color:#fff;background:#9e9e9e}.status-conditions,.status-updated{margin:.75rem 0;font-size:.9rem}.status-source-link{color:#fff;background:#4a7c23;border-radius:4px;margin-top:1rem;padding:.5rem 1rem;font-size:.85rem;text-decoration:none;transition:background .2s;display:inline-block}.status-source-link:hover{background:#3d6a1e}.trail-status-badges{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:.5rem;display:flex}.trail-status-badge.source{color:#fff;background:#6c757d;text-decoration:none;transition:background-color .2s}.trail-status-badge.source:hover{background:#5a6268}.trail-status-detail{color:#555;margin:.25rem 0;font-size:.9rem}.trail-status-detail.trail-status-seasonal{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:.5rem .75rem}.trail-status-updated{color:#767676;margin:.25rem 0 0;font-size:.8rem}.collect-status-inline-btn{color:#495057;cursor:pointer;background-color:#e9ecef;border:1px solid #ced4da;border-radius:12px;padding:2px 8px;font-size:.8em;font-weight:500;transition:background-color .2s;display:inline-block}.collect-status-inline-btn:hover{background-color:#dee2e6}.trail-weather{color:#555;margin:.5rem 0;font-size:.85rem}.trail-seasonal-notice{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem}.data-collection-settings{flex-direction:column;gap:3rem;display:flex}.collection-section{width:100%}.collection-section-title{color:#2d3748;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.collection-section-subtitle{color:#718096;margin-bottom:1.5rem;font-size:.95rem}.collection-divider{background:linear-gradient(90deg,#0000,#e2e8f0,#0000);height:2px;margin:2rem 0}.data-collection-settings{max-width:900px}.collection-actions-section{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 12px #667eea33}.collection-actions-section h4{color:#fff;margin-bottom:1rem;font-size:1.1rem}.collection-buttons{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.collection-btn{cursor:pointer;color:#4a5568;background:#fffffff2;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.collection-btn:hover:not(:disabled){background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.collection-btn:disabled{opacity:.6;cursor:not-allowed}.collection-btn .btn-icon{font-size:1.5rem}.collection-btn .btn-text{white-space:nowrap}.job-history-section{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:2rem;padding:1.5rem}.job-history-section h4{color:#2d3748;margin-bottom:1rem}.no-history{text-align:center;color:#718096;padding:2rem;font-style:italic}.job-history-list{flex-direction:column;gap:.75rem;max-height:400px;display:flex;overflow-y:auto}.job-history-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:1rem;padding:1rem;transition:all .2s;display:flex}.job-history-item:hover{border-color:#cbd5e0;box-shadow:0 2px 4px #0000000d}.job-icon{flex-shrink:0;font-size:2rem}.job-title{color:#2d3748;font-weight:600}.job-meta{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.job-status{border-radius:12px;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-flex}.job-status.completed{color:#22543d;background:#c6f6d5}.job-status.running{color:#2c5282;background:#bee3f8}.job-status.cancelled,.job-status.failed{color:#742a2a;background:#fed7d7}.job-time{color:#718096;font-size:.85rem}.job-stats{color:#4a5568;font-size:.9rem}.jobs-dashboard{padding:0}.jobs-dashboard h3{color:#2d3748;margin:0 0 12px;font-size:1rem}.queue-status-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.queue-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px}.queue-card-label{color:#4a5568;margin-bottom:4px;font-size:.8rem}.queue-card-count{font-size:.85rem}.queue-badge{border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.queue-badge-active{color:#2b6cb0;background:#ebf8ff}.queue-badge-idle{color:#a0aec0;background:#edf2f7}.job-filter-select{background:#fff;border:1px solid #cbd5e0;border-radius:4px;padding:4px 8px;font-size:.85rem}.job-history-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:.85rem}.job-history-table th{text-align:left;color:#4a5568;border-bottom:2px solid #e2e8f0;padding:8px 10px;font-size:.8rem;font-weight:600}.job-history-table td{border-bottom:1px solid #edf2f7;padding:8px 10px}.job-row.expandable{cursor:pointer;transition:background-color .15s}.job-row.expandable:hover{background:#f7fafc}.job-row.expanded{background:#ebf8ff}.job-type-icon{margin-right:6px}.status-badge{color:#fff;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.job-logs-row td{border-bottom:2px solid #e2e8f0;padding:0!important}.job-logs-panel{background:#fafafa;padding:12px 16px}.job-error-banner{color:#742a2a;background:#fed7d7;border-radius:4px;margin-bottom:8px;padding:8px 12px;font-size:.85rem}.job-logs-scroll{max-height:400px;overflow-y:auto}.job-logs-text{color:#d4d4d4;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-all;background:#1e1e1e;border-radius:4px;max-height:400px;margin:0;padding:8px;font-family:Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.5;overflow-y:auto}.job-log-entry{border-bottom:1px solid #edf2f7;grid-template-columns:12px minmax(80px,150px) 1fr auto;align-items:start;gap:0 8px;padding:4px 0;font-size:.82rem;line-height:1.4;display:grid}.job-log-entry.error{background:#fff5f5}.job-log-entry.warn{background:#fffaf0}.job-log-entry.has-details:hover{background:#edf2f7}.job-log-entry.has-details.error:hover{background:#fee2e2}.job-log-entry.has-details.warn:hover{background:#fef3c7}.log-expand-icon{color:#718096;text-align:center;width:12px;font-size:.7rem;display:inline-block}.job-log-entry.has-details:hover .log-expand-icon{color:#2d3748}.log-level-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.log-level-dot.info{background:#cbd5e0}.log-level-dot.warn{background:#ed8936}.log-level-dot.error{background:#e53e3e}.log-poi{color:#4a5568;text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.log-message{color:#2d3748}.log-time{color:#a0aec0;white-space:nowrap;font-size:.75rem}.log-details{background:#edf2f7;border-radius:4px;grid-column:1/-1;margin:4px 0;padding:8px;font-size:.75rem;overflow-x:auto}.load-more-btn{cursor:pointer;color:#4a5568;background:#edf2f7;border:1px solid #cbd5e0;border-radius:4px;width:100%;margin-top:8px;padding:8px;font-size:.85rem;display:block}.load-more-btn:hover{background:#e2e8f0}.scheduled-jobs-grid{flex-direction:column;gap:8px;display:flex}.scheduled-job-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.scheduled-job-header{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.scheduled-job-header:hover{background:#edf2f7}.scheduled-job-info{align-items:center;gap:10px;min-width:0;display:flex}.scheduled-job-icon{flex-shrink:0;font-size:1.3rem}.scheduled-job-label{color:#2d3748;font-size:.9rem;font-weight:600}.scheduled-job-desc{color:#718096;margin-top:1px;font-size:.78rem}.scheduled-job-badges{flex-shrink:0;align-items:center;gap:8px;display:flex}.schedule-badge{color:#1565c0;white-space:nowrap;background:#e3f2fd;border-radius:4px;padding:2px 8px;font-size:.75rem;display:inline-block}.scheduled-job-detail{border-top:1px solid #e2e8f0;padding:0 14px 14px}.scheduled-job-lastrun{color:#4a5568;align-items:center;margin-top:10px;font-size:.85rem;display:flex}.schedule-editor{margin-top:10px}.schedule-edit-row{align-items:center;gap:8px;display:flex}.schedule-input{border:1px solid #cbd5e0;border-radius:4px;width:180px;padding:4px 8px;font-family:monospace;font-size:.85rem}.schedule-display-row{align-items:center;gap:8px;display:flex}.schedule-cron{color:#555;background:#f5f5f5;border-radius:3px;padding:2px 6px;font-size:.8rem}.schedule-custom-badge{color:#e65100;background:#fff3e0;border-radius:3px;padding:1px 5px;font-size:.7rem}.prompt-section{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.log-details-structured{grid-column:1/-1;margin:4px 0}.log-detail-section{margin-bottom:6px}.log-detail-section.collapsible{border:1px solid #e2e8f0;border-radius:4px;margin-bottom:4px}.log-detail-pairs{flex-wrap:wrap;gap:6px 16px;padding:6px 0;display:flex}.log-detail-pair{font-size:.78rem}.log-detail-key{color:#718096;text-transform:capitalize;margin-right:4px}.log-detail-value{color:#2d3748;font-weight:500}.log-detail-label{color:#4a5568;margin-bottom:4px;font-size:.78rem;font-weight:600}.log-detail-label.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 8px}.log-detail-label.clickable:hover{background:#f7fafc}.log-detail-pre{white-space:pre-wrap;word-break:break-word;background:#edf2f7;border-radius:4px;max-height:300px;margin:0;padding:8px;font-size:.72rem;overflow:auto}.log-detail-pre.error{color:#c53030;background:#fff5f5}.scheduled-job-card.running{border-width:2px;border-color:#2196f3}.queue-badge-running{color:#1565c0;background:#e3f2fd;animation:2s ease-in-out infinite pulse-badge}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.running-job-section{background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;margin-top:10px;padding:10px}.running-job-header{color:#1565c0;align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.running-indicator{background:#2196f3;border-radius:50%;width:8px;height:8px;display:inline-block}.active-slots-table{margin-top:8px;font-size:.78rem}.slots-header{color:#1565c0;text-transform:uppercase;grid-template-columns:1fr 150px;gap:8px;padding:4px 6px;font-size:.7rem;font-weight:600;display:grid}.slots-row{color:#0f172a;border-radius:3px;grid-template-columns:1fr 150px;gap:8px;padding:4px 8px;font-weight:500;display:grid}.slots-row.active{color:#0d47a1;background:#2196f31a;border-left:3px solid #2196f3}.slots-row.empty-slot{color:#78909c;font-style:italic}.slot-poi{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-runs-section{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:10px}.job-runs-header{color:#4a5568;margin-bottom:6px;font-size:.82rem;font-weight:600}.job-runs-list{flex-direction:column;gap:2px;display:flex}.job-run-row{cursor:pointer;border-radius:4px;align-items:center;gap:10px;padding:5px 8px;font-size:.82rem;display:flex}.job-run-row:hover{background:#edf2f7}.job-run-row.expanded{background:#edf2f7;border-bottom-right-radius:0;border-bottom-left-radius:0}.run-items{color:#4a5568;min-width:50px}.run-time{color:#718096;font-size:.78rem}.run-duration{color:#a0aec0;margin-left:auto;font-size:.78rem}.privacy-policy-page{background:#fafafa;justify-content:center;min-height:100vh;padding:2rem 1rem;display:flex}.privacy-policy-content{background:#fff;border-radius:8px;width:100%;max-width:720px;padding:2.5rem 3rem;box-shadow:0 1px 3px #0000001a}.privacy-policy-content h1{color:#1b4332;margin:0 0 .25rem;font-size:1.8rem}.privacy-updated{color:#6c757d;margin:0 0 2rem;font-size:.85rem}.privacy-policy-content section{margin-bottom:1.75rem}.privacy-policy-content h2{color:#2d6a4f;margin:0 0 .5rem;font-size:1.15rem}.privacy-policy-content p{color:#333;margin:0 0 .75rem;font-size:.95rem;line-height:1.6}.privacy-policy-content ul{margin:.5rem 0;padding-left:1.5rem}.privacy-policy-content li{color:#333;margin-bottom:.25rem;font-size:.95rem;line-height:1.6}.privacy-policy-content a{color:#2d6a4f;text-decoration:underline}.privacy-policy-content a:hover{color:#1b4332}.privacy-link-inline{text-align:center;color:#6c757d;border-top:1px solid #eee;margin-top:8px;padding-top:8px;font-size:.8rem;text-decoration:none;display:block}.privacy-link-inline:hover{color:#2d6a4f;text-decoration:underline}.user-dropdown-inline .privacy-link-inline{text-align:left;border-top:1px solid #eee;margin-top:0;padding:8px 12px}button.feedback-link-inline{cursor:pointer;background:0 0;border:none;width:100%;margin-top:0;padding-top:4px;font-family:inherit}.settings-link{color:#2d6a4f;font-size:.9rem;text-decoration:none}.settings-link:hover{text-decoration:underline}@media (width<=768px){.privacy-policy-content{padding:1.5rem}.privacy-policy-content h1{font-size:1.4rem}}.about-page{overflow-y:auto}.about-tab-content{margin-top:1rem}.about-story h2{color:#2d6a4f;margin-top:1.5rem;margin-bottom:.75rem;font-size:1.4rem}.about-story h2:first-child{margin-top:0}.about-story p{color:#444;margin-bottom:1rem;line-height:1.7}.about-story a{color:#2d6a4f;text-decoration:none}.about-story a:hover{text-decoration:underline}.about-divider{border:none;border-top:1px solid #ddd;margin:2rem 0}.about-closing{color:#2d6a4f;margin-top:1.5rem;font-style:italic;font-weight:500}.about-tutorial h2{color:#2d6a4f;margin-bottom:.75rem;font-size:1.4rem}.about-tutorial p{color:#444;margin-bottom:1rem;line-height:1.6}.about-tour-btn{color:#fff;cursor:pointer;background:#2d6a4f;border:none;border-radius:6px;margin-top:.5rem;padding:.75rem 1.5rem;font-size:1rem}.about-tour-btn:hover{background:#1b4332}.about-tutorial+.about-tutorial{border-top:1px solid #00000014;margin-top:2.5rem;padding-top:2rem}.about-story .markdown-content h2{color:#2d6a4f;margin-top:1.5rem;margin-bottom:.75rem;font-size:1.4rem}.about-story .markdown-content h2:first-child{margin-top:0}.about-story .markdown-content p{color:#444;margin-bottom:1rem;line-height:1.7}.about-story .markdown-content a{color:#2d6a4f;text-decoration:none}.about-story .markdown-content a:hover{text-decoration:underline}.about-story .markdown-content hr{border:none;border-top:1px solid #ddd;margin:2rem 0}.about-story .markdown-content em:last-child{color:#2d6a4f;margin-top:1.5rem;font-weight:500;display:block}.about-tutorial .markdown-content h2{color:#2d6a4f;margin-bottom:.75rem;font-size:1.4rem}.about-tutorial .markdown-content p{color:#444;margin-bottom:1rem;line-height:1.6}.privacy-markdown-content h1{color:#333;margin-bottom:.5rem;font-size:1.6rem}.privacy-markdown-content h2{color:#2d6a4f;margin-top:1.5rem;margin-bottom:.5rem;font-size:1.25rem}.privacy-markdown-content p{color:#444;margin-bottom:1rem;line-height:1.7}.privacy-markdown-content ul{padding-left:1.5rem}.privacy-markdown-content li{color:#444;margin-bottom:.25rem;line-height:1.7}.privacy-markdown-content a{color:#2d6a4f;text-decoration:none}.privacy-markdown-content a:hover{text-decoration:underline}.privacy-markdown-content em:first-child{color:#888;margin-bottom:1rem;font-size:.9rem;display:block}.about-edit-btn{float:right;color:#fff;cursor:pointer;background:#2d6a4f;border:none;border-radius:4px;padding:.4rem 1rem;font-size:.85rem}.about-edit-btn:hover{background:#1b4332}.about-editor{margin-top:.5rem}.about-editor-textarea{resize:vertical;box-sizing:border-box;border:1px solid #ccc;border-radius:6px;width:100%;min-height:200px;padding:.75rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;line-height:1.5}.about-editor-textarea:focus{border-color:#2d6a4f;outline:none;box-shadow:0 0 0 2px #2d6a4f33}.about-editor-actions{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.about-editor-help{color:#888;margin-left:auto;font-size:.8rem;text-decoration:none}.about-editor-help:hover{color:#2d6a4f;text-decoration:underline}.feedback-inline{max-width:600px}.feedback-inline h2{color:#2d6a4f;margin-bottom:.25rem;font-size:1.4rem}.feedback-inline .feedback-subtitle{color:#666;margin-bottom:1.5rem}.privacy-inline{min-height:unset;background:0 0;padding:0;display:block}.privacy-inline .privacy-policy-content{max-width:none;box-shadow:none;background:0 0;border-radius:0;padding:0}.privacy-inline .privacy-policy-content h1{color:#2d6a4f;margin-bottom:.25rem;font-size:1.4rem}.privacy-inline .privacy-policy-content h2{color:#2d6a4f;font-size:1.1rem}.privacy-inline .privacy-policy-content p,.privacy-inline .privacy-policy-content li{color:#444;font-size:1rem;line-height:1.7}.rss-feed-link{color:#2d6a4f;margin-top:.5rem;font-weight:500;display:inline-block}.rss-feed-link:hover{text-decoration:underline}@media (width<=768px){.about-story h2{font-size:1.2rem}.about-tab-btn{font-size:.8rem}}.tour-prompt-overlay{z-index:10003;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tour-prompt-modal{text-align:center;background:#fff;border-radius:12px;width:90%;max-width:400px;padding:2rem;box-shadow:0 20px 60px #0000004d}.tour-prompt-modal h3{color:#2d6a4f;margin-bottom:.75rem;font-size:1.3rem}.tour-prompt-modal p{color:#555;margin-bottom:1.5rem;line-height:1.5}.tour-prompt-actions{justify-content:center;gap:.75rem;display:flex}.tour-prompt-btn{cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.5rem;font-size:.95rem}.tour-prompt-start{color:#fff;background:#2d6a4f}.tour-prompt-start:hover{background:#1b4332}.tour-prompt-skip{color:#555;background:#e9ecef}.tour-prompt-skip:hover{background:#dee2e6}.guided-tour-overlay{z-index:10002;pointer-events:all;position:fixed;inset:0}.guided-tour-backdrop{pointer-events:none}.guided-tour-backdrop-full{pointer-events:none;background:#0009;animation:.9s ease-out tourFadeIn;position:fixed;inset:0}.guided-tour-tooltip{pointer-events:all;z-index:10003;background:#fff;border-radius:10px;width:300px;padding:1.25rem;transition:top .3s ease-out,left .3s ease-out;position:fixed;box-shadow:0 10px 40px #0000004d}.guided-tour-tooltip.tour-hidden{opacity:0;pointer-events:none;transition:none}.guided-tour-tooltip.tour-visible{animation:.9s ease-out tourFadeIn}@keyframes tourFadeIn{0%{opacity:0}to{opacity:1}}.guided-tour-step-indicator{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.75rem}.guided-tour-title{color:#2d6a4f;margin:0 0 .5rem;font-size:1.1rem}.guided-tour-description{color:#444;margin:0 0 1rem;font-size:.9rem;line-height:1.5}.guided-tour-actions{justify-content:flex-end;gap:.5rem;display:flex}.guided-tour-btn{cursor:pointer;border:none;border-radius:5px;padding:.4rem .9rem;font-size:.85rem}.guided-tour-next{color:#fff;background:#2d6a4f}.guided-tour-next:hover{background:#1b4332}.guided-tour-end{color:#555;background:#e9ecef}.guided-tour-end:hover{background:#dee2e6}.guided-tour-back{color:#888;background:0 0}.guided-tour-back:hover{color:#555}@media (width<=768px){.guided-tour-tooltip{width:calc(100vw - 40px);max-width:300px;top:auto!important;bottom:20px!important;left:50%!important;transform:translate(-50%)!important}.guided-tour-tooltip.tour-position-above{bottom:auto!important;top:var(--tour-top)!important}}.favorite-toggle-btn.favorited{background:#c8941a}.favorite-toggle-btn.favorited:hover{background:#b07f12}.visited-toggle-btn.visited{background:#2e7d32}.visited-toggle-btn.visited:hover{background:#256628}.notification-bell{align-items:center;display:inline-flex;position:relative}.notification-bell-btn{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;align-items:center;padding:.4rem;display:inline-flex;position:relative}.notification-bell-btn:hover{background:#00000014}.notification-badge{color:#fff;text-align:center;background:#d9342b;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:.7rem;font-weight:700;line-height:16px;position:absolute;top:0;right:0}.notification-dropdown{top:110%;right:var(--panel-right,0);z-index:10001;background:#fff;border:1px solid #ddd;border-radius:8px;width:320px;max-height:420px;position:absolute;overflow-y:auto;box-shadow:0 4px 16px #0000002e}.notification-dropdown-header{color:#2d5016;border-bottom:1px solid #eee;padding:.75rem 1rem;font-weight:700}.notification-empty{color:#666;padding:1rem;font-size:.9rem}.notification-list{margin:0;padding:0;list-style:none}.notification-item{border-bottom:1px solid #f0f0f0}.notification-item.unread{background:#dcebc6}.notification-item-btn{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;gap:.6rem;padding:.7rem 1rem;display:flex}.notification-item-btn:hover{background:#0000000a}.notification-icon{flex-shrink:0}.notification-title{color:#2d5016;font-size:.9rem;font-weight:600}.notification-meta{color:#777;margin-top:2px;font-size:.78rem}.favorites-list{margin:0 0 .5rem;padding:0;list-style:none}.favorites-list-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.favorites-poi-name{font-weight:600}.favorites-remove-btn{color:#c0392b;cursor:pointer;background:0 0;border:1px solid #c0392b;border-radius:12px;padding:.2rem .7rem;font-size:.8rem}.favorites-remove-btn:hover{color:#fff;background:#c0392b}.favorites-feed{margin:0 0 1rem;padding:0;list-style:none}.favorites-feed li{padding:.35rem 0;font-size:.9rem}.favorites-feed a{color:#2d5016;text-decoration:none}.favorites-feed a:hover{text-decoration:underline}.favorites-feed-poi{color:#777;font-size:.82rem}.tab-icon-btn{justify-content:center;align-items:center;display:inline-flex}.nav-tab-icon{display:none}.nav-tab-label{display:inline}.tab-login-dot{justify-content:center;align-items:center;padding:0;display:inline-flex}.login-dot-placeholder{justify-content:center;align-items:center;display:flex}@media (width<=768px){.nav-tab-icon{display:block}.nav-tab-label{display:none}.header{padding-left:.5rem;padding-right:.5rem}.notification-dropdown{top:var(--bell-bottom,5.75rem);width:auto;max-height:70vh;position:fixed;left:.5rem;right:.5rem}}.river-gauge-marker{background:0 0;border:none}.river-gauge-pin{white-space:nowrap;align-items:center;gap:4px;display:flex;transform:translate(-6px,-6px)}.river-gauge-dot{background:#1e6fb8;border:2px solid #fff;border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 3px #00000080}.river-gauge-label{color:#1e6fb8;background:#ffffffe6;border-radius:8px;padding:1px 5px;font-size:11px;font-weight:700;box-shadow:0 1px 2px #0000004d}.river-gauge-marker.active .river-gauge-dot{background:#1e90ff;position:relative}.river-gauge-marker.active .river-gauge-dot:before{content:"";background:#1e90ff4d;border:3px solid #1e90ff;border-radius:50%;width:28px;height:28px;animation:1.5s ease-out infinite pulse-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.river-levels-tab{padding:.25rem 0}.river-gauge-carousel-wrapper{position:relative}.river-gauge-card{border:1px solid var(--border-color,#ddd);border-radius:8px;margin:0;padding:.5rem .75rem}.river-gauge-name{margin:0 0 .25rem;font-size:.95rem}.river-gauge-current{flex-wrap:wrap;align-items:baseline;gap:.35rem;margin-bottom:.35rem;font-size:.9rem;display:flex}.river-gauge-value{color:#1e6fb8;font-weight:700}.river-gauge-sep{color:#999}.river-gauge-time{color:#666;font-size:.8rem}.river-gauge-metric-toggle{gap:0;margin-bottom:.35rem;display:flex}.river-gauge-metric-toggle button{border:1px solid var(--border-color,#ccc);cursor:pointer;background:#f6f6f6;flex:1;padding:.25rem .5rem;font-size:.78rem}.river-gauge-metric-toggle button:first-child{border-radius:6px 0 0 6px}.river-gauge-metric-toggle button:last-child{border-left:none;border-radius:0 6px 6px 0}.river-gauge-metric-toggle button.active{color:#fff;background:#1e6fb8;border-color:#1e6fb8}.river-gauge-metric-toggle button:disabled{opacity:.4;cursor:not-allowed}.river-gauge-link{margin-top:.25rem;font-size:.8rem;display:inline-block}.river-levels-empty{color:#777;padding:.5rem 0;font-style:italic}.river-gauge-nav-arrow{color:#ffffffe6;cursor:pointer;z-index:5;background:#8080804d;border:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.6rem;font-weight:300;line-height:1;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.river-gauge-nav-arrow:hover{background:#80808080}.river-gauge-nav-prev{border-radius:0 4px 4px 0;left:0}.river-gauge-nav-next{border-radius:4px 0 0 4px;right:0}.river-gauge-subtitle{text-align:center;color:#777;margin:.4rem 0 .15rem;font-size:.78rem;font-style:italic}.river-gauge-footer{flex-direction:column;align-items:center;gap:.3rem;margin-top:.1rem;display:flex}.river-gauge-pager{color:#666;font-size:.8rem}.river-gauge-dots{justify-content:center;gap:.4rem;display:flex}.river-gauge-dot-btn{cursor:pointer;background:#c5c5c5;border:none;border-radius:50%;width:9px;height:9px;padding:0}.river-gauge-dot-btn.active{background:#1e6fb8}.water-taxi-stops{margin:0;padding-left:1.25rem}.water-taxi-stops li{margin:.2rem 0}.link-button{color:#4a7c23;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{color:#2d5016}.served-by{margin:0}.tooltip-title-row{align-items:center;display:flex}.service-badge.live{color:#2e7d32;background:#e8f5e9}.service-badge.docked{color:#e65100;background:#fff3e0}.service-badge.offline{color:#999;background:#f5f5f5}@media (width<=768px){.close-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:4px;font-size:2rem;display:flex}.sidebar-expand-btn{min-width:44px;min-height:44px}}
