:root{--bg:#f5f7f8;--surface:#fff;--text:#182126;--muted:#64727a;--line:#dfe5e8;--primary:#176b54;--primary-dark:#10503f;--accent:#f7e8a3;--danger:#a73535;--shadow:0 5px 22px rgba(25,40,48,.08);--radius:14px}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}body{margin:0;font-size:16px;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1180px,calc(100% - 28px));margin:auto}.page-wrap{min-height:68vh;padding-top:26px;padding-bottom:50px}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--text);font-size:1.15rem}.brand:hover{text-decoration:none}.brand-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--primary);color:#fff}.logo{height:42px;max-width:180px;object-fit:contain}.top-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.inline-form{display:inline-flex;gap:8px;align-items:center}.link{border:0;background:none;color:var(--primary);padding:0;font:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid #cbd4d8;border-radius:10px;background:#fff;color:#243238;font-weight:650;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;border-color:#aebac0}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.secondary{background:#edf3f1;border-color:#cfddd8;color:#174c3d}.btn.danger{color:#8c2929;border-color:#dfbcbc;background:#fff8f8}.btn.small{min-height:34px;padding:6px 10px;font-size:.9rem}.btn.large{min-height:50px;font-size:1.05rem}.btn.wide,.wide{width:100%}.premium-btn{background:#fff7cb;border-color:#d8bf51}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.notice{padding:14px 18px;margin-bottom:18px;border-radius:10px;border:1px solid #bfd0d6;background:#eef6f8}.notice.success{background:#edf9f2;border-color:#b9e0c8}.notice.warning{background:#fff7dd;border-color:#e9d38b}.notice.error{background:#fff0f0;border-color:#e5b8b8}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0 20px}.hero h1{font-size:clamp(1.8rem,5vw,2.7rem);margin:0 0 8px}.hero p{font-size:1.08rem;color:var(--muted);margin:0;max-width:760px}.filters{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:12px;align-items:end;margin-bottom:24px}.grow{min-width:180px}label{display:grid;gap:6px;font-weight:650;color:#34434a}input,select,textarea{width:100%;min-height:43px;border:1px solid #cbd4d8;border-radius:9px;background:#fff;color:var(--text);font:inherit;padding:9px 11px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(23,107,84,.14);border-color:var(--primary)}.hint,.muted,.meta{color:var(--muted);font-size:.9rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--text);box-shadow:0 3px 14px rgba(25,40,48,.06);transition:.15s transform,.15s box-shadow}.card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}.card.promoted,.promoted{background:#fff9d9;border-color:#e6d274}.card-image{aspect-ratio:4/3;background:#e9eef0;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{height:100%;display:grid;place-items:center;color:#85939a}.card-body{padding:16px}.card-body h2,.card-body h3{margin:6px 0 12px;font-size:1.08rem;line-height:1.3}.card-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.price{font-size:1.12rem;color:#112b22}.badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#f2d967;color:#4d420d;font-weight:750;font-size:.78rem}.pagination{display:flex;gap:10px;justify-content:center;margin:28px}.auth-card{width:min(560px,100%);margin:30px auto}.wide-card{width:min(820px,100%)}.auth-card h1{margin-top:0}.lead{font-size:1.03rem}.form-stack{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1/-1}.auth-links{display:grid;gap:12px;margin-top:22px;text-align:center}.privacy-note{padding:12px;border-radius:9px;background:#f2f6f7;color:#4a5b63;font-size:.9rem}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.page-head h1{margin:0 0 6px}.page-head p{margin:0;color:var(--muted)}.tabs{display:flex;gap:6px;overflow:auto;margin-bottom:18px;border-bottom:1px solid var(--line)}.tabs a{padding:10px 13px;white-space:nowrap;color:#4b5b62}.tabs a.active{color:var(--primary);font-weight:750;border-bottom:3px solid var(--primary)}.account-info{margin-bottom:18px}.my-ads{display:grid;gap:14px}.my-ad{display:grid;grid-template-columns:160px 1fr;gap:18px}.my-ad-image{min-height:110px;background:#eef2f3;border-radius:10px;overflow:hidden}.my-ad-image img{width:100%;height:100%;object-fit:cover}.my-ad-content h2{margin:6px 0}.action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.action-row form{display:flex;gap:8px;flex-wrap:wrap}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stack{display:grid;gap:20px}.ad-form{display:grid;gap:18px;max-width:850px}.price-box{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.radio{display:flex;align-items:center;gap:7px}.radio input,.checkbox input{width:auto;min-height:auto}.upload-box{border:2px dashed #c7d2d6;border-radius:12px;padding:18px}.upload-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.image-preview,.existing-images{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.preview-item,.existing-image{width:145px;position:relative;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#eef2f3}.preview-item.selected,.existing-image.primary-image{border-color:var(--primary)}.preview-item img,.existing-image img{width:100%;height:105px;object-fit:cover;display:block}.preview-item button{width:100%;border:0;background:#fff;padding:7px;cursor:pointer}.image-actions{padding:7px;display:grid;gap:5px}.gallery{margin:18px 0}.gallery-main{background:#e9eef0;border-radius:14px;overflow:hidden;max-height:620px}.gallery-main img{display:block;width:100%;max-height:620px;object-fit:contain;background:#111}.gallery-thumbs{display:flex;gap:8px;overflow:auto;margin-top:10px}.gallery-thumbs button{border:1px solid var(--line);border-radius:8px;padding:0;overflow:hidden;background:#fff;cursor:pointer}.gallery-thumbs img{width:90px;height:70px;object-fit:cover;display:block}.ad-detail>h1{font-size:clamp(1.8rem,4vw,2.5rem);margin:8px 0}.ad-price{font-size:1.65rem;font-weight:800;margin:8px 0}.ad-columns{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:22px 0}.seller-box{align-self:start;position:sticky;top:94px}.seller-box .btn{margin-top:10px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--muted);font-weight:700}.description{white-space:normal;overflow-wrap:anywhere}.rating-line{margin:10px 0}.stars{color:#c69700;letter-spacing:.06em}.reviews-section{margin-top:28px}.review-list{display:grid;gap:12px}.review p{margin:8px 0}.review-form{display:grid;gap:12px;margin-bottom:15px}.profile-head{display:flex;justify-content:space-between;align-items:center}.profile-head h1{margin:2px 0}.profile-rating{text-align:center;display:grid}.profile-rating strong{font-size:1.6rem}.messages-layout{display:grid;grid-template-columns:320px 1fr;gap:18px}.conversation-list{padding:8px}.conversation-item{display:grid;padding:12px;border-radius:9px;color:var(--text);border-bottom:1px solid #edf0f1}.conversation-item:hover,.conversation-item.active{background:#edf5f2;text-decoration:none}.conversation-item span{color:var(--muted);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation{min-height:520px}.message-thread{display:grid;gap:10px;max-height:560px;overflow:auto;padding:5px}.message{max-width:80%;padding:10px 12px;border-radius:12px;background:#edf1f3}.message.mine{justify-self:end;background:#dff1e9}.message p{margin:4px 0}.message small{color:var(--muted)}.message-form{display:grid;gap:10px;margin-top:16px}.payment-card{max-width:700px}.payment-summary{display:grid;grid-template-columns:160px 1fr;gap:10px 18px;padding-bottom:20px}.bank-details{display:grid;grid-template-columns:150px 1fr;gap:9px}.bank-details dt{color:var(--muted)}.bank-details dd{margin:0;font-weight:650}.content-page{max-width:850px;margin:auto}.site-footer{background:#243137;color:#d7e0e3;padding:35px 0 20px}.site-footer a{color:#fff}.footer-grid{display:flex;justify-content:space-between;gap:25px}.footer-grid p{color:#b9c5c9}.footer-grid nav{display:flex;gap:16px;flex-wrap:wrap}.copyright{border-top:1px solid #3e4a4f;margin-top:20px;padding-top:15px;color:#aebbc0;font-size:.9rem}.empty{text-align:center;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:grid}.stat strong{font-size:1.8rem}.stat span{color:var(--muted)}.admin-header{background:#18252b;color:#fff}.admin-header .wrap{padding:14px 0}.admin-header nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.admin-header a,.admin-header .link{color:#eaf1f3}.admin-main{padding-top:24px;padding-bottom:50px}.admin-login{margin-top:10vh}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-grid label{align-content:start}.admin-list{display:grid;gap:12px}.settings-row{display:grid;grid-template-columns:2fr 2fr 120px 110px auto;gap:12px;align-items:end}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #e7ebed;vertical-align:top}th{background:#f0f4f5;font-size:.85rem;color:#4c5c63}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:flex;gap:8px;align-items:center;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff}.secret-box{font-family:monospace;font-size:1.05rem;letter-spacing:.08em;overflow-wrap:anywhere;background:#eef2f3;padding:12px;border-radius:8px}.break-code{display:block;overflow-wrap:anywhere}.promoted-box{border-radius:14px;padding:16px;background:linear-gradient(#fffdf1,#fff)}code{background:#eef2f3;padding:2px 5px;border-radius:4px}.resend{margin-top:16px}
@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}.filters .grow{grid-column:1/-1}.cards{grid-template-columns:1fr 1fr}.ad-columns,.messages-layout,.two-columns,.three-columns{grid-template-columns:1fr}.seller-box{position:static}.settings-row{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}}
@media(max-width:650px){body{font-size:15px}.wrap{width:min(100% - 20px,1180px)}.site-header{position:static}.nav{align-items:flex-start;padding:12px 0;flex-direction:column}.top-actions{width:100%;justify-content:space-between;gap:8px}.top-actions .btn.primary{order:-1;flex:1}.hero{align-items:flex-start;flex-direction:column}.hero-btn{width:100%}.filters{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.my-ad{grid-template-columns:100px 1fr}.my-ad-image{min-height:90px}.action-row form{display:grid;grid-template-columns:1fr 1fr;width:100%}.action-row form .btn{width:100%}.page-head{align-items:flex-start;flex-direction:column}.profile-head,.footer-grid{align-items:flex-start;flex-direction:column}.messages-layout{display:block}.conversation-list{margin-bottom:12px}.conversation{min-height:380px}.message{max-width:92%}.settings-grid,.settings-row{grid-template-columns:1fr}.payment-summary,.bank-details{grid-template-columns:1fr}.payment-summary span,.bank-details dt{margin-top:8px}.upload-title{flex-direction:column}.stats{grid-template-columns:1fr 1fr}.admin-header nav{display:grid;grid-template-columns:1fr 1fr}.card-image{aspect-ratio:16/10}}
.system-checks{display:grid;gap:8px}.system-check{display:grid;grid-template-columns:70px 1fr auto;gap:12px;padding:10px;border-bottom:1px solid var(--line)}.system-check.ok strong{color:#157347}.system-check.fail strong{color:#a73535}.system-check small{color:var(--muted)}

/* Etap 2: spójny moduł numeru telefonu */
.phone-field{display:grid;grid-template-columns:minmax(145px,1.25fr) auto minmax(130px,1fr);gap:.5rem;align-items:center;margin-top:.35rem}.phone-field select,.phone-field input{margin:0}.phone-prefix{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 .7rem;border:1px solid #ccd4da;border-radius:8px;background:#f5f7f8;font-weight:700;white-space:nowrap}.small{font-size:.9rem}.notice.info{background:#eef6ff;border-color:#b8d7f5}
@media(max-width:640px){.phone-field{grid-template-columns:1fr auto}.phone-field input{grid-column:1/-1}.phone-prefix{min-height:42px}}
.country-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem;margin:1rem 0}.panel-mini{display:flex!important;gap:.55rem;align-items:center;padding:.65rem .8rem;border:1px solid #e0e5e8;border-radius:8px}.panel-mini span{margin-left:auto;color:#667;font-size:.9rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid #e4e8eb;vertical-align:top}th{font-size:.9rem}

/* Etap 3: formularz ogłoszenia i obsługa zdjęć */
.form-note{margin-bottom:18px}.form-note p{margin:6px 0 4px}.price-input-wrap{display:flex;align-items:center;gap:8px;min-width:180px}.price-input-wrap input{min-width:130px}.price-input-wrap span{font-weight:750;color:var(--muted)}.notice.compact{padding:8px 10px;margin:0;font-size:.9rem;flex-basis:100%}.notice.info{background:#eef6ff;border-color:#bfd6ed}.image-counter{font-weight:750;color:#4b5b62;white-space:nowrap}.file-picker{display:inline-flex;width:auto;margin-top:8px}.file-picker input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.file-picker span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border-radius:9px;background:#eef3f4;border:1px solid #c9d4d8;color:#26373e;font-weight:750;cursor:pointer}.file-picker:hover span{background:#e4ecee}.preview-actions{display:grid;grid-template-columns:1fr auto;background:#fff}.preview-actions button{border:0;border-top:1px solid #e3e8ea;padding:8px 7px;background:#fff;cursor:pointer;font-size:.82rem}.preview-actions .preview-primary{font-weight:700}.preview-actions .preview-remove{color:#a22929;border-left:1px solid #e3e8ea}.image-badge{position:absolute;left:7px;top:7px}.upload-progress{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7fafb}.upload-progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.upload-progress progress{width:100%;height:14px;accent-color:var(--primary)}.ad-form [data-submit-button][disabled]{opacity:.65;cursor:wait}.existing-image{min-height:175px}.existing-image .image-actions form{margin:0}.existing-image .image-actions .btn{width:100%}
@media(max-width:650px){.image-preview,.existing-images{display:grid;grid-template-columns:1fr 1fr}.preview-item,.existing-image{width:100%}.preview-item img,.existing-image img{height:120px}.price-input-wrap{width:100%}.price-box{align-items:flex-start}.file-picker,.file-picker span{width:100%}}
.account-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.account-rule-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.account-rule-grid strong{font-size:1rem}.account-rule-grid span{font-size:.86rem;color:var(--muted);line-height:1.4}.status-chips{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0 12px}.status-chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:750;border:1px solid var(--line);background:#f5f7f8}.status-chip.free-slot{background:#e6f4ed;border-color:#acd4c1;color:#145d48}.status-chip.premium{background:#fff0a8;border-color:#e7c34f;color:#5d4a00}.status-chip.promoted-chip{background:#fff9d9;border-color:#e6d274;color:#5c4d0c}.status-chip.neutral{color:#53636a}.btn.disabled{opacity:.58;cursor:not-allowed;pointer-events:none}.my-ad-price{font-weight:750;margin:6px 0}.premium-btn{background:#f7d45d;border-color:#d5b33b;color:#3c3300}.premium-btn:hover{background:#f0cb46}.payment-card .service-note{padding:12px;border-radius:10px;background:#f6f8f9;margin:12px 0}.payment-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f3;font-size:.82rem;font-weight:750}
@media(max-width:900px){.account-rule-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.account-rule-grid{grid-template-columns:1fr}.my-ad{grid-template-columns:1fr}.my-ad-image{min-height:180px}.action-row form{width:100%}.action-row form .btn,.action-row form .btn.disabled{flex:1 1 145px;text-align:center;justify-content:center}}
.professional-settings .setting-field{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcfc}.professional-settings .setting-label{font-weight:750}.professional-settings .setting-toggle{align-content:start}.toggle-line{display:flex;align-items:center;gap:9px;min-height:42px}.toggle-line input{width:auto;min-height:auto}.money-admin{display:flex;align-items:center;gap:8px}.money-admin input{flex:1}.money-admin span{font-weight:750;color:var(--muted)}.settings-grid .full{grid-column:1/-1}
.payment-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0 24px}.payment-method{margin:0}.payment-method .btn{width:100%;min-height:54px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}.payment-method .btn small{font-size:.78rem;font-weight:500;opacity:.86}.danger-text{color:#a02727}.actions-row{display:flex;gap:10px;flex-wrap:wrap}
/* v0.8 - wiadomosci */
.nav-message-link{display:inline-flex;align-items:center;gap:.4rem}.message-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:#b42318;color:#fff;font-size:.72rem;font-weight:800;line-height:1}.messages-head{align-items:flex-start}.conversation-list-title{display:flex;align-items:center;justify-content:space-between;padding:.2rem .25rem .75rem;border-bottom:1px solid #e5e7eb}.conversation-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.conversation-ad{font-size:.84rem;color:#334155;font-weight:600}.conversation-preview{font-size:.82rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.conversation-item small{color:#94a3b8}.conversation-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.conversation-header h2{margin:.15rem 0 0}.message-thread{max-height:58vh;overflow:auto;padding:.75rem .15rem;scroll-behavior:smooth}.message{max-width:78%;padding:.8rem 1rem;border-radius:16px;margin:.65rem 0}.message.mine{margin-left:auto;background:#e7f4ef;border-bottom-right-radius:5px}.message.theirs{margin-right:auto;background:#f1f5f9;border-bottom-left-radius:5px}.message p{margin:.35rem 0;white-space:normal;overflow-wrap:anywhere}.message-meta{display:flex;gap:1rem;justify-content:space-between;align-items:center}.message-meta small,.message-actions small{font-size:.72rem}.message-actions{display:flex;justify-content:flex-end}.report-message summary{font-size:.75rem;color:#64748b;cursor:pointer}.compact-form{margin-top:.55rem;min-width:min(360px,70vw)}.compact-form textarea{min-height:72px}.message-form{border-top:1px solid #e5e7eb;padding-top:1rem}.message-form textarea{min-height:110px}.message-form-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem}.compact-empty{padding:1rem .25rem}.conversation-empty{text-align:center;padding:3rem 1rem}
@media(max-width:760px){.messages-layout{grid-template-columns:1fr}.conversation-list{max-height:280px;overflow:auto}.message-thread{max-height:52vh}.message{max-width:92%}.conversation-header{flex-direction:column}.message-form-footer{align-items:stretch;flex-direction:column}.message-form-footer .btn{width:100%}.compact-form{min-width:0;width:min(300px,72vw)}}
/* v0.9 - opinie i profile */
.rating-fieldset{border:0;padding:0;margin:0;min-width:0}.rating-fieldset legend{font-weight:750;margin-bottom:6px}.star-choice{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}.star-choice input{position:absolute;opacity:0;pointer-events:none}.star-choice label{display:block;font-size:2rem;line-height:1;color:#c7cdd1;cursor:pointer;padding:2px}.star-choice label:hover,.star-choice label:hover~label,.star-choice input:checked~label{color:#d19b00}.star-choice input:focus-visible+label{outline:3px solid rgba(23,107,84,.18);border-radius:6px}.rating-number{font-weight:800}.rating-breakdown{margin:14px 0 26px;display:grid;gap:8px}.rating-bar-row{display:grid;grid-template-columns:42px 1fr 40px;gap:10px;align-items:center}.rating-bar{height:10px;background:#edf1f2;border-radius:999px;overflow:hidden}.rating-bar i{display:block;height:100%;background:#d1a21e;border-radius:999px}.review-account-summary{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:22px;align-items:center;margin-bottom:14px}.review-account-summary>div{display:grid;gap:3px}.review-summary-score{font-size:1.5rem}.review-policy-note{margin-bottom:14px}.admin-review-filters{grid-template-columns:2fr 1fr 1fr auto}.admin-review-card{display:grid;gap:10px;margin-bottom:12px}.review-admin-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.admin-review-card .notice{margin:0}.admin-review-card .form-stack{margin-top:4px}.profile-rating .stars{font-size:1.35rem}
@media(max-width:760px){.review-account-summary{grid-template-columns:1fr}.admin-review-filters{grid-template-columns:1fr}.review-admin-head{flex-direction:column}.star-choice label{font-size:2.15rem}}
/* v1.0 / Etap 8 - panel administratora */
.admin-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-bar span{color:#aebbc0;font-size:.9rem}.admin-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.admin-menu-group{position:relative}.admin-menu-group summary{cursor:pointer;color:#eaf1f3;list-style:none;padding:3px 0}.admin-menu-group summary::-webkit-details-marker{display:none}.admin-menu-group summary::after{content:' ▾';font-size:.8em}.admin-menu-group[open]>div{position:absolute;z-index:50;top:30px;left:0;min-width:230px;display:grid;gap:3px;padding:8px;background:#22343d;border:1px solid #41545d;border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.22)}.admin-menu-group[open]>div a{padding:8px 10px;border-radius:7px}.admin-menu-group[open]>div a:hover{background:#30454e;text-decoration:none}.admin-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat small{color:var(--muted);margin-top:4px}.admin-dashboard-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-head h2{margin:0}.compact-list{display:grid;gap:3px}.compact-list>a,.compact-list>div{display:grid;gap:2px;padding:9px 0;border-bottom:1px solid #edf0f1;color:var(--text)}.compact-list>a:last-child,.compact-list>div:last-child{border-bottom:0}.compact-list small{color:var(--muted)}.admin-security-note{margin-top:20px}.admin-stats-columns{margin-top:20px}.admin-user-filters{grid-template-columns:2fr 1fr 1fr auto}.admin-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:750;background:#eef2f3}.status-active{background:#e6f4ed;color:#145d48}.status-pending{background:#fff7dd;color:#775e13}.status-blocked,.status-deleted{background:#fff0f0;color:#8a2929}.admin-user-overview{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-bottom:18px}.admin-details{display:grid;grid-template-columns:170px 1fr;gap:9px 14px}.admin-details dt{color:var(--muted)}.admin-details dd{margin:0}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-stats>div{display:grid;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.mini-stats strong{font-size:1.25rem}.mini-stats span{font-size:.86rem;color:var(--muted)}.admin-user-actions{margin-bottom:18px}.category-admin-list{margin-top:18px}.category-editor{display:grid;gap:15px}.location-add-grid{margin:18px 0}.location-row{display:grid;grid-template-columns:minmax(220px,2fr) 120px 100px auto auto;gap:12px;align-items:end}.locality-row{grid-template-columns:minmax(220px,2fr) 130px 110px 100px auto auto}.location-summary{display:grid;align-content:center;text-align:center;padding:7px 10px;border-radius:9px;background:#f5f7f8}.location-summary strong{font-size:1.1rem}.location-summary span{font-size:.78rem;color:var(--muted)}.audit-filters{grid-template-columns:2fr 1fr auto}.audit-json{display:block;max-width:420px;white-space:normal;overflow-wrap:anywhere;color:#53636a}.panel+.panel{margin-top:18px}
@media(max-width:1000px){.admin-stats-grid{grid-template-columns:1fr 1fr}.admin-dashboard-columns{grid-template-columns:1fr}.admin-user-overview{grid-template-columns:1fr}.location-row,.locality-row{grid-template-columns:1fr 1fr}.admin-menu-group[open]>div{position:static;margin-top:6px}.admin-user-filters,.audit-filters{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.admin-stats-grid{grid-template-columns:1fr 1fr}.admin-user-filters,.audit-filters{grid-template-columns:1fr}.admin-details{grid-template-columns:1fr}.mini-stats{grid-template-columns:1fr 1fr}.location-row,.locality-row{grid-template-columns:1fr}.admin-nav{align-items:flex-start}.admin-menu-group{width:100%}.admin-menu-group[open]>div{width:100%}}

/* v1.1 Etap 9 - elementy zgodne z restrykcyjnym CSP */
.rating-progress{width:100%;height:.65rem;appearance:none;border:0;border-radius:999px;overflow:hidden}
.rating-progress::-webkit-progress-bar{background:rgba(127,127,127,.18);border-radius:999px}
.rating-progress::-webkit-progress-value{background:currentColor;border-radius:999px}
.rating-progress::-moz-progress-bar{background:currentColor;border-radius:999px}
.security-checks{display:grid;gap:.75rem}
.security-check-row{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(220px,2fr);align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(127,127,127,.18)}
.security-check-row:last-child{border-bottom:0}
.badge.success{background:#e8f7ed;color:#176a34}
.badge.warning{background:#fff4d6;color:#775300}
@media(max-width:720px){.security-check-row{grid-template-columns:1fr auto}.security-check-row small{grid-column:1/-1}}

/* v1.2 / Etap 10 - produkcja i diagnostyka */
.system-check.warn strong{color:#9a6b00}.system-check.warn{background:#fffaf0}.system-check.fail{background:#fff8f8}.launch-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.maintenance-box textarea{width:100%}.launch-checklist{display:grid;gap:9px}.maintenance-page{max-width:760px;margin:8vh auto;text-align:center;padding:36px}.maintenance-page h1{font-size:clamp(1.8rem,4vw,2.6rem)}@media(max-width:760px){.launch-summary{grid-template-columns:1fr}.system-check{grid-template-columns:64px 1fr}.system-check small{grid-column:2}}

/* v1.2.1 legal */
.legal-acceptance{align-items:flex-start;font-weight:500}.legal-acceptance input{margin-top:.25rem;flex:0 0 auto}.payment-start-form{margin-top:12px}.payment-methods>.payment-method{width:100%;min-height:54px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}.payment-methods>.payment-method small{font-size:.78rem;font-weight:500;opacity:.86}

/* v1.2.8 - formularz kontaktowy */
.contact-page{max-width:1050px;margin-inline:auto}.contact-intro{margin:0 0 22px;color:var(--muted);line-height:1.6}.contact-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:22px;align-items:start}.contact-form-card,.contact-details-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff}.contact-form-card h2,.contact-details-card h2{margin-top:0}.contact-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form textarea{resize:vertical;min-height:160px}.contact-form .notice ul{margin:.55rem 0 0;padding-left:1.25rem}.contact-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-details-list{display:grid;grid-template-columns:1fr;gap:4px;margin:0}.contact-details-list dt{margin-top:12px;font-size:.8rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.contact-details-list dd{margin:0;overflow-wrap:anywhere}.contact-response-note{margin-top:20px}.contact-form button[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.contact-grid,.contact-two-cols{grid-template-columns:1fr}.contact-form-card,.contact-details-card{padding:16px}}


/* v1.2.15 - strona główna: kompaktowy nagłówek i poprawne odstępy */
.home-page-wrap{padding-top:8px}
.home-page-wrap .hero{padding-top:8px;padding-bottom:14px}
.home-benefits{display:grid;grid-template-columns:1fr;gap:3px;margin:0 0 26px}
.home-benefit{display:flex;align-items:flex-start;gap:7px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text)}
.home-benefit-icon{display:inline-block;flex:0 0 auto;width:auto;height:auto;border-radius:0;background:transparent;color:var(--primary);font-weight:900;font-size:1rem;line-height:1.35}
.home-benefit strong{font-size:.97rem;line-height:1.4}
.home-benefits + .filters{margin-top:12px}
@media(max-width:650px){.home-page-wrap{padding-top:4px}.home-page-wrap .hero{padding-top:6px}.home-benefits{margin-bottom:22px}}

/* v1.2.16 - wybór języka przeniesiony do stopki */
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.footer-lang-form label{display:flex;align-items:center;gap:10px;color:#d7e0e3;font-weight:650}
.footer-lang-form select{width:auto;min-width:118px;min-height:38px;padding:7px 34px 7px 10px;border-color:#526168;background:#fff;color:#182126}
@media(max-width:650px){
  .footer-right{align-items:flex-start;width:100%}
  .footer-lang-form label{display:flex;flex-direction:row;align-items:center}
  .footer-lang-form select{min-width:130px}
}

/* v1.2.19 - kody promocyjne */
.promo-code-payment{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px 10px;align-items:end;padding:14px;border:1px solid #cfe1da;border-radius:10px;background:#f7fbf9}
.promo-code-payment label{margin:0}.promo-code-payment label span{display:block;margin:0 0 6px;font-weight:750}.promo-code-payment small{grid-column:1/-1}
.promo-code-admin-form{display:grid;grid-template-columns:minmax(180px,1fr) 160px auto;gap:10px;align-items:end}.promo-code-admin-form label{margin:0}
@media(max-width:700px){.promo-code-payment,.promo-code-admin-form{grid-template-columns:1fr}.promo-code-payment small{grid-column:auto}}


/* v1.2.20 - metody płatności pionowo: Przelew, PayU, Tpay, Kod promocyjny */
.payment-methods-stacked{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:560px;
  margin:16px 0 24px;
}
.payment-methods-stacked>.payment-method-row{
  width:100%;
}
.payment-methods-stacked>button.payment-method-row{
  min-height:54px;
  justify-content:center;
  align-items:center;
}
.promo-code-payment-stacked{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:9px;
  padding:14px;
  border:1px solid #cfe1da;
  border-radius:10px;
  background:#f7fbf9;
}
.promo-code-payment-stacked>strong{
  font-size:1rem;
}
.promo-code-payment-stacked label{
  display:block;
  margin:0;
}
.promo-code-payment-stacked label>span{
  display:block;
  margin:0 0 6px;
  font-weight:700;
}
.promo-code-payment-stacked .btn{
  width:100%;
  min-height:46px;
}
.promo-code-payment-stacked small{
  display:block;
}

/* v1.3.0 - AI search + podobne ogłoszenia */
.ai-search-note{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:9px 12px;border:1px solid #cfe1da;border-radius:10px;background:#f1f8f5;color:#285848;font-weight:650;font-size:.92rem}
.ai-search-note span{color:var(--primary);font-size:1.05rem}
.related-ads-section{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.related-ads-section .section-title{margin-bottom:14px}.related-ads-section .section-title h2{margin:0 0 4px}.related-ads-section .section-title p{margin:0}
.related-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.related-cards .card-body{padding:13px}.related-cards .card-body h3{font-size:1rem;margin:5px 0 10px}.related-cards .price{font-size:1rem}
.admin-ai-layout{align-items:start}.admin-ai-layout .panel h2:first-child{margin-top:0}
@media(max-width:1000px){.related-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.related-cards{grid-template-columns:1fr}.related-ads-section{margin-top:26px;padding-top:20px}}

/* v1.3.2 - profesjonalne menu nagłówka + menu mobilne */
.site-header{box-shadow:0 2px 14px rgba(25,40,48,.045)}
.header-actions{display:flex;align-items:center;gap:8px;position:relative}
.header-add-btn{gap:7px;white-space:nowrap;box-shadow:0 2px 8px rgba(23,107,84,.14)}
.header-add-btn svg,.nav-btn svg,.mobile-menu-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.header-add-mobile{display:none}
.header-menu{gap:8px;flex-wrap:nowrap}
.header-menu .nav-btn{min-height:42px;padding:8px 12px;gap:7px;border-color:#d4e0dc;background:#f9fbfa;color:#175846;font-weight:700;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}
.header-menu .nav-btn:hover{background:#eef6f3;border-color:#aacbc0;transform:translateY(-1px);box-shadow:0 3px 10px rgba(25,40,48,.07)}
.header-menu .nav-btn.active{background:#e5f2ed;border-color:#9fc6b8;color:#0e513e;box-shadow:inset 0 0 0 1px rgba(23,107,84,.04)}
.header-menu .nav-btn-logout{color:#8a3434;border-color:#ead3d3;background:#fffafa}
.header-menu .nav-btn-logout:hover{color:#722828;border-color:#d9b7b7;background:#fff3f3}
.nav-logout-form{margin:0}
.mobile-menu-toggle{display:none;width:42px;height:42px;padding:0;border:1px solid #cfdcd8;border-radius:10px;background:#fff;color:var(--primary);align-items:center;justify-content:center;cursor:pointer}
.mobile-menu-toggle:hover{background:#eef6f3;border-color:#aacbc0}
.menu-icon-close{display:none}
.mobile-menu-toggle[aria-expanded="true"] .menu-icon-open{display:none}
.mobile-menu-toggle[aria-expanded="true"] .menu-icon-close{display:block}

@media(max-width:760px){
  .site-header .nav{min-height:66px;gap:10px;flex-wrap:nowrap}
  .site-header .brand{min-width:0;flex:1 1 auto}
  .site-header .logo{max-width:155px;height:40px}
  .header-actions{flex:0 0 auto;gap:7px}
  .header-add-btn{min-height:40px;padding:8px 11px;font-size:.9rem;border-radius:10px}
  .header-add-desktop{display:none}
  .header-add-mobile{display:inline}
  .mobile-menu-toggle{display:inline-flex}
  .header-menu{display:none;position:absolute;z-index:80;top:calc(100% + 11px);right:0;width:min(300px,calc(100vw - 28px));padding:10px;flex-direction:column;align-items:stretch;gap:8px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 16px 38px rgba(25,40,48,.16)}
  .header-menu[data-open="true"]{display:flex}
  .header-menu::before{content:"";position:absolute;right:13px;top:-7px;width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
  .header-menu .nav-btn{width:100%;min-height:46px;justify-content:flex-start;padding:10px 12px;position:relative;z-index:1}
  .header-menu .nav-logout-form{display:block;width:100%}
  .header-menu .nav-logout-form .nav-btn{width:100%}
  .header-menu .message-badge{margin-left:auto}
}
@media(max-width:420px){
  .wrap{width:min(100% - 20px,1180px)}
  .site-header .logo{max-width:125px;height:37px}
  .header-add-btn{padding:8px 9px}
  .header-add-btn svg{width:17px;height:17px}
  .mobile-menu-toggle{width:40px;height:40px}
}



/* v1.3.3 - poprawka mobilnego nagłówka: logo i menu w jednym rzędzie */
@media(max-width:650px){
  .site-header .nav{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    padding:8px 0;
    min-height:64px;
  }
  .site-header .brand{
    flex:1 1 auto;
    min-width:0;
  }
  .site-header .header-actions{
    flex:0 0 auto;
    margin-left:auto;
    align-self:center;
  }
  .site-header .header-menu{
    right:0;
    left:auto;
    justify-content:flex-start;
  }
}

/* v1.3.4 - czytelniejsza nawigacja strony Moje konto */
.account-nav{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:0 0 20px;
}
.account-nav-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:50px;
  padding:10px 12px;
  border:1px solid #cddbd6;
  border-radius:11px;
  background:#fff;
  color:#174f43;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  box-shadow:0 1px 2px rgba(25,52,47,.04);
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.account-nav-btn:hover{
  background:#f3f8f6;
  border-color:#9fc3b7;
  box-shadow:0 4px 12px rgba(25,52,47,.08);
  transform:translateY(-1px);
}
.account-nav-btn.active{
  background:#e7f3ef;
  border-color:#8ebcad;
  color:#0f6654;
  box-shadow:inset 0 0 0 1px rgba(15,102,84,.05);
}
.account-nav-icon{
  display:inline-flex;
  width:21px;
  height:21px;
  flex:0 0 21px;
}
.account-nav-icon svg{
  width:100%;
  height:100%;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.account-nav-btn .message-badge{
  margin-left:2px;
  flex:0 0 auto;
}
@media(max-width:900px){
  .account-nav{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:650px){
  .account-nav{
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:16px;
  }
  .account-nav-btn{
    min-height:54px;
    justify-content:flex-start;
    padding:10px 12px;
    text-align:left;
    font-size:.92rem;
  }
  .account-nav-btn:last-child{
    grid-column:1/-1;
  }
  .account-nav-icon{
    width:22px;
    height:22px;
    flex-basis:22px;
  }
}

/* v1.3.5 - logo 390x89, responsywne */
.site-header .logo{
  width:390px;
  height:89px;
  max-width:390px;
  object-fit:contain;
  display:block;
}
.site-header .nav{
  min-height:105px;
}
@media(max-width:900px){
  .site-header .logo{
    width:260px;
    height:auto;
    max-width:42vw;
  }
}
@media(max-width:650px){
  .site-header .logo{
    width:190px;
    height:auto;
    max-width:45vw;
  }
  .site-header .nav{
    min-height:64px;
  }
}

/* v1.3.6 - rozmiar logo sterowany z panelu administratora */
.site-header .logo{
  width:var(--logo-desktop-width,320px);
  height:auto;
  max-width:100%;
  object-fit:contain;
  display:block;
}
.site-header .nav{
  min-height:88px;
}
.branding-logo-preview{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:12px;
  border:1px solid #d8e2de;
  border-radius:10px;
  background:#f8faf9;
}
.branding-logo-preview img{
  display:block;
  width:min(320px,100%);
  height:auto;
  max-height:120px;
  object-fit:contain;
}
.branding-separator{
  height:1px;
  background:#dfe7e4;
  margin:4px 0;
}
.branding-size-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media(max-width:900px){
  .site-header .logo{
    width:min(var(--logo-desktop-width,320px),42vw);
    height:auto;
  }
}
@media(max-width:650px){
  .site-header .logo{
    width:min(var(--logo-mobile-width,190px),45vw);
    height:auto;
    max-width:none;
  }
  .site-header .nav{
    min-height:64px;
  }
  .branding-size-grid{
    grid-template-columns:1fr;
  }
}

/* v1.3.7 - fallback rozmiaru logo; wartości z panelu nadpisuje /branding.css */
.site-header .logo{
  width:320px;
  height:auto;
  max-width:100%;
}
@media(max-width:900px){
  .site-header .logo{
    width:min(320px,42vw);
    height:auto;
  }
}
@media(max-width:650px){
  .site-header .logo{
    width:min(190px,45vw);
    height:auto;
    max-width:none;
  }
}


/* v1.3.8 - mobile logo korzysta z tego samego breakpointu co menu mobilne */
@media(max-width:760px){
  .site-header .logo{
    width:190px;
    height:auto;
    max-width:calc(100vw - 185px);
  }
}

