:root{--ink:#171717;--ink-2:#262626;--paper:#f5f5f3;--white:#fff;--line:#d9d9d5;--muted:#6f706f;--soft:#ececea;--good:#2d7553;--warn:#b5781f;--bad:#a64242;--radius:2px;--shadow:0 18px 55px rgba(0,0,0,.08);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8f8f8b;outline-offset:2px}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 22px 22px;background:var(--ink);color:#fff;display:flex;flex-direction:column;border-right:1px solid #343434;z-index:20}.sidebar-head{display:flex;align-items:center;justify-content:space-between}.logo{width:152px;height:auto;display:block}.sidebar-close{display:none;color:#fff}.workspace-label{margin:26px 0 14px;padding-top:18px;border-top:1px solid #383838;color:#a3a3a3;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}.main-nav{display:grid;gap:4px}.nav-item{appearance:none;width:100%;border:0;background:transparent;color:#aaa;text-align:left;padding:13px 12px;display:flex;align-items:center;gap:12px;cursor:pointer;border-left:1px solid transparent;transition:.2s}.nav-item:hover{background:#202020;color:#fff}.nav-item.active{background:#242424;color:#fff;border-left-color:#fff}.nav-icon{width:18px;text-align:center;color:#ccc}.nav-count{margin-left:auto;background:#fff;color:#111;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;font-size:.72rem}.sidebar-foot{margin-top:auto;padding-top:20px;border-top:1px solid #383838}.system-pill{display:flex;align-items:center;gap:10px}.system-pill div{display:grid;gap:3px}.system-pill strong{font-size:.82rem}.system-pill small{color:#858585;font-size:.7rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#777;flex:0 0 auto}.status-dot.good{background:var(--good);box-shadow:0 0 0 4px rgba(45,117,83,.13)}.status-dot.warning{background:var(--warn);box-shadow:0 0 0 4px rgba(181,120,31,.12)}.status-dot.bad{background:var(--bad);box-shadow:0 0 0 4px rgba(166,66,66,.12)}.logout-link{display:inline-block;margin-top:20px;color:#9b9b9b;font-size:.78rem;text-decoration:none}.logout-link:hover{color:#fff}.main{min-width:0;padding:0 36px 42px}.topbar{min-height:116px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.topbar h1{font-size:1.8rem;margin:3px 0 0;letter-spacing:-.04em}.eyebrow{margin:0;color:#7c7c79;text-transform:uppercase;letter-spacing:.16em;font-size:.69rem;font-weight:700}.top-actions{display:flex;gap:10px}.button{border:1px solid var(--line);background:#fff;color:var(--ink);min-height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;cursor:pointer;transition:.18s;font-weight:700;font-size:.82rem}.button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(0,0,0,.08)}.button-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.button-ghost{background:transparent}.icon-button{border:0;background:transparent;cursor:pointer;font-size:1.4rem;padding:6px}.menu-button{display:none}.view{display:none}.view.active{display:block}.signal-strip{min-height:48px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;margin-bottom:18px}.signal-strip>div{display:flex;align-items:center;gap:10px;font-size:.77rem}.signal-strip span:last-child{color:var(--muted);border-left:1px solid var(--line);padding-left:10px}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:#fff;margin-bottom:18px}.metric-card{padding:22px;border-right:1px solid var(--line);min-width:0}.metric-card:last-child{border-right:0}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.metric-value{font-size:2.15rem;font-weight:700;letter-spacing:-.06em;margin:16px 0 10px;white-space:nowrap}.metric-foot{font-size:.76rem;color:var(--muted);line-height:1.4}.metric-foot strong{color:var(--good)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);padding:22px;min-width:0}.panel-wide{min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:22px}.panel-head h2,.kpi-banner h2,.report-hero h2{margin:4px 0 0;font-size:1.18rem;letter-spacing:-.03em}.panel-meta{color:var(--muted);font-size:.74rem}.text-button{border:0;background:transparent;padding:0;color:var(--ink);font-size:.78rem;font-weight:700;cursor:pointer}.funnel-chart{display:grid;gap:12px}.funnel-row{display:grid;grid-template-columns:130px 1fr 54px;gap:12px;align-items:center}.funnel-label,.funnel-total{font-size:.78rem}.funnel-total{text-align:right;font-weight:700}.funnel-track{height:16px;background:var(--soft);position:relative;overflow:hidden}.funnel-fill{height:100%;background:var(--ink);min-width:2px;transition:width .4s}.source-chart{min-height:190px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid var(--line);padding:18px 2px 0}.source-bar{flex:1;min-width:28px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:170px;gap:6px}.source-bar i{width:100%;max-width:42px;background:var(--ink);min-height:2px}.source-bar strong{font-size:.72rem}.source-bar span{font-size:.65rem;color:var(--muted);max-width:65px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-chart:empty{display:grid;place-items:center}.empty-chart:empty:after{content:'Źródła pojawią się po zebraniu pierwszych leadów';color:var(--muted);font-size:.78rem;text-align:center;max-width:190px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:620px}th{text-align:left;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;padding:0 12px 11px;border-bottom:1px solid var(--line);font-weight:700}td{padding:14px 12px;border-bottom:1px solid #e8e8e5;font-size:.79rem;vertical-align:middle}tbody tr:last-child td{border-bottom:0}.person-cell{display:grid;gap:3px}.person-cell strong{font-size:.82rem}.person-cell span{color:var(--muted);font-size:.72rem}.badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;background:var(--soft);border:1px solid var(--line);font-size:.68rem;font-weight:700;white-space:nowrap}.badge.good{color:var(--good);background:#edf5f0;border-color:#cadfd2}.badge.warning{color:#825412;background:#faf3e8;border-color:#ead8b9}.badge.bad{color:var(--bad);background:#faeeee;border-color:#e7caca}.badge.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.connector-list{display:grid}.connector-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 0;border-bottom:1px solid #e8e8e5}.connector-item:last-child{border-bottom:0}.connector-item strong{display:block;font-size:.78rem;margin-bottom:4px}.connector-item p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.4}.section-toolbar{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-bottom:16px}.search-box{margin-right:auto;border:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:8px;padding:0 12px;min-width:320px}.search-box input{border:0;outline:0;background:transparent;min-height:42px;width:100%;font-size:.82rem}.section-toolbar select{min-height:42px;border:1px solid var(--line);background:#fff;padding:0 34px 0 12px}.toolbar-copy{margin:0 auto 0 0;color:var(--muted);font-size:.78rem}.empty-state{display:none;text-align:center;padding:70px 20px}.empty-state.show{display:block}.empty-state span{font-size:2rem}.empty-state h3{margin:10px 0 5px}.empty-state p{margin:0;color:var(--muted)}.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.campaign-card{background:#fff;border:1px solid var(--line);padding:24px;position:relative}.campaign-card:before{content:'';position:absolute;top:-1px;left:-1px;width:62px;height:3px;background:var(--ink)}.campaign-card.draft:before{background:#888}.campaign-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.campaign-card h2{font-size:1.12rem;margin:6px 0}.campaign-card .url{font-size:.7rem;color:var(--muted);word-break:break-all}.campaign-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:24px;padding-top:18px;gap:12px}.campaign-metrics div{display:grid;gap:5px}.campaign-metrics span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.campaign-metrics strong{font-size:1.1rem}.recommendation-panel p{color:var(--muted);line-height:1.7;max-width:880px}.rule-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}.rule-flow span,.rule-flow strong{border:1px solid var(--line);padding:8px 12px;font-size:.74rem}.rule-flow strong{background:var(--ink);color:#fff}.rule-flow i{font-style:normal;color:#888}.kpi-banner,.report-hero{background:var(--ink);color:#fff;padding:34px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;position:relative;overflow:hidden}.kpi-banner:after,.report-hero:after{content:'';position:absolute;width:160px;height:160px;border:1px solid #373737;right:90px;bottom:-90px}.kpi-banner .eyebrow,.report-hero .eyebrow{color:#aaa}.kpi-banner p,.report-hero p{color:#aaa;max-width:700px;line-height:1.6}.big-number{font-size:3.6rem;font-weight:700;letter-spacing:-.07em;z-index:1}.site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.site-card{background:#fff;border:1px solid var(--line);padding:20px}.site-card-head{display:flex;justify-content:space-between;gap:12px}.site-card h3{font-size:.92rem;margin:0 0 5px;word-break:break-word}.site-card p{margin:0;color:var(--muted);font-size:.72rem}.site-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.site-meta div{display:grid;gap:4px}.site-meta span{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.site-meta strong{font-size:.76rem}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.report-grid h3{margin:18px 0 8px}.report-grid p{color:var(--muted);line-height:1.6;font-size:.82rem}.report-grid a{color:var(--ink);font-size:.78rem;font-weight:700}.report-icon{width:42px;height:42px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:700}.muted-card{background:#ececea}.loading-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:18px}.loading-grid div{height:115px;background:linear-gradient(90deg,#eee 25%,#f7f7f7 50%,#eee 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}.loading-grid.hidden{display:none}@keyframes shimmer{to{background-position:-200% 0}}dialog{padding:0;border:0;background:transparent;max-width:680px;width:calc(100% - 32px)}dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(3px)}.dialog-card{background:#fff;border:1px solid var(--line);padding:28px;box-shadow:var(--shadow)}.dialog-head{display:flex;justify-content:space-between;margin-bottom:22px}.dialog-head h2{margin:4px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.login-form label{display:grid;gap:7px;color:var(--muted);font-size:.72rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.login-form input{border:1px solid var(--line);background:#fafafa;color:var(--ink);padding:11px;min-width:0}.form-grid textarea{resize:vertical}.form-grid .full{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:#fff;padding:14px 18px;box-shadow:var(--shadow);transform:translateY(30px);opacity:0;pointer-events:none;transition:.2s;z-index:50;font-size:.8rem}.toast.show{transform:translateY(0);opacity:1}.login-page{background:var(--ink);color:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-brand{position:relative;padding:7vw;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border-right:1px solid #383838}.login-brand img{width:min(280px,52%);height:auto;position:absolute;top:7vh;left:7vw}.brand-grid{position:absolute;width:36vw;height:36vw;border:1px solid #303030;right:-8vw;bottom:-10vw}.brand-grid:before,.brand-grid:after{content:'';position:absolute;border:1px solid #303030}.brand-grid:before{inset:18%}.brand-grid:after{inset:36%}.login-brand .eyebrow{color:#aaa}.login-brand h1{font-size:clamp(3rem,5.5vw,6.2rem);line-height:.92;letter-spacing:-.07em;margin:24px 0;max-width:800px}.login-lead{max-width:520px;color:#aaa;line-height:1.7;font-size:1rem}.login-form-wrap{display:grid;place-items:center;background:#f4f4f1;color:var(--ink);padding:34px}.login-form{width:min(390px,100%);display:grid;gap:18px}.login-form h2{font-size:2rem;margin:5px 0 12px}.login-form input{min-height:48px;background:#fff}.login-form .button{margin-top:4px}.form-error{background:#faeeee;color:var(--bad);border:1px solid #e7caca;padding:11px;font-size:.8rem}.privacy-note{color:var(--muted);font-size:.7rem;line-height:1.5}.money{text-align:right}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(3,1fr)}.metric-card:nth-child(3){border-right:0}.metric-card:nth-child(-n+3){border-bottom:1px solid var(--line)}.dashboard-grid{grid-template-columns:1fr}.site-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:840px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;transform:translateX(-100%);width:min(290px,88vw);transition:.22s}.sidebar.open{transform:translateX(0);box-shadow:40px 0 90px rgba(0,0,0,.28)}.sidebar-close,.menu-button{display:block}.main{padding:0 18px 28px}.topbar{min-height:92px}.topbar h1{font-size:1.35rem}.top-actions .button-ghost{display:none}.signal-strip{align-items:flex-start;flex-direction:column;padding:12px;gap:10px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-card,.metric-card:nth-child(3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.metric-card:nth-child(even){border-right:0}.metric-card:last-child{border-bottom:0}.campaign-grid,.report-grid{grid-template-columns:1fr}.section-toolbar{align-items:stretch;flex-wrap:wrap}.search-box{min-width:0;width:100%;margin:0}.site-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-form-wrap{min-height:100vh}.kpi-banner,.report-hero{align-items:flex-start;flex-direction:column;gap:20px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:520px){.top-actions .button-primary{font-size:0;width:42px;padding:0}.top-actions .button-primary:after{content:'+';font-size:1.2rem}.metric-grid{grid-template-columns:1fr}.metric-card,.metric-card:nth-child(3),.metric-card:nth-child(even){border-right:0}.metric-value{font-size:1.9rem}.panel{padding:17px}.funnel-row{grid-template-columns:90px 1fr 35px}.rule-flow i{display:none}.campaign-metrics{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.query-list{display:grid}.query-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #e8e8e5}.query-row:last-child{border-bottom:0}.query-rank{font-size:.67rem;color:#999}.query-row div{display:grid;gap:4px;min-width:0}.query-row strong{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.query-row small{font-size:.66rem;color:var(--muted)}.query-row b{font-size:.8rem}.muted-copy{color:var(--muted);font-size:.78rem}
progress.funnel-track{appearance:none;-webkit-appearance:none;border:0;width:100%;height:16px;background:var(--soft);overflow:hidden}progress.funnel-track::-webkit-progress-bar{background:var(--soft)}progress.funnel-track::-webkit-progress-value{background:var(--ink)}progress.funnel-track::-moz-progress-bar{background:var(--ink)}.source-bar i{display:block}.bar-level-1{height:14px}.bar-level-2{height:27px}.bar-level-3{height:41px}.bar-level-4{height:54px}.bar-level-5{height:68px}.bar-level-6{height:81px}.bar-level-7{height:95px}.bar-level-8{height:108px}.bar-level-9{height:122px}.bar-level-10{height:135px}.big-number-denominator{font-size:.9rem;letter-spacing:0;color:#aaa}
.campaign-card{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.campaign-card:hover,.campaign-card:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.08);border-color:#bcbcb7}.campaign-open{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:.7rem;color:var(--muted)}.campaign-open strong{color:var(--ink)}.measurement-panel{margin-bottom:18px}.measurement-grid,.source-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.measurement-grid>div,.source-comparison>div{background:#fff;padding:18px;display:grid;gap:8px}.measurement-grid strong,.source-comparison strong{font-size:.88rem}.measurement-grid p,.measurement-note{margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}.measurement-source,.source-comparison span{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.measurement-note{margin-top:16px}.campaign-dialog{max-width:1040px}.campaign-detail-card{max-height:90vh;overflow:auto}.campaign-detail-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.72rem;margin-bottom:18px}.detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);margin-bottom:22px}.detail-kpis>div{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:8px}.detail-kpis>div:nth-child(4n){border-right:0}.detail-kpis>div:nth-last-child(-n+4){border-bottom:0}.detail-kpis span{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.detail-kpis strong{font-size:1.12rem}.detail-section{margin-top:24px}.source-comparison small{color:var(--muted);line-height:1.45}.source-comparison .source-ready{box-shadow:inset 0 3px var(--good)}.campaign-config{border-top:1px solid var(--line);margin:12px 0 0}.campaign-config>div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.76rem}.campaign-config dt{color:var(--muted)}.campaign-config dd{margin:0}.campaign-config a{color:var(--ink);word-break:break-all}.recommendation-list{display:grid;gap:8px;margin-top:12px}.recommendation-item{display:grid;grid-template-columns:5px 1fr;gap:13px;border:1px solid var(--line);padding:13px}.recommendation-item>span{background:#777}.recommendation-item.warning>span{background:var(--warn)}.recommendation-item.bad>span{background:var(--bad)}.recommendation-item strong{font-size:.8rem}.recommendation-item p{margin:5px 0 0;color:var(--muted);font-size:.74rem;line-height:1.45}@media(max-width:760px){.measurement-grid,.source-comparison{grid-template-columns:1fr}.detail-kpis{grid-template-columns:1fr 1fr}.detail-kpis>div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.detail-kpis>div:nth-child(2n){border-right:0!important}.detail-kpis>div:nth-last-child(-n+2){border-bottom:0!important}.campaign-config>div{grid-template-columns:1fr;gap:5px}.campaign-open{display:grid}.campaign-detail-card{padding:20px}}
.site-card{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.site-card:hover,.site-card:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.08);border-color:#bcbcb7}.site-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:18px}.site-result-grid>div{background:#fff;padding:11px;display:grid;gap:5px}.site-result-grid span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.site-result-grid strong{font-size:1rem}.source-comparison .source-configured{box-shadow:inset 0 3px var(--warn)}

button.logout-link{appearance:none;background:transparent;border:0;padding:0;cursor:pointer;text-align:left}
