:root{--bg:#101419;--panel:#171d24;--panel2:#1e2630;--line:#2d3743;--text:#eef3f8;--muted:#94a3b5;--accent:#7eb6e8;--accent2:#4d8fc9;--danger:#e26e6e;--success:#6dc996;--warning:#e6b85c;--public:#4f9fe8;--personal:#62c68b;--faction:#a57ae8;--team:#e7ae55;--radius:12px;--shadow:0 12px 36px rgba(0,0,0,.35)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--text);font:14px/1.4 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{height:100%;display:flex;flex-direction:column}.topbar{height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(16,20,25,.96);border-bottom:1px solid var(--line);gap:12px}.brand,.top-actions,.row-between{display:flex;align-items:center}.brand{gap:10px}.brand>div{display:flex;flex-direction:column}.brand small{color:var(--muted)}.brand-mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#244a70,#15283d);border:1px solid #355b7d;font-weight:800;letter-spacing:.08em}.brand-mark.mini{width:36px;height:36px;border-radius:10px}.top-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn,.icon-btn,.text-btn,.tab{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;min-height:38px;padding:8px 12px}.btn:hover,.icon-btn:hover,.tab:hover{border-color:#516172}.btn.primary{background:var(--accent2);border-color:var(--accent);color:white}.btn.ghost{background:transparent}.btn.danger{background:#5b2929;border-color:#9b4949}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{min-width:38px;padding:4px 10px;font-size:20px}.text-btn{border:0;background:transparent;color:var(--accent);min-height:auto;padding:0}.workspace{min-height:0;flex:1;display:grid;grid-template-columns:300px minmax(0,1fr) 330px}.sidebar,.details-panel{min-height:0;background:var(--panel);padding:14px;border-color:var(--line);overflow:auto}.sidebar{border-right:1px solid var(--line)}.details-panel{border-left:1px solid var(--line)}.map-wrap{position:relative;min-width:0;min-height:0}.map-wrap #map{width:100%;height:100%;background:#1a2027}.search-row{position:relative}.search-row input{width:100%;padding-right:42px}.search-row .icon-btn{position:absolute;right:2px;top:2px;background:transparent;border:0}.filter-section{margin-top:16px}.section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px}.row-between{justify-content:space-between;gap:8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--panel2);color:var(--muted);padding:6px 9px;border-radius:999px}.chip.active{color:white;border-color:#60778c}.chip.public.active{background:color-mix(in srgb,var(--public) 25%,var(--panel2))}.chip.personal.active{background:color-mix(in srgb,var(--personal) 25%,var(--panel2))}.chip.faction.active{background:color-mix(in srgb,var(--faction) 25%,var(--panel2))}.chip.team.active{background:color-mix(in srgb,var(--team) 25%,var(--panel2))}.category-list{display:grid;gap:4px;max-height:220px;overflow:auto}.category-row,.switch-row{display:flex;align-items:center;gap:9px;padding:6px 2px;color:#cad4df}.category-row input,.switch-row input{accent-color:var(--accent2)}.switch-row{justify-content:space-between;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.marker-list{display:grid;gap:6px;padding-bottom:20px}.marker-list-item{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;width:100%;text-align:left;border:1px solid transparent;background:transparent;color:var(--text);padding:7px;border-radius:9px}.marker-list-item:hover,.marker-list-item.active{background:var(--panel2);border-color:var(--line)}.marker-list-item .meta{display:flex;flex-direction:column;min-width:0}.marker-list-item .meta strong,.marker-list-item .meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.marker-list-item .meta span{font-size:12px;color:var(--muted)}.type-pill{font-size:10px;text-transform:uppercase;padding:3px 5px;border-radius:5px;border:1px solid var(--line);color:var(--muted)}.type-pill.public{color:var(--public)}.type-pill.personal{color:var(--personal)}.type-pill.faction{color:var(--faction)}.type-pill.team{color:var(--team)}.blip-mini{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#202933;border:2px solid var(--marker-accent,#748393)}.blip-mini img{max-width:23px;max-height:23px;object-fit:contain}.native-blip-marker{background:transparent;border:0}.native-blip-marker .blip-pin{width:34px;height:34px;border-radius:50%;background:rgba(20,26,32,.9);border:3px solid var(--marker-accent,#778);display:grid;place-items:center;box-shadow:0 3px 10px rgba(0,0,0,.45)}.native-blip-marker img{max-width:25px;max-height:25px}.native-blip-marker.inactive{opacity:.42;filter:grayscale(1)}.details-panel h2{margin:0 0 3px;font-size:19px}.details-panel p{color:#cad4df;white-space:pre-wrap}.empty-details{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted);gap:6px}.details-icon{width:62px;height:62px;margin-bottom:12px}.details-meta{display:grid;grid-template-columns:auto 1fr;gap:7px 10px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.details-meta dt{color:var(--muted)}.details-meta dd{margin:0;text-align:right}.details-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.map-legend{position:absolute;left:12px;bottom:12px;z-index:500;background:rgba(18,23,29,.9);border:1px solid var(--line);border-radius:9px;padding:7px 9px;display:flex;gap:10px;flex-wrap:wrap;font-size:11px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.dot.public{background:var(--public)}.dot.personal{background:var(--personal)}.dot.faction{background:var(--faction)}.dot.team{background:var(--team)}.map-notice{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:600;background:rgba(20,26,32,.95);border:1px solid var(--warning);border-radius:9px;padding:8px 12px;box-shadow:var(--shadow)}input,select,textarea{width:100%;background:#11171d;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical}.auth-screen{position:absolute;inset:0;z-index:2000;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#1b2d3f 0,#101419 55%)}.auth-card{width:min(440px,calc(100% - 30px));background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow);text-align:center}.auth-card .brand-mark{margin:0 auto 14px}.auth-card h1{margin:0}.auth-card p{color:var(--muted)}.pair-form{display:grid;gap:10px;text-align:left;margin-top:18px}.pair-form small{color:var(--muted)}.pair-form input{text-align:center;text-transform:uppercase;letter-spacing:.18em;font-size:18px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:1800}.modal{position:fixed;z-index:1900;left:50%;top:50%;transform:translate(-50%,-50%);width:min(650px,calc(100% - 28px));max-height:86%;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.modal.wide{width:min(900px,calc(100% - 28px))}.modal.small{width:min(470px,calc(100% - 28px))}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.modal-head h2{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:grid;gap:5px;color:var(--muted)}.span-2{grid-column:1/-1}.label-like{display:block;color:var(--muted);margin-bottom:6px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:160px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px}.check-grid label{display:flex;align-items:center;gap:7px;color:var(--text)}.check-grid input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.blip-picker-btn{display:flex;align-items:center;gap:9px;min-height:42px;background:#11171d;color:var(--text);border:1px solid var(--line);border-radius:8px;text-align:left}.blip-picker-btn .blip-mini{flex:0 0 30px}.blip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:7px;margin-top:12px;max-height:55vh;overflow:auto}.blip-choice{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);text-align:left}.blip-choice:hover{border-color:var(--accent)}.blip-choice small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.settings-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:12px}.tab.active{background:var(--accent2);border-color:var(--accent)}.settings-pane{display:grid;gap:8px}.settings-row{display:grid;grid-template-columns:minmax(120px,1fr) 90px 80px auto;gap:7px;align-items:center}.faction-card{border:1px solid var(--line);border-radius:10px;padding:10px}.faction-card summary{cursor:pointer;font-weight:700}.faction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.grant-code{font-size:34px;font-weight:800;letter-spacing:.16em;text-align:center;padding:15px;background:#10161c;border:1px dashed var(--accent);border-radius:10px}.toast{position:fixed;right:18px;bottom:18px;z-index:2500;max-width:380px;padding:10px 14px;border-radius:9px;background:#222b34;border:1px solid #4b5966;box-shadow:var(--shadow)}.toast.error{border-color:var(--danger)}.toast.success{border-color:var(--success)}.muted{color:var(--muted)}.leaflet-control-layers,.leaflet-bar a{background:#1a222b!important;color:white!important;border-color:#384451!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#1a222b;color:white}.leaflet-popup-content{margin:9px 12px}.leaflet-control-attribution{display:none}.postal-label{background:rgba(12,17,22,.72);border:0;border-radius:4px;color:#d8e0e8;font-size:10px;padding:1px 3px;box-shadow:none}.move-crosshair{cursor:crosshair!important}
body{position:relative}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#314050;border-radius:999px}::-webkit-scrollbar-track{background:#141a21}.sidebar,.details-panel,.modal,.topbar{backdrop-filter:blur(10px)}
.workspace{position:relative}.sidebar,.details-panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}.search-row input{padding-left:14px;height:44px}.search-row .icon-btn{height:38px;width:38px}.chip{transition:.18s ease;border-color:#364250;color:#cbd7e3;background:#1b2430}.chip.active{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.16)}.category-row,.marker-list-item{border-radius:12px}.category-row:hover{background:#1a222c}.marker-list-item{padding:9px}.marker-list-item.active{background:#1d2834;border-color:#4a6177}.details-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.details-head-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.panel-close{margin-left:auto}.details-panel{display:flex;flex-direction:column}.details-panel .type-pill{width:max-content}.empty-details{padding:18px;border:1px dashed #364250;border-radius:14px}.map-wrap #map{border-left:1px solid var(--line);border-right:1px solid var(--line)}.leaflet-control-layers{border:1px solid #3b4a5c}.native-blip-marker .blip-pin{width:38px;height:38px;border-width:3px;background:rgba(18,23,28,.92)}.native-blip-marker img{max-width:26px;max-height:26px}.colour-field{display:grid;gap:8px}.colour-input{max-width:120px}.colour-info{font-size:12px}.colour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}.colour-chip{display:flex;align-items:center;gap:8px;justify-content:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#11171d;color:var(--text)}.colour-chip:hover{border-color:#58708a}.colour-chip.active{border-color:var(--accent);background:#1b2632;box-shadow:0 0 0 1px rgba(126,182,232,.22) inset}.colour-chip .swatch{width:22px;height:22px;border-radius:999px;border:2px solid rgba(255,255,255,.18);box-shadow:0 1px 4px rgba(0,0,0,.35)} body.roadpad .workspace{grid-template-columns:265px minmax(0,1fr)} body.roadpad .sidebar{padding:12px} body.roadpad .details-panel{position:absolute;top:12px;right:12px;bottom:12px;width:min(320px,calc(100% - 305px));z-index:700;border:1px solid var(--line);border-radius:14px;background:rgba(23,29,36,.96)} body.roadpad .details-panel.is-empty{display:none} body.roadpad .map-wrap #map{border-right:0} body.roadpad .map-legend{display:none} body.roadpad .leaflet-control-layers{font-size:13px} body.roadpad .postal-label{font-size:11px;padding:2px 4px} body.roadpad .native-blip-marker .blip-pin{width:42px;height:42px} @media(max-width:1300px){body.roadpad .workspace{grid-template-columns:250px minmax(0,1fr)} body.roadpad .details-panel{width:min(300px,42vw)}}
@media(max-width:1050px){.workspace{grid-template-columns:260px minmax(0,1fr)}.details-panel{position:absolute;right:10px;top:75px;bottom:10px;width:min(330px,calc(100% - 40px));z-index:700;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px}.details-panel:has(.empty-details){display:none}}
@media(max-width:700px){html,body{overflow:auto}.app-shell{min-height:100%;height:auto}.topbar{height:auto;min-height:58px;padding:8px 10px}.brand strong{font-size:13px}.top-actions .btn{padding:6px 8px;min-height:34px}.workspace{display:flex;flex-direction:column;height:auto}.sidebar{order:1;border-right:0;border-bottom:1px solid var(--line);max-height:none}.map-wrap{order:2;height:62vh;min-height:430px}.details-panel{position:static;order:3;width:auto;min-height:180px;border:0;border-top:1px solid var(--line);border-radius:0;display:block!important}.category-list{max-height:140px}.map-legend{display:none}.form-grid,.faction-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.check-grid{grid-template-columns:1fr}.settings-row{grid-template-columns:1fr 75px 70px}.settings-row .btn{grid-column:1/-1}.modal{top:12px;transform:translateX(-50%);max-height:calc(100% - 24px)}}

/* Northwind Map v1.0.5: local Leaflet layout fallback.
   Keep these rules even when the CDN stylesheet is available. */
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}
.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent}
.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}
.leaflet-tile{filter:inherit;visibility:hidden}
.leaflet-tile-loaded{visibility:inherit}
.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}
.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}
.leaflet-marker-icon,.leaflet-marker-shadow{display:block}
.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}
.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}
.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}
.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{display:block;text-align:center;text-decoration:none;width:30px;height:30px;line-height:30px;border-bottom:1px solid #ccc}.leaflet-bar a:last-child{border-bottom:none}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}
.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);border-radius:5px}.leaflet-control-layers-toggle{display:block;width:36px;height:36px}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-list{margin:0;padding:0;list-style:none}.leaflet-control-layers label{display:block}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}
.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 20px;font-size:13px;line-height:1.3;min-height:1px}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg)}.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;background:transparent}
.leaflet-tooltip{position:absolute;padding:6px;background:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}

/* Northwind Map v1.0.8 – category controls + real marker scaling */
.category-list{display:grid;grid-template-columns:1fr;gap:7px;max-height:250px;overflow:auto;padding:2px 3px 2px 0}
.category-chip{width:100%;min-height:38px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:9px;text-align:left;border:1px solid #303c49;border-radius:10px;padding:7px 9px;background:#121920;color:#aebbc9;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}
.category-chip:hover{border-color:#52677c;background:#17212a;color:#edf4fb}
.category-chip.active{border-color:#4f7392;background:#1b2a37;color:#f2f7fb;box-shadow:inset 3px 0 0 var(--accent2)}
.category-chip .category-state{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;border:1px solid #3d4b59;background:#19222b;color:#718295;font-size:12px;font-weight:800}
.category-chip.active .category-state{background:#315d82;border-color:#6da9d9;color:white}
.category-chip .category-name{min-width:0;line-height:1.2;overflow-wrap:anywhere}
.category-row input,.switch-row input{width:auto;min-width:auto;flex:0 0 auto}
.switch-row{gap:12px}
.switch-row span{min-width:0;flex:1}
.native-blip-marker .blip-pin{width:var(--marker-size,38px)!important;height:var(--marker-size,38px)!important}
.native-blip-marker .blip-pin img{width:68%;height:68%;max-width:none;max-height:none;object-fit:contain}
body.roadpad .native-blip-marker .blip-pin{width:var(--marker-size,42px)!important;height:var(--marker-size,42px)!important}
.scale-field{display:grid;gap:7px;align-content:start}
.scale-control{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:10px;min-height:42px}
.scale-control input[type="range"]{width:100%;padding:0;border:0;background:transparent;accent-color:var(--accent2)}
.scale-control output{display:grid;place-items:center;height:34px;border:1px solid var(--line);border-radius:8px;background:#11171d;color:#f0f5fa;font-weight:700;font-variant-numeric:tabular-nums}
.scale-hints{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding-right:74px}
.scale-preview{height:58px;display:flex;align-items:center;justify-content:center;border:1px dashed #354453;border-radius:10px;background:#121920;overflow:hidden}
.scale-sample{width:var(--preview-size,34px)!important;height:var(--preview-size,34px)!important;min-width:var(--preview-size,34px);border-width:3px;transition:width .12s ease,height .12s ease}
.scale-sample img{width:68%;height:68%;max-width:none;max-height:none}
body.roadpad .category-list{max-height:205px;gap:5px}
body.roadpad .category-chip{min-height:34px;padding:5px 8px;grid-template-columns:22px minmax(0,1fr);font-size:12px}
body.roadpad .category-chip .category-state{width:19px;height:19px;border-radius:6px;font-size:10px}

/* Northwind Map v1.0.8 stable2 – automatic streamer protection for browser grants */
.grant-code-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:12px}.streamer-blur{filter:blur(8px);user-select:none;-webkit-user-select:none;pointer-events:none;text-shadow:0 0 10px rgba(255,255,255,.28)}.grant-copy-btn{white-space:nowrap;min-height:52px}.streamer-note{margin:10px 0 0;color:var(--muted);font-size:12px}.pair-form input[type=password]{letter-spacing:.22em;-webkit-text-security:disc}.pair-form input[type=password]::placeholder{letter-spacing:.12em;color:#69788a}@media(max-width:520px){.grant-code-wrap{grid-template-columns:1fr}.grant-copy-btn{width:100%}}

/* stable4: staged marker movement + free RoadPad GPS */
.move-bar{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:850;display:flex;align-items:center;gap:14px;max-width:min(720px,calc(100% - 32px));padding:10px 12px;border:1px solid #52667b;border-radius:12px;background:rgba(20,26,33,.96);box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.move-bar>span{color:#dce7f2;min-width:0}.move-bar-actions{display:flex;gap:8px;flex:0 0 auto}.gps-popup{display:grid;gap:8px;min-width:150px}.gps-popup strong{font-size:13px}.gps-popup-btn{width:100%}.nw-gps-popup .leaflet-popup-content{margin:10px 12px}.nw-gps-popup .leaflet-popup-content-wrapper{border:1px solid #3a4a5a}.roadpad .nw-gps-popup .btn{min-height:34px;padding:6px 10px}.roadpad .move-bar{top:10px;font-size:12px;padding:8px 10px}.roadpad .move-bar .btn{min-height:32px;padding:5px 9px}
@media(max-width:760px){.move-bar{left:10px;right:10px;transform:none;max-width:none;flex-direction:column;align-items:stretch}.move-bar-actions{justify-content:flex-end}}

/* Northwind Map v1.0.8 stable6 – clustering, temporary markers, favorites/notes */
.nw-cluster-marker{background:transparent;border:0}
.cluster-bubble{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(24,34,44,.96);border:3px solid #7eb6e8;box-shadow:0 5px 18px rgba(0,0,0,.48),0 0 0 4px rgba(126,182,232,.12);color:#fff;font-weight:800;font-size:15px}
.cluster-bubble span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:999px;background:#315d84}
.cluster-popup .leaflet-popup-content{margin:10px;min-width:230px}
.cluster-list{display:grid;gap:7px}
.cluster-list>strong{padding:2px 4px 6px;color:#dfeaf4}
.cluster-choice{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid #344252;border-radius:9px;background:#111820;color:#f2f6fa;padding:8px 10px;text-align:left}
.cluster-choice:hover{border-color:#6fa7d8;background:#192532}
.cluster-choice small{color:#8fa1b3;font-size:11px}
.favorite-star{color:#f6c453;text-shadow:0 1px 5px rgba(246,196,83,.3)}
.favorite-btn.active{border-color:#d9ae49;background:#3b321e;color:#ffe39a}
.favorite-row{border-top:0;margin-top:0;padding-top:8px}
.personal-note,.note-editor{margin-top:12px;padding:11px;border:1px solid #334150;border-radius:11px;background:#111820}
.personal-note>span,.note-editor label{display:grid;gap:7px;color:#8fa1b3;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.personal-note p{margin:7px 0 0;color:#dbe5ee;text-transform:none;letter-spacing:normal;font-size:13px;font-weight:400;white-space:pre-wrap}
.note-editor textarea{margin-top:3px;text-transform:none;letter-spacing:normal;font-weight:400}
.note-editor .btn{margin-top:8px;width:100%}
.expiry-field{display:grid;gap:7px;padding-top:4px}
.expiry-grid{display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,1fr);gap:8px}
.expiry-field .muted{font-size:12px}
.marker-list-item .favorite-star{font-size:13px}
body.roadpad .cluster-bubble{width:50px;height:50px;font-size:16px}
body.roadpad .favorite-row{padding-top:7px}
body.roadpad .postal-label{font-weight:700;background:rgba(8,13,18,.82);color:#eef5fb;border:1px solid rgba(255,255,255,.1)}
@media(max-width:700px){.expiry-grid{grid-template-columns:1fr}.cluster-popup .leaflet-popup-content{min-width:190px}}
