/* Identidad visual: Ventana costera. No modifica JavaScript ni los datos. */
:root{--bg:#dfe8e7;--rail:#f8faf9;--panel:#f9fbfb;--panel-2:#eef3f2;--panel-3:#e4eceb;--line:#d4dfdd;--line-soft:#e0e8e6;--edge:rgba(255,255,255,.78);--glass:rgba(248,250,249,.88);--glass-2:rgba(249,251,251,.93);--text:#294348;--muted:#617479;--muted-2:#829296;--accent:#3b8790;--accent-hover:#4b9ba5;--accent-soft:rgba(59,135,144,.14);--accent-ring:rgba(59,135,144,.35);--shadow-float:0 11px 31px rgba(49,80,82,.16);--shadow-panel:0 16px 42px rgba(48,73,76,.19);--rail-w:unset;--rail-h:59px;--drawer-w:390px;color-scheme:light}
html,body{background:var(--bg);color:var(--text)}.topbar{position:absolute;left:20px;right:20px;top:18px;z-index:50;height:54px;padding:8px 12px;background:var(--glass);border:1px solid var(--edge);border-radius:14px;box-shadow:var(--shadow-float);gap:18px}.topbar-mark{background:#dcecea;color:var(--accent)}.topbar-name strong{color:var(--text)}.topbar-name em{color:var(--muted-2)}.topbar-search{width:min(340px,42vw);height:34px;background:#fff;border-color:#d8e2e0;border-radius:10px}.topbar-search input{color:var(--text)}.topbar-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.prototype-stamp{margin-left:auto;color:#557278;font:10px 'Courier New',monospace;letter-spacing:.8px}.app{height:100%;position:absolute;inset:0}.shell{height:100dvh;position:relative}.stage{position:absolute;inset:0}.rail{left:auto;right:20px;top:auto;bottom:20px;width:auto;height:58px;padding:5px 7px;flex-direction:row;background:var(--glass);border:1px solid var(--edge);border-radius:15px;box-shadow:var(--shadow-float);gap:2px}.rail-spacer{display:none}.rail-btn{width:54px;height:46px;padding:5px;gap:3px;color:var(--muted);border-radius:11px}.rail-btn span{font-size:9px}.rail-btn:hover{color:var(--text);background:#edf3f2}.rail-btn.active{color:var(--text);background:#e4f0ee}.rail-btn.active::before{left:50%;top:auto;bottom:-5px;transform:translateX(-50%);width:22px;height:3px;background:var(--accent)}.rail-primary{color:var(--accent)}.rail-primary .ic{width:32px;height:32px;padding:6px;border-radius:10px;background:var(--accent);box-shadow:0 4px 13px rgba(59,135,144,.25)}.rail-primary span{color:var(--muted)}.rail-primary:hover .ic{background:var(--accent-hover);box-shadow:0 5px 16px rgba(59,135,144,.3)}.drawer{top:auto;left:24px;bottom:94px;width:min(400px,calc(100vw - 48px));max-height:58%;background:var(--glass-2);border:1px solid var(--edge);border-radius:16px;box-shadow:var(--shadow-panel)}.drawer-head{padding:16px 14px 12px 18px;border-color:var(--line-soft)}.drawer-head strong{font-size:17px}.drawer-body{padding:11px 17px 16px}.mdd-chk:has(input:checked){background:#eef5f4}.mdd-chk:hover{background:#edf4f3}.mdd-chk input{accent-color:var(--accent)}.legal-mini{left:24px;bottom:24px;background:rgba(249,251,251,.82);color:#607479;border:1px solid rgba(255,255,255,.75);border-radius:9px;box-shadow:0 5px 18px rgba(49,80,82,.1)}.leaflet-bar{box-shadow:var(--shadow-float)!important;border:1px solid #fff!important;border-radius:10px!important;overflow:hidden}.leaflet-bar a{background:#f9fbfb!important;color:#34545b!important;border-color:#d9e4e2!important}.leaflet-popup-content-wrapper{background:rgba(249,251,251,.96);color:#294348;border:1px solid #fff;border-radius:13px;box-shadow:var(--shadow-panel)}.leaflet-popup-tip{background:#f9fbfb}.mdd-popup .mdd-addr,.mdd-popup .mdd-desc,.mdd-popup .srv-name{color:#294348}.mdd-popup .mdd-when,.mdd-popup .mdd-note{color:#667b80}.modal{background:rgba(42,65,68,.32);backdrop-filter:blur(3px)}.modal-box{background:#f9fbfb;color:#294348;border-radius:16px}.modal-box textarea,.modal-box select,.modal-box input[type=datetime-local]{background:#fff;color:#294348;border-color:#d5e1df}.btn.primary{background:var(--accent)}
@media(max-width:720px){.topbar{left:10px;right:10px;top:10px;height:50px;padding:7px 10px;gap:9px}.topbar-mark{display:none}.topbar-name strong{font-size:12px}.topbar-name em{font-size:7px}.topbar-search{width:auto;flex:1;min-width:0;height:31px}.prototype-stamp{display:none}.rail{left:10px;right:10px;bottom:10px;width:auto;height:57px;justify-content:space-around}.rail-btn{width:48px;height:44px}.rail-primary .ic{width:29px;height:29px}.drawer{left:10px;right:10px;bottom:79px;width:auto;max-height:57%;border-radius:14px}.legal-mini{left:10px;bottom:77px;font-size:9px}.stage #map{inset:0}}
