*{box-sizing:border-box}:root{--bg:#080b16;--card:#101425;--line:#262744;--text:#f7f4ff;--muted:#9da1bc;--pink:#ee4ca3;--purple:#795bff;--blue:#45b8ff;--green:#45e1a5;--red:#ff728e;--amber:#ffc46a}body{margin:0;font:15px Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at 70% 4%,#231747,transparent 34%),var(--bg)}.hidden{display:none!important}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#0c0e1c}.brand{font-size:30px;font-weight:800;text-decoration:none;background:linear-gradient(90deg,var(--pink),#9d69ff,var(--blue));-webkit-background-clip:text;color:transparent}.brand span{font-size:15px;color:#d1d0df;-webkit-text-fill-color:#d1d0df;margin-left:20px;font-weight:400}.account{display:flex;align-items:center;gap:18px;color:#d5d7e5}.access-layout{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:28px}.access-shell{width:min(470px,94vw)}.access-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px;padding:4px;border:1px solid var(--line);border-radius:13px;background:#0e1222}.access-tabs button{padding:13px;background:transparent;border:0;border-radius:10px;color:var(--muted);font:inherit;cursor:pointer}.access-tabs button.active{background:linear-gradient(95deg,rgba(238,76,163,.2),rgba(121,91,255,.25));color:#fff}.access-card{padding:34px;background:rgba(16,20,37,.98);border:1px solid #2b2c4d;border-radius:25px;box-shadow:0 0 56px rgba(114,67,214,.18)}.badge{display:inline-block;padding:8px 13px;border-radius:999px;background:#191733;color:#cbbaff;border:1px solid #4a3e79;margin-bottom:17px;font-size:12px}.access-card h1{margin:0 0 10px;font-size:30px}.access-card p{color:var(--muted);line-height:1.45;margin:0 0 22px}label{display:flex;flex-direction:column;gap:8px;color:#d7d7e6;font-size:13px;margin-bottom:15px}input,select,textarea{width:100%;background:#0d1020;border:1px solid #2a2d49;border-radius:10px;padding:13px 14px;color:#f5f3ff;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#8664ff;box-shadow:0 0 0 2px rgba(121,91,255,.2)}textarea{height:92px;resize:vertical}.primary{border:0;border-radius:11px;padding:13px 19px;background:linear-gradient(100deg,var(--pink),var(--purple),#4897ff);color:white;font-weight:700;font-size:14px;cursor:pointer}.primary:disabled{opacity:.5;cursor:not-allowed}.full{width:100%;margin-top:7px}.ghost{background:#13172a;border:1px solid #323554;color:#d7daec;border-radius:10px;padding:9px 14px;cursor:pointer}.message{min-height:21px;color:var(--green);margin:9px 0}.error{min-height:20px;color:var(--red);margin-top:13px}.app{min-height:calc(100vh - 72px);display:grid;grid-template-columns:232px 1fr}.sidebar{border-right:1px solid var(--line);padding:27px 17px;display:flex;flex-direction:column;gap:7px}.side,.sidebar a{color:#b5b8cf;padding:14px 16px;border-radius:11px;background:none;border:0;text-decoration:none;text-align:left;font:inherit;cursor:pointer}.side.active{background:linear-gradient(90deg,rgba(238,76,163,.19),rgba(121,91,255,.14));color:#fff;border-left:3px solid var(--pink)}.sidebar-break{height:1px;background:var(--line);margin:18px 0}.sidebar-note{margin-top:auto;padding:14px;background:#12172a;border-radius:13px;color:#9ca2bd;font-size:12px;line-height:1.45}.content{padding:32px;max-width:1250px}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.hero.small{margin-bottom:20px}.hero h1{font-size:31px;margin:0 0 8px}.hero p{color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px;margin-bottom:22px}.stats article{padding:19px;background:var(--card);border:1px solid var(--line);border-radius:15px}.stats small{display:block;color:var(--muted);margin-bottom:10px}.stats strong{font-size:31px}.panel{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:17px;margin-bottom:18px}.panel h2{font-size:20px;margin:0 0 21px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-title h2{margin:0}.two-panels{display:grid;grid-template-columns:minmax(390px,1fr) minmax(330px,.8fr);gap:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;flex-direction:row;align-items:center;gap:10px}.check input{width:auto}.location-button{margin-bottom:12px}.hint{margin:-2px 0 16px;color:var(--muted);font-size:12px;line-height:1.45}.warning{padding:13px 15px;border:1px solid #644827;background:#281e15;color:#ffd494;border-radius:11px;margin-bottom:18px}.offers,.venues{display:flex;flex-direction:column;gap:10px}.offer,.venue{padding:13px;border:1px solid #252944;border-radius:12px;background:#0d1120}.offer strong,.venue strong{display:block;margin-bottom:6px}.offer small,.venue small{color:var(--muted)}.status{float:right;font-size:11px;padding:5px 9px;border-radius:999px;background:#28204a;color:#d9c8ff}.status.published{background:#132e28;color:#61dfae}.empty{padding:25px;text-align:center;color:var(--muted);border:1px dashed #2d3151;border-radius:12px}@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{display:flex;flex-direction:row;overflow:auto;padding:12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-note,.sidebar-break{display:none}.content{padding:18px}.stats{grid-template-columns:1fr 1fr}.two-panels{grid-template-columns:1fr}.hero{gap:15px;align-items:flex-start;flex-direction:column}.brand span{display:none}}.optional{color:var(--muted);font-weight:400;margin-left:5px}.venue-link{display:inline-block;margin-top:7px;color:#65c5ff;text-decoration:none;font-size:13px}.venue-link:hover{text-decoration:underline}

.offer-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.offer-edit{border:1px solid #4a4275;background:#17162d;color:#e4dbff;border-radius:8px;padding:7px 11px;cursor:pointer;font:inherit;font-size:12px}
.offer-delete{border:1px solid #612c3c;background:#2b151d;color:#ff90a2;border-radius:8px;padding:7px 11px;cursor:pointer;font:inherit;font-size:12px}
.edit-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:17px;border:1px solid #534683;border-radius:11px;background:#191735;color:#dccfff}
.edit-notice button{border:0;background:transparent;color:#72c9ff;cursor:pointer;font:inherit;white-space:nowrap}

.date-block{display:flex;flex-direction:column}
.time-panel{margin:-5px 0 15px;padding:12px;border:1px solid #2a2d49;border-radius:11px;background:#0c1020}
.time-panel label{margin-bottom:10px}
.time-select{background:#11162a}
.confirm-time{width:100%;margin-bottom:8px}
.time-status{display:block;color:var(--muted);font-size:12px}
.time-status.confirmed{color:var(--green)}
@media(max-width:700px){.two{grid-template-columns:1fr}}

.location-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 10px;color:#d7d7e6;font-size:13px}
.location-button{margin:0}
.venue-map{height:285px;border-radius:12px;overflow:hidden;border:1px solid #2a2d49;background:#0b1020;margin-bottom:10px}
.coordinates{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.coordinates input[readonly]{color:#bbc3dc;background:#0b0f1d}
.venue .venue-actions{margin-top:10px}
.venue-edit{font:inherit;font-size:12px;padding:7px 12px;border-radius:8px;border:1px solid #4a4275;background:#17162d;color:#e4dbff;cursor:pointer}
.venue-pin{background:linear-gradient(135deg,var(--pink),var(--purple));border:2px solid white;width:28px!important;height:28px!important;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 18px rgba(238,76,163,.75)}
.leaflet-container{font:13px Arial,Helvetica,sans-serif;color:#171724}

.image-upload{display:grid;grid-template-columns:1fr 155px;gap:16px;align-items:start;padding:14px;margin:4px 0 16px;border:1px solid #292d49;border-radius:13px;background:#0c1020}
.image-upload input[type=file]{padding:10px;background:#12172a}
.url-fallback{color:var(--muted);font-size:13px;margin-top:13px}
.url-fallback summary{cursor:pointer;margin-bottom:12px;color:#9dcfff}
.image-preview{height:150px;border-radius:11px;border:1px dashed #3b4062;background-position:center;background-size:cover;display:grid;place-items:center;overflow:hidden}
.empty-preview span{color:var(--muted);font-size:12px}
.upload-progress{color:var(--amber);font-size:13px;margin-bottom:12px}
@media(max-width:700px){.image-upload{grid-template-columns:1fr}.image-preview{height:180px}}

.offer-end{border:1px solid #665125;background:#2a2114;color:#ffd789;border-radius:8px;padding:7px 11px;cursor:pointer;font:inherit;font-size:12px}
.status.ended{background:#272b3b;color:#aeb6cc}

.status.blocked{background:#342028;color:#ff9aaa}

.auto-ended-note{display:inline-block;margin-top:8px;color:#b7bdd2;font-size:12px}

.offer.removing{opacity:.45;pointer-events:none}

.reservation-fields{margin:4px 0 18px;padding:14px;border:1px solid #2c3150;border-radius:12px;background:#0d1120}
.reservation-fields h3{margin:0 0 6px;font-size:16px}
.reservation-fields p{margin:0 0 15px;color:var(--muted);font-size:12px;line-height:1.45}
.venue-contact{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.venue-contact span{padding:5px 8px;border-radius:8px;background:#151b31;color:#cdd2e8;font-size:12px}

.promo-state{display:inline-block;margin:8px 0 3px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.35px}
.promo-state.active{background:rgba(255,196,106,.14);color:#ffd688;border:1px solid rgba(255,196,106,.38)}
.promo-state.pending{background:rgba(72,183,255,.13);color:#79c9ff;border:1px solid rgba(72,183,255,.35)}
.promo-state.rejected{background:rgba(255,114,142,.12);color:#ff8ea4;border:1px solid rgba(255,114,142,.3)}
.offer-promote{background:rgba(255,196,106,.14);border:1px solid rgba(255,196,106,.42);color:#ffd487}
.offer-cancel-promo{background:transparent;border:1px solid #474a65;color:#c4c9dc}

.offer-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 3px}
.offer-metrics span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:rgba(61,71,108,.28);border:1px solid rgba(126,140,185,.18);font-size:11px;color:#cad2e7;font-weight:600}


/* PATCH 032 — potwierdzenia w aplikacji zamiast systemowego window.confirm */
.action-modal{position:fixed;inset:0;z-index:5000;background:rgba(5,7,15,.74);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}
.action-modal-card{width:min(470px,100%);padding:27px;background:#101425;border:1px solid #343655;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.action-modal-card h2{margin:0 0 11px;font-size:23px}
.action-modal-card p{margin:0 0 23px;color:var(--muted);line-height:1.5}
.action-modal-buttons{display:flex;justify-content:flex-end;gap:10px}
.action-modal-buttons button{margin:0;padding:12px 16px;border-radius:10px;cursor:pointer;font:inherit}
.danger-confirm{border:1px solid rgba(255,114,142,.48);background:rgba(255,114,142,.16);color:#ffb1c0}
.danger-confirm:hover{background:rgba(255,114,142,.25)}
@media(max-width:560px){.action-modal-buttons{display:grid;grid-template-columns:1fr}.action-modal-buttons button{width:100%}}


/* PATCH 034 — potwierdzenie usuwania rozwijane w usuwanym kafelku */
.offer-inline-confirm{clear:both;margin-top:12px;padding:13px;border:1px solid rgba(255,114,142,.42);border-radius:11px;background:rgba(43,21,29,.8);animation:inlineConfirmIn .16s ease-out}
.offer-inline-confirm strong{display:block;margin:0 0 5px;color:#ffe6eb;font-size:14px}
.offer-inline-confirm p{margin:0 0 12px;color:#c8cddd;font-size:12px;line-height:1.45}
.offer-inline-confirm-actions{display:flex;justify-content:flex-end;gap:8px}
.offer-inline-confirm-actions button{margin:0;padding:9px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:12px}
@keyframes inlineConfirmIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.offer-inline-confirm-actions{display:grid;grid-template-columns:1fr 1fr}.offer-inline-confirm-actions button{width:100%}}

/* PATCH 038 — oznaczenie oferty dla dwojga */
.couple-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:12px 0;color:#d8dfef!important}
.couple-check input{width:18px;height:18px;accent-color:#ff629f}
.couple-status{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,98,159,.36);background:rgba(255,98,159,.12);color:#ff9fc4;font-size:11px;font-weight:700}

/* organizer-preview-v2-009A-R2 */
.offer-preview{background:#14213d!important;color:#dbe7ff!important;border:1px solid rgba(120,150,220,.35)!important}
.offer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

/* organizer-full-preview-v2-009B-R1 */
.offer-preview{background:#14213d!important;color:#dbe7ff!important;border:1px solid rgba(120,150,220,.35)!important}
.offer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
