:root{--ink:#0b2742;--muted:#65778a;--line:#dce6ee;--soft:#f3f8fb;--blue:#087fa9;--cyan:#19a9d5;--magenta:#d91861;--magenta-dark:#9f1547;--nav:#081f38;--danger:#d91861}
.app-brand img,.brand-logo img{display:block;width:31px;height:31px;object-fit:contain}.brand-logo{color:var(--ink)}
.primary{background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:0 7px 18px #087fa92e}.primary:hover{background:linear-gradient(135deg,#066f96,#1497bf)}
.eyebrow{color:var(--magenta)}.login-page{background:radial-gradient(circle at 12% 14%,#dff6fd 0,transparent 34%),radial-gradient(circle at 90% 82%,#ffe4ef 0,transparent 32%),#f8fbfd}.login-card{border-color:#dbe9f0;box-shadow:0 22px 65px #0b35511a}.google-login:hover{border-color:#7cbdd1;background:#f3fbfe}
.app-nav nav .active{color:var(--blue);background:linear-gradient(90deg,#e5f8fd,#fff0f6)}.nav-user>div:first-child{background:#e3f7fc;color:var(--blue)}.maps-page{background:linear-gradient(145deg,#f8fbfd,#fff8fb)}.map-card{border-color:#d8e5ec}.map-thumb{background:linear-gradient(145deg,#edf7fa,#fff0f5)}.status.published{background:#e1f7f3;color:#087b67}.embed-row button{color:var(--magenta)}
.rail button.active{background:linear-gradient(145deg,var(--blue),var(--magenta));color:#fff;box-shadow:0 5px 14px #06182c66}.device-switch button.active{color:var(--blue)}.location-row:hover,.location-row.active{background:linear-gradient(90deg,#eaf8fc,#fff3f8)}.fields input:focus,.fields textarea:focus,.fields select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #19a9d514}.canvas-area{background:linear-gradient(145deg,#f2f8fb,#fff7fa)}.map-stage.drag-over{outline-color:var(--magenta)}.upload-card i{background:linear-gradient(90deg,var(--blue),var(--cyan),var(--magenta))}.toast{background:var(--ink)}
@media(max-width:800px){.editor-top .app-brand img{width:28px;height:28px}}
.kccc-slot{display:flex;margin-top:auto;padding:12px 7px}.kccc-button{width:100%;font-family:Exo,system-ui,sans-serif!important;border-color:#b9dce8!important;background:#effaff!important;color:#087fa9!important;box-shadow:none!important}.editor-top>.kccc-slot{margin:0;padding:0}.editor-top .kccc-button{width:auto}.ph{font-size:1.12em;vertical-align:-.08em}.more .ph{font-size:20px}.dialog-close .ph{font-size:16px}
@media(max-width:800px){.app-nav>.kccc-slot{display:none}.editor-top>.kccc-slot{display:none}}

/* Brand lockup and editor header */
.app-brand,.brand-logo{gap:10px;letter-spacing:0}.app-brand img,.brand-logo img{flex:0 0 auto;width:42px;height:42px}.app-brand .brand-copy,.brand-logo .brand-copy{display:flex;width:auto;height:auto;min-width:0;flex-direction:column;justify-content:center;place-items:initial;border-radius:0;background:none;color:inherit;font-size:inherit;line-height:1.12}.brand-copy b{color:var(--ink);font-size:20px;font-weight:800;letter-spacing:-.4px}.brand-copy small{margin-top:4px;color:#71869a;font-size:12px;font-weight:500;letter-spacing:0;white-space:nowrap}.app-nav .app-brand{align-items:center;padding-bottom:28px}.login-card .brand-logo{justify-content:center;text-align:left}
.editor-top{height:88px;grid-template-columns:minmax(280px,330px) minmax(260px,1fr) auto auto auto;align-items:center;gap:18px;padding:0 24px;background:#fff;box-shadow:0 3px 16px #092c4210}.editor-shell{height:calc(100vh - 88px)}.editor-top .app-brand{padding:0}.editor-top .title-input{width:100%;font-size:17px}.editor-top .device-switch,.editor-top>.kccc-slot,.editor-top .editor-actions{align-self:center}.editor-actions{flex-wrap:nowrap;white-space:nowrap}.editor-actions .primary{display:inline-flex;align-items:center;gap:7px;min-width:142px}.editor-top .kccc-button{min-width:122px}.panel-head h2,.maps-page h1,#newMapDialog h2,.empty h2{display:flex;align-items:center;gap:8px}.panel-head h2>.ph,.fields legend>.ph,.maps-page h1>.ph,#newMapDialog h2>.ph,.empty h2>.ph{color:var(--magenta)}.fields legend{display:flex;align-items:center;gap:6px}.primary,.secondary,.google-login,.embed-row button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.coming-soon b{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--ink)}
@media(max-width:1100px){.editor-top{grid-template-columns:minmax(240px,290px) minmax(200px,1fr) auto auto}.editor-top>.kccc-slot{display:none}}
@media(max-width:800px){.editor-top{height:76px;grid-template-columns:minmax(190px,1fr) auto;padding:0 12px}.editor-shell{height:calc(100vh - 76px)}.editor-top .title-input,.editor-top .device-switch,.editor-top>.kccc-slot{display:none}.editor-top .app-brand{font-size:initial}.editor-top .app-brand img{width:38px;height:38px}.editor-top .brand-copy b{font-size:17px}.editor-top .brand-copy small{white-space:normal}.editor-actions .primary{min-width:auto}.editor-actions .primary span{display:none}}
.editor-actions .primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 7px 18px #087fa92e}.editor-actions .primary:disabled{background:#cbd5df;color:#fff;box-shadow:none}
.brand-copy small{display:grid;gap:1px;line-height:1.15;white-space:normal}.field-label,.panel-head small,.field-help,.canvas-tip{display:flex;align-items:center;gap:6px}.field-label>.ph,.panel-head small>.ph,.field-help>.ph,.canvas-tip>.ph{color:var(--magenta);font-size:14px}.editor-actions #export{display:inline-flex;align-items:center;gap:6px;padding:0 10px;color:var(--blue);font-weight:700}.export-dialog{position:relative;width:min(720px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:30px;background:#f8fbfd}.export-head{display:flex;align-items:flex-start;gap:14px;padding-right:32px}.export-head>span{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-size:22px}.export-head h2{margin:0;font-size:24px}.export-head p:last-child{margin:6px 0 0;color:var(--muted);font-size:13px}.export-notice{display:flex;align-items:flex-start;gap:10px;margin:20px 0 14px;padding:12px 14px;border-radius:10px;font-size:12px;line-height:1.5}.export-notice>.ph{font-size:19px}.export-notice span{display:grid}.export-notice.is-ready{background:#e6f8f3;color:#087b67}.export-notice.is-draft{background:#fff4dd;color:#8c5c00}.export-option{margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.export-option-title{display:flex;gap:11px;align-items:flex-start}.export-option-title>.ph{color:var(--magenta);font-size:22px}.export-option h3{margin:0;font-size:15px}.export-option p{margin:4px 0 11px;color:var(--muted);font-size:12px}.export-option input,.export-option textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#f5f8fa;color:#395065;padding:10px;font-family:Consolas,monospace;font-size:12px;resize:none}.export-value{display:flex;align-items:stretch;gap:8px}.export-value input{min-width:0}.export-value .secondary,.export-value .primary{flex:0 0 auto;text-decoration:none;font-size:12px}.export-copy{margin-top:9px}.export-footnote{display:flex;align-items:center;gap:6px;margin-top:9px;color:#8b98a5;font-size:12px}.export-footnote>.ph{color:var(--blue)}
@media(max-width:800px){.editor-actions #export span{display:none}.editor-actions #export{padding:0;min-width:32px}.export-dialog{padding:22px 16px}.export-value{flex-wrap:wrap}.export-value input{flex-basis:100%}.export-value .secondary,.export-value .primary{flex:1}}
.app-brand .brand-copy small span,.brand-logo .brand-copy small span{display:block;width:auto;height:auto;border-radius:0;background:none;color:inherit;font-size:inherit;line-height:inherit;place-items:initial}
@media(max-width:1000px) and (min-width:801px){.editor-top{grid-template-columns:minmax(225px,250px) minmax(0,1fr);gap:12px;padding:0 18px}.editor-top .title-input,.editor-top .device-switch,.editor-top>.kccc-slot{display:none}.editor-actions{grid-column:2;justify-self:end}.editor-actions .primary{min-width:130px}}
@media(max-width:800px){.editor-actions button:not(.primary){display:inline-flex}.editor-actions #undo,.editor-actions #redo{display:none}.editor-actions{gap:3px}.editor-top .app-brand span{width:auto;height:auto;background:none;border-radius:0}.editor-top .app-brand .brand-copy{display:flex}.editor-top .brand-copy small span{font-size:12px}.editor-shell{grid-template-columns:46px minmax(245px,68vw) minmax(280px,1fr);overflow-x:auto}.canvas-area{min-width:280px}.export-dialog{max-height:calc(100vh - 20px)}}
@media(max-width:520px){.editor-top{grid-template-columns:auto 1fr}.editor-top .app-brand .brand-copy small{display:none}.editor-top .app-brand img{width:34px;height:34px}.editor-top .brand-copy b{font-size:16px}.editor-actions .primary{padding:0 10px}.editor-actions #export,.editor-actions #preview{min-width:34px}.editor-shell{grid-template-columns:46px calc(100vw - 46px) minmax(300px,100vw)}.editor-panel{width:auto}.export-head>span{display:none}.export-head{padding-right:28px}.export-option{padding:13px}}
.editor-shell{grid-template-columns:54px 340px minmax(0,1fr)}.location-editor-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding-bottom:14px}.location-editor-head h2{grid-column:1/-1;min-width:0;margin:5px 0 0;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.description-field textarea{min-height:155px;line-height:1.55}.field-counter{display:block;color:#8b98a5;font-size:12px;font-weight:500;text-align:right}.location-row{position:relative;cursor:grab}.location-row:active{cursor:grabbing}.location-row.is-dragging{opacity:.35}.location-row.drop-before:before,.location-row.drop-after:after{content:"";position:absolute;z-index:4;right:4px;left:4px;height:3px;border-radius:4px;background:linear-gradient(90deg,var(--cyan),var(--magenta))}.location-row.drop-before:before{top:-2px}.location-row.drop-after:after{bottom:-2px}.location-drag{font-size:18px!important;color:#9ba8b4!important}.marker{border-width:max(1px,calc(var(--size)*.055));font-size:max(12px,calc(var(--size)*.3));font-weight:400;padding:0;line-height:1}.marker>span{display:grid;place-items:center;line-height:1}.marker.pulse:before{border-width:max(1px,calc(var(--size)*.045));inset:calc(var(--size)*-.1)}
@media(max-width:1000px) and (min-width:801px){.editor-shell{grid-template-columns:54px 320px minmax(0,1fr)}}
@media(max-width:800px){.editor-shell{grid-template-columns:46px minmax(280px,72vw) minmax(280px,1fr)}}
@media(max-width:520px){.editor-shell{grid-template-columns:46px calc(100vw - 46px) minmax(300px,100vw)}}
.check-row small{font-size:12px}
.marker:hover{z-index:100}.marker:hover i{z-index:101}.location-row.is-hidden{opacity:.58;background:#edf1f4!important;filter:grayscale(.25)}.context-menu{position:fixed;z-index:500;min-width:170px;padding:6px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 16px 45px #0b27422e}.context-menu[hidden]{display:none}.context-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 11px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:12px;text-align:left}.context-menu button:hover{background:#eff8fb;color:var(--blue)}.context-menu button.danger{color:var(--danger)}.toast{z-index:10000}dialog .toast{z-index:10001}.export-dialog::backdrop,#newMapDialog::backdrop,.preview-dialog::backdrop{background:#061522d6;backdrop-filter:blur(4px)}html:has(dialog[open]){overflow:hidden}.maps-page{display:flex;min-height:100vh;flex-direction:column}.maps-page>.map-grid{width:100%}.page-actions{display:flex;gap:10px}.map-card-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 14px 14px}.map-card-actions button,.map-card-actions a{min-width:0;padding:8px 5px;border-radius:7px;text-decoration:none;font-size:12px;white-space:nowrap}.map-card-actions .danger{color:var(--danger)}.app-nav nav button[data-view="trash"] small{margin-left:auto;display:grid;place-items:center;min-width:21px;height:21px;border-radius:12px;background:#edf1f4;color:#65778a;font-size:12px}.app-footer{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1260px;margin:auto auto 0;padding:28px 0 0;border-top:1px solid var(--line);color:#71869a;font-size:12px}.app-footer>span{display:flex;align-items:center;gap:6px}.app-footer img{width:25px;height:25px;object-fit:contain}.app-footer b{color:var(--ink)}.app-footer small{font-size:12px}
@media(max-width:800px){.map-card-actions{grid-template-columns:1fr 1fr}.app-footer{padding-top:20px}.app-footer>span:last-child{display:none}}
.decision-dialog{width:min(450px,calc(100vw - 30px));padding:28px;text-align:center}.decision-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border-radius:14px;background:linear-gradient(135deg,#e7f8fc,#fff0f6);color:var(--magenta);font-size:23px}.decision-dialog h2{margin:0;font-size:21px}.decision-dialog p{margin:10px 0 22px;color:var(--muted);font-size:13px;line-height:1.6}.decision-dialog p b{color:var(--ink)}.decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.decision-actions button{min-height:42px}@media(max-width:480px){.decision-actions{grid-template-columns:1fr}}
.image-upload .media-library-trigger{position:absolute;z-index:3;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #cde5ed;border-radius:7px;background:#fffffff0;color:var(--blue);font-size:12px;font-weight:700;box-shadow:0 3px 10px #0b274218}.image-upload .media-library-trigger:hover{border-color:var(--cyan);background:#fff}.media-dialog{position:relative;width:min(860px,calc(100vw - 32px));max-height:88vh;padding:28px;overflow:auto;background:#f7fafc}.media-head h2{margin:0;font-size:23px}.media-head p:last-child{margin:6px 0 20px;color:var(--muted);font-size:13px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}.media-item{position:relative;overflow:hidden;padding:0;border:2px solid transparent;border-radius:11px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 3px 14px #0b274210}.media-item:hover{border-color:var(--cyan);transform:translateY(-2px)}.media-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eaf0f3}.media-item span,.media-item small{display:block;overflow:hidden;padding:0 9px;text-overflow:ellipsis;white-space:nowrap}.media-item span{margin-top:8px;font-size:12px;font-weight:700}.media-item small{margin:3px 0 9px;color:var(--muted);font-size:12px}.media-item>.ph{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;color:var(--magenta);font-size:17px;box-shadow:0 2px 7px #0003}.media-loading,.media-empty{grid-column:1/-1;min-height:220px;place-items:center;text-align:center;color:var(--muted);font-size:13px}.media-loading{display:grid}.media-empty{display:grid;gap:7px}.media-empty[hidden]{display:none}.media-empty>.ph{font-size:38px;color:#a8c7d2}.media-empty b{color:var(--ink)}.marker{font-size:max(10px,calc(8px + var(--size)*.1))}@media(max-width:520px){.media-dialog{padding:20px 14px}.media-grid{grid-template-columns:1fr 1fr;gap:8px}}
