:root{
  --bg:#f4f6f8;--surface:#fff;--surface-2:#f8fafc;--text:#18212f;--muted:#657184;
  --border:#dfe4ea;--primary:#293478;--primary-2:#1f285f;--accent:#ddf160;
  --danger:#b42318;--danger-bg:#fef3f2;--success:#067647;--success-bg:#ecfdf3;
  --warning:#b54708;--warning-bg:#fffaeb;--shadow:0 8px 28px rgba(16,24,40,.07);
}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#111827;color:#fff;padding:26px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.brand{font-size:20px;font-weight:800;letter-spacing:-.03em;margin:0 8px 28px}.brand span{color:var(--accent)}.nav{display:flex;flex-direction:column;gap:6px}.nav a{color:#d1d5db;padding:11px 12px;border-radius:10px;font-weight:650;font-size:14px}.nav a:hover,.nav a.active{background:#263047;color:#fff;text-decoration:none}.sidebar-footer{position:static;margin-top:auto;padding-top:20px}.sidebar-footer form{margin:0}.main{min-width:0;overflow:clip}.topbar{height:68px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.topbar h1{font-size:20px;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .user{flex:0 0 auto}.topbar .user{font-size:13px;color:var(--muted)}.content{padding:28px 32px 56px;max-width:1500px;margin:auto;min-width:0}.content>*{min-width:0}
.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:22px;min-width:0}.card + .card{margin-top:0}.content>.card+.card,.content>.grid+.card,.content>.card+.grid,.content>.grid+.grid,.content>form+.card,.content>nav+.card,.settings-form>.card+.card{margin-top:20px}.card h2,.card h3{margin-top:0}.grid{display:grid;gap:18px;align-items:stretch}.grid>*{min-width:0}.grid>.card{height:auto;margin-top:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:20px}.stat-label{font-size:13px;color:var(--muted);font-weight:700}.stat-value{font-size:34px;font-weight:800;margin-top:8px;letter-spacing:-.04em}.stat-help{font-size:12px;color:var(--muted);margin-top:8px}.progress{height:10px;background:#eef1f4;border-radius:999px;overflow:hidden;margin-top:14px}.progress span{display:block;height:100%;background:var(--primary);border-radius:999px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;height:42px;min-height:42px;padding:0 15px;font-weight:750;font-size:14px;line-height:1.2;white-space:nowrap;cursor:pointer;background:var(--primary);color:#fff;text-decoration:none;vertical-align:middle}.btn:hover{background:var(--primary-2);text-decoration:none}.btn-secondary{background:#fff;color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:#f8fafc}.btn-danger{background:#fff;color:var(--danger);border-color:#fda29b}.btn-danger:hover{background:var(--danger-bg)}.btn-small{height:34px;min-height:34px;padding:0 10px;font-size:12px}.btn-block{width:100%}.btn:disabled,.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;min-width:0}.actions form{margin:0}
label{display:block;font-size:13px;font-weight:750;margin-bottom:7px}.field{margin-bottom:17px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],select,textarea{width:100%;border:1px solid #cfd6df;border-radius:9px;padding:10px 12px;background:#fff;color:var(--text);font:inherit;min-width:0}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],select{height:42px;min-height:42px}textarea{min-height:130px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(41,52,120,.12);border-color:var(--primary)}.hint{font-size:12px;color:var(--muted);margin-top:6px}.check-row{display:flex;gap:9px;align-items:flex-start}.check-row label{margin:0;font-weight:600}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--border);border-radius:12px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:900px;background:#fff}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;background:#f8fafc;padding:12px;border-bottom:1px solid var(--border)}.table td{padding:13px 12px;border-bottom:1px solid #edf0f3;vertical-align:top;font-size:13px;overflow-wrap:anywhere}.table tr:last-child td{border-bottom:0}.table .company-name{font-weight:780;color:var(--text)}.muted{color:var(--muted)}.small{font-size:12px}.nowrap{white-space:nowrap}.truncate{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eef2ff;color:#3730a3}.badge-new{background:#eff8ff;color:#175cd3}.badge-to_send{background:#fff7ed;color:#c2410c}.badge-sent{background:var(--success-bg);color:var(--success)}.badge-waiting{background:#fefce8;color:#a16207}.badge-not_interested{background:#f2f4f7;color:#475467}.badge-do_not_send{background:var(--danger-bg);color:var(--danger)}.badge-running{background:#eef4ff;color:#3538cd}.badge-completed{background:var(--success-bg);color:var(--success)}.badge-failed{background:var(--danger-bg);color:var(--danger)}.badge-queued{background:#f2f4f7;color:#475467}
.alert{padding:13px 15px;border-radius:10px;margin-bottom:18px;border:1px solid}.alert-success{color:var(--success);background:var(--success-bg);border-color:#abefc6}.alert-error{color:var(--danger);background:var(--danger-bg);border-color:#fecdca}.alert-info{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end}.pagination{display:flex;gap:5px;margin-top:18px;flex-wrap:wrap}.pagination a,.pagination span{min-width:34px;height:34px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;background:#fff}.pagination .current{background:var(--primary);color:#fff;border-color:var(--primary)}
.detail-list{display:grid;grid-template-columns:180px 1fr;gap:0}.detail-list dt,.detail-list dd{padding:11px 0;border-bottom:1px solid #edf0f3;margin:0;min-width:0}.detail-list dd{overflow-wrap:anywhere}.detail-list dt{font-size:12px;color:var(--muted);font-weight:800}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{border-left:3px solid var(--border);padding-left:14px}.timeline-item strong{font-size:13px}.timeline-item p{margin:5px 0 0;font-size:12px;color:var(--muted)}
.tabs-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;min-width:0}.tabs-nav a{padding:8px 11px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:13px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;min-width:0;flex-wrap:wrap}.section-title>*{min-width:0}.section-title h2,.section-title h3{margin:0;overflow-wrap:anywhere}.section-title form{margin:0}.codearea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:240px}.email-editor{min-height:360px;max-width:100%}.log-message{max-width:560px;white-space:normal;word-break:break-word}.log-error{background:#fff6f6}.log-warning{background:#fffbeb}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#111827,#293478)}.login-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:30px;box-shadow:0 22px 70px rgba(0,0,0,.3)}.login-card h1{margin:0 0 8px}.login-card p{margin:0 0 24px;color:var(--muted)}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}.filters .wide{grid-column:1/-1}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app-shell{display:block}.sidebar{height:auto;position:relative;padding:16px}.brand{margin-bottom:14px}.nav{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar-footer{position:static;margin-top:14px}.topbar{padding:0 18px}.content{padding:20px 14px 42px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr}.detail-list dt{padding-bottom:2px;border:0}.detail-list dd{padding-top:2px}.check-grid{grid-template-columns:1fr}}
.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px;border:1px solid #cfd6df;border-bottom:0;border-radius:9px 9px 0 0;background:#f8fafc}.editor-toolbar button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:6px 9px;cursor:pointer;font:inherit;font-size:12px}.editor-toolbar button:hover{background:#eef2ff}.email-editor[contenteditable]{border:1px solid #cfd6df;border-radius:0 0 9px 9px;padding:14px;background:#fff;min-height:360px;overflow:auto}.email-editor[contenteditable]:focus{outline:3px solid rgba(41,52,120,.12);border-color:var(--primary)}

/* v0.4.0 — crawler i wyrównany dashboard */
.grid{align-items:stretch}.grid>.card{height:auto;margin-top:0}.dashboard-kpis>.card{display:flex;flex-direction:column;min-height:190px}.dashboard-kpis .stat-help{margin-top:auto;padding-top:12px}.dashboard-panels>.card{height:auto}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.status-tile{display:flex;flex-direction:column;justify-content:space-between;min-height:100px;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text)}.status-tile:hover{border-color:#b7bfd0;background:#fff;text-decoration:none}.status-tile .stat-value{font-size:25px;margin-top:10px}.section-subtitle{margin:5px 0 0}.stat-flat{box-shadow:none;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.badge-cancelled{background:#f2f4f7;color:#344054}.badge-stopped{background:#fff7ed;color:#b54708}.crawler-launch-card{margin-bottom:18px}.crawler-launch-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);gap:18px;align-items:end}.crawler-start-form{display:flex;gap:12px;align-items:end}.crawler-start-form .field{margin:0}.field-grow{flex:1}.crawler-side-actions{justify-content:flex-end}.crawler-side-actions form,.row-actions form,.page-actions form{margin:0}.crawler-table{min-width:1180px}.progress-cell{min-width:220px}.progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.progress-row strong{color:var(--text);font-size:13px}.progress-compact{height:7px;margin-top:7px}.progress-large{height:14px;margin:9px 0}.job-progress-main{padding:16px 0 20px}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.job-link{font-weight:800}.page-actions{margin-bottom:18px}.crawler-stats{margin-top:4px}.crawler-stats .stat-value{font-size:28px}.table td{vertical-align:middle}
@media(max-width:1100px){.crawler-launch-grid{grid-template-columns:1fr}.crawler-side-actions{justify-content:flex-start}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.crawler-start-form{display:grid;grid-template-columns:1fr}.crawler-start-form .btn{width:100%}.status-grid{grid-template-columns:1fr}.dashboard-kpis>.card{min-height:0}}
.crawler-health{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
@media(max-width:760px){.crawler-health{align-items:flex-start}}

/* v0.4.1 */
.app-version{margin-bottom:10px;text-align:center;font-size:11px;color:#98a2b3}.crawler-save-note{padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text)}

.category-company-count{display:flex;flex-direction:column;gap:2px;margin-top:7px}.category-company-count strong{font-size:14px}.category-count-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.category-count-summary>div{display:flex;flex-direction:column;gap:3px}.category-count-summary strong{font-size:25px;line-height:1.1}.category-count-summary>span{text-align:right;max-width:430px}@media(max-width:760px){.category-count-summary{align-items:flex-start;flex-direction:column}.category-count-summary>span{text-align:left}}

.crawler-tabs{margin:0 0 16px;border-bottom:1px solid var(--border);gap:4px}.crawler-tabs a{display:inline-flex;align-items:center;gap:7px;border:0;border-bottom:2px solid transparent;border-radius:7px 7px 0 0;background:transparent;padding:10px 12px;color:var(--muted)}.crawler-tabs a:hover{background:#f7f8fb;color:var(--text)}.crawler-tabs a.is-active{border-bottom-color:var(--primary);background:#f7f8fb;color:var(--primary);font-weight:700}.crawler-tabs .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#e9edf5;color:inherit;font-size:11px;font-weight:700}.crawler-tabs a.is-active .tab-count{background:#e1e6ff}.crawler-list-heading{margin-bottom:6px}.empty-table-message{text-align:center;padding:36px 18px!important}


/* v0.4.5 — stabilizacja układu wszystkich widoków */
html,body{max-width:100%;overflow-x:hidden}img,svg,video,canvas{max-width:100%}iframe{display:block;max-width:100%}
.card h2,.card h3{overflow-wrap:anywhere}.card p:last-child{margin-bottom:0}
.settings-form{min-width:0}.settings-form>section{scroll-margin-top:88px}
.form-grid-actions{display:flex;align-items:flex-end}.form-grid-actions>.btn{width:100%}
.inline-panel{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.inline-panel h3{margin:0 0 6px}.inline-panel p{margin:0 0 14px}
.company-top-actions{margin-bottom:18px}.company-email-action{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.company-email-action>div{min-width:0}.company-email-action p{margin:4px 0 0;overflow-wrap:anywhere}
.email-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.email-preview{width:100%;min-height:420px;border:1px solid var(--border);border-radius:10px;background:#fff}
.preview-card{position:sticky;top:96px;align-self:start}
.nested-card-list{display:flex;flex-direction:column;gap:12px}.nested-card-list>.card{margin:0!important;box-shadow:none}.nested-card-list iframe{width:100%;min-height:170px;border:1px solid var(--border);border-radius:8px;background:#fff}
.queue-action-form.is-submitting,.queue-action-form[hidden]{display:none!important}.queue-row.is-removing{opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease}.queue-empty-placeholder{display:none}.queue-cancel-form{margin:0}
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.page-actions form{margin:0}
.table .actions-cell{min-width:150px}.log-message,.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.truncate{min-width:0}
.filters>.btn{align-self:end}.crawler-start-form>.btn{align-self:end}.crawler-side-actions .btn{height:42px}
.crawler-launch-grid>*{min-width:0}.crawler-table td,.crawler-table th{vertical-align:middle}
.status-tile{min-width:0}.status-tile .stat-value{overflow-wrap:anywhere}
.alert{overflow-wrap:anywhere}.field{min-width:0}.field:last-child{min-width:0}
@media(max-width:1250px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .wide{grid-column:1/-1}.crawler-launch-grid{grid-template-columns:1fr}.crawler-side-actions{justify-content:flex-start}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.grid-2,.email-layout{grid-template-columns:1fr}.preview-card{position:static}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:0 22px}.content{padding:24px 22px 48px}}
@media(max-width:760px){.sidebar{display:block;height:auto;overflow:visible}.sidebar-footer{padding-top:14px}.topbar .user{display:none}.section-title{align-items:flex-start}.section-title>.actions{width:100%}.section-title>.actions .btn,.section-title>.actions form{flex:1 1 auto}.section-title>.actions form .btn{width:100%}.actions.mobile-stack{display:grid;grid-template-columns:1fr}.actions.mobile-stack .btn,.actions.mobile-stack form,.actions.mobile-stack form .btn{width:100%}.company-email-action{align-items:flex-start;flex-direction:column}.company-email-action .btn{width:100%}.status-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.grid-3,.grid-4{grid-template-columns:1fr}.page-actions .btn,.page-actions form,.page-actions form .btn{width:100%}.crawler-side-actions{display:grid;grid-template-columns:1fr;width:100%}.crawler-side-actions form,.crawler-side-actions .btn{width:100%}.tabs-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.tabs-nav a{flex:0 0 auto}.content{padding:20px 14px 42px}.card{padding:18px}.topbar{padding:0 16px}.topbar h1{font-size:18px}}

/* v0.4.6 — konfigurowalne kolumny na liście firm */
.companies-heading{align-items:flex-start}
.companies-table{min-width:1180px}
.companies-table th,.companies-table td{vertical-align:middle}
.companies-table [data-column="company"]{min-width:240px;max-width:340px}
.companies-table [data-column="nip"]{min-width:112px}
.companies-table [data-column="address"]{min-width:245px;max-width:340px}
.companies-table [data-column="email"]{min-width:210px;max-width:290px}
.companies-table [data-column="website"]{min-width:190px;max-width:270px}
.companies-table [data-column="categories"]{min-width:215px;max-width:320px}
.companies-table [data-column="rating"]{min-width:78px;text-align:center}
.companies-table [data-column="status"]{min-width:168px;width:168px}
.companies-table [data-column="actions"]{min-width:154px;width:154px}
.companies-table .company-main-cell,.companies-table .company-address-cell,.companies-table .company-email-cell,.companies-table .company-website-cell,.companies-table .company-category-cell{overflow-wrap:anywhere;word-break:break-word}
.companies-table .company-website-cell a{display:block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.company-status-column,.company-status-cell{white-space:nowrap;overflow:visible!important}
.company-status-cell .badge{white-space:nowrap;max-width:none}
.company-actions-cell{white-space:nowrap}
.is-column-hidden{display:none!important}
.column-picker{position:relative;flex:0 0 auto}
.column-picker-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:260px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 18px 50px rgba(16,24,40,.16)}
.column-picker-panel[hidden]{display:none!important}
.column-picker-title{font-size:14px;font-weight:800;margin-bottom:3px}
.column-picker-help{margin:0 0 12px!important;font-size:11px;color:var(--muted);line-height:1.45}
.column-picker-options{display:flex;flex-direction:column;gap:3px}
.column-picker-option{display:flex;align-items:center;gap:9px;margin:0;padding:8px 9px;border-radius:8px;font-size:13px;font-weight:650;cursor:pointer}
.column-picker-option:hover{background:var(--surface-2)}
.column-picker-option input{width:16px;height:16px;margin:0;accent-color:var(--primary)}
.column-picker-reset{display:block;width:100%;margin-top:10px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--primary);font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.column-picker-reset:hover{background:var(--surface-2)}
@media(max-width:760px){.companies-heading>.actions{display:grid;grid-template-columns:1fr;width:100%}.companies-heading>.actions>.btn,.companies-heading .column-picker,.companies-heading .column-picker>.btn{width:100%}.column-picker-panel{position:fixed;left:14px;right:14px;top:auto;width:auto;max-height:70vh;overflow:auto}.companies-table{min-width:1050px}}

/* v0.4.7 — niezależny worker, przełącznik listy firm i dopracowany edytor e-mail */
.email-compose-header{padding:20px 22px}.email-compose-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0}.email-compose-heading-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.email-compose-heading-main>div:last-child{min-width:0}.email-compose-heading h2{margin:2px 0 6px;overflow-wrap:anywhere}.email-compose-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#eef0ff;color:var(--primary);font-size:21px;font-weight:900;flex:0 0 auto}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.email-compose-company-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}.email-compose-form{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;align-items:start}.email-compose-main,.email-compose-sidebar{min-width:0}.email-compose-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:92px}.email-compose-sidebar>.card{margin:0}.email-message-card{min-height:620px}.email-section-title{margin-bottom:18px}.email-subject-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:12px}.email-body-field{margin-bottom:0}.email-editor[contenteditable]:empty:before{content:attr(data-placeholder);color:#98a2b3;pointer-events:none}.email-options-card h3,.email-preview-card h3{margin-bottom:14px}.email-send-summary{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 12px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:13px}.email-send-summary dt{color:var(--muted);font-weight:700}.email-send-summary dd{margin:0;overflow-wrap:anywhere}.email-preview-heading{margin-bottom:10px}.email-preview-heading p{margin:4px 0 0;overflow-wrap:anywhere}.email-preview-card .email-preview{min-height:300px}.email-send-card{display:grid;gap:10px}.email-send-card .btn{width:100%}.email-send-note{margin:2px 0 0;line-height:1.45}.companies-heading>.div,.companies-heading>div{min-width:0}
@media(max-width:1180px){.email-compose-form{grid-template-columns:1fr}.email-compose-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.email-send-card{grid-column:1/-1}.email-preview-card .email-preview{min-height:360px}}
@media(max-width:760px){.email-compose-heading{flex-direction:column}.email-compose-heading-main{width:100%}.email-compose-company-meta{display:grid;gap:4px}.email-subject-grid{grid-template-columns:1fr}.email-compose-sidebar{display:flex}.email-message-card{min-height:0}.email-editor[contenteditable]{min-height:300px}.email-send-summary{grid-template-columns:1fr}.email-send-summary dd{padding-bottom:6px}.email-compose-icon{width:40px;height:40px}}

/* v0.4.8 — odświeżanie danych ALEO i filtr stron WWW */
@media(min-width:1251px){.filters{grid-template-columns:2fr repeat(4,minmax(140px,1fr)) auto}}
.companies-table{min-width:1320px}
.companies-table [data-column="actions"]{min-width:245px;width:245px}
.company-actions-cell form{display:inline-flex;margin:0 0 0 4px;vertical-align:middle}
.crawler-stats-five{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.crawler-stats-five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.crawler-stats-five{grid-template-columns:1fr}.company-actions-cell form{margin-left:3px}}

/* v0.4.9 — jasny interfejs na bazie przekazanych stylów TimeTracker */
:root{
  color-scheme:light;
  --bg:#f4f6fa;
  --surface:#ffffff;
  --surface-2:#f8f9fc;
  --text:#172033;
  --muted:#6f798d;
  --border:#e7eaf0;
  --primary:#4f46e5;
  --primary-2:#4338ca;
  --accent:#4f46e5;
  --danger:#c2413b;
  --danger-bg:#fff1f0;
  --success:#16855b;
  --success-bg:#edf8f2;
  --warning:#b7791f;
  --warning-bg:#fff6e5;
  --shadow:0 8px 24px rgba(34,45,68,.07);
}

html,
body{
  background:var(--bg);
  color:var(--text);
}

body{
  scrollbar-color:#cbd1dc transparent;
}

.app-shell{
  grid-template-columns:255px minmax(0,1fr);
  background:var(--bg);
}

.sidebar{
  padding:18px 14px;
  background:#fff;
  color:var(--text);
  border:0;
  box-shadow:10px 0 34px rgba(35,44,65,.045);
}

.brand{
  min-height:46px;
  display:flex;
  align-items:center;
  margin:0;
  padding:2px 5px 12px;
  color:var(--text);
  font-size:20px;
  font-weight:700;
  letter-spacing:-.03em;
}

.brand span{
  color:var(--primary);
}

.nav{
  gap:6px;
}

.nav a{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:10px 12px;
  border-radius:10px;
  color:var(--muted);
  font-size:14px;
  font-weight:600;
  transition:background .15s ease,color .15s ease;
}

.nav a:hover{
  background:#f7f8fb;
  color:var(--text);
  text-decoration:none;
}

.nav a.active{
  background:rgba(79,70,229,.085);
  color:var(--primary-2);
  text-decoration:none;
}

.sidebar-footer{
  color:var(--muted);
}

.app-version{
  padding:0 5px 10px;
  font-size:11px;
  color:var(--muted-2,#929bad);
}

.main{
  background:var(--bg);
}

.topbar{
  top:14px;
  height:auto;
  min-height:66px;
  margin:14px 24px 0;
  padding:14px 16px;
  border:0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(35,44,65,.07);
  backdrop-filter:none;
}

.topbar h1{
  color:var(--text);
  font-size:clamp(18px,1.4vw,24px);
  font-weight:650;
  letter-spacing:-.025em;
}

.topbar .user{
  color:var(--muted);
}

.content{
  max-width:1600px;
  padding:32px 24px 56px;
}

.card{
  border:0;
  border-radius:16px;
  background:var(--surface);
  box-shadow:var(--shadow);
}

.card h2,
.card h3,
.section-title h2,
.section-title h3{
  color:var(--text);
  letter-spacing:-.02em;
}

.stat-label,
.hint,
.muted,
.section-subtitle,
.column-picker-help{
  color:var(--muted);
}

.stat-value{
  color:var(--text);
  font-weight:680;
}

button,
.btn,
.btn-primary,
.btn-secondary,
.btn-danger,
.btn-small,
.column-picker-reset,
.editor-toolbar button,
.tabs-nav a{
  font-weight:600 !important;
}

.btn{
  min-height:42px;
  height:42px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:10px;
  background:linear-gradient(135deg,#5b52ec,var(--primary-2));
  color:#fff;
  box-shadow:0 10px 24px rgba(79,70,229,.18);
  transition:background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease;
}

.btn:hover{
  background:linear-gradient(135deg,var(--primary),#3730a3);
  color:#fff;
}

.btn:active{
  transform:translateY(1px);
}

.btn-secondary{
  background:#fff;
  color:#354052;
  border-color:#d8dde7;
  box-shadow:0 2px 5px rgba(32,42,63,.035);
}

.btn-secondary:hover{
  background:#f7f8fb;
  color:var(--text);
  border-color:#cbd1dc;
}

.btn-danger{
  background:#fff7f6;
  color:var(--danger);
  border-color:#f2d4d1;
  box-shadow:none;
}

.btn-danger:hover{
  background:#feeeec;
  color:#9f312d;
}

.btn-small{
  height:34px;
  min-height:34px;
  padding:0 10px;
  font-size:12px;
  box-shadow:none;
}

label,
.field-label{
  color:#354052;
  font-weight:600;
}

input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=url],
select,
textarea,
.email-editor[contenteditable]{
  border:0;
  background:#f7f8fb;
  color:var(--text);
  box-shadow:none;
}

input[type=text]:hover,
input[type=email]:hover,
input[type=password]:hover,
input[type=number]:hover,
input[type=url]:hover,
select:hover,
textarea:hover,
.email-editor[contenteditable]:hover{
  background:#f2f4f8;
}

input:focus,
select:focus,
textarea:focus,
.email-editor[contenteditable]:focus{
  border:0;
  background:#fff;
  outline:0;
  box-shadow:0 0 0 3px rgba(79,70,229,.09);
}

input::placeholder,
textarea::placeholder{
  color:#9aa2b1;
}

.check-row,
.column-picker-option{
  color:#354052;
}

.table-wrap{
  border:0;
  border-radius:0;
  background:transparent;
}

.table{
  border-collapse:separate;
  border-spacing:0 7px;
  background:transparent;
}

.table th{
  padding:8px 12px;
  border:0;
  background:transparent;
  color:var(--muted);
  font-weight:600;
}

.table td{
  padding:12px;
  border:0;
  background:#fff;
  color:#354052;
  box-shadow:0 4px 14px rgba(32,42,63,.045);
}

.table tbody tr td:first-child{
  border-radius:12px 0 0 12px;
}

.table tbody tr td:last-child{
  border-radius:0 12px 12px 0;
}

.table tbody tr:hover td{
  background:#fdfdfe;
  box-shadow:0 7px 20px rgba(32,42,63,.07);
}

.table .company-name,
.company-name{
  color:var(--text);
  font-weight:600 !important;
}

.table a:not(.btn){
  color:var(--primary-2);
}

.log-error td{
  background:#fff5f4 !important;
}

.log-warning td{
  background:#fff9ed !important;
}

.badge{
  border:0;
  box-shadow:none;
  font-weight:600;
}

.badge-new,
.badge-running{
  color:#2f65a8;
  background:#eaf2fb;
}

.badge-to_send,
.badge-waiting{
  color:#9a5c12;
  background:#fff3e3;
}

.badge-sent,
.badge-completed{
  color:#176b4b;
  background:#eaf7f0;
}

.badge-not_interested,
.badge-queued{
  color:#667085;
  background:#f0f2f5;
}

.badge-do_not_send,
.badge-failed{
  color:#a73631;
  background:#fbeceb;
}

.alert{
  border:0;
  border-radius:14px;
  box-shadow:none;
}

.alert-success{
  color:#267657;
  background:#edf8f2;
}

.alert-error{
  color:#a73631;
  background:#fbeceb;
}

.alert-info{
  color:#5746b2;
  background:#f1efff;
}

.progress{
  background:#eef1f5;
}

.progress span{
  background:linear-gradient(90deg,#6962ee,var(--primary));
}

.status-tile,
.company-email-action,
.info-settings-group,
.inline-panel{
  border-color:var(--border) !important;
  background:var(--surface-2) !important;
  box-shadow:none !important;
}

.detail-list dt,
.detail-list dd,
.email-send-summary,
.inline-panel{
  border-color:var(--border);
}

.detail-list dt{
  color:var(--muted);
  font-weight:600;
}

.tabs-nav a,
.pagination a,
.pagination span{
  border-color:#d8dde7;
  background:#fff;
  color:#354052;
  box-shadow:0 2px 5px rgba(32,42,63,.025);
}

.tabs-nav a:hover,
.pagination a:hover{
  background:#f7f8fb;
  color:var(--text);
  text-decoration:none;
}

.tabs-nav a.active,
.pagination .current{
  border-color:transparent;
  background:var(--primary);
  color:#fff;
}

.column-picker-panel{
  border:0;
  background:#fff;
  box-shadow:0 18px 44px rgba(32,42,63,.14);
}

.column-picker-option:hover{
  background:#f4f5fa;
}

.column-picker-reset{
  border-color:#d8dde7;
  background:#fff;
  color:var(--primary-2);
}

.editor-toolbar{
  border:0;
  background:#f3f5f8;
}

.editor-toolbar button{
  border:0;
  background:#fff;
  color:#354052;
}

.editor-toolbar button:hover{
  background:rgba(79,70,229,.085);
  color:var(--primary-2);
}

.email-editor[contenteditable]{
  border-radius:0 0 10px 10px;
}

.email-preview,
.nested-card-list iframe{
  border-color:var(--border);
}

.login-page{
  background:radial-gradient(circle at 12% 0%,rgba(79,70,229,.09),transparent 29rem),linear-gradient(180deg,#f8f9fc 0%,#f1f3f7 100%);
}

.login-card{
  border:0;
  background:#fff;
  box-shadow:0 22px 60px rgba(32,42,63,.11);
}

::-webkit-scrollbar-thumb{
  background:#cbd1dc;
  border:2px solid transparent;
  background-clip:content-box;
}

::-webkit-scrollbar-thumb:hover{
  background:#adb5c3;
  border:2px solid transparent;
  background-clip:content-box;
}

@media(max-width:980px){
  .topbar{
    top:8px;
    margin:8px 16px 0;
  }

  .content{
    padding:24px 16px 48px;
  }
}

@media(max-width:760px){
  .sidebar{
    box-shadow:0 8px 30px rgba(32,42,63,.08);
  }

  .brand{
    padding-bottom:8px;
  }

  .topbar{
    margin:8px 12px 0;
    padding:12px;
    border-radius:14px;
  }

  .content{
    padding:20px 12px 42px;
  }

  .card{
    padding:16px;
  }

  .table td{
    box-shadow:none;
  }
}

/* v0.5.0 — lista kategorii, stałe statystyki i uproszczone listy */
.topbar{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(560px,auto) auto;
  align-items:center;
  gap:16px;
}
.topbar-main{min-width:0}
.header-kpis{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(118px,1fr));
  align-items:stretch;
}
.header-kpi{
  min-width:0;
  display:grid;
  align-content:center;
  gap:3px;
  padding:2px 14px;
}
.header-kpi + .header-kpi{border-left:1px solid var(--border)}
.header-kpi span{
  color:var(--muted);
  font-size:9px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:nowrap;
}
.header-kpi strong{
  color:var(--text);
  font-size:13px;
  font-weight:600;
  line-height:1.25;
  white-space:nowrap;
}

/* Jedno tło listy zamiast osobnego cienia każdej komórki. */
.table-wrap{
  overflow:auto;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}
.table{
  border-collapse:collapse;
  border-spacing:0;
  background:#fff;
}
.table th{
  padding:11px 12px;
  border-bottom:1px solid var(--border);
  background:#f8f9fc;
}
.table td{
  padding:12px;
  border-bottom:1px solid var(--border);
  background:#fff;
  box-shadow:none !important;
}
.table tbody tr:last-child td{border-bottom:0}
.table tbody tr td:first-child,
.table tbody tr td:last-child{border-radius:0}
.table tbody tr:hover td{
  background:#f8f9fc;
  box-shadow:none !important;
}

.crawler-categories-head{margin-bottom:18px}
.crawler-global-actions{justify-content:flex-end}
.crawler-runtime-strip{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:12px;
}
.crawler-runtime-strip strong{color:var(--text);font-weight:600}
.crawler-categories-card{
  margin-top:18px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.crawler-list-heading{margin:0 0 14px}
.crawler-categories-card .table-wrap{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.crawler-categories-table{min-width:1400px}
.crawler-categories-table th:last-child,
.crawler-categories-table td:last-child{min-width:360px}
.crawler-category-name-cell{min-width:245px}
.crawler-category-name{display:block;color:var(--text);font-weight:600}
.crawler-pages-cell{min-width:185px}
.crawler-page-range{display:flex;align-items:baseline;gap:5px}
.crawler-page-range strong{font-weight:600;color:var(--text)}
.crawler-category-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  min-width:330px;
}
.crawler-category-actions form{margin:0;min-width:0}
.crawler-category-actions .btn{
  width:100%;
  min-width:0;
  padding-inline:10px;
}
.crawler-details-btn{
  font-size:18px;
  line-height:1;
  letter-spacing:2px;
}
.btn.is-disabled{
  opacity:.48;
  cursor:not-allowed;
  pointer-events:none;
}
.settings-update-card{margin-bottom:20px}
.settings-update-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:16px;
  border-top:1px solid var(--border);
}
.settings-update-row form{margin:0}

.pagination .ellipsis{
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  color:var(--muted);
}

@media(max-width:1250px){
  .topbar{grid-template-columns:minmax(140px,1fr) auto}
  .header-kpis{grid-column:1/-1;width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}
  .topbar .user{grid-column:2;grid-row:1}
}
@media(max-width:760px){
  .topbar{display:flex;align-items:stretch;flex-direction:column;gap:12px}
  .header-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .header-kpi:nth-child(3){border-left:0;border-top:1px solid var(--border);padding-top:8px}
  .header-kpi:nth-child(4){border-top:1px solid var(--border);padding-top:8px}
  .topbar .user{display:block}
  .crawler-global-actions,.crawler-global-actions form,.crawler-global-actions .btn{width:100%}
  .settings-update-row{align-items:stretch;flex-direction:column}
  .settings-update-row form,.settings-update-row .btn{width:100%}
}

/* v0.5.3 — jednolite listy w stylu lekkich wierszy */
.list-section{
  min-width:0;
  margin-top:20px;
}
.content>.list-section:first-child{
  margin-top:0;
}
.list-section .section-title{
  margin-bottom:14px;
}

.entity-list{
  min-width:0;
  display:grid;
  gap:8px;
}

.entity-row{
  position:relative;
  min-width:0;
  min-height:60px;
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(32,42,63,.05);
  transition:background .15s ease,box-shadow .15s ease,transform .15s ease;
}
.entity-row:hover{
  background:#fdfdfe;
  box-shadow:0 7px 20px rgba(32,42,63,.075);
}

.entity-row-marker{
  width:18px;
  height:18px;
  display:block;
  border:2px solid #98a2b3;
  border-radius:6px;
  background:#f8f9fc;
  box-shadow:inset 0 0 0 2px #fff;
}
.entity-row-marker--new,
.entity-row-marker--running{border-color:#2563eb;background:#eff6ff}
.entity-row-marker--to_send,
.entity-row-marker--waiting,
.entity-row-marker--queued{border-color:#b7791f;background:#fff8e8}
.entity-row-marker--sent,
.entity-row-marker--completed{border-color:#16855b;background:#edf8f2}
.entity-row-marker--failed,
.entity-row-marker--do_not_send{border-color:#c2413b;background:#fff1f0}
.entity-row-marker--not_interested,
.entity-row-marker--cancelled,
.entity-row-marker--idle{border-color:#98a2b3;background:#f2f4f7}
.entity-row-marker--paused,
.entity-row-marker--stopped{border-color:#7c3aed;background:#f4f0ff}
.entity-row-marker--warning{border-color:#b7791f;background:#fff6e5}

.entity-row-content,
.entity-row-primary{
  min-width:0;
}
.entity-row-title-line{
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 8px;
}
.entity-row-title-line .company-name,
.entity-row-title-line .crawler-category-name,
.log-row-title{
  min-width:0;
  color:var(--text);
  font-size:13.5px;
  font-weight:600 !important;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.entity-row-subtitle,
.entity-row-note{
  margin-top:3px;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.entity-row-note-danger{
  color:#a73631;
}

.entity-row-meta{
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin-top:6px;
}
.list-chip{
  min-width:0;
  min-height:24px;
  max-width:220px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 8px;
  border:0;
  border-radius:7px;
  background:#f0f2f5;
  color:#667085;
  font-size:11px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-decoration:none;
}
.list-chip-label{
  flex:0 0 auto;
  color:#929bad;
  font-size:9px;
  font-weight:600;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.list-chip-wide{
  max-width:300px;
}
a.list-chip-link{
  color:#4338ca;
  background:#eeecff;
}
a.list-chip-link:hover{
  color:#3730a3;
  background:#e2dfff;
  text-decoration:none;
}
.list-chip-muted{
  color:#929bad;
}
.list-chip-danger{
  color:#a73631;
  background:#fbeceb;
}

.entity-row-actions{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  align-items:center;
}
.entity-row-actions form{
  min-width:0;
  margin:0;
}
.entity-row-actions .btn{
  width:100%;
  min-width:0;
  padding-inline:10px;
}
.company-row-actions{
  min-width:252px;
}
.crawler-category-actions{
  min-width:330px;
}

.crawler-row-progress{
  --crawler-progress:0%;
  position:relative;
  width:100%;
  height:38px;
  margin-top:10px;
  overflow:hidden;
  border:0;
  border-radius:10px;
  background:#dfe3ea;
  box-shadow:inset 0 1px 2px rgba(32,42,63,.08);
  color:#fff;
  font-size:10.5px;
  line-height:1;
}
.crawler-row-progress-fill{
  position:absolute;
  inset:0 auto 0 0;
  z-index:0;
  width:var(--crawler-progress);
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#6962ee,#4f46e5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  transition:width .3s cubic-bezier(.2,.75,.25,1);
}
.crawler-row-progress-pages,
.crawler-row-progress-value{
  position:absolute;
  z-index:1;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#fff;
  box-shadow:none;
  font-weight:600;
  line-height:1;
  text-shadow:0 1px 3px rgba(24,32,51,.45);
  white-space:nowrap;
}
.crawler-row-progress-pages{
  top:7px;
  left:12px;
  max-width:calc(100% - 24px);
  overflow:hidden;
  text-overflow:ellipsis;
}
.crawler-row-progress-value{
  left:clamp(42px,var(--crawler-progress),calc(100% - 8px));
  bottom:6px;
  transform:translateX(-100%);
  font-size:11px;
  font-variant-numeric:tabular-nums;
  transition:left .3s cubic-bezier(.2,.75,.25,1);
}
.entity-list-empty{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  border-radius:12px;
  background:rgba(255,255,255,.72);
  font-size:13px;
  text-align:center;
}

.companies-list-section,
.logs-list-section,
.crawler-categories-card{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.log-list-row{
  grid-template-columns:20px minmax(0,1fr);
}
.log-row-error{
  box-shadow:0 4px 14px rgba(194,65,59,.055);
}
.log-row-warning{
  box-shadow:0 4px 14px rgba(183,121,31,.055);
}

/* Stare ustawienia tabel nie wpływają na nowe listy. */
.companies-list .is-column-hidden{
  display:none !important;
}

@media(max-width:1180px){
  .entity-row{
    grid-template-columns:20px minmax(0,1fr);
    align-items:start;
  }
  .entity-row-marker{
    margin-top:2px;
  }
  .entity-row-actions{
    grid-column:2;
    justify-self:end;
    width:min(100%,420px);
  }
  .company-row-actions,
  .crawler-category-actions{
    min-width:0;
  }
}

@media(max-width:760px){
  .entity-row{
    grid-template-columns:20px minmax(0,1fr);
    padding:11px;
    box-shadow:0 3px 12px rgba(32,42,63,.045);
  }
  .entity-row:hover{
    box-shadow:0 5px 16px rgba(32,42,63,.06);
  }
  .entity-row-actions{
    grid-column:1/-1;
    width:100%;
    justify-self:stretch;
  }
  .list-chip,
  .list-chip-wide{
    max-width:100%;
  }
  .companies-heading>.actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
}

.badge-paused,
.badge-stopped{
  color:#6d3fb0;
  background:#f2ecfb;
}
.badge-cancelled,
.badge-idle{
  color:#667085;
  background:#f0f2f5;
}
.badge-warning{
  color:#855b18;
  background:#fff6e5;
}

/* v0.5.6 — niższy pasek postępu i górne, przyklejone menu */
.app-shell{
  display:block;
  min-height:100vh;
  background:var(--bg);
}

.app-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--border);
  box-shadow:0 8px 28px rgba(35,44,65,.075);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.top-navigation{
  min-height:58px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  padding:8px clamp(16px,2.2vw,32px);
  border-bottom:1px solid var(--border);
}

.top-navigation .brand{
  min-height:40px;
  margin:0;
  padding:0;
  white-space:nowrap;
  text-decoration:none;
}

.top-navigation .nav{
  min-width:0;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:5px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}

.top-navigation .nav::-webkit-scrollbar{
  display:none;
}

.top-navigation .nav a{
  flex:0 0 auto;
  min-height:38px;
  padding:9px 12px;
  white-space:nowrap;
}

.top-navigation-meta{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  color:var(--muted);
}

.top-navigation-meta form{
  margin:0;
}

.top-navigation-meta .app-version{
  padding:0;
  color:var(--muted-2,#929bad);
  font-size:11px;
  white-space:nowrap;
}

.top-navigation-user{
  max-width:220px;
  overflow:hidden;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.main{
  min-width:0;
  overflow:visible;
  background:var(--bg);
}

.topbar{
  position:relative;
  top:auto;
  z-index:auto;
  min-height:62px;
  margin:0;
  padding:10px clamp(16px,2.2vw,32px);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  grid-template-columns:minmax(150px,1fr) minmax(560px,auto);
}

.content{
  max-width:1600px;
  padding:28px clamp(16px,2.2vw,32px) 56px;
}

.settings-form>section{
  scroll-margin-top:150px;
}

.preview-card,
.email-compose-sidebar{
  top:150px;
}

.crawler-row-progress{
  --crawler-progress:0%;
  position:relative;
  width:100%;
  height:22px;
  margin-top:10px;
  overflow:hidden;
  border:0;
  border-radius:7px;
  background:#dfe3ea;
  box-shadow:inset 0 1px 2px rgba(32,42,63,.07);
  color:#172033;
  font-size:10.5px;
  line-height:1;
}

.crawler-row-progress-fill{
  position:absolute;
  inset:0 auto 0 0;
  z-index:0;
  width:var(--crawler-progress);
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#6962ee,#4f46e5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  transition:width .3s cubic-bezier(.2,.75,.25,1);
}

.crawler-row-progress-fill-clip{
  position:absolute;
  inset:0 auto 0 0;
  z-index:2;
  width:var(--crawler-progress);
  overflow:hidden;
  pointer-events:none;
  transition:width .3s cubic-bezier(.2,.75,.25,1);
}

.crawler-row-progress-pages,
.crawler-row-progress-value{
  position:absolute;
  top:50%;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}

.crawler-row-progress-pages{
  left:10px;
  max-width:calc(100% - 20px);
  overflow:hidden;
  transform:translateY(-50%);
  text-overflow:ellipsis;
}

.crawler-row-progress-pages--track{
  z-index:1;
  color:#172033;
  text-shadow:none;
}

.crawler-row-progress-pages--fill{
  z-index:2;
  color:#fff;
  text-shadow:0 1px 2px rgba(24,32,51,.38);
}

.crawler-row-progress-value{
  z-index:3;
  left:var(--crawler-progress);
  font-size:11px;
  font-variant-numeric:tabular-nums;
  transition:left .3s cubic-bezier(.2,.75,.25,1);
}

.crawler-row-progress-value.is-inside-fill{
  left:clamp(42px,var(--crawler-progress),calc(100% - 6px));
  padding-right:7px;
  color:#fff;
  text-shadow:0 1px 2px rgba(24,32,51,.42);
  transform:translate(-100%,-50%);
}

.crawler-row-progress-value.is-on-track{
  left:clamp(0px,var(--crawler-progress),calc(100% - 44px));
  margin-left:7px;
  color:#172033;
  text-shadow:none;
  transform:translateY(-50%);
}

@media(max-width:1120px){
  .top-navigation{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:14px;
  }

  .top-navigation-user{
    display:none;
  }

  .topbar{
    grid-template-columns:minmax(140px,1fr) minmax(500px,auto);
  }

  .header-kpi{
    padding-inline:10px;
  }
}

@media(max-width:900px){
  .top-navigation{
    grid-template-columns:auto 1fr;
    gap:8px 14px;
  }

  .top-navigation .nav{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    padding-bottom:2px;
  }

  .top-navigation-meta{
    justify-self:end;
  }

  .topbar{
    grid-template-columns:1fr;
    gap:8px;
  }

  .header-kpis{
    width:100%;
  }

  .settings-form>section{
    scroll-margin-top:198px;
  }

  .preview-card,
  .email-compose-sidebar{
    top:198px;
  }
}

@media(max-width:760px){
  .app-header{
    box-shadow:0 6px 20px rgba(35,44,65,.08);
  }

  .top-navigation{
    padding:7px 12px;
  }

  .top-navigation .brand{
    font-size:18px;
  }

  .top-navigation .nav a{
    min-height:34px;
    padding:7px 10px;
    font-size:12px;
  }

  .top-navigation-meta .app-version{
    display:none;
  }

  .topbar{
    min-height:0;
    padding:9px 12px 10px;
  }

  .topbar h1{
    font-size:17px;
  }

  .header-kpis{
    display:flex;
    width:100%;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .header-kpis::-webkit-scrollbar{
    display:none;
  }

  .header-kpi{
    flex:0 0 132px;
    padding:2px 10px;
  }

  .header-kpi + .header-kpi,
  .header-kpi:nth-child(3),
  .header-kpi:nth-child(4){
    border-top:0;
    border-left:1px solid var(--border);
    padding-top:2px;
  }

  .content{
    padding:20px 12px 42px;
  }

  .settings-form>section{
    scroll-margin-top:205px;
  }

  .preview-card,
  .email-compose-sidebar{
    position:static;
    top:auto;
  }

  .crawler-row-progress{
    height:21px;
  }
}

/* v0.5.7 — stabilny progress, kompaktowy sticky header i dashboard operacyjny */
.app-header{
  position:sticky;
  top:0;
  z-index:100;
  padding:0 clamp(12px,2vw,24px);
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.top-navigation{
  width:100%;
  max-width:1600px;
  min-height:62px;
  margin:0 auto;
  padding:8px 12px;
  display:grid;
  grid-template-columns:auto minmax(360px,1fr) auto auto;
  align-items:center;
  gap:14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 30px rgba(35,44,65,.09);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.top-navigation .brand{
  min-height:38px;
  padding:0 5px;
}

.top-navigation .nav{
  gap:3px;
}

.top-navigation .nav a{
  min-height:36px;
  padding:8px 10px;
  font-size:13px;
}

.top-navigation-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(88px,1fr));
  align-items:stretch;
  min-width:390px;
}

.top-navigation-kpis .header-kpi{
  padding:1px 10px;
}

.top-navigation-kpis .header-kpi span{
  font-size:8px;
  letter-spacing:.035em;
}

.top-navigation-kpis .header-kpi strong{
  font-size:12px;
}

.top-navigation-meta{
  gap:7px;
}

.top-navigation-user{
  max-width:145px;
}

.topbar{
  display:none !important;
}

.content{
  max-width:1600px;
  padding-top:24px;
}

.settings-form>section{
  scroll-margin-top:92px;
}

.preview-card,
.email-compose-sidebar{
  top:92px;
}

/* Progress: obie warstwy mają identyczną geometrię, różni je tylko kolor i clipping. */
.crawler-row-progress{
  --crawler-progress:0%;
  position:relative;
  width:100%;
  height:18px;
  margin-top:10px;
  overflow:hidden;
  border:0;
  border-radius:6px;
  background:#dfe3ea;
  box-shadow:inset 0 1px 2px rgba(32,42,63,.07);
  font-size:10px;
  line-height:1;
}

.crawler-row-progress-fill{
  position:absolute;
  inset:0 auto 0 0;
  z-index:0;
  width:var(--crawler-progress);
  border-radius:inherit;
  background:linear-gradient(90deg,#6962ee,#4f46e5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  transition:width .3s cubic-bezier(.2,.75,.25,1);
}

.crawler-row-progress-labels{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
}

.crawler-row-progress-labels--track{
  color:#172033;
}

.crawler-row-progress-labels--fill{
  z-index:2;
  color:#fff;
  clip-path:inset(0 calc(100% - var(--crawler-progress)) 0 0);
  text-shadow:0 1px 2px rgba(24,32,51,.38);
  transition:clip-path .3s cubic-bezier(.2,.75,.25,1);
}

.crawler-row-progress-pages,
.crawler-row-progress-value{
  position:absolute;
  top:50%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  box-shadow:none;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}

.crawler-row-progress-pages{
  left:50%;
  max-width:calc(100% - 96px);
  overflow:hidden;
  transform:translate(-50%,-50%);
  text-overflow:ellipsis;
}

.crawler-row-progress-value{
  left:clamp(22px,var(--crawler-progress),calc(100% - 22px));
  transform:translate(-50%,-50%);
  font-size:10.5px;
  font-variant-numeric:tabular-nums;
  transition:left .3s cubic-bezier(.2,.75,.25,1);
}

/* Wyśrodkowana, trochę szersza paginacja. */
.pagination{
  justify-content:center;
  gap:6px;
}

.pagination a,
.pagination span{
  width:auto;
  min-width:42px;
  height:36px;
  padding:0 10px;
}

.pagination .ellipsis{
  min-width:28px;
  padding:0 4px;
}

/* Dashboard */
.dashboard-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.dashboard-heading h1{
  margin:2px 0 7px;
  color:var(--text);
  font-size:clamp(24px,2vw,34px);
  line-height:1.08;
  letter-spacing:-.035em;
}

.dashboard-heading p{
  margin:0;
}

.dashboard-heading .eyebrow{
  color:var(--primary);
}

.dashboard-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.dashboard-donut-card,
.dashboard-attention-card{
  min-height:250px;
  padding:18px;
}

.dashboard-card-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.dashboard-card-heading h2{
  margin:3px 0 0;
  font-size:17px;
}

.dashboard-donut-row{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  align-items:center;
  gap:17px;
}

.dashboard-donut{
  --donut-value:0%;
  position:relative;
  width:116px;
  height:116px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(#4f46e5 var(--donut-value),#edf0f5 0);
  box-shadow:inset 0 0 0 1px rgba(79,70,229,.06);
}

.dashboard-donut::before{
  content:"";
  position:absolute;
  inset:15px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 16px rgba(32,42,63,.055);
}

.dashboard-donut--mail{
  background:conic-gradient(#16855b var(--donut-value),#edf0f5 0);
}

.dashboard-donut--contacts{
  background:conic-gradient(#2563eb var(--donut-value),#edf0f5 0);
}

.dashboard-donut-center{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  gap:1px;
  text-align:center;
}

.dashboard-donut-center strong{
  font-size:24px;
  line-height:1;
  letter-spacing:-.04em;
}

.dashboard-donut-center span{
  color:var(--muted);
  font-size:10px;
  font-weight:600;
}

.dashboard-compact-stats{
  display:grid;
  gap:9px;
  margin:0;
}

.dashboard-compact-stats>div{
  display:grid;
  gap:2px;
  padding-bottom:8px;
  border-bottom:1px solid var(--border);
}

.dashboard-compact-stats>div:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.dashboard-compact-stats dt{
  color:var(--muted);
  font-size:10px;
  font-weight:600;
}

.dashboard-compact-stats dd{
  margin:0;
  color:var(--text);
  font-size:13px;
  font-weight:600;
}

.dashboard-compact-stats small{
  color:var(--muted);
  font-size:10px;
}

.dashboard-action-list{
  display:grid;
  gap:7px;
}

.dashboard-action-list a{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  border-radius:10px;
  background:#f5f6fa;
  color:var(--text);
  font-size:12px;
  text-decoration:none;
}

.dashboard-action-list a:hover{
  background:#eeecff;
  color:var(--primary-2);
}

.dashboard-action-list strong{
  min-width:32px;
  text-align:right;
  font-size:14px;
}

.dashboard-detail-grid,
.dashboard-activity-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:14px;
  margin-top:14px;
}

.dashboard-activity-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.dashboard-status-list{
  display:grid;
  gap:7px;
}

.dashboard-status-row{
  display:grid;
  grid-template-columns:minmax(130px,auto) minmax(120px,1fr) 54px;
  align-items:center;
  gap:12px;
  min-height:34px;
  color:var(--text);
  font-size:12px;
  text-decoration:none;
}

.dashboard-status-row:hover{
  color:var(--primary-2);
  text-decoration:none;
}

.dashboard-status-track{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#eef0f4;
}

.dashboard-status-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#7770e9,#4f46e5);
}

.dashboard-status-row strong{
  text-align:right;
}

.dashboard-today-value{
  display:flex;
  align-items:baseline;
  gap:7px;
  margin-top:22px;
}

.dashboard-today-value strong{
  font-size:52px;
  line-height:1;
  letter-spacing:-.055em;
}

.dashboard-today-value span{
  color:var(--muted);
  font-size:18px;
  font-weight:600;
}

.dashboard-linear-progress{
  height:11px;
  margin-top:18px;
  overflow:hidden;
  border-radius:999px;
  background:#eef0f4;
}

.dashboard-linear-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#6962ee,#4f46e5);
}

.dashboard-today-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
  color:var(--muted);
  font-size:11px;
}

.dashboard-activity-list{
  display:grid;
  gap:7px;
}

.dashboard-activity-row{
  min-height:48px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:7px 8px;
  border-radius:10px;
  color:var(--text);
  text-decoration:none;
}

.dashboard-activity-row:hover{
  background:#f7f8fb;
  text-decoration:none;
}

.dashboard-activity-row .entity-row-marker{
  width:16px;
  height:16px;
}

.dashboard-activity-main{
  min-width:0;
  display:grid;
  gap:2px;
}

.dashboard-activity-main strong,
.dashboard-activity-main small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-activity-main strong{
  font-size:12px;
  font-weight:600;
}

.dashboard-activity-main small,
.dashboard-activity-row time{
  color:var(--muted);
  font-size:10px;
}

@media(max-width:1380px){
  .top-navigation{
    grid-template-columns:auto minmax(340px,1fr) auto;
  }

  .top-navigation-kpis{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    min-width:0;
    padding-top:7px;
    border-top:1px solid var(--border);
  }

  .top-navigation-meta{
    grid-column:3;
    grid-row:1;
  }

  .dashboard-overview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:980px){
  .app-header{
    padding:0 10px;
  }

  .top-navigation{
    grid-template-columns:auto 1fr;
    gap:7px 12px;
    padding:8px;
  }

  .top-navigation .nav{
    grid-column:1/-1;
    grid-row:2;
  }

  .top-navigation-kpis{
    grid-column:1/-1;
    grid-row:3;
  }

  .top-navigation-meta{
    grid-column:2;
    grid-row:1;
  }

  .settings-form>section{
    scroll-margin-top:170px;
  }

  .preview-card,
  .email-compose-sidebar{
    top:170px;
  }

  .dashboard-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .dashboard-detail-grid,
  .dashboard-activity-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .top-navigation{
    border-radius:13px;
  }

  .top-navigation .brand{
    font-size:17px;
  }

  .top-navigation-meta .app-version,
  .top-navigation-user{
    display:none;
  }

  .top-navigation-kpis{
    display:flex;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .top-navigation-kpis::-webkit-scrollbar{
    display:none;
  }

  .top-navigation-kpis .header-kpi{
    flex:0 0 118px;
  }

  .content{
    padding-top:18px;
  }

  .dashboard-heading-actions,
  .dashboard-heading-actions .btn{
    width:100%;
  }

  .dashboard-heading-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .dashboard-overview-grid{
    grid-template-columns:1fr;
  }

  .dashboard-donut-row{
    grid-template-columns:104px minmax(0,1fr);
  }

  .dashboard-donut{
    width:102px;
    height:102px;
  }

  .dashboard-status-row{
    grid-template-columns:minmax(105px,auto) minmax(80px,1fr) 45px;
    gap:8px;
  }

  .dashboard-today-value strong{
    font-size:44px;
  }

  .crawler-row-progress-pages{
    max-width:calc(100% - 80px);
  }
}


/* v0.5.8 — poprawione pionowe wyrównanie progressu, sticky w Firefoxie i content bez bocznego paddingu */
html,
body{
  overflow-x:clip !important;
}

body{
  overflow-y:visible !important;
}

.app-shell{
  overflow:visible !important;
}

.app-header{
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
  width:100%;
  padding:0 !important;
  align-self:start;
}

.top-navigation{
  width:min(100%,1600px) !important;
  max-width:1600px !important;
  margin:0 auto !important;
  border-top:0 !important;
  border-radius:0 0 16px 16px !important;
}

.main{
  overflow:visible !important;
}

.content{
  width:min(100%,1600px) !important;
  max-width:1600px !important;
  margin:0 auto !important;
  padding:24px 0 56px !important;
}

/* Wszystkie napisy korzystają z pełnej wysokości paska i jednego flexowego wyrównania. */
.crawler-row-progress{
  height:18px !important;
  line-height:normal !important;
}

.crawler-row-progress-labels{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  height:100% !important;
}

.crawler-row-progress-pages,
.crawler-row-progress-value{
  top:0 !important;
  bottom:0 !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  line-height:1 !important;
  transform:none !important;
}

.crawler-row-progress-pages{
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:none !important;
  justify-content:center !important;
  padding:0 54px !important;
  text-align:center !important;
}

.crawler-row-progress-value{
  left:clamp(22px,var(--crawler-progress),calc(100% - 22px)) !important;
  right:auto !important;
  justify-content:center !important;
  font-size:10.5px !important;
  translate:-50% 0;
}

.dashboard-heading > div:first-child > :last-child,
.crawler-categories-head .section-title > div:first-child > :last-child,
.crawler-list-heading > div:first-child > :last-child{
  margin-bottom:0;
}

@media(max-width:1600px){
  .top-navigation,
  .content{
    width:100% !important;
  }
}

@media(max-width:760px){
  .content{
    padding:18px 0 42px !important;
  }

  .top-navigation{
    border-radius:0 0 14px 14px !important;
  }

  .crawler-row-progress-pages{
    padding-inline:48px !important;
  }
}

/* v0.5.9 — filtry statusów kategorii crawlera */
.crawler-status-filters{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 14px;
}
.crawler-status-filter{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:7px 10px 7px 12px;
  border:1px solid var(--border-strong);
  border-radius:10px;
  background:#fff;
  color:var(--muted);
  font:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1;
  box-shadow:none;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.crawler-status-filter:hover,
.crawler-status-filter:focus-visible{
  border-color:#cbd1dc;
  background:#f7f8fb;
  color:var(--text);
  outline:none;
}
.crawler-status-filter strong{
  min-width:22px;
  min-height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 6px;
  border-radius:7px;
  background:#eef0f4;
  color:var(--text-soft);
  font-size:11px;
  font-weight:600;
  line-height:1;
}
.crawler-status-filter.is-active{
  border-color:rgba(79,70,229,.22);
  background:var(--accent-soft);
  color:var(--accent-strong);
  box-shadow:0 2px 8px rgba(32,42,63,.04);
}
.crawler-status-filter.is-active strong{
  background:var(--accent);
  color:#fff;
}
.crawler-list-row[hidden]{display:none !important}

@media(max-width:700px){
  .crawler-status-filters{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .crawler-status-filter{width:100%}
}

/* 0.6.0 — szybki audyt techniczny strony firmy */
.website-audit-card{
  display:grid;
  gap:18px;
}
.website-audit-heading{
  margin:0;
}
.website-audit-heading>div{
  min-width:0;
}
.website-audit-heading h2{
  margin-bottom:3px;
}
.website-audit-heading p{
  margin:0;
}
.website-audit-empty{
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:18px;
  border-radius:13px;
  background:#f6f7fa;
  color:var(--text-soft);
}
.website-audit-empty strong{
  color:var(--text);
  font-weight:600;
}
.website-audit-empty span{
  color:var(--muted);
  font-size:13px;
}
.website-audit-summary{
  display:grid;
  grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(120px,.8fr));
  gap:10px;
}
.website-audit-score,
.website-audit-metric{
  min-height:86px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:14px 16px;
  border-radius:13px;
  background:#f6f7fa;
}
.website-audit-score span,
.website-audit-metric span{
  color:var(--muted);
  font-size:11px;
  font-weight:600;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.website-audit-score strong,
.website-audit-metric strong{
  color:var(--text);
  font-size:25px;
  font-weight:600;
  line-height:1;
}
.website-audit-score strong{
  font-size:34px;
}
.website-audit-score small{
  margin-left:2px;
  font-size:15px;
  font-weight:600;
  color:currentColor;
  opacity:.72;
}
.website-audit-score--good{
  background:#eaf7f0;
}
.website-audit-score--good strong{
  color:#176b4b;
}
.website-audit-score--medium{
  background:#fff3e3;
}
.website-audit-score--medium strong{
  color:#9a5c12;
}
.website-audit-score--bad{
  background:#fbeceb;
}
.website-audit-score--bad strong{
  color:#a73631;
}
.website-audit-metric--error strong{color:#a73631}
.website-audit-metric--warning strong{color:#9a5c12}
.website-audit-metric--pass strong{color:#176b4b}
.website-audit-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.website-audit-meta>span,
.website-audit-meta>a{
  min-height:27px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 8px;
  border-radius:7px;
  background:#f0f2f5;
  color:#667085;
  font-size:11px;
  line-height:1;
  text-decoration:none;
}
.website-audit-meta strong{
  color:inherit;
  font-weight:600;
}
.website-audit-meta>a{
  color:#4338ca;
  background:#eeecff;
  font-weight:600;
}
.website-audit-findings{
  display:grid;
  gap:8px;
}
.website-audit-findings h3{
  margin:0 0 2px;
  font-size:15px;
}
.website-audit-finding{
  min-height:58px;
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(32,42,63,.05);
}
.website-audit-finding-status{
  min-height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 7px;
  border-radius:7px;
  font-size:10.5px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}
.website-audit-finding>div{
  min-width:0;
}
.website-audit-finding strong{
  display:block;
  color:var(--text);
  font-size:13px;
  font-weight:600;
}
.website-audit-finding p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.website-audit-finding--critical .website-audit-finding-status,
.website-audit-finding--error .website-audit-finding-status{
  color:#a73631;
  background:#fbeceb;
}
.website-audit-finding--warning .website-audit-finding-status{
  color:#9a5c12;
  background:#fff3e3;
}
.website-audit-no-problems{
  padding:14px 16px;
  border-radius:12px;
  background:#eaf7f0;
  color:#176b4b;
  font-size:13px;
}
.website-audit-info-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.website-audit-info-list>span{
  padding:7px 9px;
  border-radius:8px;
  background:#f1efff;
  color:#5746b2;
  font-size:11.5px;
}
.website-audit-info-list strong{
  font-weight:600;
}
.website-audit-details{
  border-top:1px solid var(--border);
  padding-top:13px;
}
.website-audit-details summary{
  width:max-content;
  max-width:100%;
  color:var(--text-soft);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  user-select:none;
}
.website-audit-details[open] summary{
  margin-bottom:12px;
}
.website-audit-passed-list,
.website-audit-history{
  display:grid;
  gap:7px;
}
.website-audit-passed-list>div,
.website-audit-history>div{
  min-height:48px;
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border-radius:10px;
  background:#f6f7fa;
}
.website-audit-passed-list strong,
.website-audit-history strong{
  color:var(--text);
  font-size:12px;
  font-weight:600;
}
.website-audit-passed-list span,
.website-audit-history span{
  color:var(--muted);
  font-size:11.5px;
  overflow-wrap:anywhere;
}
.website-audit-history>div{
  grid-template-columns:minmax(145px,.75fr) minmax(100px,.45fr) minmax(180px,1fr);
}
.website-audit-note{
  max-height:360px;
  margin:0;
  overflow:auto;
  padding:14px;
  border:1px solid var(--border);
  border-radius:11px;
  background:#f6f7fa;
  color:var(--text-soft);
  font-family:var(--font);
  font-size:12px;
  line-height:1.55;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
@media(max-width:900px){
  .website-audit-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:600px){
  .website-audit-heading{
    align-items:stretch;
    flex-direction:column;
  }
  .website-audit-heading form,
  .website-audit-heading .btn{
    width:100%;
  }
  .website-audit-summary{
    grid-template-columns:1fr;
  }
  .website-audit-finding{
    grid-template-columns:1fr;
    align-items:start;
  }
  .website-audit-finding-status{
    width:max-content;
  }
  .website-audit-passed-list>div,
  .website-audit-history>div{
    grid-template-columns:1fr;
    gap:3px;
  }
}

/* 0.6.1 — wspólna, kolorystyczna ocena audytu strony */
.website-audit-grade{
  min-height:25px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:5px 8px;
  border-radius:7px;
  font-size:11px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}
.website-audit-grade--good{
  color:#176b4b;
  background:#eaf7f0;
}
.website-audit-grade--warning{
  color:#8a5a12;
  background:#fff3e3;
}
.website-audit-grade--serious{
  color:#a34f12;
  background:#fff0e2;
}
.website-audit-grade--critical{
  color:#a73631;
  background:#fbeceb;
}
.website-audit-grade--system{
  color:#5746b2;
  background:#f1efff;
}
.website-audit-grade--neutral{
  color:#667085;
  background:#f0f2f5;
}
.website-audit-title-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.website-audit-title-line h2{
  margin:0;
}
.website-audit-score em{
  margin-top:2px;
  color:currentColor;
  font-size:12px;
  font-style:normal;
  font-weight:600;
  line-height:1.2;
}
.website-audit-score--warning{
  color:#8a5a12;
  background:#fff3e3;
}
.website-audit-score--warning strong{color:#8a5a12}
.website-audit-score--serious{
  color:#a34f12;
  background:#fff0e2;
}
.website-audit-score--serious strong{color:#a34f12}
.website-audit-score--critical{
  color:#a73631;
  background:#fbeceb;
}
.website-audit-score--critical strong{color:#a73631}
.website-audit-score--system{
  color:#5746b2;
  background:#f1efff;
}
.website-audit-score--system strong{color:#5746b2}
.website-audit-score--neutral{
  color:#667085;
  background:#f0f2f5;
}
.website-audit-score--neutral strong{color:#667085}
.website-audit-score-text{
  font-size:34px !important;
}
.website-audit-failed-summary{
  display:grid;
  grid-template-columns:minmax(170px,.45fr) minmax(0,1.55fr);
  gap:10px;
}
.website-audit-failure-message{
  min-height:86px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:14px 16px;
  border-radius:13px;
  background:#f6f7fa;
}
.website-audit-failure-message strong{
  color:var(--text);
  font-size:13px;
  font-weight:600;
}
.website-audit-failure-message p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.website-audit-failure-message--critical{
  background:#fbeceb;
}
.website-audit-failure-message--critical strong,
.website-audit-failure-message--critical p{
  color:#a73631;
}
.website-audit-failure-message--system{
  background:#f1efff;
}
.website-audit-failure-message--system strong,
.website-audit-failure-message--system p{
  color:#5746b2;
}
.website-audit-history .website-audit-grade{
  justify-self:start;
}
.company-row-meta .website-audit-grade{
  max-width:100%;
}
@media(max-width:700px){
  .website-audit-failed-summary{
    grid-template-columns:1fr;
  }
}
.website-audit-score--good{color:#176b4b}
.website-audit-history .website-audit-grade--good{color:#176b4b;background:#eaf7f0}
.website-audit-history .website-audit-grade--warning{color:#8a5a12;background:#fff3e3}
.website-audit-history .website-audit-grade--serious{color:#a34f12;background:#fff0e2}
.website-audit-history .website-audit-grade--critical{color:#a73631;background:#fbeceb}
.website-audit-history .website-audit-grade--system{color:#5746b2;background:#f1efff}
.website-audit-history .website-audit-grade--neutral{color:#667085;background:#f0f2f5}

/* 0.6.2 — audyt strony z listy i zaznaczanie wielu firm */
.companies-heading-actions{
  align-items:flex-start;
}
.company-bulk-audit{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:5px;
  border:1px solid var(--border);
  border-radius:11px;
  background:#fff;
  box-shadow:0 2px 5px rgba(32,42,63,.035);
}
.company-select-all-control{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:0 7px;
  color:#354052;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
}
.company-select-all-control input{
  width:16px;
  height:16px;
  margin:0;
  accent-color:var(--primary);
}
.company-bulk-audit .btn{
  height:32px;
  min-height:32px;
  padding-inline:11px;
  font-size:12px;
  box-shadow:none;
}
.company-bulk-audit-status{
  max-width:260px;
  padding:0 7px;
  color:var(--muted);
  font-size:11px;
  font-weight:600;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.company-list-row{
  grid-template-columns:20px minmax(0,1fr) auto;
}
.company-row-select{
  position:relative;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  margin:0;
  cursor:pointer;
}
.company-row-select input{
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  opacity:0;
  pointer-events:none;
}
.company-row-select-box{
  width:18px;
  height:18px;
  display:block;
  border:1.5px solid #b8c0ce;
  border-radius:5px;
  background:#fff;
  box-shadow:inset 0 0 0 2px #fff;
  transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease;
}
.company-row-select:hover .company-row-select-box{
  border-color:#7a73ec;
}
.company-row-select input:focus-visible + .company-row-select-box{
  outline:3px solid rgba(79,70,229,.18);
  outline-offset:2px;
}
.company-row-select input:checked + .company-row-select-box{
  border-color:var(--primary);
  background:var(--primary);
  box-shadow:inset 0 0 0 3px #fff;
}
.company-row-select input:disabled + .company-row-select-box{
  border-color:#d7dce5;
  background:#eef1f5;
  box-shadow:none;
  cursor:not-allowed;
}
.company-row-select:has(input:disabled){
  cursor:not-allowed;
}
.company-list-row.is-selected{
  background:#f8f7ff;
  box-shadow:inset 0 0 0 1.5px rgba(79,70,229,.5),0 7px 20px rgba(32,42,63,.065);
}
.company-list-row.is-auditing{
  box-shadow:inset 0 0 0 1.5px rgba(79,70,229,.34),0 7px 20px rgba(32,42,63,.065);
}
.company-audit-list-button{
  min-height:26px;
  height:26px;
  padding-inline:9px;
  border-radius:7px;
  font-size:11px;
  line-height:1;
}
.company-audit-list-button:disabled{
  opacity:.7;
}
@media(max-width:1180px){
  .company-list-row{
    grid-template-columns:20px minmax(0,1fr);
    align-items:start;
  }
  .company-list-row .entity-row-actions{
    grid-column:2;
  }
}
@media(max-width:760px){
  .companies-heading-actions{
    display:grid !important;
    grid-template-columns:1fr;
  }
  .company-bulk-audit{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .company-select-all-control{
    min-height:36px;
  }
  .company-bulk-audit .btn{
    width:100%;
    height:38px;
    min-height:38px;
  }
  .company-bulk-audit-status{
    max-width:none;
    padding:2px 7px 5px;
  }
  .company-list-row{
    grid-template-columns:20px minmax(0,1fr);
  }
  .company-list-row .entity-row-actions{
    grid-column:1/-1;
  }
}


/* 0.6.3 — checkbox zastępuje marker statusu na liście firm */
.company-list-row > .entity-row-marker{
  display:none;
}


/* 0.6.4 — filtry audytu i liczba wyników na stronie */
@media (min-width: 1251px){
  .company-filters{
    grid-template-columns:minmax(260px,2fr) repeat(6,minmax(120px,1fr)) auto;
  }
}
