:root{--navy:#102653;--navy-2:#172f61;--cyan:#03a6d7;--cyan-dark:#0788b0;--bg:#f3f6fa;--surface:#fff;--text:#1c2940;--muted:#6b7890;--line:#dce4ee;--green:#169b62;--amber:#d58b13;--red:#d14545;--shadow:0 8px 30px rgba(20,39,78,.08);--radius:10px;--shell:1500px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.shell{width:min(var(--shell),calc(100% - 48px));margin-inline:auto}.topbar{background:var(--navy);color:#fff}.topbar-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font-size:1.34rem;font-weight:750;letter-spacing:-.02em}.brand b{font-size:.7rem;padding:3px 7px;border-radius:20px;background:rgba(255,255,255,.12);font-weight:650}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:var(--cyan);color:#fff;font-weight:900}.brand-large{color:var(--navy);font-size:1.5rem;margin-bottom:30px}.brand-large .brand-mark{width:44px;height:44px}.account{display:flex;align-items:center;gap:8px;font-size:.84rem;color:#cfdbf2}.account strong{color:#fff}.account a{margin-left:10px;padding:7px 12px;border:1px solid rgba(255,255,255,.2);border-radius:6px;text-decoration:none}.account a:hover{background:rgba(255,255,255,.1)}.mainnav{background:var(--cyan);box-shadow:0 3px 12px rgba(17,38,84,.12)}.nav-inner{display:flex;gap:2px;overflow-x:auto}.mainnav button{border:0;background:transparent;color:#fff;padding:14px 18px;font-size:.91rem;font-weight:650;white-space:nowrap;border-bottom:3px solid transparent}.mainnav button:hover,.mainnav button.active{background:rgba(7,78,116,.18);border-bottom-color:#fff}.menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.5rem}.workspace{padding-block:34px 70px}.panel{display:none}.panel.active{display:block}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-head h1{font-size:2rem;line-height:1.12;margin:3px 0 7px;letter-spacing:-.035em}.page-head p{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.73rem!important;color:var(--cyan-dark);font-weight:800}.muted{color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.card-head h2,.form-card h2{font-size:1.05rem;margin:0}.btn{border:1px solid transparent;border-radius:7px;padding:10px 15px;font-weight:700;font-size:.88rem;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:.15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--cyan);color:#fff}.btn-primary:hover{background:var(--cyan-dark)}.btn-secondary{background:var(--navy);color:#fff}.btn-ghost{background:#fff;border-color:var(--line);color:var(--navy)}.btn-danger{color:var(--red);border-color:#f2c8c8;background:#fff}.btn-small{padding:6px 9px;font-size:.78rem}.btn-large{padding:12px 18px;width:100%}.link-btn,.back-link{border:0;background:none;color:var(--cyan-dark);font-weight:700;padding:3px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-height:128px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:64px;height:64px;border-radius:50%;right:-18px;bottom:-20px;background:var(--stat-color,#dbeffc)}.stat-label{font-size:.83rem;color:var(--muted);font-weight:650}.stat-value{font-size:2rem;font-weight:820;line-height:1.15;margin:8px 0 2px;letter-spacing:-.04em}.stat-note{font-size:.77rem;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px}.system-list{padding:9px 22px}.system-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:.88rem}.system-row:last-child{border:0}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:7px}.status-dot.warn{background:var(--amber)}.toolbar{display:flex;gap:10px;padding:16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar select,.toolbar input{min-height:42px}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;min-width:280px;flex:1}.search span{font-size:1.3rem;padding-left:12px;color:var(--muted)}.search input{border:0!important;outline:0;width:100%;min-width:0}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.86rem}.data-table th{padding:12px 16px;background:#f8fafc;color:#617089;font-size:.74rem;text-align:left;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}.data-table td{padding:13px 16px;border-top:1px solid var(--line);vertical-align:middle}.data-table tr:hover td{background:#fafcff}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.empty{padding:54px 22px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);font-size:1rem;margin-bottom:5px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.73rem;font-weight:750;background:#edf1f6;color:#5f6c82;white-space:nowrap}.badge.active,.badge.sent,.badge.finished{background:#e4f7ee;color:#10764a}.badge.queued,.badge.scheduled,.badge.running,.badge.pending{background:#e4f5fb;color:#087b9f}.badge.paused{background:#fff2d8;color:#92600d}.badge.failed,.badge.cancelled,.badge.invalid,.badge.blacklisted{background:#fde7e7;color:#b62e2e}.badge.unsubscribed,.badge.skipped{background:#eeeef2;color:#66677a}.progress{height:7px;border-radius:999px;background:#e8edf3;min-width:110px;overflow:hidden;margin-bottom:4px}.progress span{height:100%;display:block;background:var(--cyan)}.progress-label{font-size:.72rem;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.pagination div{display:flex;gap:5px}.pagination button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:5px 9px}.pagination button:disabled{opacity:.45;cursor:default}.filter-tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);padding:13px 16px}.filter-tabs button{border:0;background:transparent;border-radius:6px;padding:8px 12px;color:var(--muted);font-weight:700;font-size:.85rem}.filter-tabs button.active{background:#e6f5fb;color:#087c9f}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.template-card{padding:20px}.template-preview{height:150px;background:#f6f8fb;border:1px solid var(--line);border-radius:7px;padding:16px;overflow:hidden;margin-bottom:16px;color:#526179;font-size:.75rem}.template-card h3{margin:0 0 4px;font-size:1rem}.template-meta{color:var(--muted);font-size:.77rem;margin-bottom:14px}.campaign-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.form-card{padding:24px}.campaign-aside{position:sticky;top:20px}.step-title{display:flex;gap:12px;align-items:flex-start;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.step-title>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--cyan);color:#fff;font-weight:800;flex:none}.step-title p{margin:2px 0 0;color:var(--muted);font-size:.82rem}.form-stack{display:grid;gap:15px}.form-grid{display:grid;gap:15px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}label{display:grid;gap:6px;font-size:.82rem;font-weight:720;color:#3a4861}input,select,textarea{border:1px solid #cfd9e6;background:#fff;border-radius:7px;padding:10px 11px;width:100%;outline:0;transition:.15s}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(3,166,215,.12)}textarea{resize:vertical}.code-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem;line-height:1.55}.optional{color:var(--muted);font-weight:500}.editor-help{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0 18px;color:var(--muted);font-size:.76rem}.editor-help button{border:1px solid #c9e8f2;background:#effaff;color:#087c9f;border-radius:5px;padding:4px 7px}.form-card details{border-top:1px solid var(--line);padding-top:15px}.form-card summary{font-weight:750;cursor:pointer;margin-bottom:14px}.audience-box,.tip{background:#f0f8fb;border:1px solid #cceaf4;border-radius:7px;padding:13px;margin:12px 0 18px;font-size:.82rem;color:#356176}.audience-box strong{font-size:1.3rem;color:var(--navy)}.aside-actions{display:grid;gap:8px;margin-top:22px}.check{display:flex;align-items:flex-start;gap:9px}.check input{width:17px;height:17px;margin-top:2px}.check-grid{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}.settings-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:20px;margin-bottom:20px}.copy-field{display:flex;gap:8px;margin:16px 0}.copy-field code{display:block;flex:1;background:#f2f5f8;border:1px solid var(--line);border-radius:7px;padding:11px;white-space:nowrap;overflow:auto;font-size:.75rem}.tip{display:grid;gap:3px}.account-form{margin-top:20px}.section-label{font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cyan-dark);margin-top:5px}.alert{padding:12px 14px;border-radius:7px;margin:12px 0;font-size:.86rem}.alert-error{background:#fdeaea;color:#a72d2d;border:1px solid #efcaca}.alert-success{background:#e7f8ef;color:#13734a;border:1px solid #c5ead7}.toast{position:fixed;right:22px;bottom:22px;z-index:1000;max-width:420px;background:var(--navy);color:#fff;border-radius:8px;padding:13px 16px;box-shadow:0 14px 40px rgba(8,25,58,.28);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#a82d36}dialog{width:min(680px,calc(100% - 28px));border:0;border-radius:12px;padding:0;box-shadow:0 24px 70px rgba(7,26,62,.28)}dialog::backdrop{background:rgba(8,20,46,.55)}.dialog-close{position:absolute;right:15px;top:11px;border:0;background:transparent;font-size:1.6rem;color:var(--muted);z-index:2}.dialog-body{padding:26px}.dialog-body h2{margin:0 35px 18px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#f4f7fb 0 58%,#e7f7fb 58%)}.auth-card{width:min(440px,calc(100% - 30px));background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:0 24px 70px rgba(17,38,84,.12)}.auth-card h1{margin:0 0 3px;font-size:1.7rem}.auth-card>.muted{margin:0 0 24px}.install-card{width:min(720px,calc(100% - 30px))}.report-hero{background:linear-gradient(120deg,var(--navy),#1e447f);color:#fff;border-radius:var(--radius);padding:26px;margin-bottom:18px;display:flex;justify-content:space-between;gap:20px}.report-hero h1{margin:4px 0}.report-hero .muted{color:#c7d5ec}.report-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.report-kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}.report-kpi strong{display:block;font-size:1.55rem}.report-kpi span{color:var(--muted);font-size:.77rem}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric-row{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.metric-row:last-child{border:0}.skeleton{background:linear-gradient(90deg,#fff,#f4f7fa,#fff);background-size:240% 100%;animation:shine 1.3s infinite}@keyframes shine{to{background-position:-240% 0}}
.wysiwyg{border:1px solid #cfd9e6;border-radius:7px;overflow:hidden;background:#fff}.wysiwyg:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(3,166,215,.12)}.editor-toolbar{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:8px;border-bottom:1px solid var(--line);background:#f7f9fc}.editor-toolbar button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:6px 9px;font-size:.78rem}.editor-toolbar button:hover{border-color:var(--cyan);color:var(--cyan-dark)}.visual-editor{min-height:310px;padding:20px;outline:0;font-weight:400;font-size:1rem;line-height:1.6}.visual-editor:empty:before{content:attr(data-placeholder);color:#96a1b2}.visual-editor h2{font-size:1.5rem}.visual-editor a{color:#0788b0}.visual-editor img{max-width:100%;height:auto}
@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.settings-grid,.campaign-layout{grid-template-columns:1fr}.campaign-aside{position:static}.template-grid{grid-template-columns:repeat(2,1fr)}.report-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.shell{width:min(100% - 24px,var(--shell))}.topbar-inner{height:62px}.account{font-size:0}.account strong{display:none}.account a{font-size:.8rem}.menu-toggle{display:block}.mainnav{display:none}.mainnav.open{display:block}.nav-inner{display:grid;padding-block:8px}.mainnav button{text-align:left}.workspace{padding-top:24px}.page-head{align-items:stretch;flex-direction:column}.page-head .actions,.page-head>.btn{width:100%}.page-head .actions .btn{flex:1}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:15px;min-height:110px}.stat-value{font-size:1.55rem}.dashboard-grid,.template-grid,.report-grid{grid-template-columns:1fr}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.span-2{grid-column:auto}.toolbar>*{width:100%}.search{min-width:0}.report-kpis{grid-template-columns:1fr 1fr}.report-hero{flex-direction:column}.copy-field{flex-direction:column}.data-table th,.data-table td{padding:11px 12px}.card-head{padding:16px}.brand{font-size:1.1rem}.brand-mark{width:32px;height:32px}.auth-card{padding:25px}}

/* MailingBot 1.2.0 — rozszerzony edytor wiadomości */
.is-hidden{display:none!important}
.rich-editor .editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid #dce4ee;border-bottom:0;border-radius:8px 8px 0 0;background:#f8fafc}
.rich-editor .editor-toolbar button{min-height:32px;padding:5px 9px;border:1px solid #d5dee9;border-radius:6px;background:#fff;color:#26364d;cursor:pointer;font:inherit;font-size:13px}
.rich-editor .editor-toolbar button:hover{background:#eef5fb}
.visual-editor{min-height:260px;padding:18px;border:1px solid #dce4ee;border-radius:0 0 8px 8px;background:#fff;color:#17233d;overflow:auto;line-height:1.55}
.visual-editor.compact{min-height:150px}
.visual-editor:empty:before{content:attr(data-placeholder);color:#98a2b3}
.visual-editor img{max-width:100%;height:auto}
.source-details{margin-top:10px}
.source-details summary{cursor:pointer;color:#44546a;font-weight:600}
.source-details textarea{margin-top:8px;width:100%}
.footer-settings{margin:22px 0;padding:18px;border:1px solid #dce4ee;border-radius:10px;background:#fbfcfe}
.message-html-section,.smtp-test-message{margin-top:14px}
.email-preview-frame{width:100%;height:560px;border:1px solid #dce4ee;border-radius:8px;background:#fff}
.template-meta strong{color:#315b78}

/* MailingBot 1.2.1 — wspólny moduł edytora wiadomości */
.mb-message-editor{display:grid;gap:14px;margin-top:14px}
.mb-message-editor .mb-message-type{margin-bottom:2px}
.mb-message-editor .mb-message-type small{font-weight:500;color:var(--muted)}
.mb-message-editor [data-me-html-section],.mb-message-editor [data-me-plain-section]{display:grid;gap:8px}
.mb-message-editor .editor-toolbar{max-height:150px;overflow:auto}
.mb-message-editor .visual-editor h1{font-size:2rem;line-height:1.2}.mb-message-editor .visual-editor h2{font-size:1.55rem;line-height:1.25}.mb-message-editor .visual-editor h3{font-size:1.25rem;line-height:1.3}
.mb-message-editor .visual-editor table{max-width:100%}
#dialog:has(#templateMessageEditor){width:min(920px,calc(100% - 28px))}
@media(max-width:720px){.mb-message-editor .editor-toolbar{max-height:none}.mb-message-editor .editor-toolbar button{flex:0 0 auto}}


/* MailingBot 1.3.0 — publiczna domena mailingu */
.public-url-box{margin:18px 0;padding:16px;border:1px solid var(--border,#e4e7ec);border-radius:12px;background:rgba(127,127,127,.035)}
.public-url-box p{margin:6px 0 12px}.public-url-box code{word-break:break-all}.public-url-box small{display:block;margin-top:8px}

/* MailingBot 1.4.5 — rozbudowana paginacja bazy odbiorców */
.subscriber-pagination{gap:14px;flex-wrap:wrap;background:#fff}.subscriber-pagination.pagination-top{border-top:0;border-bottom:1px solid var(--line)}.subscriber-pagination .pagination-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.subscriber-pagination .page-indicator{min-width:58px;text-align:center;color:var(--text);font-weight:700}.subscriber-pagination select{width:auto;min-width:126px;padding:6px 30px 6px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}.subscriber-pagination .pagination-custom-label{margin-left:5px}.subscriber-pagination input{width:82px;min-height:32px;padding:5px 8px;border:1px solid var(--line);border-radius:6px}.subscriber-pagination .subscriber-per-page-apply{font-weight:700}.subscriber-pagination button{min-height:32px}
@media(max-width:720px){.subscriber-pagination{align-items:flex-start;flex-direction:column}.subscriber-pagination .pagination-controls{justify-content:flex-start;width:100%}.subscriber-pagination select{min-width:120px}.subscriber-pagination input{width:76px}}

/* MailingBot 1.4.7 — raport importu i czytelne błędy */
.form-error{padding:11px 13px;border:1px solid #efcaca;border-radius:7px;background:#fdeaea;color:#a72d2d;font-size:.84rem;font-weight:650}
.import-report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.import-report-grid>div{padding:13px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}
.import-report-grid span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:4px}
.import-report-grid strong{display:block;font-size:1.25rem;color:var(--navy)}
.import-report-note{padding:11px 13px;margin-bottom:12px;border-radius:7px;background:#f0f8fb;border:1px solid #cceaf4;font-size:.82rem;color:#356176}
.import-report-details{border:1px solid var(--line);border-radius:8px;margin-top:9px;overflow:hidden}
.import-report-details summary{cursor:pointer;padding:11px 13px;background:#fafcff;font-size:.84rem}
.import-report-list{max-height:220px;overflow:auto;border-top:1px solid var(--line);padding:7px 13px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:#fff}
.import-report-list div{padding:2px 0;word-break:break-all}
.import-report-more{padding:8px 13px;border-top:1px solid var(--line);font-size:.76rem}
@media(max-width:720px){.import-report-grid{grid-template-columns:1fr 1fr}}
