.pw-app main{max-width:1500px}
.pw-heading{align-items:flex-start}
.pw-heading-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pw-section-tabs{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow:auto;margin:0 0 20px;padding:10px;border:1px solid var(--line);border-radius:15px;background:#032b2af0;backdrop-filter:blur(14px);scrollbar-width:thin}
.pw-section-tabs a{display:flex;align-items:center;gap:7px;min-height:42px;padding:7px 14px;border-radius:10px;white-space:nowrap;color:var(--muted)}
.pw-section-tabs a:hover,.pw-section-tabs a:focus{background:#155047;color:var(--text);text-decoration:none}
.pw-section-tabs span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:20px;background:#0b6151;color:#c8ffee;font-size:11px}
.pw-section{scroll-margin-top:80px;padding:0;overflow:hidden}
.pw-section>form,.pw-section>.pw-map-shell,.pw-section>.pw-unit-list,.pw-section>.pw-upload,.pw-section>.pw-media-grid,.pw-section>.pw-nearby-actions,.pw-section>.pw-pending,.pw-section>.pw-nearby-list,.pw-section>.pw-manual-nearby,.pw-section>.pw-publication-actions,.pw-section>.notice:not(.pw-pending){margin-inline:22px}
.pw-section>form,.pw-section>.pw-unit-list,.pw-section>.pw-upload,.pw-section>.pw-media-grid,.pw-section>.pw-nearby-list,.pw-section>.pw-manual-nearby,.pw-section>.pw-publication-actions{margin-bottom:22px}
.pw-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.pw-section-heading>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.pw-section-heading h2{margin:0}
.pw-section-heading p{grid-column:2;margin:2px 0;color:var(--muted)}
.pw-step{display:grid;place-items:center;grid-row:1/3;width:38px;height:38px;border-radius:12px;background:#00dfa31a;border:1px solid #16896e;color:var(--accent);font:600 18px Outfit,system-ui}
.pw-state{display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border-radius:30px;font-weight:700}
.pw-state.done{background:#0c5b45;color:#a7ffdc}
.pw-state.todo{background:#563d20;color:#ffe1ae}
.pw-state.optional{background:#173f3a;color:#b8d5cd}
.pw-grid{display:grid;gap:14px}
.pw-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.pw-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.pw-grid .wide{grid-column:span 2}
.pw-fieldset{border:1px solid var(--line);border-radius:14px;margin:18px 0;padding:16px}
.pw-fieldset legend{padding:0 8px;color:var(--text);font-weight:700}
.pw-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.pw-choice,.pw-status-choice{position:relative;display:block;margin:0;color:var(--text);cursor:pointer}
.pw-choice input,.pw-status-choice input{position:absolute;opacity:0;pointer-events:none}
.pw-choice span,.pw-status-choice span{display:flex;min-height:48px;align-items:center;border:1px solid #35625a;border-radius:11px;background:#032823;padding:9px 12px}
.pw-choice input:checked+span,.pw-status-choice input:checked+span{border-color:var(--accent);background:#075445;box-shadow:0 0 0 2px #00dfa32d}
.pw-choice input:focus-visible+span,.pw-status-choice input:focus-visible+span{outline:3px solid #8cfbdd;outline-offset:2px}
.pw-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pw-status-choice span{flex-direction:column;align-items:flex-start;min-height:80px}
.pw-status-choice small{line-height:1.55;margin-top:3px}
.pw-completion{max-width:300px;margin-top:14px}
.pw-completion[hidden]{display:none}
.pw-description-block textarea{min-height:190px;line-height:1.85}
.pw-language-details{border:1px dashed var(--line);border-radius:12px;padding:6px 13px;margin:10px 0 18px}
.pw-language-details[open]{padding-bottom:13px}
.pw-import-review{margin:18px 0;padding:16px;border:1px solid #8a6735;border-radius:14px;background:#4a381d55}
.pw-import-review h3{margin-bottom:12px}
.pw-map-shell{position:relative;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#08141b}
.pw-map{height:min(62vh,640px);min-height:430px;direction:ltr}
.pw-map-message{position:absolute;inset:0;display:grid;place-items:center;padding:30px;background:#09191ad9;color:var(--muted);z-index:4;text-align:center}
.pw-map-message[hidden]{display:none}
.pw-map-toolbar{position:absolute;z-index:5;inset-inline:12px;top:12px;display:flex;gap:7px;flex-wrap:wrap;pointer-events:none}
.pw-map-toolbar button{pointer-events:auto;min-height:38px;padding:5px 10px;font-size:12px;background:#06352fe8;box-shadow:0 4px 18px #00181466}
.pw-map-toolbar button.is-active{background:var(--accent);color:#002f27}
.pw-map-instruction{position:absolute;z-index:5;inset-inline:12px;bottom:12px;max-width:560px;margin:0 auto;padding:8px 13px;border:1px solid var(--line);border-radius:10px;background:#032b2aed;text-align:center;font-size:13px;pointer-events:none}
.pw-map canvas{outline:none}
.maplibregl-map{position:relative;overflow:hidden;font:12px/20px Arial,sans-serif;-webkit-tap-highlight-color:transparent}
.maplibregl-canvas{position:absolute;left:0;top:0}
.maplibregl-canvas-container.maplibregl-interactive{cursor:grab;user-select:none}
.maplibregl-canvas-container.maplibregl-interactive:active{cursor:grabbing}
.maplibregl-control-container{position:absolute;inset:0;pointer-events:none}
.maplibregl-ctrl-top-right{position:absolute;top:62px;right:10px}
.maplibregl-ctrl-bottom-left{position:absolute;bottom:10px;left:10px}
.maplibregl-ctrl-bottom-right{position:absolute;right:10px;bottom:10px;max-width:calc(100% - 20px)}
.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right}
.maplibregl-ctrl{clear:both;pointer-events:auto}
.maplibregl-ctrl-group{background:#fff;border-radius:7px;box-shadow:0 0 0 2px #0000001a;overflow:hidden}
.maplibregl-ctrl-group button{display:block;width:34px;height:34px;min-height:34px;padding:0;border:0;border-radius:0;background:#fff;color:#17312c}
.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}
.maplibregl-ctrl-icon{display:block;width:100%;height:100%;position:relative}
.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon:before,.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon:before,.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon:before{content:'+';display:grid;place-items:center;height:100%;font:bold 22px system-ui}
.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon:before{content:'−'}
.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon:before{content:'⛶';font-size:18px}
.maplibregl-ctrl-compass{display:none!important}
.maplibregl-ctrl-attrib{display:block;width:max-content;max-width:min(420px,calc(100vw - 48px));background:#ffffffd9;color:#333;padding:1px 6px;border-radius:5px;font-size:10px;line-height:16px}
.maplibregl-ctrl-attrib a{color:#245}
.maplibregl-ctrl-scale{background:#ffffffd9;border:2px solid #333;border-top:0;color:#111;padding:0 5px}
.maplibregl-ctrl-logo{display:none!important}
.pw-unit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pw-unit-card{border:1px solid var(--line);border-radius:15px;background:#04282480;padding:16px;min-width:0}
.pw-unit-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
.pw-unit-head h3{margin-top:5px}
.pw-unit-metrics{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.pw-unit-metrics span{border:1px solid var(--line);border-radius:20px;padding:3px 8px;color:var(--muted);font-size:11px}
.pw-unit-metrics b{color:var(--text)}
.pw-unit-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pw-unit-form-grid .wide{grid-column:1/-1}
.pw-unit-active{align-self:end}
.pw-unit-thumbs{display:flex;gap:6px;overflow:auto;margin-bottom:12px}
.pw-unit-thumbs img{width:68px;height:55px;border-radius:8px;object-fit:cover}
.pw-new-unit{border-style:dashed}
.pw-new-unit>summary{font-size:17px;color:#b8f8e4;margin-bottom:14px}
.pw-danger{background:#5d3035;color:#ffe4e7;border-color:#7d454b}
.pw-upload{border:1px dashed #478078;border-radius:14px;padding:16px}
.pw-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.pw-media-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#04282480}
.pw-media-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#031d1d}
.pw-media-card form{padding:13px}
.pw-media-card form+form{padding-top:0}
.pw-media-flags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.pw-nearby-actions,.pw-publication-actions{display:flex;gap:10px;flex-wrap:wrap}
.pw-nearby-actions form,.pw-publication-actions form{margin:0}
.pw-pending{background:#4a381d;color:#ffe0ac;border-color:#8a6735}
.pw-nearby-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pw-nearby-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:13px;background:#04282480}
.pw-nearby-row.is-hidden{opacity:.72;border-style:dashed}
.pw-nearby-row h3{margin:4px 0}
.pw-nearby-row p{margin:0;color:var(--muted);font-size:12px}
.pw-manual-nearby{border:1px dashed var(--line);border-radius:13px;padding:10px 14px}
.pw-manual-nearby form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:10px}
.pw-manual-nearby label{margin:0}
.pw-checklist{background:#4a381d55;border-color:#8a6735}
.pw-checklist ul{margin:8px 0}
.pw-publication-actions{padding-bottom:4px}

@media(max-width:1150px){.pw-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pw-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pw-unit-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pw-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.pw-map-legend{position:absolute;z-index:5;inset-inline:12px;bottom:58px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}
.pw-map-legend span{display:inline-flex;align-items:center;gap:7px;border:1px solid #ffffff38;border-radius:999px;background:#042824e6;color:#f3fffb;padding:6px 10px;font-size:11px;box-shadow:0 5px 16px #001c1873}
.pw-map-legend span:before{content:'';width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 3px #ffffff2b}
.pw-map-legend .live:before{background:#5df1c9}
.pw-map-legend .pending:before{background:#ffc66d}
.maplibregl-popup{position:absolute;top:0;left:0;display:flex;will-change:transform;pointer-events:none}
.maplibregl-popup-content{position:relative;pointer-events:auto}
.maplibregl-popup-close-button{position:absolute;top:0;inset-inline-end:0;border:0;background:transparent;color:inherit;font-size:18px;line-height:1;padding:7px;cursor:pointer}
.pw-app .maplibregl-popup-content{min-width:170px;border:1px solid #2d6259;border-radius:12px;background:#062e29;color:#f3fffb;padding:12px 30px 11px 12px;box-shadow:0 12px 34px #001c18a6}
.pw-app .maplibregl-popup-content strong{display:block;margin-bottom:4px}
.pw-app .maplibregl-popup-content small{color:#9ed2c7}
.pw-app .maplibregl-popup-tip{display:none}

@media(max-width:850px){.pw-grid.three,.pw-grid.two,.pw-unit-list,.pw-nearby-list{grid-template-columns:1fr}
.pw-grid .wide{grid-column:auto}
.pw-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pw-map{min-height:500px}
.pw-map-toolbar{top:8px;inset-inline:8px}
.maplibregl-ctrl-top-right{top:96px}
.pw-section-tabs{top:0;border-radius:0;margin-inline:-16px}
.pw-media-grid{grid-template-columns:1fr}
.pw-unit-head{flex-direction:column}
.pw-unit-metrics{justify-content:flex-start}
.pw-manual-nearby form{grid-template-columns:1fr}
}

@media(max-width:560px){.pw-choice-grid,.pw-status-grid,.pw-unit-form-grid{grid-template-columns:1fr}
.pw-map{min-height:540px}
.pw-map-toolbar button{flex:1 1 42%}
.maplibregl-ctrl-top-right{top:152px}
.pw-section-heading{align-items:flex-start}
.pw-section-heading>div{grid-template-columns:auto 1fr}
.pw-section>form,.pw-section>.pw-map-shell,.pw-section>.pw-unit-list,.pw-section>.pw-upload,.pw-section>.pw-media-grid,.pw-section>.pw-nearby-actions,.pw-section>.pw-pending,.pw-section>.pw-nearby-list,.pw-section>.pw-manual-nearby,.pw-section>.pw-publication-actions,.pw-section>.notice:not(.pw-pending){margin-inline:14px}
.pw-section-heading{padding-inline:14px}
.pw-nearby-row{align-items:flex-start;flex-direction:column}
.pw-nearby-row form,.pw-nearby-row button{width:100%}
}
