:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#eff1f3;background:#090d12;font-synthesis:none;--bg:#090d12;--panel:#10151c;--panel2:#151a22;--stroke:#262e39;--muted:#84909f;--accent:#f05050;--accent-bright:#ff655f}*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.hidden{display:none!important}#toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-100px);z-index:100;background:#212a34;color:white;border:1px solid #3d4957;padding:12px 19px;border-radius:11px;font-size:13px;box-shadow:0 15px 50px #0009;transition:transform .2s;pointer-events:none;max-width:calc(100% - 20px);text-align:center}#toast.show{transform:translateX(-50%) translateY(0)}#toast.error{border-color:#a23b43;color:#ffb5b5}.eyebrow,.small-label{color:#f36969;letter-spacing:2px;font-weight:800;font-size:10px}.btn{border:1px solid transparent;border-radius:9px;padding:13px 17px;font-weight:750;font-size:12px;letter-spacing:.2px;transition:background .15s,transform .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(110deg,#e3454a,#ff6860);color:white;box-shadow:0 5px 19px #e3454a21}.btn-primary:hover{background:linear-gradient(110deg,#fa5555,#ff7870)}.btn-secondary{background:#1b222b;border-color:#333d47;color:#e2e8f1}.wide{width:100%}.stack{display:flex;flex-direction:column;gap:17px}.stack label{font-size:12px;font-weight:700;color:#c9d0d8;display:flex;gap:9px;flex-direction:column}.stack input:not([type=file]),.stack textarea,.stack select,.search-wrap input{width:100%;border:1px solid #323b47;border-radius:9px;background:#121821;color:#f3f7fb;outline:0;padding:13px 14px;font-size:13px}.stack input:focus,.stack textarea:focus,.stack select:focus,.search-wrap input:focus{border-color:#d44e55;box-shadow:0 0 0 2px #d44e5522}.stack textarea{resize:vertical;min-height:82px}.stack select{color-scheme:dark}.form-error{border:1px solid #753239;color:#ffa4aa;border-radius:9px;background:#491d252f;padding:10px;font-size:12px}.icon-btn{border:0;background:transparent;color:#a6b0bc;min-width:35px;min-height:35px;border-radius:8px;font-size:20px}.icon-btn:hover{background:#242d38;color:white}
/* Login */
.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:32px;background:radial-gradient(ellipse at 25% 10%,#1c2022 0,transparent 48%),radial-gradient(ellipse at 90% 80%,#34191c 0,transparent 42%),#090d12}.login-decoration{position:absolute;border:1px solid #ffffff0b;border-radius:50%;width:780px;height:780px;pointer-events:none}.decoration-a{left:-340px;top:-450px}.decoration-b{right:-370px;bottom:-510px}.login-card{width:430px;max-width:100%;position:relative;background:linear-gradient(160deg,#171e26,#0d1219);border:1px solid #313743;border-radius:20px;padding:44px;box-shadow:0 35px 110px #0008}.logo-square,.brand-icon{background:#e84c51;border-radius:11px;display:flex;align-items:center;justify-content:center;color:white;font-weight:950;font-size:28px;letter-spacing:-3px;width:48px;height:48px;margin-bottom:30px}.logo-square span,.brand-icon span{color:#ffd8d5}.login-card h1{font-size:45px;margin:10px 0 8px;letter-spacing:-2px;line-height:1.1}.login-card h1 span,.brand-main span{color:#f2565a}.subtext{font-size:13px;color:#98a2ae;line-height:1.75;margin:0 0 30px}.login-foot{margin-top:25px;color:#798592;font-size:11px;text-align:center}.login-card .btn{margin-top:4px;display:flex;justify-content:space-between;font-size:13px}
/* Layout */
.workspace{display:flex;height:100dvh;min-height:550px;overflow:hidden}.sidebar{width:366px;flex:none;display:flex;flex-direction:column;background:#11161d;border-right:1px solid #242d35;position:relative;z-index:10}.brand{height:94px;min-height:94px;border-bottom:1px solid #262d36;display:flex;align-items:center;gap:12px;padding:20px 28px}.brand-icon{width:41px;height:41px;font-size:25px;margin:0;border-radius:10px}.brand-main{font-weight:900;letter-spacing:.3px;font-size:16px}.brand-sub{font-size:8px;letter-spacing:2.1px;margin-top:5px;color:#747f8a;font-weight:750}.close-sidebar{display:none;margin-left:auto}.sidebar-content{padding:28px 25px 0;min-height:0;display:flex;flex-direction:column;flex:1}.sidebar-section-title{color:#a4b0bd;font-size:10px;font-weight:850;letter-spacing:1.5px;display:flex;align-items:center;gap:8px}.mini-dot,.live-dot{background:#ff5255;width:6px;height:6px;border-radius:50%;display:inline-block;box-shadow:0 0 11px #f65b66}.sidebar h2{font-size:36px;font-weight:900;line-height:1.17;letter-spacing:-1.3px;margin:20px 0 10px}.sidebar h2 em{color:#fb6a6b;font-style:normal}.aside-copy{color:#81909d;font-size:12px;line-height:1.7;margin:0 0 22px}.stat-row{display:flex;align-items:center;gap:28px;border:1px solid #2b343e;background:#171d25;border-radius:11px;padding:16px 20px;margin-bottom:19px}.stat{flex:1}.stat-value{font-size:29px;font-weight:900;line-height:1}.stat-label{font-size:9px;color:#8995a1;letter-spacing:.7px;font-weight:800;margin-top:9px}.stat-divider{width:1px;height:34px;background:#39414b}.add-btn{text-align:left;display:flex;gap:14px;align-items:center;font-size:12px}.plus{font-size:22px;font-weight:300;line-height:11px}.add-hint{color:#f1a7a9;font-size:12px;background:#f0474c16;border:1px solid #e04a4a50;padding:12px;margin-top:8px;line-height:1.7;border-radius:9px}.text-btn{background:none;border:0;padding:0;color:#fff;text-decoration:underline;font-size:12px}.section-header{display:flex;align-items:center;justify-content:space-between;color:#a8b0bb;font-size:10px;font-weight:850;letter-spacing:1px;margin-top:31px;margin-bottom:13px}.pill-count{background:#2e3541;color:#cbd3db;padding:4px 8px;border-radius:6px}.search-wrap{position:relative}.search-wrap input{font-size:11px;padding-left:36px;background:#191f28;border-color:#29333d}.search-symbol{position:absolute;left:12px;top:8px;font-size:22px;color:#828f9c;pointer-events:none}.marker-list{overflow-y:auto;margin:13px -8px 0;padding:0 8px 20px;scrollbar-width:thin;scrollbar-color:#36404c transparent}.marker-entry{width:100%;display:flex;text-align:left;align-items:center;gap:12px;padding:13px 11px;background:#171d25;border:1px solid #2a333d;color:#f2f3f4;border-radius:10px;margin-bottom:8px}.marker-entry:hover,.marker-entry.active{border-color:#ea505b77;background:#201c25}.marker-entry .entry-icon{display:flex;align-items:center;justify-content:center;flex:none;width:35px;height:35px;border-radius:9px;background:#492327;color:#ff7779;font-size:16px}.entry-content{min-width:0;flex:1}.entry-content b{display:block;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.entry-content small{display:block;color:#7c8b99;font-size:10px;margin-top:6px}.entry-arrow{color:#6b7986}.empty-list{border:1px dashed #343c47;border-radius:10px;text-align:center;color:#7f8a97;padding:26px 18px;font-size:12px;line-height:1.6}.side-bottom{padding:12px 25px 18px;border-top:1px solid #28303b}.side-link{background:transparent;color:#b5bdc8;border:0;display:flex;align-items:center;gap:10px;padding:10px 0 18px;width:100%;font-size:12px;text-align:left}.side-link-icon{font-size:19px;color:#fc7175}.side-link-arrow{margin-left:auto;color:#8e99a6}.profile-row{border-top:1px solid #29313b;padding-top:15px;display:flex;align-items:center;gap:10px}.avatar{background:#533039;color:#fcb4b2;width:37px;height:37px;border-radius:10px;font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center}.profile-name{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.profile-name strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-name span{font-size:10px;color:#84919f}
/* Map */
.map-area{flex:1;min-width:0;position:relative;background:#090d12;display:flex;flex-direction:column}.map-top{height:68px;min-height:68px;background:#10151c;border-bottom:1px solid #29323e;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.crumbs{display:flex;gap:14px;align-items:center;font-size:10px;letter-spacing:1.4px;font-weight:750;color:#747f8d}.crumbs strong{color:#dce0e5}.slash{color:#3b4857}.map-top-status{font-size:10px;letter-spacing:1.5px;color:#94a2af;font-weight:800;display:flex;gap:10px;align-items:center}.live-dot{background:#54d59b;box-shadow:0 0 11px #4fdd9c}.top-border{border-left:1px solid #3b4651;height:14px;margin:0 5px}.map-viewport{flex:1;min-height:0;position:relative;overflow:hidden;touch-action:none;cursor:grab;user-select:none;background:radial-gradient(circle at 50% 40%,#161c25 0,#090d12 67%)}.map-viewport.grabbing{cursor:grabbing}.map-viewport.placing{cursor:crosshair}.map-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#d0414208 0%,transparent 60%);pointer-events:none}.map-scene{position:absolute;left:0;top:0;width:2000px;height:2000px;transform-origin:0 0;will-change:transform}.map-scene>img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;object-fit:contain}.pin-layer{position:absolute;inset:0}.pin{position:absolute;width:60px;height:60px;padding:0;border:0;background:none;transform:translate(-50%,-50%) scale(var(--inverse-scale));transform-origin:center;cursor:pointer;display:block}.pin img{width:60px;height:60px;display:block;filter:brightness(0) saturate(100%) invert(31%) sepia(98%) saturate(4107%) hue-rotate(341deg) brightness(102%) contrast(107%) drop-shadow(0 0 9px #f13154)}.pin:hover img,.pin.selected img{filter:brightness(0) saturate(100%) invert(50%) sepia(98%) saturate(2000%) hue-rotate(323deg) brightness(117%) drop-shadow(0 0 12px #ff4f51)}.pin.selected:after{content:"";position:absolute;left:15px;top:15px;width:30px;height:30px;border-radius:50%;border:1px solid #fb5b5faa;animation:pulse 1.8s infinite;pointer-events:none}@keyframes pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2);opacity:0}}.map-intro{position:absolute;top:30px;left:31px;pointer-events:none;display:flex;flex-direction:column;gap:7px}.map-intro-head{font-size:23px;font-weight:900;letter-spacing:-.8px}.map-intro-head span{font-size:15px;color:#f46c71}.map-caption{position:absolute;top:31px;right:30px;background:#141b24dc;border:1px solid #303b48;padding:11px 14px;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.3px;font-weight:800;color:#bac5cc;pointer-events:none}.map-caption-strong{color:#fa7978}.map-controls{position:absolute;right:26px;bottom:36px;display:flex;flex-direction:column;background:#151c25;border:1px solid #303946;border-radius:10px;box-shadow:0 5px 35px #0008;overflow:hidden}.map-controls button{height:43px;width:43px;background:transparent;border:0;color:#e2eaf1;font-size:22px;border-bottom:1px solid #303946}.map-controls button:last-child{border-bottom:0}.map-controls button:hover{background:#29313d}.map-hint{position:absolute;bottom:26px;left:31px;background:#121822b8;padding:9px 11px;color:#7c8996;border-radius:6px;font-size:9px;font-weight:800;letter-spacing:.8px;pointer-events:none}.map-footer{height:37px;min-height:37px;border-top:1px solid #252e39;background:#0e131a;padding:0 27px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#6a7582;font-weight:750;letter-spacing:1px}.footer-bullet{color:#52d9a5}.footer-sep{padding:0 5px}.selected-card{position:absolute;left:29px;bottom:66px;width:300px;max-width:calc(100% - 95px);background:#151b24ef;border:1px solid #3b4754;border-radius:13px;padding:18px 18px 15px;box-shadow:0 18px 65px #000b;backdrop-filter:blur(8px)}.selected-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.selected-card h3{margin:0 0 9px;font-size:17px;overflow-wrap:anywhere}.selected-card p{margin:0 0 12px;color:#afb9c2;font-size:12px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.selected-meta{display:block;color:#748491;font-size:10px;line-height:1.5;margin:9px 0}.selected-actions{display:flex;gap:12px;align-items:center;margin-top:11px;flex-wrap:wrap}.selected-actions button,.selected-actions a{border:1px solid #3c4550;background:#242b34;padding:8px 10px;color:#dae2e8;border-radius:7px;text-decoration:none;font-weight:750;font-size:11px}.selected-actions .delete-btn{color:#fb747c;border-color:#6b363e;background:#362328}.close-card{background:transparent;border:0;color:#98a8b5;font-size:18px}
/* Modals */
.modal-backdrop{position:fixed;z-index:40;inset:0;background:#020508d9;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.modal{width:510px;max-width:100%;background:#171d25;border:1px solid #35404b;box-shadow:0 30px 110px #000d;padding:25px;border-radius:16px;max-height:calc(100dvh - 40px);overflow-y:auto}.modal-header{display:flex;align-items:start;justify-content:space-between;margin-bottom:24px}.modal h3{font-size:25px;letter-spacing:-.5px;margin:9px 0 0}.location-chip{background:#222b35;border:1px solid #3b4654;border-radius:9px;padding:13px;color:#bdc7d1;font-size:12px;font-weight:700}.pin-red{color:#ff5058;padding-right:7px}.field-help{font-size:10px;color:#758695;font-weight:450;line-height:1.55}.file-input{color:#a6b3c0;font-size:12px;max-width:100%}.file-input::file-selector-button{color:#e9ecf0;background:#252f3a;border:1px solid #3f4b59;border-radius:7px;padding:9px;margin-right:10px;cursor:pointer}.modal-actions{display:flex;justify-content:end;gap:9px;margin-top:4px}.subsection-title{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#8f9ca7}.members-title{margin-top:25px;margin-bottom:12px}.members-list{display:flex;flex-direction:column;gap:8px}.member-row{border:1px solid #323b47;padding:11px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:6px}.member-row strong{font-size:12px}.member-row small{display:block;font-size:10px;color:#8e9da9;margin-top:4px}.member-row button{font-size:10px;padding:7px 10px;background:#292d36;border:1px solid #414a55;border-radius:6px;color:#e0e5ec}.member-row button:hover{border-color:#ec7177}
@media(max-width:1040px){.sidebar{width:324px}.brand{padding:20px}.sidebar-content{padding:24px 18px 0}.side-bottom{padding:11px 18px 18px}.map-top{padding:0 19px}.map-caption{top:78px;right:18px}.map-intro{top:20px;left:18px}.map-hint{display:none}}
@media(max-width:740px){.workspace{min-height:0}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(355px,92vw);box-shadow:20px 0 70px #000a;transform:translateX(-105%);transition:transform .22s}.sidebar.open{transform:translateX(0)}.close-sidebar,.open-sidebar{display:block!important}.map-top{height:60px;min-height:60px;padding:0 13px}.crumbs{gap:7px;letter-spacing:.5px;font-size:9px}.map-top-status{font-size:9px;letter-spacing:0;gap:6px}.map-viewport{min-height:0}.map-caption{top:auto;bottom:23px;left:15px;right:auto;font-size:8px;padding:10px}.map-controls{bottom:24px;right:13px}.selected-card{bottom:80px;left:13px}.map-footer{font-size:8px;padding:0 10px}.map-footer div:last-child{display:none}.map-intro-head{font-size:18px}.map-intro{top:19px;left:16px}.login-card{padding:30px 25px}.login-card h1{font-size:38px}}
@media(min-width:741px){.open-sidebar{display:none}}

.install-error{color:#ff8a8a!important}.install-success{color:#8de6b4!important}.install-link{display:block;text-align:center;text-decoration:none}
/* Wczytywanie pozycji na podstawie screena MTA */
.import-intro{font-size:12px;line-height:1.65;color:#aebac7;margin:-5px 0 16px}
.import-file-label{display:flex;flex-direction:column;gap:10px;color:#d4dde4;font-size:12px;font-weight:700}
.import-status{background:#202b34;color:#a4b4c3;border:1px solid #35414e;border-radius:9px;padding:12px;margin-top:14px;font-size:12px;line-height:1.55}
.import-status.ok{border-color:#2b8562;background:#15372b;color:#a7f4ce}
.import-status.warning{border-color:#aa8540;background:#443522;color:#ffe4ac}
.import-status.error{border-color:#a54950;background:#3d2127;color:#ffb1b5}
.import-help{color:#a8b6c6;font-size:11px;line-height:1.55;margin:15px 0 10px}
.import-image-scroll{border:1px solid #384352;background:#030507;overflow:auto;max-height:44vh;border-radius:9px;touch-action:pan-x pan-y}
.import-image-frame{position:relative;width:100%;min-width:100%;line-height:0;cursor:crosshair}
.import-image-frame img{display:block;width:100%;height:auto;pointer-events:none;user-select:none}
.import-crosshair{position:absolute;width:19px;height:19px;border:2px solid #f4434d;box-shadow:0 0 0 2px #000,0 0 12px 3px #f4434d;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
.import-crosshair::before,.import-crosshair::after{content:"";display:block;position:absolute;background:#f4434d}
.import-crosshair::before{width:2px;height:31px;left:7px;top:-8px}.import-crosshair::after{height:2px;width:31px;left:-8px;top:7px}
.import-toolbar{display:flex;align-items:center;gap:8px;margin:10px 0}.import-toolbar .btn{padding:8px 12px}.import-toolbar span{margin-left:auto;color:#b2bdc8;font-size:11px;font-weight:750}
.import-fallback{display:block;margin:17px 0 3px;color:#b8c8d7}
.imported-hint{background:#163a2b;color:#a4ebc9;border-radius:8px;font-size:11px;padding:10px 12px}

/* Import screenshotu z systemowego schowka (Alt+Print Screen -> Ctrl+V) */
.clipboard-box{border:1px dashed #d65359;background:linear-gradient(125deg,#e64c5515,#171e27);border-radius:12px;padding:20px 15px;margin:14px 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:9px;outline:none}
.clipboard-box:focus-visible,.clipboard-box:focus-within{border-color:#ff878a;box-shadow:0 0 0 2px #ec555533}
.clipboard-box .clipboard-icon{font-size:25px;color:#f66a70}
.clipboard-box strong{font-size:13px;color:#f3f4f7}
.clipboard-box p{color:#aeb9c7;font-size:12px;line-height:1.7;max-width:440px;margin:2px 0 6px}
.clipboard-box small{color:#8796a7;font-size:10px;line-height:1.5}
.clipboard-box button{min-height:40px}
.clipboard-box kbd{display:inline-block;background:#26313d;border:1px solid #394552;border-bottom-width:2px;border-radius:5px;color:#f4f5f7;padding:1px 6px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.6;white-space:nowrap}
.clipboard-divider{color:#718092;letter-spacing:1.3px;text-align:center;font-weight:800;font-size:10px;margin:18px 0 11px}

/* v1.3 — Wklejanie screenshotu podczas RĘCZNEGO dodawania znacznika */
.manual-paste-heading{color:#d4dce5;font-weight:750;font-size:12px;margin-bottom:-5px}
.optional-label{color:#8796a5;font-weight:450}
.marker-paste-zone{background:#1b232d;border:1px dashed #a34d58;border-radius:11px;padding:16px;display:flex;flex-direction:column;gap:10px;outline:none}
.marker-paste-zone:focus-visible,.marker-paste-zone:focus-within{border-color:#f56c73;box-shadow:0 0 0 2px #f56c7325}
.marker-paste-title{color:#f2e7e9;font-size:13px;font-weight:800}
.marker-paste-description{color:#aeb9c7;font-size:11px;line-height:1.65}
.marker-paste-zone button{align-self:flex-start}
.marker-upload-divider{text-align:center;font-size:10px;font-weight:800;letter-spacing:1.1px;color:#788899}
.marker-paste-zone kbd{display:inline-block;background:#26313d;border:1px solid #394552;border-bottom-width:2px;border-radius:5px;color:#f4f5f7;padding:1px 5px;font-family:inherit;font-size:10px;white-space:nowrap}
.manual-image-status{padding:10px 12px;border:1px solid #323d49;border-radius:8px;color:#8596a7;font-size:11px;margin-top:-4px}
.manual-image-status.ok{background:#163528;border-color:#347b5d;color:#a9eec9}
.manual-image-status.warning{background:#382e20;border-color:#8c702e;color:#ffe0a2}
.manual-image-status.error{background:#382129;border-color:#a54950;color:#ffbfc3}
.manual-image-preview{display:flex;align-items:center;gap:13px;border-radius:9px;background:#101820;padding:10px;border:1px solid #374455;min-width:0}
.manual-image-preview>img{width:124px;max-width:38%;height:82px;object-fit:contain;background:#080d12;border-radius:6px;flex-shrink:0}
.manual-image-preview-details{display:flex;flex:1;flex-direction:column;gap:10px;min-width:0;align-items:flex-start}
.manual-image-preview-details span{font-size:11px;color:#c2ced9;overflow-wrap:anywhere;min-width:0}
.manual-image-preview-details button{font-size:11px;padding:9px 11px}
/* v1.4 — Edycja punktów i zmiana pozycji */
.marker-position-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.marker-position-row .location-chip{flex:1;min-width:150px;display:flex;align-items:center}
.marker-position-row .btn{flex:0 1 auto;white-space:normal;text-align:center;font-size:11px}
.selected-actions .edit-btn{background:#28394a;border-color:#45627f;color:#d5ecff}
.selected-actions .edit-btn:hover{border-color:#7cbafb;background:#304c67}
@media(max-width:550px){.marker-position-row{flex-direction:column}.marker-position-row .btn{width:100%}}
