
:root{--navy:#061322;--navy2:#0a1b30;--cyan:#17c8f6;--cyan2:#78e8ff;--blue:#0d5bd7;--text:#f6fbff;--muted:#8fa6bc;--line:#d8e8f1;--danger:#ef4444;--ok:#10b981}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#eef8fc;color:#061322}a{text-decoration:none;color:inherit}.app{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#061322,#0a1b30);color:#fff;padding:24px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px}.logo{display:flex;align-items:center;gap:12px;font-weight:900;font-size:26px}.logo img{width:150px;max-width:100%;height:auto}.sidebar nav{display:grid;gap:10px}.sidebar nav a{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.06);font-weight:800;transition:.2s}.sidebar nav a:hover{background:rgba(23,200,246,.16);color:#bdf4ff}.admin-box{margin-top:auto;padding:16px;border-radius:18px;background:rgba(255,255,255,.08);font-size:14px}.admin-box small{display:block;color:#b9d0df;margin-top:4px;word-break:break-word}.main{padding:34px;min-width:0}h1{font-size:34px;margin:0 0 6px}h2{font-size:22px;margin:0 0 16px}.muted{color:#60758a}.top-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:12px 16px;font-weight:900;background:#fff;color:#061322;box-shadow:0 8px 22px rgba(0,44,84,.08);cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--cyan2),var(--cyan),var(--blue));color:#03111f}.btn-danger,.danger{background:#fee2e2!important;color:#991b1b!important}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 18px 60px rgba(0,55,105,.08);overflow:hidden}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stats,.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 18px}.mini-stats{grid-template-columns:repeat(2,1fr);margin-top:20px}.stat,.mini-stats div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}.stat b,.mini-stats b{font-size:34px;color:#0d5bd7}.mini-stats span{display:block;color:#60758a;font-weight:700}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{padding:14px;border-bottom:1px solid #e6f0f6;text-align:left;vertical-align:top;overflow-wrap:break-word;word-break:break-word}th{font-size:13px;text-transform:uppercase;color:#60758a}.badge{display:inline-block;padding:7px 10px;border-radius:999px;font-weight:900;font-size:12px}.badge.new{background:#e0f2fe;color:#075985}.badge.sent{background:#dcfce7;color:#166534}.badge.progress{background:#fef3c7;color:#92400e}.badge.scheduled{background:#ede9fe;color:#5b21b6}.alert,.notice{padding:15px 18px;border-radius:18px;margin-bottom:16px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;font-weight:800}.alert.ok,.notice{background:#ecfeff;color:#075985;border-color:#a5f3fc}label{display:grid;gap:8px;margin-bottom:14px;font-weight:900}input,select,textarea{width:100%;border:1px solid #cfe2ee;border-radius:14px;padding:13px 14px;font:inherit;outline:none;background:#f8fcff;color:#061322}input:focus,select:focus,textarea:focus{border-color:#17c8f6;box-shadow:0 0 0 4px rgba(23,200,246,.13)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#061322,#0d5bd7)}.login{max-width:430px;width:100%}.login img{width:220px;display:block;margin:0 auto 18px}.photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.photos img{width:100%;height:140px;object-fit:cover;border-radius:16px;border:1px solid #d9edf7}.quote-box{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.quote-item{padding:18px;border-radius:20px;background:#f2fbff;border:1px solid #cfeffc;margin-bottom:14px}.summary p{overflow-wrap:break-word}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-day{min-height:150px;background:#f8fcff;border:1px solid #d9edf7;border-radius:18px;padding:10px;overflow:hidden}.calendar-day.empty{background:transparent;border:0}.day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.day-head b{font-size:18px}.day-head a{width:28px;height:28px;border-radius:999px;background:#e0f7ff;color:#075985;display:grid;place-items:center;font-weight:900}.event-pill{display:grid;gap:4px;margin-top:7px;padding:10px;border-radius:14px;background:linear-gradient(135deg,#e0f7ff,#eefaff);border:1px solid #c9f3ff;font-size:12px}.event-pill strong{color:#075985}.event-pill span{font-weight:900}.event-pill small{color:#60758a}.event-pill a{font-weight:900;color:#0d5bd7}.timeline{display:grid;gap:12px}.timeline-item{padding:14px;border-left:4px solid #17c8f6;background:#f8fcff;border-radius:14px}.timeline-item b{display:block}.timeline-item span{display:block;color:#60758a;font-size:13px;margin:4px 0}.timeline-item p{margin:6px 0 0}.offer-summary,.offer-box,.quote-summary,.mail-summary{width:100%;max-width:100%;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;white-space:normal;box-sizing:border-box}@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main{padding:20px}.grid-2,.quote-box{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(2,1fr)}.top-actions{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr}}@media(max-width:640px){table,thead,tbody,tr,td,th{display:block;width:100%}thead{display:none}td{padding:10px 0}.calendar-grid{grid-template-columns:1fr}.card{padding:18px}.main{padding:14px}}


.email-preview-frame{margin-top:16px;border:1px solid rgba(23,200,246,.25);border-radius:22px;overflow:hidden;background:#fff}
.email-preview-frame iframe{display:block;width:100%;min-height:760px;border:0;background:#fff}
.quote-preview-box{margin-top:18px;padding:18px;border-radius:18px;background:#eefaff;border:1px solid #c9f3ff;color:#061322}
.btn-small{padding:9px 12px;font-size:13px;margin-top:10px}
.status.sent{display:inline-block;padding:7px 11px;border-radius:999px;background:#d8fff4;color:#056245;font-weight:900}

.calendar-month-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin:10px 0 24px}
.calendar-month-nav h2{margin:0;font-size:30px;color:#0d5bd7}
.event-pill.onsite_estimate{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fed7aa}
.event-pill.realization{background:linear-gradient(135deg,#e0f7ff,#eefaff);border-color:#c9f3ff}
.invoice-fields{padding:22px;border-radius:24px;background:#eefaff;border:1px solid #c9f4ff;margin:16px 0}
.email-preview-frame{margin-top:16px;border:1px solid rgba(23,200,246,.25);border-radius:22px;overflow:hidden;background:#fff}
.email-preview-frame iframe{display:block;width:100%;min-height:760px;border:0;background:#fff}
.quote-preview-box{margin-top:18px;padding:18px;border-radius:18px;background:#eefaff;border:1px solid #c9f3ff;color:#061322}
.btn-small{padding:9px 12px;font-size:13px;margin-top:10px}
.badge.cancelled{background:#fee2e2;color:#991b1b}.badge.completed{background:#d8fff4;color:#056245}
@media(max-width:900px){.calendar-month-nav{flex-direction:column}.stats{grid-template-columns:1fr 1fr}.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.quote-box,.grid-2{grid-template-columns:1fr}}

.internal-comment{border-left-color:#0d5bd7;background:#eefaff}
.internal-comment p{font-size:15px;line-height:1.65;color:#061322}

.dashboard-filter{display:grid;gap:12px;margin:18px 0 22px;padding:18px;border-radius:20px;background:#f8fcff;border:1px solid #d9edf7}
.dashboard-filter label{margin:0}
.dashboard-table-wrap{overflow-x:auto}
.dashboard-table-wrap table{min-width:980px}

.event-pill.completed{background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;border-color:#86efac!important;color:#064e3b}.event-pill.completed strong{color:#056245}.event-status-done{display:inline-block;margin-top:4px;padding:5px 8px;border-radius:999px;background:#10b981;color:#fff;font-weight:900}.badge.owner{background:#fef3c7;color:#92400e}.badge.admin{background:#e0f2fe;color:#075985}

/* Duża aktualizacja CRM */
.theme-toggle{padding:14px 16px;border:0;border-radius:16px;background:rgba(255,255,255,.06);color:#fff;font-weight:900;text-align:left;cursor:pointer}
.kanban-board{display:grid;grid-template-columns:repeat(6,minmax(230px,1fr));gap:14px;overflow-x:auto;padding-bottom:12px}.kanban-col{background:#f8fcff;border:1px solid #d9edf7;border-radius:24px;padding:14px;min-height:520px}.kanban-col h2{display:flex;justify-content:space-between;align-items:center;font-size:18px}.kanban-col h2 span{background:#e0f7ff;color:#075985;border-radius:999px;padding:4px 9px}.kanban-card{background:#fff;border:1px solid #e6f0f6;border-radius:18px;padding:14px;margin:12px 0;display:grid;gap:7px;box-shadow:0 10px 28px rgba(0,44,84,.07)}.kanban-card strong{font-size:17px}.kanban-card small{color:#60758a}.kanban-card em{font-style:normal;font-weight:900;color:#056245}.kanban-card select{padding:9px;border-radius:12px}.portal-page{background:linear-gradient(135deg,#061322,#0d5bd7);min-height:100vh}.portal-wrap{max-width:920px;margin:0 auto;padding:32px 16px}.portal-card{border-radius:30px}.portal-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.portal-step{padding:16px;border-radius:18px;background:#f1f5f9;color:#64748b;text-align:center;font-weight:900}.portal-step b{display:block;font-size:24px}.portal-step.done{background:#dcfce7;color:#166534}body.dark{background:#07111f;color:#eaf6ff}body.dark .main{background:#07111f}body.dark .card,body.dark .stat,body.dark .mini-stats div,body.dark .calendar-day,body.dark .kanban-col,body.dark .kanban-card,body.dark input,body.dark select,body.dark textarea{background:#0d1b2d;color:#eaf6ff;border-color:#1e3a54}body.dark .muted,body.dark th,body.dark .calendar-day small,body.dark .kanban-card small{color:#9bb4c9}body.dark .btn{background:#10233a;color:#eaf6ff}body.dark .btn-primary{background:linear-gradient(135deg,#78e8ff,#17c8f6,#0d5bd7);color:#03111f}body.dark table td,body.dark table th{border-bottom-color:#1e3a54}body.dark .timeline-item,body.dark .dashboard-filter{background:#0d1b2d;border-color:#1e3a54}@media(max-width:1200px){.kanban-board{grid-template-columns:repeat(3,minmax(230px,1fr))}}@media(max-width:760px){.kanban-board,.portal-steps{grid-template-columns:1fr}.stats{grid-template-columns:1fr}}

/* Premium portal klienta */
.portal-premium{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#143b64 0,#061322 36%,#030914 100%);font-family:Inter,Arial,sans-serif;color:#071827}.portal-shell{max-width:1180px;margin:0 auto;padding:34px 18px 70px}.portal-hero{display:flex;justify-content:space-between;gap:24px;align-items:stretch;margin-bottom:22px;color:#fff}.portal-hero h1{font-size:46px;line-height:1.02;margin:8px 0 12px;letter-spacing:-.05em}.portal-hero p{color:#cfefff;max-width:650px;font-size:17px;line-height:1.7}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:#17c8f6}.portal-hero-card,.portal-login-card,.portal-panel{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.5);box-shadow:0 30px 90px rgba(0,0,0,.28);border-radius:28px;padding:26px}.portal-hero-card{min-width:260px;display:flex;flex-direction:column;justify-content:center}.portal-hero-card span{color:#60758a;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.portal-hero-card b{font-size:30px;color:#061322;margin:8px 0}.portal-login-card{max-width:520px;margin:28px auto}.portal-login-card h2,.portal-panel h2{margin-top:0}.portal-grid-main{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}.portal-panel.wide{grid-column:1/-1}.portal-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.portal-steps.premium{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.portal-step{background:#f3f8fb;border:1px solid #d9edf7;border-radius:18px;padding:16px;display:flex;gap:10px;align-items:center}.portal-step.done{background:linear-gradient(135deg,#dcfce7,#eefaff);border-color:#86efac}.portal-step b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#d9edf7;color:#0a2a4b}.portal-step.done b{background:#16a34a;color:#fff}.portal-panel table{width:100%;border-collapse:collapse}.portal-panel td{padding:13px;border-bottom:1px solid #edf4f8}.portal-message-list{display:grid;gap:10px;margin-top:12px}.portal-message-list div{padding:14px;border-radius:16px;background:#f7fbff;border:1px solid #d9edf7}.portal-message-list small{color:#60758a}@media(max-width:800px){.portal-hero,.portal-grid-main{display:block}.portal-hero-card,.portal-panel{margin-top:16px}.portal-steps.premium{grid-template-columns:1fr}.portal-hero h1{font-size:34px}}

/* Czytelny portal klienta v2 */
.client-portal-v2{min-height:100vh;margin:0;background:#07111f;color:#0b1724;font-family:Inter,Arial,sans-serif;position:relative;overflow-x:hidden}.client-portal-v2:before{content:"";position:fixed;inset:0;background:linear-gradient(135deg,#07111f 0%,#0c2742 42%,#0f5a76 100%);z-index:-3}.cp-bg{position:fixed;border-radius:999px;filter:blur(12px);opacity:.42;z-index:-2}.cp-bg-one{width:520px;height:520px;background:#29d7ff;top:-180px;right:-120px}.cp-bg-two{width:430px;height:430px;background:#8be9ff;bottom:-160px;left:-120px}.cp-shell{width:min(1180px,100%);margin:0 auto;padding:28px 18px 72px}.cp-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px;color:#fff}.cp-brand{display:flex;align-items:center;gap:12px;color:#fff}.cp-brand-mark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#89f1ff,#17c8f6,#0d5bd7);color:#061322;font-weight:1000;box-shadow:0 18px 48px rgba(23,200,246,.35)}.cp-brand b{display:block;font-size:18px}.cp-brand small{display:block;color:#bdefff;font-weight:700}.cp-logout{padding:11px 15px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:900}.cp-card,.cp-hero-card{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.62);box-shadow:0 30px 100px rgba(0,0,0,.28);border-radius:32px}.cp-card{padding:26px}.cp-hero-card{padding:34px;display:grid;grid-template-columns:1fr 310px;gap:24px;align-items:stretch;margin-bottom:18px;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08));backdrop-filter:blur(18px)}.cp-pill,.cp-kicker{display:inline-flex;align-items:center;width:max-content;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:1000}.cp-pill{padding:9px 13px;border-radius:999px;background:rgba(137,241,255,.14);border:1px solid rgba(137,241,255,.35);color:#bdf7ff}.cp-kicker{margin:0 0 10px;color:#0d8eb1}.cp-hero-card h1,.cp-login-copy h1{font-size:clamp(34px,5vw,58px);line-height:.98;letter-spacing:-.055em;margin:16px 0 14px}.cp-hero-card p,.cp-login-copy p{font-size:18px;line-height:1.7;color:#dff8ff;max-width:690px}.cp-status-box{background:#fff;color:#071827;border-radius:26px;padding:24px;display:flex;flex-direction:column;justify-content:center}.cp-status-box span{color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.cp-status-box strong{font-size:28px;margin:8px 0;color:#061322}.cp-status-box small{color:#64748b;font-weight:800}.cp-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.cp-wide{grid-column:1/-1}.cp-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.cp-section-head h2,.cp-card h2{margin:0;color:#061322;font-size:26px;letter-spacing:-.03em}.cp-muted{color:#64748b;line-height:1.7}.cp-progress-card{margin-bottom:18px}.cp-progress-line{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cp-progress-step{position:relative;padding:18px;border-radius:22px;background:#f4f8fb;border:1px solid #dceaf2;display:grid;gap:10px;min-height:112px}.cp-progress-step i{width:38px;height:38px;border-radius:14px;background:#e3edf3;color:#64748b;display:grid;place-items:center;font-style:normal;font-weight:1000}.cp-progress-step span{font-weight:1000;color:#415569}.cp-progress-step.is-done{background:linear-gradient(135deg,#e9fff4,#f3fbff);border-color:#9ee8c2}.cp-progress-step.is-done i{background:#12b981;color:#fff}.cp-progress-step.is-current{outline:3px solid rgba(23,200,246,.22)}.cp-details{display:grid;gap:12px;margin:0}.cp-details div{padding:15px;border-radius:18px;background:#f7fbff;border:1px solid #e3eef5}.cp-details dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#64748b;font-weight:1000;margin-bottom:6px}.cp-details dd{margin:0;font-weight:900;color:#071827;line-height:1.55}.cp-advisor-card{text-align:center}.cp-avatar{width:82px;height:82px;border-radius:28px;margin:2px auto 14px;display:grid;place-items:center;background:linear-gradient(135deg,#89f1ff,#17c8f6,#0d5bd7);font-size:36px;font-weight:1000;color:#061322;box-shadow:0 18px 42px rgba(23,200,246,.25)}.cp-contact-list{display:grid;gap:10px;margin-top:16px}.cp-contact-list a{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px;border-radius:16px;background:#f4faff;border:1px solid #dbeefa;color:#075985;font-weight:1000;word-break:break-word}.cp-contact-list span{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#e0f7ff}.cp-mini-badge{display:inline-flex;padding:8px 11px;border-radius:999px;font-size:12px;font-weight:1000}.cp-mini-badge.ok{background:#dcfce7;color:#166534}.cp-mini-badge.wait{background:#fff7ed;color:#9a3412}.cp-timeline{display:grid;gap:12px}.cp-timeline-item{display:grid;grid-template-columns:84px 1fr auto;gap:16px;align-items:center;padding:16px;border-radius:22px;background:#f7fbff;border:1px solid #dceaf2}.cp-timeline-item.done{background:linear-gradient(135deg,#e9fff4,#f7fbff);border-color:#9ee8c2}.cp-date{width:72px;height:72px;border-radius:20px;background:#061322;color:#fff;display:grid;place-items:center;align-content:center}.cp-date b{font-size:23px;line-height:1}.cp-date span{font-size:12px;color:#bdefff;font-weight:900}.cp-timeline h3{margin:0 0 4px;color:#061322}.cp-timeline p{margin:0;color:#64748b;font-weight:800}.cp-docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.cp-doc{display:grid;gap:8px;padding:16px;border-radius:20px;background:#f7fbff;border:1px solid #dceaf2;color:#071827}.cp-doc span{width:48px;height:34px;border-radius:12px;background:#fee2e2;color:#991b1b;display:grid;place-items:center;font-size:12px;font-weight:1000}.cp-doc b{font-size:16px}.cp-doc small{color:#64748b;font-weight:900}.cp-empty{padding:22px;border-radius:20px;background:#f7fbff;border:1px dashed #cfe2ee;color:#64748b;font-weight:800}.cp-form label{display:grid;gap:8px;margin-bottom:14px;color:#061322;font-weight:1000}.cp-form input,.cp-form textarea{width:100%;border:1px solid #cfe2ee;border-radius:18px;background:#f8fcff;padding:14px 15px;font:inherit;outline:none;color:#071827}.cp-form input:focus,.cp-form textarea:focus{border-color:#17c8f6;box-shadow:0 0 0 5px rgba(23,200,246,.14)}.cp-button{border:0;border-radius:18px;padding:14px 18px;font-weight:1000;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cp-button-main{background:linear-gradient(135deg,#89f1ff,#17c8f6,#0d5bd7);color:#061322;box-shadow:0 18px 42px rgba(23,200,246,.25)}.cp-alert{padding:15px 17px;border-radius:18px;margin:0 0 18px;font-weight:900}.cp-alert-ok{background:#dcfce7;color:#166534;border:1px solid #9ee8c2}.cp-alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.cp-previous-messages{display:grid;gap:10px;margin-top:20px}.cp-previous-messages h3{margin:8px 0 0}.cp-previous-messages div{padding:14px;border-radius:18px;background:#f7fbff;border:1px solid #dceaf2}.cp-previous-messages small{color:#64748b;font-weight:900}.cp-previous-messages p{margin:6px 0 0;line-height:1.55}.cp-login-layout{display:grid;grid-template-columns:1fr 440px;gap:28px;align-items:center;min-height:calc(100vh - 150px)}.cp-login-copy{color:#fff}.cp-login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.cp-login-features div{padding:16px;border-radius:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px)}.cp-login-features b{display:block;color:#89f1ff;font-size:22px}.cp-login-features span{display:block;color:#e8fbff;font-weight:900}.cp-login-card h2{font-size:30px;letter-spacing:-.035em;margin:0 0 8px}@media(max-width:920px){.cp-hero-card,.cp-grid,.cp-login-layout{grid-template-columns:1fr}.cp-progress-line{grid-template-columns:repeat(2,1fr)}.cp-login-features{grid-template-columns:1fr}.cp-hero-card p,.cp-login-copy p{font-size:16px}.cp-status-box{min-height:160px}}@media(max-width:640px){.cp-shell{padding:18px 12px 46px}.cp-card,.cp-hero-card{border-radius:24px;padding:20px}.cp-header{margin-bottom:18px}.cp-progress-line{grid-template-columns:1fr}.cp-timeline-item{grid-template-columns:1fr}.cp-date{width:64px;height:64px}.cp-contact-list a{justify-content:flex-start}.cp-logout{padding:9px 12px}.cp-brand small{display:none}}

/* === CleanRush portal klienta — poprawka etapów, logo i czytelności === */
.client-portal-v2:before{background:linear-gradient(135deg,#f7fbff 0%,#eefaff 42%,#dff7ff 100%)}
.client-portal-v2{color:#08213f}.cp-bg{opacity:.18}.cp-header{background:rgba(255,255,255,.82);border:1px solid rgba(209,231,245,.9);box-shadow:0 18px 50px rgba(9,45,78,.08);border-radius:28px;padding:12px 18px;color:#08213f}.cp-brand{color:#08213f}.cp-brand small{color:#168db0}.cp-logo-img{height:58px;max-width:230px;object-fit:contain;display:block}.cp-brand-mark{display:none}.cp-logout{background:#f0f9ff;border-color:#cbefff;color:#063b66}.cp-card,.cp-hero-card{background:rgba(255,255,255,.96);box-shadow:0 22px 70px rgba(8,33,63,.10);border:1px solid #dceff9}.cp-hero-card{color:#08213f;background:linear-gradient(135deg,#fff 0%,#f1fbff 100%)}.cp-hero-card p,.cp-login-copy p{color:#47637d}.cp-pill{background:#e7f8ff;border-color:#bceeff;color:#0c6f92}.cp-status-box{background:linear-gradient(135deg,#052e57,#0b75a2);color:white}.cp-status-box span,.cp-status-box small{color:#d9f7ff}.cp-status-box strong{color:white}.cp-progress-line{grid-template-columns:repeat(5,1fr)}.cp-progress-step{min-height:132px;background:#f8fcff}.cp-progress-step span{font-size:14px;line-height:1.35;color:#14385f}.cp-progress-step i{border-radius:50%;width:44px;height:44px}.cp-progress-step.is-done{background:linear-gradient(135deg,#e6fff4,#f2fbff);border-color:#9be7c5}.cp-progress-step.is-current{outline:4px solid rgba(20,166,210,.20);box-shadow:0 16px 40px rgba(23,200,246,.12)}.cp-grid{grid-template-columns:1fr 380px}.cp-advisor-card{text-align:left}.cp-advisor-card .cp-avatar{margin:2px 0 14px}.cp-contact-list a,.cp-contact-missing{justify-content:flex-start;display:flex;align-items:center;gap:9px;padding:13px;border-radius:16px;background:#f4faff;border:1px solid #dbeefa;color:#075985;font-weight:1000;word-break:break-word}.cp-contact-missing{color:#64748b}.cp-contact-missing span{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#e0f7ff}.cp-timeline-item{grid-template-columns:84px 1fr 120px;align-items:start}.cp-work-type{display:inline-flex;padding:7px 10px;margin-bottom:8px;border-radius:999px;background:#e6f8ff;color:#056887;font-weight:1000;font-size:12px}.cp-plan-desc{display:block;margin-top:8px;color:#526b84;line-height:1.55;font-weight:700}.cp-date{background:linear-gradient(135deg,#063b66,#0e9bc2)}.cp-button-main{color:#fff;background:linear-gradient(135deg,#0d5bd7,#0ea5c6)}.cp-login-copy{color:#08213f}.cp-login-layout{align-items:stretch}.cp-login-features div{background:#fff;border-color:#dceff9;box-shadow:0 16px 50px rgba(8,33,63,.08)}.cp-login-features span{color:#153b61}.cp-login-features b{color:#0e9bc2}@media(max-width:1080px){.cp-progress-line{grid-template-columns:repeat(3,1fr)}.cp-grid{grid-template-columns:1fr}}@media(max-width:700px){.cp-logo-img{height:44px;max-width:170px}.cp-progress-line{grid-template-columns:1fr}.cp-timeline-item{grid-template-columns:1fr}.cp-header{border-radius:20px}.cp-brand b,.cp-brand small{display:none}}

/* Poprawiony plan prac w portalu klienta — bez danych klienta, tylko zakres wizyty/usług */
.cp-plan-content { min-width: 0; }
.cp-plan-time { margin: 6px 0 8px; color: #587095; font-weight: 700; }
.cp-plan-list { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.cp-plan-list li { position: relative; padding: 10px 12px 10px 36px; border: 1px solid #d7ecff; background: linear-gradient(180deg,#f8fcff,#eef8ff); border-radius: 14px; color: #102a56; font-weight: 650; line-height: 1.35; }
.cp-plan-list li:before { content: '✓'; position: absolute; left: 12px; top: 9px; width: 18px; height: 18px; border-radius: 999px; display: grid; place-items: center; background: #e0f5ff; color: #0059b8; font-size: 12px; font-weight: 900; }
.cp-timeline-item .cp-plan-desc { display:block; margin-top: 8px; color:#5d7192; line-height:1.45; }
@media (max-width: 700px) { .cp-plan-list li { padding-right: 10px; } }

/* Chronologiczny proces oferty */
.workflow-card{border:1px solid rgba(22,163,184,.16);box-shadow:0 18px 50px rgba(15,23,42,.08)}
.workflow-steps{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;margin:18px 0 22px;overflow:auto;padding-bottom:4px}
.workflow-step{min-height:92px;border:1px solid #e5eef7;background:#f8fbff;border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:10px;justify-content:center;color:#64748b}
.workflow-step span{width:30px;height:30px;border-radius:999px;background:#e2e8f0;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#475569}
.workflow-step b{font-size:13px;line-height:1.25}
.workflow-step.active{background:linear-gradient(135deg,#ecfeff,#eff6ff);border-color:#38bdf8;color:#0f172a;box-shadow:0 12px 30px rgba(56,189,248,.16)}
.workflow-step.active span{background:#0284c7;color:white}
.workflow-step.done{background:#ecfdf5;border-color:#86efac;color:#14532d}
.workflow-step.done span{background:#16a34a;color:white}
.workflow-actions{border-top:1px solid #e5eef7;padding-top:18px}
.workflow-form{background:#f8fbff;border:1px solid #e5eef7;border-radius:18px;padding:16px;margin-top:12px}
.hidden{display:none!important}
.workflow-actions details{background:#fff7f7;border:1px solid #fecaca;border-radius:16px;padding:13px;margin-top:12px}
.workflow-actions summary{cursor:pointer;font-weight:800;color:#991b1b}
@media(max-width:900px){.workflow-steps{grid-template-columns:1fr}.workflow-step{min-height:auto;flex-direction:row;align-items:center;justify-content:flex-start}}
.notice-unread{border-left:5px solid #0d5bd7;background:#f0f8ff}.kb-item{padding:14px 0;border-bottom:1px solid var(--border,#d9edf7)}.check{display:block;padding:10px 0}.inline{display:inline-block}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-card{border:1px solid rgba(13,91,215,.18)}.workflow-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:18px 0}.workflow-step{padding:14px;border-radius:16px;background:#f7fbff;border:1px solid #d9edf7}.workflow-step span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dbeafe;color:#0d5bd7;font-weight:800;margin-right:8px}.workflow-step.active{background:#eefaff;border-color:#17c8f6;box-shadow:0 10px 28px rgba(23,200,246,.16)}.workflow-step.done{background:#ecfdf5;border-color:#86efac}.workflow-step.done span{background:#22c55e;color:white}.workflow-form{padding:16px;border:1px solid #d9edf7;border-radius:18px;background:#fbfdff;margin-top:12px}.hidden{display:none!important}.event-pill.completed{background:#ecfdf5!important;border-color:#86efac!important;color:#065f46!important}.event-status-done{display:inline-block;margin-top:6px;font-weight:800;color:#15803d}.badge.completed{background:#dcfce7;color:#166534}.badge.scheduled{background:#dbeafe;color:#1d4ed8}.signature-preview{max-width:260px;border:1px solid #d9edf7;border-radius:12px;background:#fff}.kanban-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:20px}.kanban-col{min-width:280px;background:#f7fbff;border:1px solid #d9edf7;border-radius:22px;padding:14px}.kanban-col h2{font-size:16px;display:flex;justify-content:space-between;align-items:center}.kanban-card{background:white;border:1px solid #e6f2fb;border-radius:18px;padding:14px;margin:12px 0;box-shadow:0 10px 25px rgba(0,0,0,.04)}.kanban-card b,.kanban-card strong,.kanban-card small,.kanban-card em{display:block;margin-bottom:6px}.mini-stats{display:flex;gap:12px}.mini-stats div{background:#f7fbff;border:1px solid #d9edf7;border-radius:18px;padding:16px;min-width:120px}.mini-stats b{font-size:24px}.mini-stats span{display:block;color:#64748b}@media(max-width:800px){.grid-3{grid-template-columns:1fr}.workflow-steps{grid-template-columns:1fr}.kanban-board{display:block}.kanban-col{margin-bottom:14px;min-width:0}}

/* === CRM 2.1 — uporządkowany layout: lewy pasek + menu górne === */
.app-v2{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:#eef8fc}
.app-v2 .sidebar-compact{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px;background:linear-gradient(180deg,#061322,#0a1b30);overflow:hidden}
.sidebar-compact .logo{margin-bottom:18px}.sidebar-compact .logo img{width:155px}.new-offer-side{width:100%;margin:8px 0 12px;text-align:center;color:#04111f!important}.side-home{display:block;padding:13px 15px;border-radius:16px;background:rgba(255,255,255,.07);color:#eaf8ff;font-weight:900}.admin-box-bottom{margin-top:auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09)}.logout-link{display:block;margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(239,68,68,.18);color:#fecaca;font-weight:900}.main-shell{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 28px;background:rgba(238,248,252,.88);backdrop-filter:blur(14px);border-bottom:1px solid #d9edf7}.topnav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-group{position:relative}.nav-group>button{border:1px solid #d9edf7;background:#fff;color:#09223d;border-radius:999px;padding:10px 14px;font-weight:1000;cursor:pointer;box-shadow:0 8px 22px rgba(0,44,84,.05)}.nav-group:hover>button,.nav-group:focus-within>button{border-color:#17c8f6;color:#0d5bd7}.nav-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:#fff;border:1px solid #d9edf7;border-radius:18px;padding:8px;box-shadow:0 22px 55px rgba(0,44,84,.18)}.nav-group:hover .nav-menu,.nav-group:focus-within .nav-menu{display:grid;gap:4px}.nav-menu a{padding:11px 12px;border-radius:13px;font-weight:850;color:#12304d}.nav-menu a:hover{background:#eefaff;color:#0d5bd7}.top-theme{background:#fff!important;color:#09223d!important;border:1px solid #d9edf7;padding:10px 13px;text-align:center}.app-v2 .main{padding:30px;min-width:0}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;padding:28px;border-radius:28px;background:linear-gradient(135deg,#fff,#f0fbff);border:1px solid #d9edf7;box-shadow:0 18px 60px rgba(0,55,105,.07)}.home-hero h1{font-size:38px}.eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:1000;color:#0d5bd7}.home-stats{grid-template-columns:repeat(4,1fr)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.section-head h2{margin:0}.section-head a{font-weight:900;color:#0d5bd7}.home-list{display:grid;gap:10px}.home-list-item{display:grid;gap:5px;padding:14px;border-radius:17px;background:#f8fcff;border:1px solid #e0eef6}.home-list-item:hover{border-color:#17c8f6;background:#eefaff}.home-list-item b{font-size:15px}.home-list-item span{color:#425b73;line-height:1.4}.home-list-item small{color:#7b91a8;font-weight:800}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-actions-grid a{padding:16px;border-radius:17px;background:#f8fcff;border:1px solid #e0eef6;font-weight:1000}.quick-actions-grid a:hover{background:#eefaff;border-color:#17c8f6;color:#0d5bd7}body.dark .app-v2,body.dark .topbar{background:#07111f}body.dark .nav-group>button,body.dark .nav-menu,body.dark .top-theme,body.dark .home-hero,body.dark .home-list-item,body.dark .quick-actions-grid a{background:#0d1b2d!important;color:#eaf6ff!important;border-color:#1e3a55!important}body.dark .home-list-item span{color:#b8cad9}@media(max-width:1050px){.app-v2{grid-template-columns:1fr}.app-v2 .sidebar-compact{position:relative;height:auto}.admin-box-bottom{margin-top:12px}.topbar{position:relative;align-items:flex-start;flex-direction:column;padding:14px}.nav-menu{position:static;box-shadow:none;margin-top:6px}.nav-group:hover .nav-menu,.nav-group:focus-within .nav-menu{display:grid}.home-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.home-hero{flex-direction:column;align-items:flex-start;padding:20px}.home-stats{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:1fr}.app-v2 .main{padding:16px}.topnav{display:grid;width:100%;grid-template-columns:1fr}.nav-group>button{width:100%;text-align:left}.nav-menu{min-width:0;width:100%}}

/* Aktualizacja: profile zespołu, stanowiska, avatary i kolorowe uprawnienia */
.admin-person-link{display:flex;align-items:center;gap:8px;font-weight:800;text-decoration:none;color:inherit}
.tiny-avatar{width:32px;height:32px;border-radius:10px;object-fit:cover;box-shadow:0 6px 16px rgba(13,91,215,.15)}
.admin-mini-avatar{width:52px;height:52px;border-radius:16px;object-fit:cover;margin-bottom:8px;border:2px solid rgba(255,255,255,.45)}
.profile-head{display:flex;align-items:center;gap:18px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid rgba(15,42,74,.10)}
.profile-avatar{width:96px;height:96px;border-radius:24px;object-fit:cover;box-shadow:0 18px 45px rgba(13,91,215,.18)}
.profile-avatar.placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d5bd7,#17c8f6);color:#fff;font-size:38px;font-weight:900}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;max-height:360px;overflow:auto;padding:8px;border:1px solid rgba(15,42,74,.10);border-radius:18px;background:#f8fbff;margin-bottom:18px}
.perm-check{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:13px;font-size:12px;font-weight:800;border:1px solid transparent;background:#fff}
.perm-cloud{display:flex;flex-wrap:wrap;gap:8px}
.perm-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;border:1px solid transparent}
.perm-blue{background:#eaf3ff;color:#0d4fb0;border-color:#cfe4ff}.perm-indigo{background:#eef0ff;color:#3730a3;border-color:#d8dcff}.perm-cyan{background:#e6fbff;color:#08758d;border-color:#bff3ff}.perm-teal{background:#e9fbf7;color:#08705d;border-color:#c7f4e8}.perm-orange{background:#fff3e8;color:#a34800;border-color:#ffdcbc}.perm-green{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.perm-purple{background:#f5edff;color:#6d28d9;border-color:#e2ccff}.perm-slate{background:#f1f5f9;color:#334155;border-color:#dbe3eb}.perm-pink{background:#fff0f7;color:#be185d;border-color:#ffd0e4}.perm-violet{background:#f3e8ff;color:#7e22ce;border-color:#e9d5ff}.perm-emerald{background:#e9fff5;color:#047857;border-color:#c7f9df}.perm-red{background:#fff0f0;color:#b91c1c;border-color:#ffd1d1}.perm-amber{background:#fffbeb;color:#b45309;border-color:#fde68a}.perm-gray{background:#f5f5f5;color:#525252;border-color:#e5e5e5}
.event-pill.cancelled{border-color:#fecaca!important;background:linear-gradient(135deg,#fff7f7,#fff)!important;opacity:.92}.event-status-cancelled{display:inline-flex;margin-top:6px;padding:5px 8px;border-radius:999px;background:#fee2e2;color:#991b1b;font-weight:900;font-size:11px}
.cp-avatar-img{width:92px;height:92px;border-radius:24px;object-fit:cover;display:block;margin:0 auto 14px;box-shadow:0 16px 40px rgba(13,91,215,.18)}

/* CRM 2.4 — czytelne profile, uprawnienia i stabilny tryb ciemny */
html.dark, html.dark body{background:#07111f;color:#eaf6ff}
.permissions-human{display:grid;gap:10px;margin:12px 0 18px}
.perm-module{border:1px solid #d9edf7;border-radius:18px;background:#f8fcff;overflow:hidden}
.perm-module summary{cursor:pointer;padding:14px 16px;font-weight:1000;color:#0a2b4c;background:linear-gradient(135deg,#fff,#eefaff)}
.human-perm-row{display:flex!important;align-items:flex-start;gap:12px;padding:12px 16px!important;margin:0!important;border-top:1px solid #e6f0f6;background:#fff}
.human-perm-row:hover{background:#f0fbff}
.human-perm-row input{width:auto!important;margin-top:4px;accent-color:#0d5bd7}
.human-perm-row span{display:grid;gap:3px;line-height:1.25}
.human-perm-row b{font-size:14px;color:#09223d}
.human-perm-row small{color:#60758a;font-size:12px;line-height:1.35}
.human-perm-row.inherited{background:#f7fafc;opacity:.78}
.human-perm-row.inherited b:after{content:'  ✓';color:#16a34a}
.access-matrix{display:grid;gap:9px}.access-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e0eef6;border-radius:15px;background:#f8fcff}.access-row b{font-size:14px}.access-row small{font-weight:900;color:#64748b}.access-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:1000}.access-badge.full{background:#dcfce7;color:#166534}.access-badge.limited{background:#fef3c7;color:#92400e}.access-badge.none{background:#fee2e2;color:#991b1b}.stats-profile{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-profile .stat{min-height:90px}.perm-cloud{display:flex;flex-wrap:wrap;gap:8px}.perm-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:1000;border:1px solid transparent}.perm-blue{background:#dbeafe;color:#1d4ed8}.perm-indigo{background:#e0e7ff;color:#3730a3}.perm-cyan{background:#cffafe;color:#0e7490}.perm-teal{background:#ccfbf1;color:#0f766e}.perm-orange{background:#ffedd5;color:#c2410c}.perm-green{background:#dcfce7;color:#166534}.perm-purple{background:#f3e8ff;color:#7e22ce}.perm-slate{background:#e2e8f0;color:#334155}.perm-pink{background:#fce7f3;color:#be185d}.perm-violet{background:#ede9fe;color:#6d28d9}.perm-emerald{background:#d1fae5;color:#047857}.perm-red{background:#fee2e2;color:#991b1b}.perm-amber{background:#fef3c7;color:#92400e}.perm-gray{background:#f3f4f6;color:#374151}.admin-person-link{display:inline-flex;align-items:center;gap:8px;font-weight:1000}.tiny-avatar{width:28px;height:28px;border-radius:9px;object-fit:cover}.admin-mini-avatar{width:42px;height:42px;border-radius:12px;object-fit:cover;display:block;margin:8px 0}.profile-avatar{width:88px;height:88px;border-radius:24px;object-fit:cover;border:1px solid #d9edf7;box-shadow:0 12px 30px rgba(0,44,84,.12)}.profile-avatar.placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#17c8f6,#0d5bd7);color:#fff;font-weight:1000;font-size:34px}.profile-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}.profile-head h2{margin:0}.profile-head p{margin:4px 0;font-weight:900;color:#0d5bd7}
body.dark .perm-module,body.dark .access-row,body.dark .human-perm-row{background:#0d1b2d!important;border-color:#1e3a55!important}body.dark .perm-module summary{background:#10243b!important;color:#eaf6ff!important}body.dark .human-perm-row:hover{background:#10243b!important}body.dark .human-perm-row b{color:#eaf6ff!important}body.dark .human-perm-row small,body.dark .access-row small{color:#9bb4c9!important}body.dark .profile-head p{color:#7eeaff!important}body.dark .human-perm-row.inherited{background:#0a1727!important}
@media(max-width:760px){.access-row{grid-template-columns:1fr}.stats-profile{grid-template-columns:1fr}.profile-head{align-items:flex-start;flex-direction:column}}

/* CRM 2.6 — kolory ról i czystsze powiadomienia */
.role-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-left:6px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:1000;border:1px solid transparent;line-height:1;white-space:nowrap}
.role-gold{background:#fef3c7;color:#92400e;border-color:#fde68a}
.role-blue{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
.role-cyan{background:#cffafe;color:#0e7490;border-color:#a5f3fc}
.role-purple{background:#f3e8ff;color:#7e22ce;border-color:#e9d5ff}
.role-green{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.role-emerald{background:#d1fae5;color:#047857;border-color:#a7f3d0}
.role-amber{background:#fef3c7;color:#92400e;border-color:#fde68a}
.role-pink{background:#fce7f3;color:#be185d;border-color:#fbcfe8}
.role-slate{background:#e2e8f0;color:#334155;border-color:#cbd5e1}
.role-gray{background:#f3f4f6;color:#374151;border-color:#e5e7eb}
.timeline-item .role-badge{margin-left:8px}


/* CRM 2.7 — poprawka badge roli w logach: ma być przy nazwisku, bez rozciągania */
.timeline-item span .role-badge,
.timeline-item .role-badge,
.role-badge{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px 9px!important;
  margin-left:6px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}
.timeline-meta, .log-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}



/* CRM 2.8 — ostateczna poprawka badge ról w logach.
   Nadpisuje ogólne `.timeline-item span{display:block}` dla badge roli. */
.timeline-item .timeline-meta,
.timeline-meta,
.log-meta{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.timeline-item .role-badge,
.timeline-item span.role-badge,
span.role-badge,
.role-badge{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  padding:4px 9px!important;
  margin-left:6px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}
.timeline-item > span:not(.role-badge):has(.role-badge){
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}


/* Assignment / ownership */
.owner-inline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;vertical-align:middle}
.owner-inline-avatar{width:34px;height:34px;border-radius:10px;object-fit:cover;border:1px solid #d9edf7;background:#eef8fc;display:inline-grid;place-items:center;font-weight:1000;color:#0d5bd7}
.owner-inline-initials{display:inline-grid}
.owner-inline small{display:block;color:#60758a;font-weight:800;line-height:1.15}
.assignment-card{margin:16px 0 18px}
.side-my-cases{background:rgba(23,200,246,.13)!important;border-color:rgba(23,200,246,.22)!important}
body.dark .owner-inline-avatar{background:#0b2538;border-color:#21455e;color:#78e8ff}

/* CleanRush logo update: oddzielne logo CRM i favicon */
.logo.crm-logo-wrap{display:flex;align-items:center;justify-content:center;gap:0;padding:0;margin:0 0 10px;min-height:88px;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible}
.logo.crm-logo-wrap img{width:190px!important;max-width:100%;height:auto!important;display:block;object-fit:contain;filter:drop-shadow(0 10px 28px rgba(23,200,246,.22)) brightness(1.08)}
.logo.crm-logo-wrap .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dark .logo.crm-logo-wrap img, body.dark .logo.crm-logo-wrap img{filter:drop-shadow(0 12px 32px rgba(23,200,246,.35)) brightness(1.18)}
.login img{content:url('assets/logo-crm.png');max-width:260px;width:260px!important;height:auto!important;background:transparent!important;filter:drop-shadow(0 14px 34px rgba(23,200,246,.25)) brightness(1.1)}
.cp-logo-img{max-height:74px;width:auto;object-fit:contain;background:transparent!important;filter:drop-shadow(0 10px 24px rgba(23,200,246,.2))}


/* === CleanRush logo fix v2.13 === */
.login-wrap .login img,
form.login img[src*="logo-crm"]{
  display:block !important;
  width:min(280px, 82%) !important;
  max-width:280px !important;
  height:auto !important;
  margin:0 auto 22px !important;
  object-fit:contain !important;
  background:transparent !important;
  filter:drop-shadow(0 16px 34px rgba(23,200,246,.22));
}
.sidebar .crm-logo-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:92px !important;
  padding:8px 4px 18px !important;
}
.sidebar .crm-logo-wrap img,
.logo.crm-logo-wrap img{
  display:block !important;
  width:100% !important;
  max-width:210px !important;
  height:auto !important;
  object-fit:contain !important;
  background:transparent !important;
  filter:drop-shadow(0 12px 28px rgba(23,200,246,.22));
}
body.dark .sidebar .crm-logo-wrap img,
body.dark .login-wrap .login img{
  filter:brightness(1.12) drop-shadow(0 14px 34px rgba(23,200,246,.28));
}

/* === CleanRush CRM 3.0 — uproszczony, sprzedażowo-realizacyjny układ === */
.clean-dashboard-hero{background:linear-gradient(135deg,rgba(23,200,246,.14),rgba(13,91,215,.10));border:1px solid rgba(23,200,246,.22);box-shadow:0 24px 60px rgba(6,19,34,.08)}
.clean-dashboard-hero h1{letter-spacing:-.03em}.clean-dashboard-hero .actions{display:flex;gap:10px;flex-wrap:wrap}.clean-stats .stat{display:block;text-decoration:none;color:inherit;transition:.18s ease}.clean-stats .stat:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(13,91,215,.10)}
.dashboard-panel{min-height:360px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head a{font-weight:800;color:#0d5bd7;text-decoration:none}.home-list{display:flex;flex-direction:column;gap:10px}.home-list-item{display:block;padding:14px 16px;border:1px solid #e6eef6;border-radius:18px;text-decoration:none;color:inherit;background:#fff;transition:.18s ease}.home-list-item:hover{border-color:#b9eefe;box-shadow:0 14px 34px rgba(6,19,34,.08);transform:translateY(-1px)}.home-list-item b{display:block;margin-bottom:5px}.home-list-item span,.home-list-item small{display:block;color:#61788d;line-height:1.45}.notice-unread{background:linear-gradient(135deg,#f0fbff,#fff);border-color:#bdefff}
.topnav .nav-group .nav-menu a[href="kanban.php"],.topnav .nav-group .nav-menu a[href="portfolio.php"],.topnav .nav-group .nav-menu a[href="leaves.php"],.topnav .nav-group .nav-menu a[href="inventory.php"],.topnav .nav-group .nav-menu a[href="knowledge.php"]{display:none!important}
.dark .home-list-item{background:#0b1828;border-color:#1e3349}.dark .home-list-item span,.dark .home-list-item small{color:#9fb2c5}.dark .clean-dashboard-hero{background:linear-gradient(135deg,rgba(23,200,246,.14),rgba(13,91,215,.18));border-color:#1c4c68}.dark .notice-unread{background:linear-gradient(135deg,#0b2234,#0b1828);border-color:#26647f}


/* CleanRush CRM 3.1 — uporządkowana baza wiedzy i prostsze uprawnienia */
.knowledge-layout { align-items:start; }
.knowledge-list { display:grid; gap:14px; }
.knowledge-card { border:1px solid rgba(15,23,42,.10); border-radius:22px; padding:18px; background:rgba(255,255,255,.82); box-shadow:0 10px 30px rgba(15,23,42,.06); }
.knowledge-card-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.knowledge-card h3 { margin:8px 0 8px; font-size:18px; }
.knowledge-badge { display:inline-flex; width:auto; max-width:max-content; background:#eaf8ff; color:#0369a1; border:1px solid #bae6fd; }
.knowledge-full { margin-top:14px; padding:14px; border-radius:16px; background:#f8fafc; white-space:normal; }
.knowledge-filter { align-items:end; }
.dark .knowledge-card { background:rgba(15,23,42,.82); border-color:rgba(255,255,255,.10); }
.dark .knowledge-full { background:rgba(255,255,255,.06); }
.dark .knowledge-badge { background:rgba(14,165,233,.18); color:#bae6fd; border-color:rgba(125,211,252,.25); }
.permissions-human .perm-module summary { cursor:pointer; font-weight:800; }
.permissions-human .human-perm-row small { display:block; margin-top:3px; line-height:1.35; }


/* CleanRush CRM 3.2 — pojazdy i zadania pracowników */
.task-list{display:grid;gap:14px}
.task-card{border:1px solid rgba(15,23,42,.10);border-radius:22px;padding:18px;background:rgba(255,255,255,.86);box-shadow:0 12px 32px rgba(15,23,42,.06)}
.task-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.compact-grid{gap:12px;margin:14px 0}
.status{display:inline-flex!important;width:auto!important;max-width:max-content!important;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;line-height:1;border:1px solid rgba(15,23,42,.08);white-space:nowrap}
.status.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.status.info{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
.status.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}
.status.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.status.purple{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}
.status.muted{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.inline-details{display:inline-block;position:relative}
.inline-details summary{list-style:none}
.inline-details summary::-webkit-details-marker{display:none}
.inline-form{display:inline-flex;gap:8px;align-items:center;margin-left:8px}
.inline-form input{min-width:180px}
.timeline-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(15,23,42,.08)}
.timeline-date{color:#64748b;font-size:13px;font-weight:700}
.table-wrap{overflow:auto}
.btn.small, button.small{padding:8px 12px;font-size:13px;border-radius:12px}
.dark .task-card{background:rgba(15,23,42,.82);border-color:rgba(255,255,255,.10)}
.dark .timeline-row{border-color:rgba(255,255,255,.10)}
.dark .timeline-date{color:#9fb2c5}
.dark .status.ok{background:rgba(34,197,94,.18);color:#bbf7d0;border-color:rgba(34,197,94,.25)}
.dark .status.info{background:rgba(59,130,246,.18);color:#bfdbfe;border-color:rgba(59,130,246,.25)}
.dark .status.warn{background:rgba(245,158,11,.18);color:#fde68a;border-color:rgba(245,158,11,.25)}
.dark .status.danger{background:rgba(239,68,68,.18);color:#fecaca;border-color:rgba(239,68,68,.25)}
.dark .status.purple{background:rgba(139,92,246,.18);color:#ddd6fe;border-color:rgba(139,92,246,.25)}
.dark .status.muted{background:rgba(148,163,184,.12);color:#cbd5e1;border-color:rgba(148,163,184,.20)}
@media (max-width:760px){.task-head{flex-direction:column}.timeline-row{grid-template-columns:1fr}.inline-form{display:flex;margin:8px 0 0}.inline-form input{min-width:0;width:100%}}

/* Galeria strony WWW */
.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.grid-form .full{grid-column:1/-1}
.check-line{flex-direction:row!important;align-items:center;font-weight:600!important}
.table-wrap{overflow-x:auto}
.btn-small{padding:7px 10px;font-size:12px}
.btn-danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
.badge.ok{background:#dcfce7;color:#166534}
.badge.warn{background:#fef3c7;color:#92400e}
@media(max-width:900px){.grid-form{grid-template-columns:1fr}}
