/* ============================================================
 * MW // OPERATOR — Komponenty zakładek
 * Header zakładki, kontrolki, akcje, statusy, layoouty
 * ============================================================ */

/* === Wspólny header zakładki === */
.mw-tab-header {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mw-sp-4);
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: var(--mw-sp-5);
    padding-bottom: var(--mw-sp-3);
    border-bottom: 1px solid var(--mw-border-subtle);
}
.mw-tab-title {
    font-family: var(--mw-font-serif);
    font-size: 24px;
    font-weight: 600;
    margin: 0;
}
.mw-tab-subtitle {
    font-family: var(--mw-font-sans);
    font-size: 13px;
    font-weight: 400;
    color: var(--mw-muted);
    font-style: italic;
}
.mw-tab-controls {
    display: flex;
    gap: var(--mw-sp-3);
    align-items: center;
    flex-wrap: wrap;
}
.mw-tab-controls label {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mw-tab-controls select,
.mw-tab-controls input[type="search"] {
    font-family: var(--mw-font-sans);
    font-size: 13px;
    padding: 6px 10px;
    border: 1px solid var(--mw-border-subtle);
    border-radius: 6px;
    background: var(--mw-bg);
    color: var(--mw-fg);
    min-width: 180px;
}
.mw-tab-controls select:focus,
.mw-tab-controls input:focus {
    outline: 0;
    border-color: var(--mw-accent);
}

.mw-tab-loader {
    text-align: center;
    padding: var(--mw-sp-12) 0;
    font-family: var(--mw-font-mono);
    font-size: 12px;
    letter-spacing: 0.12em;
    color: var(--mw-muted);
}
.mw-tab-empty {
    text-align: center;
    padding: var(--mw-sp-10) var(--mw-sp-6);
    color: var(--mw-muted);
    font-style: italic;
    background: var(--mw-bg-elev);
    border-radius: 8px;
    border: 1px dashed var(--mw-border-subtle);
}

/* === Toggle group (Nadchodzące / Odbyte) === */
.mw-toggle-group {
    display: inline-flex;
    background: var(--mw-bg-elev);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 6px;
    padding: 2px;
}
.mw-toggle {
    background: transparent;
    border: 0;
    padding: 6px 14px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mw-muted);
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
}
.mw-toggle:hover { color: var(--mw-fg); }
.mw-toggle.is-active {
    background: var(--mw-bg);
    color: var(--mw-fg);
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

/* === Search input === */
.mw-search-input {
    flex: 1;
    min-width: 240px !important;
}

/* === Status pille === */
.mw-status-pill {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-family: var(--mw-font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.mw-status-pill.is-soft    { background: var(--mw-bg-cream-2); color: var(--mw-text-secondary); }
.mw-status-pill.is-info    { background: rgba(88, 112, 160, 0.12); color: var(--mw-status-info); }
.mw-status-pill.is-warn    { background: rgba(212, 165, 55, 0.18); color: #8E6E10; }
.mw-status-pill.is-success { background: rgba(74, 124, 89, 0.18); color: var(--mw-status-online); }
.mw-status-pill.is-muted   { background: var(--mw-bg-cream-2); color: var(--mw-muted); }
.mw-status-pill.is-danger  { background: rgba(196, 89, 59, 0.15); color: var(--mw-status-urgent); }
/* Sesja prog #135 — "Plan gotowy" = wypelniony zloty badge (hot lead, wyrozniony od zielonego "Umowil"). */
.mw-status-pill.is-gold    { background: linear-gradient(135deg, #F5C842, #E0A82E); color: #5A4209; font-weight: 700; }
[data-theme="dark"] .mw-status-pill.is-warn { color: #F0C36B; }

/* === Akcje wierszy (znormalizowane) === */
.mw-row-act {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    border: 1px solid var(--mw-border-subtle);
    border-radius: 6px;
    background: var(--mw-bg);
    color: var(--mw-fg);
    font-family: var(--mw-font-sans);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}
.mw-row-act:hover {
    background: var(--mw-bg-cream-2);
    border-color: var(--mw-border-medium);
}
.mw-row-act-primary {
    background: var(--mw-accent);
    color: #fff;
    border-color: var(--mw-accent);
}
.mw-row-act-primary:hover {
    background: var(--mw-accent-strong);
    border-color: var(--mw-accent-strong);
}
.mw-row-act-success {
    background: rgba(74, 124, 89, 0.1);
    border-color: rgba(74, 124, 89, 0.3);
    color: var(--mw-status-online);
}
.mw-row-act-success:hover {
    background: rgba(74, 124, 89, 0.2);
}
.mw-row-act-warning {
    background: transparent;
    border-color: rgba(217, 119, 6, 0.35);
    color: #b45309;
}
.mw-row-act-warning:hover {
    background: rgba(217, 119, 6, 0.08);
}
.mw-row-act-danger {
    background: transparent;
    border-color: rgba(196, 89, 59, 0.3);
    color: var(--mw-status-urgent);
}
.mw-row-act-danger:hover {
    background: rgba(196, 89, 59, 0.08);
}
.mw-row-act-secondary {
    background: var(--mw-bg-elev);
    color: var(--mw-text-secondary);
}
.mw-row-act-icon {
    padding: 6px 8px;
    font-size: 11px;
}

/* === Generator card === */
.mw-gen-card {
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 12px;
    padding: var(--mw-sp-6);
    box-shadow: var(--mw-shadow-card);
}
.mw-gen-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--mw-sp-4);
    padding-bottom: var(--mw-sp-3);
    border-bottom: 1px solid var(--mw-border-subtle);
}
.mw-gen-title {
    font-family: var(--mw-font-serif);
    font-size: 20px;
    font-weight: 600;
}
.mw-gen-shortcut {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-muted);
    letter-spacing: 0.12em;
    background: var(--mw-bg-elev);
    padding: 4px 8px;
    border-radius: 4px;
}
.mw-gen-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--mw-sp-3);
}
@media (max-width: 600px) {
    .mw-gen-grid { grid-template-columns: 1fr; }
}
.mw-gen-cta {
    width: 100%;
    background: var(--mw-accent);
    color: #fff;
    border: 0;
    padding: 16px;
    font-family: var(--mw-font-mono);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
}
.mw-gen-cta:hover { background: var(--mw-accent-strong); }
.mw-gen-cta:active { transform: translateY(1px); }
.mw-gen-cta:disabled {
    background: var(--mw-border);
    cursor: not-allowed;
}

.mw-gen-result {
    margin-top: var(--mw-sp-5);
    padding-top: var(--mw-sp-5);
    border-top: 1px dashed var(--mw-border-subtle);
}
.mw-gen-result-row {
    margin-bottom: var(--mw-sp-4);
}
.mw-gen-result-url {
    background: var(--mw-bg-elev);
    padding: var(--mw-sp-3);
    border-radius: 6px;
    margin-top: 4px;
    font-family: var(--mw-font-mono);
    font-size: 12px;
    word-break: break-all;
    color: var(--mw-text-secondary);
    border: 1px solid var(--mw-border-subtle);
}
.mw-gen-sms-edit {
    width: 100%;
    margin-top: 4px;
    padding: var(--mw-sp-3);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 6px;
    background: var(--mw-bg);
    color: var(--mw-fg);
    font-family: var(--mw-font-sans);
    font-size: 13px;
    line-height: 1.6;
    resize: vertical;
}
.mw-gen-sms-edit:focus {
    outline: 0;
    border-color: var(--mw-accent);
}
.mw-gen-sms-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 4px;
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-muted);
    letter-spacing: 0.06em;
}
.mw-gen-cta-row {
    margin-top: var(--mw-sp-4);
}
.mw-gen-cta-primary {
    width: 100%;
    background: var(--mw-fg);
    color: var(--mw-bg);
    border: 0;
    padding: 14px;
    font-family: var(--mw-font-mono);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
}
.mw-gen-cta-primary:hover {
    background: var(--mw-text-secondary);
}
.mw-gen-cta-primary:active { transform: translateY(1px); }
.mw-gen-cta-secondary-row {
    margin-top: var(--mw-sp-4);
    padding-top: var(--mw-sp-3);
    border-top: 1px dashed var(--mw-border-subtle);
    display: flex;
    flex-wrap: wrap;
    gap: var(--mw-sp-2);
    justify-content: center;
}

/* === Generator: kanał wysyłki (QR + SMS przez intermediate page) ===
   Single full-width card — QR jest jedyną metodą bo działa na każdym aparacie
   (deep link sms:/SMSTO ignorowane przez smart-camera w Motoroli/Samsungu). */
.mw-gen-channels {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--mw-sp-3);
    margin-top: var(--mw-sp-3);
}
.mw-gen-channel {
    display: flex;
    align-items: center;
    gap: var(--mw-sp-3);
    padding: var(--mw-sp-4);
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    cursor: pointer;
    text-align: left;
    font-family: var(--mw-font-sans);
    transition: all 0.15s;
}
.mw-gen-channel:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--mw-shadow-card);
}
.mw-gen-channel-qr {
    color: var(--mw-accent);
    /* Single full-width CTA — większy padding, lekka rama akcentowa */
    padding: var(--mw-sp-5) var(--mw-sp-4);
    border-color: rgba(224, 120, 86, 0.18);
    background: linear-gradient(
        135deg,
        var(--mw-bg-card) 0%,
        rgba(224, 120, 86, 0.04) 100%
    );
}
.mw-gen-channel-qr:hover {
    background: linear-gradient(
        135deg,
        var(--mw-bg-card) 0%,
        rgba(224, 120, 86, 0.10) 100%
    );
    border-color: var(--mw-accent);
    color: var(--mw-accent);
}
.mw-gen-channel-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: currentColor;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.mw-gen-channel-qr .mw-gen-channel-icon {
    background: var(--mw-fg);
    color: var(--mw-bg);
}
.mw-gen-channel-icon svg {
    color: var(--mw-bg-cream-light);
}
.mw-gen-channel-qr .mw-gen-channel-icon svg {
    color: var(--mw-bg);
}
[data-theme="dark"] .mw-gen-channel-icon svg {
    color: #fff;
}
.mw-gen-channel-body {
    flex: 1;
    min-width: 0;
}
.mw-gen-channel-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.3;
}
.mw-gen-channel-sub {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-muted);
    letter-spacing: 0.04em;
    margin-top: 4px;
    line-height: 1.4;
}

/* === Modal QR === */
.mw-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(26, 24, 20, 0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    animation: mw-modal-in 0.2s ease-out;
    padding: var(--mw-sp-4);
}
@keyframes mw-modal-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.mw-modal {
    background: var(--mw-bg-card);
    border-radius: 14px;
    padding: var(--mw-sp-6);
    width: 100%;
    max-width: 520px;
    max-height: 92vh;
    overflow-y: auto;
    position: relative;
    box-shadow: var(--mw-shadow-modal);
    animation: mw-modal-content-in 0.25s ease-out;
}
@keyframes mw-modal-content-in {
    from { opacity: 0; transform: translateY(8px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.mw-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: var(--mw-muted);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.15s;
}
.mw-modal-close:hover {
    background: var(--mw-bg-elev);
    color: var(--mw-fg);
}

.mw-qr-modal {
    max-width: 460px;
}
.mw-qr-head {
    margin-bottom: var(--mw-sp-4);
}
.mw-qr-title {
    font-family: var(--mw-font-serif);
    font-size: 22px;
    font-weight: 600;
    margin: 4px 0 0 0;
}

.mw-qr-modes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    background: var(--mw-bg-elev);
    padding: 4px;
    border-radius: 8px;
    margin-bottom: var(--mw-sp-4);
}
.mw-qr-mode {
    background: transparent;
    border: 0;
    padding: 8px 6px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mw-muted);
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.15s, color 0.15s;
}
.mw-qr-mode:hover { color: var(--mw-fg); }
.mw-qr-mode.is-active {
    background: var(--mw-bg-card);
    color: var(--mw-accent);
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.mw-qr-canvas-wrap {
    background: #FAF6EF;
    padding: var(--mw-sp-4);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 290px;
    margin-bottom: var(--mw-sp-3);
}
[data-theme="dark"] .mw-qr-canvas-wrap {
    background: #FAF6EF; /* Zostaje jasne — QR musi mieć biały fon */
}
.mw-qr-canvas-wrap > div {
    display: flex;
    align-items: center;
    justify-content: center;
}
.mw-qr-canvas-wrap img,
.mw-qr-canvas-wrap canvas {
    display: block;
    border-radius: 4px;
}

.mw-qr-error {
    color: var(--mw-status-urgent);
    text-align: center;
    padding: var(--mw-sp-6);
    font-style: italic;
}

.mw-qr-desc {
    text-align: center;
    color: var(--mw-text-secondary);
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: var(--mw-sp-4);
    padding: var(--mw-sp-2) var(--mw-sp-3);
}

.mw-qr-editor {
    background: var(--mw-bg-elev);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    padding: var(--mw-sp-3);
    margin-bottom: var(--mw-sp-3);
}
.mw-qr-editor[hidden] {
    display: none;
}
.mw-qr-editor .mw-gen-sms-edit {
    margin-top: 6px;
    background: var(--mw-bg-card);
    font-size: 12px;
}

.mw-qr-actions {
    display: flex;
    gap: var(--mw-sp-2);
    justify-content: flex-end;
    flex-wrap: wrap;
}

/* === Recent links (Ostatnie 24h) === */
.mw-recent-section {
    margin-top: var(--mw-sp-5);
    padding-top: var(--mw-sp-5);
    border-top: 1px solid var(--mw-border-subtle);
}
.mw-recent-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--mw-sp-3);
}
.mw-recent-more {
    background: transparent;
    border: 0;
    color: var(--mw-accent);
    font-family: var(--mw-font-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    cursor: pointer;
    padding: 4px 8px;
}
.mw-recent-more:hover { text-decoration: underline; }

.mw-recent-list {
    display: flex;
    flex-direction: column;
    gap: var(--mw-sp-2);
}
.mw-recent-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: var(--mw-sp-3);
    align-items: center;
    padding: var(--mw-sp-3);
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    transition: border-color 0.15s;
}
.mw-recent-row:hover {
    border-color: var(--mw-border-medium);
}
.mw-recent-row-name {
    font-weight: 500;
    color: var(--mw-fg);
}
.mw-recent-row-meta {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-muted);
    margin-top: 2px;
    letter-spacing: 0.04em;
}
.mw-recent-row-acts {
    display: flex;
    gap: var(--mw-sp-2);
    flex-wrap: wrap;
}
@media (max-width: 600px) {
    .mw-recent-row {
        grid-template-columns: 1fr;
    }
    .mw-recent-row-status {
        order: -1;
        text-align: right;
    }
}

.mw-recent-empty {
    margin-top: var(--mw-sp-5);
    padding: var(--mw-sp-5);
    background: var(--mw-bg-elev);
    border-radius: 8px;
    border: 1px dashed var(--mw-border-subtle);
    text-align: center;
}
.mw-recent-empty-msg {
    margin-top: var(--mw-sp-2);
    color: var(--mw-muted);
    font-size: 13px;
    font-style: italic;
}

/* === Tab AKTYWNOŚĆ — wiersz leada === */
.mw-act-row {
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    padding: var(--mw-sp-4);
    margin-bottom: var(--mw-sp-3);
    transition: border-color 0.15s, box-shadow 0.15s;
}
.mw-act-row:hover {
    border-color: var(--mw-border-medium);
    box-shadow: var(--mw-shadow-sm);
}

.mw-act-row-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--mw-sp-3);
    margin-bottom: var(--mw-sp-3);
    padding-bottom: var(--mw-sp-3);
    border-bottom: 1px dashed var(--mw-border-subtle);
}
.mw-act-row-id {
    display: flex;
    gap: var(--mw-sp-3);
    align-items: center;
}
.mw-act-row-avatar {
    width: 38px;
    height: 38px;
    background: var(--mw-bg-elev);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--mw-font-mono);
    font-weight: 600;
    font-size: 13px;
    color: var(--mw-text-secondary);
}
.mw-act-row-name {
    font-weight: 500;
    font-size: 15px;
    color: var(--mw-fg);
}
.mw-act-row-phone {
    font-family: var(--mw-font-mono);
    font-size: 12px;
    color: var(--mw-muted);
    margin-top: 2px;
    letter-spacing: 0.04em;
}
.mw-act-row-status {
    text-align: right;
}
.mw-act-row-tpl {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-muted);
    margin-top: 4px;
    letter-spacing: 0.06em;
}

.mw-act-row-stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--mw-sp-3);
    padding: var(--mw-sp-3) 0;
    margin-bottom: var(--mw-sp-3);
}
@media (max-width: 600px) {
    .mw-act-row-stats { grid-template-columns: repeat(2, 1fr); }
}
.mw-act-stat-label {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-muted);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.mw-act-stat-val {
    font-family: var(--mw-font-mono);
    font-size: 16px;
    font-weight: 600;
    color: var(--mw-fg);
    margin-top: 2px;
}

.mw-act-row-path {
    background: var(--mw-bg-elev);
    padding: var(--mw-sp-2) var(--mw-sp-3);
    border-radius: 6px;
    margin-bottom: var(--mw-sp-3);
    font-size: 13px;
}
.mw-act-row-path-label {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-muted);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-right: 8px;
}
.mw-act-row-path-val {
    color: var(--mw-fg);
    font-weight: 500;
}

.mw-act-row-actions {
    display: flex;
    gap: var(--mw-sp-2);
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* === Tab SPOTKANIA === */
.mw-meet-group {
    margin-bottom: var(--mw-sp-5);
}
.mw-meet-group-header {
    font-family: var(--mw-font-serif);
    font-size: 16px;
    font-weight: 600;
    color: var(--mw-fg);
    margin-bottom: var(--mw-sp-3);
    padding-bottom: 6px;
    border-bottom: 1px solid var(--mw-border-subtle);
}
.mw-meet-row {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: var(--mw-sp-4);
    align-items: center;
    padding: var(--mw-sp-3);
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    margin-bottom: var(--mw-sp-2);
    transition: border-color 0.15s;
}
.mw-meet-row:hover {
    border-color: var(--mw-accent);
}
.mw-meet-row.is-past {
    opacity: 0.7;
}
.mw-meet-time {
    font-family: var(--mw-font-mono);
    font-size: 18px;
    font-weight: 600;
    color: var(--mw-accent);
}
.mw-meet-until {
    display: block;
    font-family: var(--mw-font-mono);
    font-size: 10px;
    font-weight: 400;
    color: var(--mw-muted);
    margin-top: 2px;
    letter-spacing: 0.06em;
}
.mw-meet-name {
    font-weight: 500;
    font-size: 15px;
}
.mw-meet-meta {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-muted);
    margin-top: 4px;
    letter-spacing: 0.04em;
}
.mw-meet-actions {
    display: flex;
    gap: var(--mw-sp-2);
}
@media (max-width: 600px) {
    .mw-meet-row { grid-template-columns: 1fr; gap: var(--mw-sp-2); }
    .mw-meet-time { font-size: 14px; }
}

/* === Tab LINKI — tabela === */
.mw-bulk-bar {
    display: flex;
    gap: var(--mw-sp-3);
    align-items: center;
    padding: var(--mw-sp-3) var(--mw-sp-4);
    background: var(--mw-accent-bg);
    border-radius: 8px;
    margin-bottom: var(--mw-sp-3);
    font-family: var(--mw-font-mono);
    font-size: 12px;
    color: var(--mw-fg);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mw-link-table {
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    overflow: hidden;
}
.mw-link-thead, .mw-link-tr {
    display: grid;
    grid-template-columns: 40px 1.6fr 0.9fr 1.1fr 0.9fr 1.3fr 1.7fr;
    gap: var(--mw-sp-3);
    align-items: center;
    padding: var(--mw-sp-3) var(--mw-sp-4);
}

/* #130 — Uklad kolumn dla W-C-O funnel view (.mw-link-table.is-wca):
   Lead z avatarem | Status | W-C-O tiles | Aktywnosc | Akcje. 6 kolumn.
   Status przywrocony na prosbe Slawka (lifecycle pill: Wygenerowany/Otworzyl/Umowil).
   Data wygenerowania w expanded panel. */
.mw-link-table.is-wca .mw-link-thead,
.mw-link-table.is-wca .mw-link-tr {
    grid-template-columns: 40px 2fr 1fr 1.5fr 1.4fr 1.3fr;
}
.mw-link-td-status {
    display: flex;
    align-items: center;
}
.mw-link-thead {
    background: var(--mw-bg-elev);
    border-bottom: 1px solid var(--mw-border-subtle);
}
.mw-link-th {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-muted);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
}
.mw-link-tr {
    border-bottom: 1px solid var(--mw-border-subtle);
    transition: background 0.15s;
}
.mw-link-tr:last-child {
    border-bottom: 0;
}
.mw-link-tr:hover {
    background: var(--mw-bg-elev);
}
.mw-link-td-name {
    font-weight: 500;
    font-size: 14px;
    color: var(--mw-fg);
}
.mw-link-td-sub {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-muted);
    margin-top: 2px;
    letter-spacing: 0.04em;
}
.mw-mono-sm {
    font-family: var(--mw-font-mono);
    font-size: 12px;
    color: var(--mw-text-secondary);
    letter-spacing: 0.04em;
}
.mw-link-row-acts {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mw-link-td-owner {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.mw-link-owner-avatar {
    flex: 0 0 26px;
    width: 26px; height: 26px;
    border-radius: 50%;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
    user-select: none;
}
.mw-link-owner-name {
    font-size: 13px;
    color: var(--mw-fg);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

@media (max-width: 1100px) {
    .mw-link-thead { display: none; }
    .mw-link-tr {
        grid-template-columns: 40px 1fr;
        grid-auto-rows: auto;
    }
    .mw-link-tr > .mw-link-td:nth-child(3),
    .mw-link-tr > .mw-link-td:nth-child(4),
    .mw-link-tr > .mw-link-td:nth-child(5),
    .mw-link-tr > .mw-link-td:nth-child(6) {
        grid-column: 2 / -1;
    }
    .mw-link-tr > .mw-link-td:last-child {
        grid-column: 1 / -1;
        margin-top: var(--mw-sp-2);
    }
}

/* ============================================================
   LEADY — accordion (expand inline)
   ============================================================ */

/* Wiersz klikalny (z engagement) */
.mw-link-tr.is-expandable {
    cursor: pointer;
}
.mw-link-tr.is-expandable:hover {
    background: var(--mw-bg-elev);
}
.mw-link-tr.is-expanded {
    background: var(--mw-bg-elev);
    border-bottom-color: transparent;
}

/* Komórka AKTYWNOŚĆ — empty (—) */
.mw-link-activity-empty {
    color: var(--mw-muted);
    font-style: italic;
}

/* Komórka AKTYWNOŚĆ — active (z chevron + statsy) */
.mw-link-activity-active {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    color: var(--mw-fg);
}
.mw-link-activity-main {
    font-weight: 500;
}
.mw-link-activity-sub {
    color: var(--mw-muted);
    font-size: 11px;
}
.mw-link-activity-sub::before {
    content: "·";
    margin-right: 6px;
    color: var(--mw-muted);
}
.mw-link-chevron {
    display: inline-block;
    color: var(--mw-accent);
    font-size: 13px;
    transition: transform 0.18s ease-out;
    transform-origin: center;
    line-height: 1;
}
.mw-link-chevron.is-rotated {
    transform: rotate(90deg);
}

/* Expanded panel (inline pod wierszem) */
.mw-link-expanded {
    background: var(--mw-bg-elev);
    border-bottom: 1px solid var(--mw-border-subtle);
    padding: 0 var(--mw-sp-4) var(--mw-sp-4);
    animation: mwExpandFade 0.22s ease-out;
}
@keyframes mwExpandFade {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}
.mw-link-expanded-inner {
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    padding: var(--mw-sp-4) var(--mw-sp-5);
}
.mw-link-expanded-meta {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    color: var(--mw-muted);
    margin-bottom: var(--mw-sp-3);
    padding-bottom: var(--mw-sp-3);
    border-bottom: 1px dashed var(--mw-border-subtle);
}
.mw-link-expanded-meta-label {
    text-transform: uppercase;
    margin-right: 8px;
}
.mw-link-expanded-meta-sep {
    color: var(--mw-muted);
    margin: 0 6px;
    opacity: 0.5;
}
.mw-link-expanded-meta-val {
    color: var(--mw-fg);
    font-style: italic;
    font-family: var(--mw-font-sans);
    font-size: 13px;
    letter-spacing: 0;
}

.mw-link-expanded-stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--mw-sp-4);
    margin-bottom: var(--mw-sp-4);
}
.mw-link-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mw-link-stat-label {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mw-muted);
}
.mw-link-stat-val {
    font-family: var(--mw-font-serif);
    font-size: 18px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.2;
}

/* Sesja #136 — rozbicie aktywnosci per kanal lejka (Wizytowka / Oferta-Plan / Chat) */
.mw-link-channels {
    margin-top: var(--mw-sp-3);
    padding-top: var(--mw-sp-3);
    border-top: 1px dashed var(--mw-border-subtle);
}
.mw-link-channels-label {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mw-muted);
    margin-bottom: var(--mw-sp-2);
}
.mw-link-channel {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    align-items: center;
    gap: var(--mw-sp-3);
    padding: 5px 0;
    font-size: 13px;
}
.mw-link-channel + .mw-link-channel {
    border-top: 1px solid var(--mw-border-subtle);
}
.mw-link-channel-name {
    font-weight: 600;
    color: var(--mw-fg);
}
.mw-link-channel-state {
    color: var(--mw-muted);
}
.mw-link-channel.is-active .mw-link-channel-state {
    color: var(--mw-fg);
    font-weight: 600;
}
.mw-link-channel-ts {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-muted);
    white-space: nowrap;
}

.mw-link-expanded-actions {
    display: flex;
    gap: var(--mw-sp-2);
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: var(--mw-sp-3);
    border-top: 1px dashed var(--mw-border-subtle);
}

@media (max-width: 1100px) {
    .mw-link-expanded {
        padding: 0 var(--mw-sp-3) var(--mw-sp-3);
    }
    .mw-link-expanded-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--mw-sp-3);
    }
    .mw-link-stat-val {
        font-size: 16px;
    }
}
@media (max-width: 600px) {
    .mw-link-expanded-stats {
        grid-template-columns: 1fr;
    }
    .mw-link-expanded-actions {
        justify-content: stretch;
    }
    .mw-link-expanded-actions .mw-row-act {
        flex: 1 1 auto;
    }
}

.mw-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--mw-sp-4);
    padding: var(--mw-sp-3) 0;
    font-family: var(--mw-font-mono);
    font-size: 12px;
    color: var(--mw-muted);
    letter-spacing: 0.06em;
}
.mw-pagination-btn {
    background: transparent;
    border: 1px solid var(--mw-border-subtle);
    border-radius: 6px;
    padding: 6px 14px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mw-fg);
    cursor: pointer;
}
.mw-pagination-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.mw-pagination-btn:hover:not(:disabled) {
    background: var(--mw-bg-elev);
}

/* ============================================================
   ADMINISTRACJA — panel sekcji (cards grid)
   ============================================================ */
.mw-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--mw-sp-4);
}
.mw-admin-card {
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    padding: var(--mw-sp-4) var(--mw-sp-4);
    transition: border-color 0.15s, transform 0.15s;
}
.mw-admin-card:hover {
    border-color: var(--mw-border-medium);
}
.mw-admin-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--mw-sp-2);
    margin-bottom: var(--mw-sp-3);
}
.mw-admin-card-title {
    font-family: var(--mw-font-serif);
    font-size: 17px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.3;
}
.mw-admin-card-status {
    font-family: var(--mw-font-mono);
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
    flex-shrink: 0;
}
.mw-admin-card-status--planning {
    background: var(--mw-bg-cream-2);
    color: var(--mw-text-secondary);
}
.mw-admin-card-status--soon {
    background: rgba(212, 165, 55, 0.18);
    color: #8E6E10;
}
.mw-admin-card-status--active {
    background: rgba(74, 124, 89, 0.18);
    color: var(--mw-status-online);
}
.mw-admin-card-desc {
    font-family: var(--mw-font-sans);
    font-size: 13px;
    line-height: 1.55;
    color: var(--mw-text-secondary);
}
.mw-admin-card.is-clickable {
    cursor: pointer;
}
.mw-admin-card.is-clickable:hover {
    border-color: var(--mw-accent);
    transform: translateY(-1px);
}

/* Header w widoku detalu (drill-down z karty) */
.mw-admin-detail-header {
    display: flex;
    align-items: center;
    gap: var(--mw-sp-4);
    margin-bottom: var(--mw-sp-5);
    padding-bottom: var(--mw-sp-3);
    border-bottom: 1px solid var(--mw-border-subtle);
}
.mw-admin-detail-header > h2 {
    flex: 1;
    margin: 0;
}

/* === ADMIN → TELEMETRIA (sesja #111, Level 1+2+3) ============== */

.mw-admin-detail-title {
    font-size: 18px;
    font-weight: 600;
    flex: 1;
    color: var(--mw-text-primary);
}
.mw-admin-detail-actions { display: flex; gap: 8px; align-items: center; }

.mw-tel-period-bar {
    display: flex; gap: 8px; margin-bottom: var(--mw-sp-4);
    padding: 4px;
    background: var(--mw-bg-cream-2);
    border-radius: 8px;
    width: fit-content;
}
.mw-tel-period {
    background: transparent; border: none; padding: 6px 14px;
    border-radius: 6px; cursor: pointer; font-size: 12px;
    font-family: var(--mw-font-mono); color: var(--mw-text-secondary);
}
.mw-tel-period.is-active {
    background: var(--mw-accent);
    color: #fff; font-weight: 600;
}
.mw-tel-period:hover:not(.is-active) {
    background: rgba(0,0,0,0.05);
}

.mw-tel-grid {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: var(--mw-sp-4);
}
.mw-tel-section { padding: var(--mw-sp-4); }
.mw-tel-wide { grid-column: 1 / -1; }

/* === Sesja prog #131: AKTYWNOSC LEADOW — heatmap kiedy klikaja === */
.mw-tel-la-summary {
    display: flex;
    gap: var(--mw-sp-3);
    margin-top: var(--mw-sp-3);
    margin-bottom: var(--mw-sp-4);
    flex-wrap: wrap;
}
.mw-tel-la-summary-pill {
    flex: 1;
    min-width: 200px;
    padding: 12px 16px;
    background: var(--mw-bg-cream-2);
    border-left: 3px solid var(--mw-accent, #B8543C);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mw-tel-la-summary-pill.is-warn  { border-left-color: var(--mw-status-warn, #D49B5C); }
.mw-tel-la-summary-pill.is-danger { border-left-color: var(--mw-status-urgent, #C44A3C); background: rgba(196, 74, 60, 0.06); }
.mw-tel-la-summary-num {
    font-family: var(--mw-font-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.1;
}
.mw-tel-la-summary-num em { color: var(--mw-text-faint); font-style: normal; font-weight: 400; }
.mw-tel-la-summary-lbl {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mw-text-muted);
}

.mw-tel-la-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--mw-sp-4);
}
@media (max-width: 1100px) {
    .mw-tel-la-grid { grid-template-columns: 1fr; }
}

.mw-tel-la-sublabel {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mw-text-muted);
    margin-bottom: 8px;
}

/* Heatmap grid: 1 col label + 24 col cells */
.mw-tel-la-hm-grid {
    display: grid;
    grid-template-columns: 36px repeat(24, minmax(0, 1fr));
    gap: 2px;
    font-family: var(--mw-font-mono);
}
.mw-tel-la-hm-corner { background: transparent; }
.mw-tel-la-hm-hhdr {
    font-size: 9px;
    color: var(--mw-text-faint);
    text-align: left;
    padding: 2px 0;
    letter-spacing: 0.04em;
    overflow: visible;
    white-space: nowrap;
}
.mw-tel-la-hm-dow {
    font-size: 10px;
    color: var(--mw-text-muted);
    padding: 4px 6px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.mw-tel-la-hm-dow.is-weekend { color: var(--mw-accent, #B8543C); font-weight: 600; }
.mw-tel-la-hm-cell {
    aspect-ratio: 1;
    min-height: 18px;
    background: var(--mw-bg-cream-2);
    border-radius: 2px;
    position: relative;
    cursor: default;
    transition: transform 0.1s ease;
}
/* Color intensity — base cream tint, fill with accent at full opacity */
.mw-tel-la-hm-cell::after {
    content: '';
    position: absolute; inset: 0;
    background: var(--mw-accent, #B8543C);
    border-radius: 2px;
    opacity: var(--la-opacity, 0);
}
.mw-tel-la-hm-cell.is-workhour {
    box-shadow: inset 0 0 0 1px rgba(92, 140, 94, 0.18); /* subtle green tint for work hours */
}
.mw-tel-la-hm-cell.is-peak {
    box-shadow: inset 0 0 0 2px var(--mw-fg, #1A1814);
}
.mw-tel-la-hm-cell:hover {
    transform: scale(1.15);
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.mw-tel-la-legend {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 10px;
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-text-muted);
    letter-spacing: 0.06em;
    flex-wrap: wrap;
}
.mw-tel-la-legend-cell {
    width: 14px; height: 14px;
    background: var(--mw-accent, #B8543C);
    border-radius: 2px;
}
.mw-tel-la-legend-divider { margin: 0 6px; opacity: 0.5; }
.mw-tel-la-legend-workhours {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.mw-tel-la-legend-workhours::before {
    content: '';
    width: 14px; height: 14px;
    background: var(--mw-bg-cream-2);
    box-shadow: inset 0 0 0 1px rgba(92, 140, 94, 0.4);
    border-radius: 2px;
}

/* Side cards — engagement / returning / geo / device */
.mw-tel-la-side {
    display: flex;
    flex-direction: column;
    gap: var(--mw-sp-3);
}
.mw-tel-la-side-card {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    background: var(--mw-bg-cream-2);
    border-radius: 6px;
    align-items: flex-start;
}
.mw-tel-la-side-icon {
    font-size: 22px;
    line-height: 1;
    flex-shrink: 0;
}
.mw-tel-la-side-body { flex: 1; min-width: 0; }
.mw-tel-la-side-title {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mw-text-muted);
    margin-bottom: 8px;
}
.mw-tel-la-side-hint {
    cursor: help;
    opacity: 0.5;
    margin-left: 4px;
}
.mw-tel-la-side-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 4px;
}
.mw-tel-la-side-num {
    font-family: var(--mw-font-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--mw-fg);
}
.mw-tel-la-side-of {
    color: var(--mw-text-faint);
    font-size: 13px;
}
.mw-tel-la-side-pct {
    margin-left: auto;
    padding: 2px 8px;
    background: var(--mw-accent, #B8543C);
    color: #fff;
    border-radius: 999px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    font-weight: 600;
}
.mw-tel-la-side-sub {
    font-size: 12px;
    color: var(--mw-text-muted);
    line-height: 1.5;
}
.mw-tel-la-side-sub strong { color: var(--mw-fg); font-weight: 600; }

/* Engagement bars: hot/warm/cold */
.mw-tel-la-eng-bars {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 8px;
}
.mw-tel-la-eng-bar {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 10px;
    border-radius: 4px;
    background: var(--mw-bg-cream-3, rgba(0,0,0,0.04));
    overflow: hidden;
    font-size: 12px;
    z-index: 0;
}
.mw-tel-la-eng-bar::before {
    content: '';
    position: absolute;
    inset: 0;
    width: var(--w, 0%);
    z-index: -1;
    opacity: 0.22;
    border-radius: 4px;
}
.mw-tel-la-eng-bar.is-hot::before  { background: var(--mw-status-urgent, #C44A3C); }
.mw-tel-la-eng-bar.is-warm::before { background: var(--mw-status-warn, #D49B5C); }
.mw-tel-la-eng-bar.is-cold::before { background: var(--mw-text-faint, #B8A989); }
.mw-tel-la-eng-bar-lbl { font-weight: 500; color: var(--mw-fg); }
.mw-tel-la-eng-bar-val { font-family: var(--mw-font-mono); font-size: 11px; color: var(--mw-text-muted); }

/* Mini horizontal bars for geo / device */
.mw-tel-la-mini-bars {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 4px;
}
.mw-tel-la-mini-bar {
    display: grid;
    grid-template-columns: 60px 1fr 90px;
    gap: 8px;
    align-items: center;
    font-size: 12px;
}
.mw-tel-la-mini-bar-lbl {
    color: var(--mw-fg);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-tel-la-mini-bar-track {
    height: 6px;
    background: rgba(0,0,0,0.06);
    border-radius: 3px;
    overflow: hidden;
}
.mw-tel-la-mini-bar-fill {
    height: 100%;
    background: var(--mw-accent, #B8543C);
    border-radius: 3px;
    transition: width 0.3s ease;
}
.mw-tel-la-mini-bar-num {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-text-muted);
    text-align: right;
}
.mw-tel-loader, .mw-tel-empty {
    color: var(--mw-text-muted); padding: var(--mw-sp-4);
    text-align: center; font-style: italic;
}
.mw-tel-empty-small { color: var(--mw-text-muted); font-size: 12px; padding: 8px; font-style: italic; }
.mw-tel-sub-label {
    font-family: var(--mw-font-mono); font-size: 11px;
    color: var(--mw-text-secondary); letter-spacing: 0.06em;
    margin-bottom: 6px;
}

/* KPI tile-y (sekcja A) */
.mw-tel-kpi-row {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mw-sp-3);
    margin-top: var(--mw-sp-2);
}
.mw-tel-kpi-tile {
    text-align: center; padding: var(--mw-sp-3);
    background: var(--mw-bg-cream-2);
    border-radius: 8px;
}
.mw-tel-kpi-num {
    font-size: 28px; font-weight: 700;
    color: var(--mw-text-primary);
}
.mw-tel-kpi-lbl {
    font-family: var(--mw-font-mono); font-size: 10px;
    color: var(--mw-text-muted); letter-spacing: 0.08em;
    margin-top: 4px;
}
.mw-tel-kpi-conv .mw-tel-kpi-num { color: var(--mw-accent); }

/* Geo bar list (sekcja B) */
.mw-tel-geo-list { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.mw-tel-geo-row { display: grid; grid-template-columns: 24px 36px 1fr 60px; gap: 8px; align-items: center; }
.mw-tel-geo-flag { font-size: 16px; }
.mw-tel-geo-cc { font-family: var(--mw-font-mono); font-size: 11px; color: var(--mw-text-secondary); }
.mw-tel-geo-bar { height: 8px; background: var(--mw-bg-cream-2); border-radius: 4px; overflow: hidden; }
.mw-tel-geo-bar-fill { height: 100%; background: var(--mw-accent); border-radius: 4px; }
.mw-tel-geo-count { text-align: right; font-family: var(--mw-font-mono); font-size: 11px; color: var(--mw-text-secondary); }

/* Side-by-side devices/browsers (sekcja C) */
.mw-tel-side-by-side { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mw-sp-4); margin-top: 8px; }
.mw-tel-bar-row { display: grid; grid-template-columns: 80px 1fr 80px; gap: 8px; align-items: center; margin-bottom: 4px; }
.mw-tel-bar-lbl { font-size: 11px; color: var(--mw-text-secondary); }
.mw-tel-bar { height: 6px; background: var(--mw-bg-cream-2); border-radius: 3px; overflow: hidden; }
.mw-tel-bar-fill { height: 100%; background: var(--mw-accent); border-radius: 3px; }
.mw-tel-bar-num { font-family: var(--mw-font-mono); font-size: 10px; color: var(--mw-text-muted); text-align: right; }

/* UTM table (sekcja D) */
.mw-tel-table { width: 100%; border-collapse: collapse; font-size: 12px; margin-top: 8px; }
.mw-tel-table th { text-align: left; font-family: var(--mw-font-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--mw-text-secondary); padding: 6px 8px; border-bottom: 1px solid var(--mw-border-subtle); }
.mw-tel-table td { padding: 6px 8px; border-bottom: 1px solid var(--mw-border-light); }
.mw-tel-table .mw-tel-num { font-family: var(--mw-font-mono); text-align: right; }
.mw-tel-table code { background: var(--mw-bg-cream-2); padding: 1px 5px; border-radius: 3px; font-size: 11px; }

/* Engagement (sekcja E) */
.mw-tel-eng-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 8px; }
.mw-tel-eng-card { text-align: center; padding: 12px; background: var(--mw-bg-cream-2); border-radius: 6px; }
.mw-tel-eng-num { font-size: 22px; font-weight: 700; color: var(--mw-text-primary); }
.mw-tel-eng-lbl { font-family: var(--mw-font-mono); font-size: 10px; color: var(--mw-text-muted); margin-top: 2px; }
.mw-tel-blocks-list { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
.mw-tel-funnel-row { display: flex; align-items: center; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.mw-tel-funnel-step { background: var(--mw-bg-cream-2); padding: 8px 14px; border-radius: 6px; text-align: center; min-width: 64px; }
.mw-tel-funnel-num { font-size: 20px; font-weight: 700; }
.mw-tel-funnel-lbl { font-family: var(--mw-font-mono); font-size: 10px; color: var(--mw-text-muted); }
.mw-tel-funnel-arrow { color: var(--mw-text-muted); }
.mw-tel-funnel-warn { background: rgba(217, 119, 6, 0.1); color: #b45309; }
.mw-tel-funnel-success { background: rgba(74, 124, 89, 0.15); }

/* Funnel ladder (sekcja F) */
.mw-tel-funnel-ladder { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.mw-tel-funnel-step-bar { display: flex; align-items: center; gap: 12px; }
.mw-tel-funnel-bar {
    background: linear-gradient(90deg, var(--mw-accent), var(--mw-accent-strong));
    color: #fff; padding: 8px 12px; border-radius: 4px;
    font-size: 12px; font-weight: 600; white-space: nowrap;
    min-width: 100px; transition: width 0.3s ease;
}
.mw-tel-funnel-bar-name { margin-right: 12px; }
.mw-tel-funnel-bar-count { font-family: var(--mw-font-mono); }
.mw-tel-funnel-drop {
    font-family: var(--mw-font-mono); font-size: 11px;
    color: var(--mw-text-muted);
}
.mw-tel-funnel-overall {
    margin-top: 12px; padding: 8px;
    background: var(--mw-bg-cream-2); border-radius: 4px;
    font-size: 13px; text-align: center;
}

/* Lejek ankiety Plan Oddłużeniowy — drop-off per slajd (sekcja F2, sesja #136) */
.mw-tel-survey-summary {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-bottom: 12px; font-size: 14px; color: var(--mw-fg);
}
.mw-tel-survey-summary strong { font-size: 18px; font-family: var(--mw-font-serif); }
.mw-tel-survey-arrow { color: var(--mw-text-muted); }
.mw-tel-survey-compl {
    margin-left: auto; font-family: var(--mw-font-mono); font-size: 12px;
    padding: 3px 10px; border-radius: 999px;
    background: #dcfce7; color: #15803d; font-weight: 600;
}
.mw-tel-funnel-step-bar.is-worst-drop .mw-tel-funnel-bar {
    outline: 2px solid #f59e0b; outline-offset: 1px;
}
.mw-tel-survey-insight {
    margin-top: 12px; padding: 9px 12px; border-radius: 4px;
    background: #fef3c7; color: #b45309; font-size: 13px; line-height: 1.4;
}
.mw-tel-survey-pq { margin-top: 14px; }
.mw-tel-survey-pq-label {
    font-family: var(--mw-font-mono); font-size: 10px; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--mw-text-muted); margin-bottom: 6px;
}
.mw-tel-survey-pq-table {
    width: 100%; border-collapse: collapse; font-size: 13px;
}
.mw-tel-survey-pq-table th {
    text-align: left; font-family: var(--mw-font-mono); font-size: 10px;
    letter-spacing: 0.06em; text-transform: uppercase; color: var(--mw-text-muted);
    padding: 4px 8px; border-bottom: 1px solid var(--mw-border-subtle);
}
.mw-tel-survey-pq-table td {
    padding: 5px 8px; border-bottom: 1px solid var(--mw-border-subtle); color: var(--mw-fg);
}
.mw-tel-survey-pq-table th:not(:first-child),
.mw-tel-survey-pq-table td:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.mw-tel-survey-pq-table tr.is-stuck td { color: #b91c1c; font-weight: 600; }

/* ============================================================
 * F1 — Lejek LEGO + Chat + SLA (sekcja J, sesja prog #123)
 * Pit-wall styling: czarne tlo dla pola "race control",
 * gradient bars per stage (cyan → gold), drop-off badges Ferrari-red.
 * ============================================================ */
.mw-tel-f1 {
    background: linear-gradient(180deg, #0f172a, #111827 60%, #1f2937);
    color: #e2e8f0;
    border: 1px solid #1e293b;
}
.mw-tel-f1 .mw-mono-label {
    color: #f1f5f9;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding-bottom: 8px;
    margin-bottom: 12px;
    letter-spacing: 0.08em;
}
.mw-tel-f1-period-tag {
    color: #fbbf24;
    font-weight: 700;
    margin-left: 6px;
}
.mw-tel-f1-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 16px;
}
@media (max-width: 1100px) {
    .mw-tel-f1-grid { grid-template-columns: 1fr; }
}
.mw-tel-f1-pane {
    background: rgba(15, 23, 42, 0.7);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 6px;
    padding: 12px;
}
.mw-tel-f1-sublabel {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: #94a3b8;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
}
.mw-tel-f1-mono {
    color: #cbd5e1;
    font-weight: 400;
}

/* ----- Funnel ----- */
.mw-tel-f1-funnel {
    display: flex; flex-direction: column; gap: 8px;
}
.mw-tel-f1-stage {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 10px;
    align-items: center;
}
.mw-tel-f1-stage-pos {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: #64748b;
    text-align: right;
    letter-spacing: 0.05em;
}
.mw-tel-f1-stage-body {
    display: grid;
    grid-template-columns: 1fr 110px;
    gap: 8px;
    align-items: center;
}
.mw-tel-f1-stage-track {
    background: rgba(255,255,255,0.04);
    border-radius: 4px;
    overflow: hidden;
}
.mw-tel-f1-stage-bar {
    color: #fff;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    min-width: 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: width 0.4s ease;
    box-shadow: 0 0 12px rgba(99, 102, 241, 0.15);
}
.mw-tel-f1-stage-label {
    overflow: hidden;
    text-overflow: ellipsis;
    margin-right: 10px;
}
.mw-tel-f1-stage-count {
    font-family: var(--mw-font-mono);
    font-size: 13px;
    font-weight: 700;
}
.mw-tel-f1-stage-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
}
.mw-tel-f1-conv {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: #94a3b8;
    min-width: 38px;
    text-align: right;
}
.mw-tel-f1-drop {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 3px;
    min-width: 48px;
    text-align: center;
    letter-spacing: 0.05em;
}
.mw-tel-f1-drop.is-neutral {
    background: rgba(148, 163, 184, 0.15);
    color: #94a3b8;
}
.mw-tel-f1-drop.is-warn {
    background: rgba(245, 158, 11, 0.22);
    color: #fbbf24;
}
.mw-tel-f1-drop.is-danger {
    background: rgba(220, 38, 38, 0.25);
    color: #f87171;
    box-shadow: 0 0 8px rgba(220, 38, 38, 0.3);
}

/* ----- SLA Board ----- */
.mw-tel-f1-sla-board {
    display: flex; flex-direction: column;
    border-radius: 4px;
    overflow: hidden;
}
.mw-tel-f1-sla-head, .mw-tel-f1-sla-row {
    display: grid;
    grid-template-columns: 36px 1fr 48px 84px 84px 64px;
    gap: 6px;
    padding: 6px 8px;
    align-items: center;
}
.mw-tel-f1-sla-head {
    background: rgba(0,0,0,0.4);
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: #64748b;
    letter-spacing: 0.08em;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.mw-tel-f1-sla-row {
    border-bottom: 1px solid rgba(255,255,255,0.04);
    transition: background 0.15s ease;
}
.mw-tel-f1-sla-row:hover {
    background: rgba(255,255,255,0.03);
}
.mw-tel-f1-sla-row:last-child {
    border-bottom: 0;
}
.mw-tel-f1-sla-cell {
    font-size: 12px;
}
.mw-tel-f1-sla-cell-name {
    color: #f1f5f9;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-tel-f1-sla-pos {
    font-family: var(--mw-font-mono);
    font-size: 14px;
    text-align: center;
}
.mw-tel-f1-sla-mono {
    font-family: var(--mw-font-mono);
    font-size: 12px;
    color: #cbd5e1;
}
.mw-tel-f1-sla-row strong {
    color: #f8fafc;
}
.mw-tel-f1-sla-flag {
    display: inline-block;
    font-family: var(--mw-font-mono);
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 3px;
    letter-spacing: 0.06em;
    min-width: 48px;
    text-align: center;
}
.mw-tel-f1-sla-flag.is-drs   { background: rgba(34,197,94,0.22);  color: #22c55e; box-shadow: inset 0 0 0 1px rgba(34,197,94,0.5); }
.mw-tel-f1-sla-flag.is-ok    { background: rgba(132,204,22,0.22); color: #a3e635; }
.mw-tel-f1-sla-flag.is-slow  { background: rgba(245,158,11,0.22); color: #fbbf24; }
.mw-tel-f1-sla-flag.is-red   { background: rgba(220,38,38,0.28);  color: #fca5a5; box-shadow: 0 0 8px rgba(220,38,38,0.4); }

.mw-tel-f1-sla-row.is-drs   { background: linear-gradient(90deg, rgba(34,197,94,0.10), transparent); }
.mw-tel-f1-sla-row.is-slow  { background: linear-gradient(90deg, rgba(245,158,11,0.08), transparent); }
.mw-tel-f1-sla-row.is-red   { background: linear-gradient(90deg, rgba(220,38,38,0.12), transparent); }

.mw-tel-f1-sla-legend {
    margin-top: 10px;
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: #64748b;
    text-align: center;
    letter-spacing: 0.04em;
}
.mw-tel-f1-sla-legend .mw-tel-f1-sla-flag {
    margin: 0 2px;
    min-width: 40px;
    font-size: 9px;
}

.mw-tel-f1 .mw-tel-empty {
    color: #94a3b8;
    background: rgba(0,0,0,0.25);
    border: 1px dashed rgba(255,255,255,0.08);
    border-radius: 4px;
    padding: 16px;
    text-align: center;
    font-style: normal;
}

/* ============= K) Akcje kontaktowe ============= */
.mw-tel-contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 12px;
    margin-top: 12px;
}
.mw-tel-contact-tile {
    --accent: #64748b;
    background: var(--mw-card-bg, #fff);
    border: 1px solid var(--mw-border, #e2e8f0);
    border-radius: 10px;
    padding: 16px 14px;
    text-align: center;
    position: relative;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    overflow: hidden;
}
.mw-tel-contact-tile::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--accent);
    opacity: 0.85;
}
.mw-tel-contact-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
    border-color: var(--accent);
}
.mw-tel-contact-icon {
    color: var(--accent);
    width: 36px;
    height: 36px;
    margin: 4px auto 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--accent) 12%, transparent);
    border-radius: 50%;
}
.mw-tel-contact-label {
    font-size: 10.5px;
    color: var(--mw-text-muted, #64748b);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 6px;
    font-weight: 600;
}
.mw-tel-contact-count {
    font-size: 28px;
    font-weight: 700;
    color: var(--mw-text-primary, #1e293b);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}
.mw-tel-contact-sub {
    font-size: 11px;
    color: var(--mw-text-muted, #94a3b8);
    margin-top: 6px;
}

/* ============= Collapsible sections (16.05.2026) ============= */
.mw-user-edit-card-head.is-collapsible {
    cursor: pointer;
    user-select: none;
    position: relative;
    padding-right: 36px;
    transition: background 0.15s ease;
}
.mw-user-edit-card-head.is-collapsible:hover {
    background: color-mix(in srgb, var(--mw-text-muted, #94a3b8) 6%, transparent);
}
.mw-user-edit-card-head.is-collapsible::after {
    content: '';
    position: absolute;
    right: 18px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--mw-text-muted, #94a3b8);
    border-bottom: 2px solid var(--mw-text-muted, #94a3b8);
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.2s ease, border-color 0.15s ease;
}
.mw-user-edit-card-head.is-collapsible:hover::after {
    border-color: var(--mw-text-primary, #1e293b);
}
.mw-user-edit-card.is-collapsed .mw-user-edit-card-head.is-collapsible::after {
    transform: translateY(-30%) rotate(-45deg);
}
.mw-user-edit-card.is-collapsed > *:not(.mw-user-edit-card-head) {
    display: none !important;
}
.mw-user-edit-card.is-collapsed {
    padding-bottom: 0;
}

/* ============= Visibility mode cards (POMOCNICZY DORADCY) ============= */
.mw-vismode-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    padding: 18px 18px 4px;
}
@media (max-width: 900px) {
    .mw-vismode-grid { grid-template-columns: 1fr; }
}
.mw-vismode-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    padding: 16px 44px 16px 16px;
    border: 1.5px solid var(--mw-border, #e2e8f0);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s, transform 0.15s;
    background: var(--mw-card-bg, #fff);
    min-height: 92px;
}
.mw-vismode-card input[type="radio"] {
    position: absolute;
    top: 18px;
    right: 16px;
    cursor: pointer;
    accent-color: var(--mw-accent, #C4593B);
    width: 18px;
    height: 18px;
}
.mw-vismode-card:hover {
    border-color: var(--mw-text-muted, #94a3b8);
    transform: translateY(-1px);
}
.mw-vismode-card.is-active {
    border-color: var(--mw-accent, #C4593B);
    background: color-mix(in srgb, var(--mw-accent, #C4593B) 5%, var(--mw-card-bg, #fff));
    box-shadow: 0 4px 12px color-mix(in srgb, var(--mw-accent, #C4593B) 14%, transparent);
}
.mw-vismode-emoji {
    font-size: 16px;
    margin-right: 4px;
}
.mw-vismode-title {
    font-weight: 700;
    color: var(--mw-text-primary, #1e293b);
    font-size: 14px;
    line-height: 1.3;
    display: flex;
    align-items: center;
}
.mw-vismode-desc {
    font-size: 12px;
    color: var(--mw-text-secondary, #64748b);
    line-height: 1.5;
}
.mw-vismode-hint {
    margin: 4px 18px 18px;
    padding: 12px 14px;
    background: color-mix(in srgb, var(--mw-accent, #C4593B) 4%, transparent);
    border-left: 3px solid color-mix(in srgb, var(--mw-accent, #C4593B) 50%, transparent);
    border-radius: 6px;
    font-size: 12.5px;
    color: var(--mw-text-secondary, #64748b);
    line-height: 1.55;
}
.mw-vismode-hint[hidden] { display: none; }
.mw-vismode-userlist {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 4px 18px 18px;
}
.mw-vismode-userlist[hidden] { display: none; }
.mw-vismode-userlist-label {
    font-size: 11px;
    font-family: var(--mw-font-mono, monospace);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--mw-text-muted, #94a3b8);
    margin-bottom: 4px;
    padding-bottom: 8px;
    border-bottom: 1px dashed var(--mw-border, #e2e8f0);
}

/* ============= Quick Questions v2 (16.05.2026) ============= */
.mw-qq-section {
    padding: 14px 18px 4px;
}
.mw-qq-section-header {
    font-size: 11px;
    font-family: var(--mw-font-mono, monospace);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--mw-text-muted, #94a3b8);
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px dashed var(--mw-border, #e2e8f0);
}
.mw-qq-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}
.mw-qq-empty {
    padding: 16px;
    text-align: center;
    color: var(--mw-text-muted, #94a3b8);
    font-size: 13px;
    font-style: italic;
    background: color-mix(in srgb, var(--mw-border, #e2e8f0) 30%, transparent);
    border-radius: 8px;
}
.mw-qq-row {
    display: grid;
    grid-template-columns: 26px 1fr auto auto;
    gap: 10px;
    align-items: center;
    padding: 6px 10px;
    background: var(--mw-card-bg, #fff);
    border: 1px solid var(--mw-border, #e2e8f0);
    border-radius: 8px;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.mw-qq-row:hover {
    border-color: var(--mw-text-muted, #94a3b8);
}
.mw-qq-row.is-archived {
    opacity: 0.6;
    background: color-mix(in srgb, var(--mw-border, #e2e8f0) 25%, transparent);
}
.mw-qq-num {
    font-family: var(--mw-font-mono, monospace);
    font-size: 11px;
    color: var(--mw-text-muted, #94a3b8);
    text-align: center;
}
.mw-qq-text-input {
    padding: 7px 10px;
    font-size: 13px;
    min-width: 0;
}
.mw-qq-text-input[readonly] {
    background: transparent;
    cursor: default;
    color: var(--mw-text-secondary, #64748b);
}
.mw-qq-ctr {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    min-width: 50px;
    text-align: center;
    justify-content: center;
}
.mw-qq-ctr.is-empty { background: #f1f5f9; color: #94a3b8; }
.mw-qq-ctr.is-low { background: #fef9c3; color: #a16207; }
.mw-qq-ctr.is-mid { background: #fde68a; color: #92400e; }
.mw-qq-ctr.is-good { background: #d1fae5; color: #047857; }
.mw-qq-ctr.is-premium { background: #fed7aa; color: #C4593B; }
.mw-qq-ctr-raw {
    font-size: 9px;
    opacity: 0.7;
    font-weight: 500;
}
.mw-qq-action-btn {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--mw-border, #e2e8f0);
    border-radius: 6px;
    color: var(--mw-text-muted, #94a3b8);
    cursor: pointer;
    font-size: 16px;
    transition: all 0.15s;
}
.mw-qq-action-btn:hover {
    background: var(--mw-border, #e2e8f0);
    color: var(--mw-text-primary, #1e293b);
}
.mw-qq-add-btn {
    width: 100%;
    margin-bottom: 12px;
}
.mw-qq-add-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.mw-qq-archived-toggle {
    cursor: pointer;
    user-select: none;
    padding: 8px 0;
    font-size: 11px;
    font-family: var(--mw-font-mono, monospace);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--mw-text-muted, #94a3b8);
    transition: color 0.15s;
}
.mw-qq-archived-toggle:hover {
    color: var(--mw-text-secondary, #64748b);
}
.mw-qq-archived-chev {
    display: inline-block;
    margin-right: 6px;
    font-size: 9px;
    transition: transform 0.2s;
}
.mw-qq-list-archived {
    margin-top: 6px;
    padding-left: 12px;
    border-left: 2px dashed var(--mw-border, #e2e8f0);
}

/* ============= Quick Questions Preview Iframe (PR2) ============= */
.mw-qq-preview-wrap {
    margin: 14px 18px 18px;
    border: 1.5px solid var(--mw-border, #e2e8f0);
    border-radius: 12px;
    overflow: hidden;
    background: #faf6f0;
}
.mw-qq-preview-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #fff;
    border-bottom: 1px solid var(--mw-border, #e2e8f0);
    flex-wrap: wrap;
}
.mw-qq-preview-label {
    font-size: 11px;
    font-family: var(--mw-font-mono, monospace);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--mw-text-muted, #94a3b8);
    font-weight: 700;
    flex: 1;
    min-width: 180px;
}
.mw-qq-preview-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.mw-qq-preview-advisor-label {
    font-size: 12px;
    color: var(--mw-text-secondary, #64748b);
    font-weight: 500;
}
.mw-qq-preview-select {
    min-width: 160px;
    padding: 6px 10px;
    font-size: 13px;
}
.mw-qq-preview-iframe {
    width: 100%;
    height: 480px;
    border: 0;
    display: block;
    background: #faf6f0;
}
.mw-qq-preview-note {
    padding: 10px 14px;
    background: color-mix(in srgb, var(--mw-accent, #C4593B) 6%, #fff);
    border-top: 1px solid var(--mw-border, #e2e8f0);
    font-size: 12px;
    color: var(--mw-text-secondary, #64748b);
    line-height: 1.5;
}
@media (max-width: 640px) {
    .mw-qq-preview-iframe { height: 380px; }
    .mw-qq-preview-controls { width: 100%; }
}

/* ============= Per-card AI mode override (panel konta chatu) ============= */
.mw-chat-percard-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mw-chat-percard-row {
    display: grid;
    grid-template-columns: 44px 1fr auto;
    gap: 14px;
    align-items: center;
    background: var(--mw-card-bg, #fff);
    border: 1px solid var(--mw-border, #e2e8f0);
    border-radius: 10px;
    padding: 10px 14px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.mw-chat-percard-row:hover {
    border-color: var(--mw-text-muted, #94a3b8);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
}
.mw-chat-percard-avatar,
.mw-chat-percard-avatar-fallback {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--mw-border, #e2e8f0);
}
.mw-chat-percard-avatar-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--mw-text-secondary, #64748b);
    font-family: var(--mw-font-serif, 'Lora', serif);
    font-size: 18px;
}
.mw-chat-percard-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mw-chat-percard-name {
    font-weight: 600;
    color: var(--mw-text-primary, #1e293b);
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mw-chat-percard-sub {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
.mw-chat-percard-pill {
    --pill-color: #94a3b8;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: color-mix(in srgb, var(--pill-color) 14%, transparent);
    color: var(--pill-color);
    border: 1px solid color-mix(in srgb, var(--pill-color) 30%, transparent);
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
}
.mw-chat-percard-hint {
    font-size: 11.5px;
    color: var(--mw-text-muted, #94a3b8);
}
.mw-chat-percard-select {
    min-width: 180px;
    font-size: 13px;
    padding: 8px 10px;
}
.mw-chat-percard-select:disabled {
    opacity: 0.5;
    cursor: wait;
}
@media (max-width: 640px) {
    .mw-chat-percard-row {
        grid-template-columns: 36px 1fr;
        gap: 10px;
    }
    .mw-chat-percard-avatar,
    .mw-chat-percard-avatar-fallback {
        width: 36px;
        height: 36px;
    }
    .mw-chat-percard-select {
        grid-column: 1 / -1;
        min-width: 0;
    }
}

.mw-tel-f1 .mw-tel-loader {
    color: #64748b;
    text-align: center;
    padding: 24px 0;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
}

/* Web Vitals (sekcja G) */
.mw-tel-vitals-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; margin-top: 8px; }
.mw-tel-vital-card {
    text-align: center; padding: 12px;
    background: var(--mw-bg-cream-2);
    border-radius: 8px;
    border: 1px solid var(--mw-border-light);
}
.mw-tel-vital-name { font-family: var(--mw-font-mono); font-size: 11px; color: var(--mw-text-secondary); }
.mw-tel-vital-value { font-size: 22px; font-weight: 700; margin: 4px 0; }
.mw-tel-vital-rating { font-size: 10px; font-family: var(--mw-font-mono); }
.mw-tel-vital-good { color: #0f9d58; }
.mw-tel-vital-needs-improvement { color: #f4b400; }
.mw-tel-vital-poor { color: #db4437; }
.mw-tel-vital-samples { font-size: 10px; color: var(--mw-text-muted); margin-top: 4px; }

/* Live feed (sekcja H) */
.mw-tel-live-feed { max-height: 300px; overflow-y: auto; }
.mw-tel-live-list { display: flex; flex-direction: column; gap: 2px; font-size: 12px; }
.mw-tel-live-item {
    display: flex; gap: 8px; padding: 4px 8px;
    background: var(--mw-bg-cream-2);
    border-radius: 3px;
    align-items: center;
    animation: mw-tel-live-fade-in 0.3s ease-out;
}
@keyframes mw-tel-live-fade-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}
.mw-tel-live-ts { font-family: var(--mw-font-mono); color: var(--mw-text-muted); font-size: 10px; }
.mw-tel-live-evt { font-weight: 600; color: var(--mw-text-primary); min-width: 80px; }
.mw-tel-live-block, .mw-tel-live-geo, .mw-tel-live-dev, .mw-tel-live-utm {
    font-family: var(--mw-font-mono); font-size: 10px; color: var(--mw-text-secondary);
    padding: 2px 6px; background: rgba(0,0,0,0.04); border-radius: 3px;
}

/* Responsive: telemetria mobile */
@media (max-width: 768px) {
    .mw-tel-grid { grid-template-columns: 1fr; }
    .mw-tel-side-by-side { grid-template-columns: 1fr; }
    .mw-tel-kpi-row { grid-template-columns: repeat(2, 1fr); }
    .mw-tel-eng-grid { grid-template-columns: repeat(2, 1fr); }
}

/* === ADMIN → NUMERY WHATSAPP =================================== */
.mw-admin-wa-hint {
    background: var(--mw-bg-cream-2);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    padding: var(--mw-sp-3) var(--mw-sp-4);
    font-size: 13px;
    line-height: 1.55;
    color: var(--mw-text-secondary);
    margin-bottom: var(--mw-sp-4);
}

.mw-admin-wa-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
    gap: var(--mw-sp-4);
}

.mw-admin-wa-card {
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.mw-admin-wa-card.is-inactive {
    opacity: 0.55;
}
.mw-admin-wa-card-bar {
    height: 4px;
    width: 100%;
}
.mw-admin-wa-card-body {
    padding: var(--mw-sp-4);
}
.mw-admin-wa-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--mw-sp-2);
}
.mw-admin-wa-card-title {
    font-family: var(--mw-font-serif);
    font-size: 18px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.3;
    margin-top: 4px;
}
.mw-admin-wa-card-phone {
    font-family: var(--mw-font-mono);
    font-size: 14px;
    color: var(--mw-text-secondary);
    margin-top: 4px;
    letter-spacing: 0.04em;
}
.mw-admin-wa-card-assigned {
    font-family: var(--mw-font-sans);
    font-size: 13px;
    color: var(--mw-fg);
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed var(--mw-border-subtle);
}
.mw-admin-wa-card-assigned.is-empty {
    color: var(--mw-text-secondary);
    font-style: italic;
    opacity: 0.6;
}
.mw-admin-wa-card.is-clickable {
    cursor: pointer;
    transition: border-color 0.15s, transform 0.1s, box-shadow 0.15s;
}
.mw-admin-wa-card.is-clickable:hover {
    border-color: var(--mw-accent);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* === Aktywnosc 24h na karcie + log w modalu === */
.mw-admin-wa-card-activity {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--mw-border-subtle);
    font-size: 13px;
    line-height: 1.4;
}
.mw-admin-wa-card-activity.is-idle {
    color: var(--mw-text-secondary);
    opacity: 0.7;
}
.mw-admin-wa-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex: 0 0 auto;
}
.mw-admin-wa-dot.is-live {
    background: var(--mw-status-online);
    box-shadow: 0 0 0 3px rgba(74, 124, 89, 0.18);
}
.mw-admin-wa-dot.is-idle {
    background: var(--mw-muted);
    opacity: 0.5;
}
.mw-admin-wa-activity-stats {
    color: var(--mw-fg);
}
.mw-admin-wa-card-activity.is-idle .mw-admin-wa-activity-stats {
    color: var(--mw-text-secondary);
}

/* Modal — sekcja AKTYWNOSC */
.mw-admin-wa-activity-section {
    background: var(--mw-bg-cream-2);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    padding: var(--mw-sp-3) var(--mw-sp-4);
    margin-bottom: var(--mw-sp-4);
}
.mw-admin-wa-activity-loader {
    color: var(--mw-text-secondary);
    font-size: 13px;
    font-style: italic;
}
.mw-admin-wa-activity-head {
    margin-bottom: 4px;
}
.mw-admin-wa-msg-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 320px;
    overflow-y: auto;
}
.mw-admin-wa-msg-row {
    display: flex;
    gap: 10px;
    padding: 8px 10px;
    background: var(--mw-bg-card);
    border-radius: 6px;
    border-left: 3px solid var(--mw-border-subtle);
    font-size: 13px;
}
.mw-admin-wa-msg-row.is-in {
    border-left-color: var(--mw-status-online);
}
.mw-admin-wa-msg-row.is-out {
    border-left-color: var(--mw-status-info);
}
.mw-admin-wa-msg-arrow {
    font-family: var(--mw-font-mono);
    color: var(--mw-muted);
    font-size: 14px;
    flex: 0 0 auto;
    padding-top: 1px;
}
.mw-admin-wa-msg-row.is-in .mw-admin-wa-msg-arrow { color: var(--mw-status-online); }
.mw-admin-wa-msg-row.is-out .mw-admin-wa-msg-arrow { color: var(--mw-status-info); }
.mw-admin-wa-msg-body {
    flex: 1;
    min-width: 0;
}
.mw-admin-wa-msg-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    color: var(--mw-text-secondary);
    font-size: 11px;
    margin-bottom: 2px;
}
.mw-admin-wa-msg-name {
    color: var(--mw-fg);
    font-weight: 500;
}
.mw-admin-wa-msg-time {
    margin-left: auto;
    opacity: 0.7;
}
.mw-admin-wa-msg-text {
    color: var(--mw-fg);
    word-break: break-word;
    line-height: 1.4;
}
.mw-admin-wa-msg-status {
    background: rgba(196, 89, 59, 0.15);
    color: var(--mw-status-urgent);
    font-size: 10px;
    padding: 1px 6px;
    border-radius: 3px;
    text-transform: uppercase;
}

/* === KOMUNIKACJA → Hybryda (toolbar kanałów + split chat + akcje) === */

.mw-tab-content--full.is-active {
    display: flex !important;
    flex-direction: column;
    height: calc(100vh - 110px);
    min-height: 480px;
}

/* === Toolbar kanałów (Apple HIG segmented control — capsule design) === */
.mw-komunikacja-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mw-sp-3);
    padding: 0;
    margin-bottom: 18px;
    flex-shrink: 0;
}

/* Outer capsule (subtle background container dla całego segmented control) */
.mw-komunikacja-channels {
    display: inline-flex;
    gap: 2px;
    padding: 4px;
    background: var(--mw-bg-cream);
    border: 1px solid var(--mw-border-soft);
    border-radius: 12px;
    align-self: flex-start;
    box-shadow: inset 0 1px 1.5px rgba(26, 24, 20, 0.04);
}

/* Pojedyncza kapsula tab */
.mw-komunikacja-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--mw-text-secondary);
    font-family: var(--mw-font-sans);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.18s ease, color 0.15s ease, box-shadow 0.18s ease;
    line-height: 1.2;
    letter-spacing: -0.005em;
    -webkit-tap-highlight-color: transparent;
}

/* Hover (tylko dla nieaktywnych nie-soon) */
.mw-komunikacja-chip:hover:not(.is-active):not(.is-soon) {
    background: rgba(255, 255, 255, 0.55);
    color: var(--mw-text-primary);
    transform: none;
}

/* Aktywny tab = biała kapsuła z soft shadow (jak iOS) */
.mw-komunikacja-chip.is-active {
    background: var(--mw-bg-card);
    color: var(--mw-text-primary);
    font-weight: 600;
    border: none;
    box-shadow:
        0 1px 3px rgba(26, 24, 20, 0.10),
        0 0.5px 1px rgba(26, 24, 20, 0.06),
        0 0 0 0.5px rgba(26, 24, 20, 0.04);
    transform: none;
}
.mw-komunikacja-chip.is-active:hover { transform: none; }

/* Soon — neutralny tekst (bez ramki, bez tła) */
.mw-komunikacja-chip.is-soon {
    color: var(--mw-text-faint);
    background: transparent;
    border: none;
    cursor: not-allowed;
}
.mw-komunikacja-chip.is-soon:hover { color: var(--mw-text-muted); background: transparent; }

/* Emoji icons — wyłączone */
.mw-komunikacja-chip-icon { display: none; }
.mw-komunikacja-chip-label { letter-spacing: -0.005em; }

/* Count placeholder — pokazujemy gdy .is-active (sesja prog #121 14.05.2026).
   Czerwona kropka 18px z biala liczba (WhatsApp/Slack/iOS style). */
.mw-komunikacja-chip-count { display: none; }
.mw-komunikacja-chip-count.is-active {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    margin-left: 6px;
    background: #ef4444;
    color: #fff;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
/* Pulse animation 3s na nieaktywnym chipsie gdy nowa wiadomosc. */
.mw-komunikacja-chip.is-pulsing:not(.is-active) {
    animation: mw-chip-pulse 1s ease-in-out 3;
}
@keyframes mw-chip-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.5); }
    50% { transform: scale(1.04); box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); }
}

/* "wkrótce" — inline subtle adnotacja po prawej */
.mw-komunikacja-chip-badge {
    font-family: var(--mw-font-sans);
    font-size: 10px;
    text-transform: lowercase;
    letter-spacing: 0.02em;
    padding: 0;
    margin-left: 2px;
    background: transparent;
    color: var(--mw-text-faint);
    border: none;
    border-radius: 0;
    font-weight: 400;
    opacity: 0.7;
}
[data-theme="dark"] .mw-komunikacja-chip-badge { color: var(--mw-text-faint); }

.mw-komunikacja-tools {
    display: flex;
    gap: 6px;
}
.mw-komunikacja-tool {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 6px;
    color: var(--mw-text-secondary);
    font-family: var(--mw-font-sans);
    font-size: 12.5px;
    cursor: not-allowed;
    line-height: 1;
}
.mw-komunikacja-tool:not([disabled]) {
    cursor: pointer;
    color: var(--mw-fg);
}
.mw-komunikacja-tool:not([disabled]):hover {
    border-color: var(--mw-accent);
}
.mw-komunikacja-tool-icon {
    font-size: 14px;
}

/* === Body (rozmiar zaadoptowany — toolbar zabiera kawałek wysokości) === */
.mw-komunikacja-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* === Soon screen (Email/SMS/Phone/WA Call placeholder) === */
.mw-komunikacja-soon {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    min-height: 0;
}
.mw-komunikacja-soon-card {
    max-width: 520px;
    text-align: center;
    padding: 32px;
}
.mw-komunikacja-soon-icon {
    font-size: 56px;
    line-height: 1;
    margin-bottom: 18px;
    opacity: 0.85;
}
.mw-komunikacja-soon-title {
    font-family: var(--mw-font-serif);
    font-size: 26px;
    font-weight: 600;
    color: var(--mw-fg);
    margin: 0 0 12px;
    line-height: 1.25;
}
.mw-komunikacja-soon-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--mw-text-secondary);
    margin: 0 0 24px;
}
.mw-komunikacja-soon-milestone {
    background: var(--mw-bg-cream-2);
    border: 1px dashed var(--mw-border-subtle);
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 24px;
    text-align: left;
}
.mw-komunikacja-soon-milestone .mw-mono-label {
    display: block;
    margin-bottom: 4px;
}
.mw-komunikacja-soon-milestone > div {
    font-size: 13px;
    color: var(--mw-fg);
    line-height: 1.5;
}

/* === Akcje w nagłówku chatu (Zadzwoń / WA Call / Email / 360°) === */
.mw-rozmowy-thread-actions {
    display: inline-flex;
    gap: 4px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.mw-rozmowy-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 10px;
    background: transparent;
    border: 1px solid var(--mw-border-subtle);
    border-radius: 6px;
    color: var(--mw-text-secondary);
    font-family: var(--mw-font-sans);
    font-size: 12px;
    cursor: not-allowed;
    line-height: 1;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.mw-rozmowy-action-btn:not([disabled]) {
    cursor: pointer;
    color: var(--mw-fg);
    background: var(--mw-bg-card);
}
.mw-rozmowy-action-btn:not([disabled]):hover {
    border-color: var(--mw-accent);
    color: var(--mw-accent);
}
.mw-rozmowy-action-btn.is-primary {
    border-color: rgba(99, 102, 241, 0.3);
    color: #5b62cf;
    background: rgba(99, 102, 241, 0.06);
}
.mw-rozmowy-action-btn.is-primary:not([disabled]):hover {
    background: rgba(99, 102, 241, 0.12);
}
.mw-rozmowy-action-btn span:first-child {
    font-size: 13px;
}

/* === Pasek stanu kanału (pod nagłówkiem chatu) === */
.mw-rozmowy-shell {
    display: grid;
    grid-template-columns: 320px 1fr;
    flex: 1;
    min-height: 0;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    overflow: hidden;
}
.mw-rozmowy-shell.is-360-open {
    grid-template-columns: 280px 1fr 360px;
}
@media (max-width: 1280px) {
    .mw-rozmowy-shell.is-360-open { grid-template-columns: 240px 1fr 320px; }
}
@media (max-width: 1100px) {
    .mw-rozmowy-shell.is-360-open { grid-template-columns: 1fr 320px; }
    .mw-rozmowy-shell.is-360-open .mw-rozmowy-list { display: none; }
}
@media (max-width: 900px) {
    .mw-rozmowy-shell { grid-template-columns: 1fr; }
    .mw-rozmowy-shell.is-360-open { grid-template-columns: 1fr; }
    .mw-rozmowy-shell.is-360-open .mw-rozmowy-thread { display: none; }
}

/* === Action 360° pressed state === */
.mw-rozmowy-action-btn.is-pressed {
    background: rgba(99, 102, 241, 0.18);
    border-color: rgba(99, 102, 241, 0.5);
    color: #4f55c4;
}

/* === Panel 360° (prawa kolumna chowana) === */
.mw-rozmowy-panel-360 {
    display: flex;
    flex-direction: column;
    background: var(--mw-bg-card);
    border-left: 1px solid var(--mw-border-subtle);
    min-height: 0;
    animation: mwSlide360 0.18s ease-out;
}
@keyframes mwSlide360 {
    from { opacity: 0; transform: translateX(20px); }
    to { opacity: 1; transform: translateX(0); }
}

.mw-rozmowy-360-head {
    padding: 14px 16px 12px;
    border-bottom: 1px solid var(--mw-border-subtle);
    background: linear-gradient(180deg, rgba(99,102,241,0.04) 0%, transparent 100%);
    flex-shrink: 0;
}
.mw-rozmowy-360-head-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}
.mw-rozmowy-360-close {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    border: 0;
    background: transparent;
    color: var(--mw-text-secondary);
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    padding: 0;
    transition: background 0.12s, color 0.12s;
}
.mw-rozmowy-360-close:hover {
    background: var(--mw-bg-cream-2);
    color: var(--mw-fg);
}
.mw-rozmowy-360-name {
    font-family: var(--mw-font-serif);
    font-size: 17px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.2;
}
.mw-rozmowy-360-phone {
    font-family: var(--mw-font-mono);
    font-size: 11.5px;
    color: var(--mw-text-secondary);
    margin-top: 3px;
    letter-spacing: 0.03em;
}

.mw-rozmowy-360-body {
    flex: 1;
    overflow-y: auto;
    padding: 14px 16px 20px;
    min-height: 0;
}

.mw-rozmowy-360-section {
    margin-top: 18px;
}

/* === Lead card === */
.mw-rozmowy-360-lead {
    background: rgba(34, 197, 94, 0.06);
    border: 1px solid rgba(34, 197, 94, 0.18);
    border-radius: 8px;
    padding: 12px 14px;
}
.mw-rozmowy-360-lead-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}
.mw-rozmowy-360-lead-name {
    font-family: var(--mw-font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--mw-fg);
    margin-bottom: 6px;
}
.mw-rozmowy-360-lead-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    color: var(--mw-text-secondary);
    padding: 3px 0;
    border-top: 1px dashed rgba(0,0,0,0.06);
}
.mw-rozmowy-360-lead-row:first-of-type { border-top: 0; }
.mw-rozmowy-360-lead-row strong {
    color: var(--mw-fg);
    font-weight: 600;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60%;
}

/* === Overview stats (3 boxes) === */
.mw-rozmowy-360-overview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin-top: 14px;
}
.mw-rozmowy-360-stat {
    background: var(--mw-bg-cream-2);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 6px;
    padding: 8px 4px;
    text-align: center;
}
.mw-rozmowy-360-stat-num {
    font-family: var(--mw-font-serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.2;
}
.mw-rozmowy-360-stat-lbl {
    font-family: var(--mw-font-mono);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mw-text-secondary);
    margin-top: 2px;
}

/* === Channel stats === */
.mw-rozmowy-360-channel {
    display: grid;
    grid-template-columns: 22px 1fr auto;
    gap: 8px;
    align-items: center;
    padding: 6px 8px;
    border-radius: 5px;
    font-size: 12.5px;
    margin-bottom: 2px;
}
.mw-rozmowy-360-channel:hover {
    background: var(--mw-bg-cream-2);
}
.mw-rozmowy-360-channel.is-soon {
    opacity: 0.55;
}
.mw-rozmowy-360-channel-icon {
    font-size: 14px;
    text-align: center;
}
.mw-rozmowy-360-channel-label {
    color: var(--mw-fg);
    font-weight: 500;
}
.mw-rozmowy-360-channel-val {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-text-secondary);
}
.mw-rozmowy-360-channel-val strong {
    color: var(--mw-fg);
    font-weight: 600;
}

/* === Timeline === */
.mw-rozmowy-360-day {
    text-align: center;
    margin: 12px 0 6px;
}
.mw-rozmowy-360-day span {
    background: var(--mw-bg-cream-2);
    padding: 2px 10px;
    border-radius: 10px;
    font-family: var(--mw-font-mono);
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--mw-text-secondary);
}

.mw-rozmowy-360-item {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px dashed rgba(0,0,0,0.05);
}
.mw-rozmowy-360-item-icon {
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    opacity: 0.85;
}
.mw-rozmowy-360-item-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--mw-font-mono);
    font-size: 9.5px;
    color: var(--mw-text-secondary);
    margin-bottom: 2px;
    letter-spacing: 0.02em;
}
.mw-rozmowy-360-item-dir {
    font-weight: 700;
    font-size: 11px;
}
.mw-rozmowy-360-item.is-in .mw-rozmowy-360-item-dir { color: var(--mw-status-online); }
.mw-rozmowy-360-item.is-out .mw-rozmowy-360-item-dir { color: var(--mw-status-info); }
.mw-rozmowy-360-item.is-ai .mw-rozmowy-360-item-dir { color: #6366f1; }
.mw-rozmowy-360-item-time {
    opacity: 0.7;
}
.mw-rozmowy-360-item-ai {
    background: rgba(99, 102, 241, 0.12);
    color: #5b62cf;
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 8.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.mw-rozmowy-360-item-text {
    font-size: 12px;
    line-height: 1.45;
    color: var(--mw-fg);
    word-break: break-word;
}
.mw-rozmowy-360-item.is-ai .mw-rozmowy-360-item-text {
    color: #4a4666;
    background: rgba(99, 102, 241, 0.04);
    padding: 4px 7px;
    border-radius: 4px;
    margin-top: 2px;
}

/* === LISTA (lewa) === */
.mw-rozmowy-list {
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--mw-border-subtle);
    background: var(--mw-bg-card);
    min-height: 0;
}
.mw-rozmowy-list-head {
    padding: 10px 12px;
    border-bottom: 1px solid var(--mw-border-subtle);
    flex-shrink: 0;
}
.mw-rozmowy-search {
    width: 100%;
    height: 30px;
    padding: 4px 10px;
    font-size: 12.5px;
    border-radius: 6px;
    background: var(--mw-bg-cream-2);
    border: 1px solid transparent;
}
.mw-rozmowy-search:focus {
    background: var(--mw-bg-card);
    border-color: var(--mw-border-subtle);
}
.mw-rozmowy-list-items {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}
.mw-rozmowy-list-empty {
    padding: 32px 16px;
    text-align: center;
    font-style: italic;
    color: var(--mw-text-secondary);
    font-size: 12.5px;
    line-height: 1.6;
}

/* Filtry chipy nad listą (sesja #110, ETAP 2) */
.mw-rozmowy-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
}
.mw-rz-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    border: 1px solid var(--mw-border-subtle);
    background: var(--mw-bg-cream-2);
    color: var(--mw-text-secondary);
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    transition: all 120ms ease;
    font-family: inherit;
}
.mw-rz-filter-chip:hover {
    background: var(--mw-bg-card);
    border-color: var(--mw-text-secondary);
}
.mw-rz-filter-chip.is-active {
    background: var(--mw-text-primary, #1e293b);
    color: #fff;
    border-color: var(--mw-text-primary, #1e293b);
}
.mw-rz-filter-chip.is-action {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}
.mw-rz-filter-chip.is-action:hover {
    background: #fde68a;
}
.mw-rz-filter-count {
    font-size: 10px;
    opacity: 0.65;
    font-variant-numeric: tabular-nums;
}
.mw-rz-filter-chip.is-active .mw-rz-filter-count {
    opacity: 0.85;
}

/* Action bar — pojawia się gdy są zaznaczone (ETAP 1) */
.mw-rozmowy-action-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 6px 8px;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border: 1px solid #fcd34d;
    border-radius: 8px;
    font-size: 12px;
}
.mw-rz-action-label {
    flex: 1;
    color: #78350f;
    font-weight: 500;
}
.mw-rz-action-btn {
    padding: 5px 10px;
    border-radius: 6px;
    border: 1px solid var(--mw-border-subtle);
    background: #fff;
    color: var(--mw-text-primary);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
}
.mw-rz-action-btn:hover { background: var(--mw-bg-cream-2); }
.mw-rz-action-btn.is-danger {
    background: #b91c1c;
    color: #fff;
    border-color: #991b1b;
}
.mw-rz-action-btn.is-danger:hover { background: #991b1b; }

/* Item wrap z checkboxem (ETAP 1) */
.mw-rozmowy-item-wrap {
    display: flex;
    align-items: stretch;
    position: relative;
}
.mw-rozmowy-item-wrap.is-selected {
    background: rgba(252, 211, 77, 0.18);
}
.mw-rozmowy-item-check {
    flex: 0 0 auto;
    align-self: center;
    margin: 0 4px 0 12px;
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #b91c1c;
    /* W non-select-mode checkbox jest ukryty, hover na wrap go pokazuje */
    opacity: 0;
    transition: opacity 120ms ease;
}
.mw-rozmowy-item-wrap:hover .mw-rozmowy-item-check,
.mw-rozmowy-item-wrap.is-select-mode .mw-rozmowy-item-check,
.mw-rozmowy-item-wrap.is-selected .mw-rozmowy-item-check {
    opacity: 1;
}
.mw-rozmowy-item-wrap .mw-rozmowy-item {
    flex: 1;
    /* Item button bierze pozostałe miejsce po checkboxie */
}

.mw-rozmowy-item {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background 0.1s;
    color: inherit;
    font-family: inherit;
    border-bottom: 1px solid rgba(212, 165, 55, 0.06);
}
.mw-rozmowy-item:hover { background: rgba(212, 165, 55, 0.04); }
.mw-rozmowy-item.is-active {
    background: rgba(212, 165, 55, 0.10);
}
.mw-rozmowy-item-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mw-accent), var(--mw-accent-strong));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 11px;
    flex-shrink: 0;
}
.mw-rozmowy-item-body { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.mw-rozmowy-item-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}
.mw-rozmowy-item-name {
    font-family: var(--mw-font-sans);
    font-size: 13px;
    font-weight: 500;
    color: var(--mw-fg);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-rozmowy-item.has-unread .mw-rozmowy-item-name { font-weight: 700; }

/* #130 — Niebieski pasek lewy na wierszu rozmowy z unread (nowa wiadomość od leada).
   Subtelne tło + 3px border-left żeby od razu rzucało się w oczy z odległości metra,
   ale bez bałaganu. Callback urgent (czerwony) ma osobny styl (.has-callback). */
.mw-rozmowy-item.has-unread {
    box-shadow: inset 3px 0 0 0 #3b82f6;
    background: rgba(59, 130, 246, 0.04);
}
.mw-rozmowy-item.has-unread:hover { background: rgba(59, 130, 246, 0.08); }
.mw-rozmowy-item.has-unread.is-active { background: rgba(59, 130, 246, 0.12); }
/* Callback pending ZAWSZE wygrywa nad zwykłym unread — czerwone tło + lewy pasek czerwony */
.mw-rozmowy-item.has-callback {
    box-shadow: inset 3px 0 0 0 #ef4444 !important;
    background: rgba(239, 68, 68, 0.05) !important;
}
.mw-rozmowy-item.has-callback:hover { background: rgba(239, 68, 68, 0.10) !important; }
.mw-rozmowy-item.has-callback.is-active { background: rgba(239, 68, 68, 0.14) !important; }
.mw-rozmowy-item-time {
    font-family: var(--mw-font-mono);
    font-size: 9.5px;
    color: var(--mw-text-secondary);
    flex-shrink: 0;
    letter-spacing: 0.02em;
}
.mw-rozmowy-item-preview {
    font-size: 11.5px;
    color: var(--mw-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.35;
}
.mw-rozmowy-item.has-unread .mw-rozmowy-item-preview { color: var(--mw-fg); }
.mw-rozmowy-item-prefix { opacity: 0.65; }
.mw-rozmowy-item-flags { display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; }
.mw-rozmowy-unread {
    display: inline-flex;
    min-width: 16px;
    height: 16px;
    padding: 0 5px;
    background: var(--mw-accent);
    color: #fff;
    border-radius: 8px;
    font-size: 9px;
    font-weight: 700;
    align-items: center;
    justify-content: center;
}
.mw-rozmowy-expired { font-size: 11px; opacity: 0.5; }

/* === THREAD (prawa) === */
.mw-rozmowy-thread {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: var(--mw-bg-cream-2);
}
.mw-rozmowy-thread-head {
    display: grid;
    grid-template-columns: 32px 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 10px 16px;
    background: var(--mw-bg-card);
    border-bottom: 1px solid var(--mw-border-subtle);
    flex-shrink: 0;
}

/* #130 — Chip "👤 Imię N." w nagłówku rozmowy (kto obsługuje leada) */
.mw-rozmowy-advisor-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px 4px 4px;
    background: rgba(34, 197, 94, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.25);
    border-radius: 999px;
    color: var(--mw-fg);
    font-family: var(--mw-font-sans);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, transform 0.1s;
    max-width: 180px;
}
.mw-rozmowy-advisor-chip:hover {
    background: rgba(34, 197, 94, 0.14);
    border-color: rgba(34, 197, 94, 0.4);
}
.mw-rozmowy-advisor-chip:active { transform: translateY(1px); }
.mw-rozmowy-advisor-chip-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-rozmowy-advisor-avatar {
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mw-accent), var(--mw-accent-strong));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    font-weight: 600;
}
.mw-rozmowy-advisor-avatar img {
    width: 100%; height: 100%; object-fit: cover;
}
.mw-rozmowy-advisor-avatar.is-initials {
    background: linear-gradient(135deg, #6366f1, #4f46e5);
}

/* #130 — Sekcja DORADCA w panelu 360° */
.mw-rozmowy-advisor-card {
    background: rgba(99, 102, 241, 0.04);
    border: 1px solid rgba(99, 102, 241, 0.18);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 12px;
}
.mw-rozmowy-advisor-head {
    margin-bottom: 10px;
}
.mw-rozmowy-advisor-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}
.mw-rozmowy-advisor-row.mw-rozmowy-advisor-secondary {
    border-top: 1px dashed rgba(0,0,0,0.06);
    margin-top: 4px;
    padding-top: 8px;
}
.mw-rozmowy-advisor-info { flex: 1; min-width: 0; }
.mw-rozmowy-advisor-label {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--mw-text-secondary);
    opacity: 0.7;
}
.mw-rozmowy-advisor-name {
    font-family: var(--mw-font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-rozmowy-advisor-primary .mw-rozmowy-advisor-name { font-size: 14px; }
.mw-rozmowy-advisor-secondary .mw-rozmowy-advisor-name { font-size: 12.5px; font-weight: 500; opacity: 0.85; }
.mw-rozmowy-advisor-link {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 8px 10px;
    background: rgba(255,255,255,0.5);
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 6px;
    text-decoration: none;
    color: var(--mw-fg);
    font-size: 12px;
    transition: background 0.15s, border-color 0.15s;
}
.mw-rozmowy-advisor-link:hover {
    background: rgba(255,255,255,0.8);
    border-color: rgba(99, 102, 241, 0.3);
}
.mw-rozmowy-advisor-slug {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-accent-strong, #4f46e5);
    font-weight: 500;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-rozmowy-advisor-lifecycle {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    padding: 2px 6px;
    background: rgba(34, 197, 94, 0.12);
    color: rgb(21, 128, 61);
    border-radius: 4px;
}
.mw-rozmowy-advisor-more {
    margin-top: 8px;
    text-align: center;
}
.mw-rozmowy-thread-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mw-accent), var(--mw-accent-strong));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 11px;
}
.mw-rozmowy-thread-info { min-width: 0; }
.mw-rozmowy-thread-name {
    font-family: var(--mw-font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.2;
}
.mw-rozmowy-thread-phone {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-text-secondary);
    margin-top: 1px;
    letter-spacing: 0.02em;
}
/* === Body === */
.mw-rozmowy-thread-body {
    flex: 1;
    overflow-y: auto;
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-height: 0;
}
.mw-rozmowy-day-sep {
    text-align: center;
    margin: 10px 0 6px;
    position: relative;
}
.mw-rozmowy-day-sep span {
    background: var(--mw-bg-cream-2);
    padding: 0 10px;
    font-family: var(--mw-font-mono);
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mw-text-secondary);
    opacity: 0.7;
}

/* === Bubble (iMessage/WhatsApp-style, kompaktowy, szeroki) ===
   - Sender label NAD bubble (nie wewnątrz) — etykieta "🤖 AI · 2h"
   - Meta-time INLINE z tekstem (float right) — oszczędza wysokość
   - Max-width 600-640px (więcej niż 480px) — wykorzystuje szerokość
   - Padding 6px 12px — luźniejszy w bok niż góra/dół */
.mw-rozmowy-msg {
    display: block;
    width: 100%;
    margin: 1px 0;
}
.mw-rozmowy-msg.is-out { text-align: right; }
.mw-rozmowy-msg.is-in  { text-align: left; }

/* Sender header (NAD bubble, mała etykieta dla AI) */
.mw-rozmowy-msg-header {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-text-secondary);
    opacity: 0.6;
    letter-spacing: 0.04em;
    margin: 6px 4px 2px;
    line-height: 1;
}

.mw-rozmowy-msg-bubble {
    display: inline-block;
    text-align: left;
    max-width: min(78%, 600px);
    padding: 6px 12px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.4;
    word-break: break-word;
    vertical-align: top;
    position: relative;
}
.mw-rozmowy-msg.is-ai .mw-rozmowy-msg-bubble {
    max-width: min(78%, 640px);
}

/* IN bubble — kremowa, subtle border */
.mw-rozmowy-msg.is-in .mw-rozmowy-msg-bubble {
    background: var(--mw-bg-card);
    color: var(--mw-fg);
    border: 1px solid var(--mw-border-subtle);
    border-bottom-left-radius: 3px;
}

/* OUT bubble (agent) — delikatny błękit (sesja prog #121 13.05.2026, Sławek). */
.mw-rozmowy-msg.is-out .mw-rozmowy-msg-bubble {
    background: #E3F0FB;
    color: var(--mw-fg);
    border: 1px solid rgba(74, 144, 226, 0.18);
    border-bottom-right-radius: 3px;
}

/* Typing indicator 3 kropki (sesja prog #121 14.05.2026). */
.mw-rz-typing-bubble {
    display: inline-flex !important;
    gap: 5px;
    padding: 12px 16px !important;
    align-items: center;
    min-height: 14px;
}
.mw-rz-typing-dot {
    width: 8px;
    height: 8px;
    background: #94a3b8;
    border-radius: 50%;
    display: inline-block;
    animation: mw-rz-typing-bounce 1.4s infinite ease-in-out;
}
.mw-rz-typing-dot:nth-child(2) { animation-delay: 0.18s; }
.mw-rz-typing-dot:nth-child(3) { animation-delay: 0.36s; }
@keyframes mw-rz-typing-bounce {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.5; }
    30% { transform: translateY(-6px); opacity: 1; }
}

/* AI bubble — subtle violet tint */
.mw-rozmowy-msg.is-ai .mw-rozmowy-msg-bubble {
    background: #EFEDFE;
    color: #2A2741;
    border: 1px solid rgba(99, 102, 241, 0.14);
    border-bottom-right-radius: 3px;
}

/* Tekst inline (żeby meta z float right wbiła się w ostatnią linię) */
.mw-rozmowy-msg-text {
    display: inline;
    white-space: pre-wrap;
}

/* Meta (czas + status) — INLINE z tekstem przez float right */
.mw-rozmowy-msg-meta {
    float: right;
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-text-secondary);
    opacity: 0.55;
    letter-spacing: 0.02em;
    margin-left: 10px;
    margin-top: 4px;
    line-height: 1.4;
    white-space: nowrap;
    /* Trick: lekko opuszczona żeby siedziała przy dolnej krawędzi ostatniej linii */
}
.mw-rozmowy-msg-status {
    font-size: 11px;
    margin-left: 2px;
}
.mw-rozmowy-msg-status.is-read,
.mw-rozmowy-msg-status.is-delivered { color: #4A90E2; opacity: 1; }
.mw-rozmowy-msg-status.is-pending { opacity: 0.5; }
.mw-rozmowy-msg-status.is-failed { color: var(--mw-status-urgent); opacity: 1; }
.mw-rozmowy-msg-error {
    color: var(--mw-status-urgent);
    font-weight: 700;
    cursor: help;
}

/* === DRAFT bubble (propozycja AI, czeka na zatwierdzenie) ===
   Pełna szerokość threada (max 720px), żółtawy tint z lewym akcentem,
   header z badge AI + status + czas, edytowalna textarea (auto-resize),
   3 buttony — primary fill (Wyślij) + 2 ghost (Regeneruj/Odrzuć). */
.mw-rz-draft {
    /* Block-level, pełna szerokość threada (z drobnym poziomym oddechem). */
    display: block;
    width: 100%;
    /* Parent (mw-rozmowy-thread-body) jest flex column z overflow:auto.
       flex-shrink:0 nie pozwala flexowi skurczyć contentu do 2px wysokości. */
    flex-shrink: 0;
    margin: 12px 0 14px;
    background: linear-gradient(180deg, #FEF7E6 0%, #FFFAEC 100%);
    border: 1px solid #F5DDA1;
    border-left: 4px solid #D97706;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(217, 119, 6, 0.08);
    overflow: hidden;
}
.mw-rz-draft-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px 8px;
    border-bottom: 1px solid rgba(217, 119, 6, 0.18);
}
.mw-rz-draft-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    font-weight: 600;
    color: #92400E;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.mw-rz-draft-icon { font-size: 13px; line-height: 1; }
.mw-rz-draft-meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-text-secondary);
    letter-spacing: 0.04em;
}
.mw-rz-draft-status {
    color: #B45309;
    font-weight: 600;
    text-transform: uppercase;
}
.mw-rz-draft-dot { opacity: 0.4; }
.mw-rz-draft-time { opacity: 0.7; }

.mw-rz-draft-body {
    padding: 12px 14px;
}
.mw-rz-draft-edit {
    width: 100%;
    min-height: 80px;
    max-height: 480px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1E293B;
    font-family: var(--mw-font-sans);
    font-size: 14px;
    line-height: 1.55;
    resize: none;
    outline: none;
    white-space: pre-wrap;
    word-wrap: break-word;
}
.mw-rz-draft-edit:focus {
    outline: none;
}
.mw-rz-draft-edit::placeholder { color: var(--mw-muted); }

.mw-rz-draft-actions {
    display: flex;
    gap: 8px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.4);
    border-top: 1px solid rgba(217, 119, 6, 0.15);
}

/* === Inline "Regeneruj z uwagami" hint area ===
   Pojawia się po klik "Regeneruj" — minimalistyczny textarea + 2 mini buttony.
   Cel: ultra elegancki, nie psuje estetyki bubble. Animacja slide-in. */
.mw-rz-draft-hint {
    padding: 10px 14px 12px;
    background: rgba(255, 255, 255, 0.55);
    border-top: 1px solid rgba(217, 119, 6, 0.12);
    animation: mw-rz-draft-hint-in 0.2s ease-out;
}
@keyframes mw-rz-draft-hint-in {
    from { opacity: 0; transform: translateY(-3px); }
    to { opacity: 1; transform: translateY(0); }
}
.mw-rz-draft-hint-input {
    width: 100%;
    border: 1px solid rgba(217, 119, 6, 0.22);
    border-radius: 6px;
    padding: 7px 10px;
    font-family: var(--mw-font-sans);
    font-size: 12.5px;
    color: var(--mw-text-primary);
    background: #fff;
    resize: vertical;
    min-height: 38px;
    transition: border-color 0.15s ease;
}
.mw-rz-draft-hint-input:focus {
    outline: none;
    border-color: rgba(217, 119, 6, 0.5);
    box-shadow: 0 0 0 2px rgba(217, 119, 6, 0.08);
}
.mw-rz-draft-hint-input::placeholder { color: var(--mw-muted); font-size: 12px; }
.mw-rz-draft-hint-actions {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    margin-top: 8px;
}
.mw-rz-draft-btn-sm {
    padding: 6px 11px;
    font-size: 12px;
}
.mw-rz-draft-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 7px;
    font-family: var(--mw-font-sans);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms ease;
    border: 1px solid transparent;
}
.mw-rz-draft-btn:disabled { opacity: 0.5; cursor: wait; }

.mw-rz-draft-btn.is-primary {
    flex: 1;
    background: #16A34A;
    color: #fff;
    border-color: #15803D;
    box-shadow: 0 1px 2px rgba(22, 163, 74, 0.2);
}
.mw-rz-draft-btn.is-primary:hover:not(:disabled) {
    background: #15803D;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.3);
}

.mw-rz-draft-btn.is-ghost {
    background: #fff;
    color: #78350F;
    border-color: #FCD34D;
}
.mw-rz-draft-btn.is-ghost:hover:not(:disabled) {
    background: #FFFBEB;
    border-color: #F59E0B;
}

.mw-rz-draft-btn.is-ghost.is-danger {
    color: #B91C1C;
    border-color: #FECACA;
}
.mw-rz-draft-btn.is-ghost.is-danger:hover:not(:disabled) {
    background: #FEF2F2;
    border-color: #DC2626;
}

/* === Reply form (eleganckie, większe pole pisania) === */
.mw-rozmowy-reply-form {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: stretch;
    padding: 14px 18px 16px;
    background: var(--mw-bg-card);
    border-top: 1px solid var(--mw-border-subtle);
    flex-shrink: 0;
}

/* Akcje (plus + emoji) po lewej stronie pola */
.mw-rozmowy-reply-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
}
.mw-rozmowy-reply-act {
    width: 36px;
    height: 36px;
    border: 1px solid var(--mw-border-subtle);
    background: var(--mw-bg-cream-2);
    border-radius: 8px;
    cursor: pointer;
    color: var(--mw-text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.12s, color 0.12s, border-color 0.12s, transform 0.08s;
}
.mw-rozmowy-reply-act:hover:not(:disabled) {
    background: var(--mw-bg-card);
    color: var(--mw-accent);
    border-color: var(--mw-accent);
    transform: translateY(-1px);
}
.mw-rozmowy-reply-act:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Wrapper textarea + attachment preview (rośnie razem) */
.mw-rozmowy-reply-main {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

/* Attachment preview card */
.mw-rozmowy-reply-attachment {
    flex-shrink: 0;
}
.mw-rozmowy-att-card {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 8px 12px 8px 8px;
    background: var(--mw-bg-cream-2);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    min-height: 56px;
}
.mw-rozmowy-att-card.is-uploading {
    border-style: dashed;
    background: rgba(99, 102, 241, 0.05);
    border-color: rgba(99, 102, 241, 0.3);
}
.mw-rozmowy-att-thumb {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    background: var(--mw-bg-card);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid var(--mw-border-subtle);
}
.mw-rozmowy-att-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mw-rozmowy-att-icon {
    font-size: 22px;
}
.mw-rozmowy-att-info {
    min-width: 0;
}
.mw-rozmowy-att-name {
    font-family: var(--mw-font-sans);
    font-size: 13px;
    font-weight: 500;
    color: var(--mw-fg);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mw-rozmowy-att-meta {
    font-family: var(--mw-font-mono);
    font-size: 10.5px;
    color: var(--mw-text-secondary);
    margin-top: 2px;
    letter-spacing: 0.02em;
}
.mw-rozmowy-att-status {
    color: #5b62cf;
    margin-left: 6px;
    font-style: italic;
}
.mw-rozmowy-att-remove {
    width: 28px;
    height: 28px;
    border: 0;
    background: transparent;
    border-radius: 50%;
    color: var(--mw-text-secondary);
    font-size: 18px;
    cursor: pointer;
    line-height: 1;
    transition: background 0.12s, color 0.12s;
}
.mw-rozmowy-att-remove:hover {
    background: rgba(196, 89, 59, 0.1);
    color: var(--mw-status-urgent);
}

/* Emoji picker (floating popover) */
.mw-rozmowy-emoji-picker {
    position: fixed;
    width: 320px;
    max-height: 360px;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: mwEmojiSlide 0.15s ease-out;
}
@keyframes mwEmojiSlide {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.mw-rozmowy-emoji-tabs {
    display: flex;
    border-bottom: 1px solid var(--mw-border-subtle);
    background: var(--mw-bg-cream-2);
    flex-shrink: 0;
}
.mw-rozmowy-emoji-tab {
    flex: 1;
    height: 40px;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    transition: background 0.12s;
    border-bottom: 2px solid transparent;
}
.mw-rozmowy-emoji-tab:hover { background: var(--mw-bg-card); }
.mw-rozmowy-emoji-tab.is-active {
    background: var(--mw-bg-card);
    border-bottom-color: var(--mw-accent);
}
.mw-rozmowy-emoji-grid {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 2px;
}
.mw-rozmowy-emoji-cell {
    width: 100%;
    aspect-ratio: 1;
    border: 0;
    background: transparent;
    border-radius: 4px;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    padding: 0;
    transition: background 0.08s, transform 0.06s;
}
.mw-rozmowy-emoji-cell:hover {
    background: var(--mw-bg-cream-2);
    transform: scale(1.15);
}
.mw-rozmowy-reply-input {
    width: 100%;
    min-height: 64px;
    max-height: 220px;
    padding: 12px 16px;
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    background: var(--mw-bg-cream-2);
    color: var(--mw-fg);
    font-family: var(--mw-font-sans);
    font-size: 14px;
    line-height: 1.5;
    resize: none;
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.02);
}
.mw-rozmowy-reply-input::placeholder {
    color: var(--mw-text-secondary);
    opacity: 0.55;
}
.mw-rozmowy-reply-input:focus {
    outline: 0;
    border-color: var(--mw-accent);
    background: var(--mw-bg-card);
    box-shadow: 0 0 0 3px rgba(224, 120, 86, 0.10);
}
.mw-rozmowy-reply-input:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}
.mw-rozmowy-reply-send {
    min-height: 64px;
    padding: 0 28px;
    background: var(--mw-accent);
    color: #fff;
    border: 0;
    border-radius: 10px;
    font-family: var(--mw-font-mono);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.12s, transform 0.08s, box-shadow 0.12s;
    box-shadow: 0 2px 6px rgba(224, 120, 86, 0.25);
}
.mw-rozmowy-reply-send:hover:not(:disabled) {
    background: var(--mw-accent-strong);
    box-shadow: 0 3px 10px rgba(224, 120, 86, 0.35);
    transform: translateY(-1px);
}
.mw-rozmowy-reply-send:active:not(:disabled) {
    transform: translateY(0);
}
.mw-rozmowy-reply-send:disabled {
    background: var(--mw-border);
    cursor: not-allowed;
    box-shadow: none;
}

/* === Empty state === */
.mw-rozmowy-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 40px 20px;
    text-align: center;
    color: var(--mw-text-secondary);
    gap: 10px;
}
.mw-rozmowy-empty-icon { font-size: 36px; opacity: 0.3; }
.mw-rozmowy-empty-title {
    font-family: var(--mw-font-sans);
    font-size: 15px;
    font-weight: 600;
    color: var(--mw-fg);
}
.mw-rozmowy-empty-desc {
    font-size: 12.5px;
    line-height: 1.6;
    max-width: 360px;
    opacity: 0.85;
}



/* === ADMIN → ROLE I UPRAWNIENIA ================================ */
.mw-admin-section-hint {
    background: var(--mw-bg-cream-2);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    padding: var(--mw-sp-3) var(--mw-sp-4);
    font-size: 13px;
    line-height: 1.55;
    color: var(--mw-text-secondary);
    margin-bottom: var(--mw-sp-5);
}

.mw-roles-shell {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: var(--mw-sp-5);
    align-items: start;
    margin-bottom: 100px; /* miejsce dla sticky savebar */
}

/* Lewa: lista rol */
.mw-roles-aside {
    position: sticky;
    top: var(--mw-sp-3);
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    padding: var(--mw-sp-3);
    max-height: calc(100vh - 160px);
    overflow-y: auto;
}
.mw-roles-aside-head {
    padding: 4px 8px var(--mw-sp-2);
    border-bottom: 1px solid var(--mw-border-subtle);
    margin-bottom: var(--mw-sp-2);
}
.mw-roles-aside-loader,
.mw-roles-aside-empty {
    padding: var(--mw-sp-4) var(--mw-sp-3);
    color: var(--mw-muted);
    font-size: 13px;
    text-align: center;
}
.mw-roles-aside-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 10px 12px;
    cursor: pointer;
    text-align: left;
    transition: all 0.15s ease;
    margin-bottom: 2px;
    font-family: inherit;
}
.mw-roles-aside-item:hover {
    background: var(--mw-bg-cream-2);
}
.mw-roles-aside-item.is-active {
    background: var(--mw-bg-cream-2);
    border-color: var(--mw-border);
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.mw-roles-aside-item-color {
    width: 4px;
    align-self: stretch;
    background: var(--role-color, #6b7280);
    border-radius: 2px;
    flex-shrink: 0;
}
.mw-roles-aside-item-body {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
}
.mw-roles-aside-item-acts {
    display: flex;
    gap: 2px;
    opacity: 0;
    transition: opacity 0.12s ease;
    flex-shrink: 0;
}
.mw-roles-aside-item:hover .mw-roles-aside-item-acts,
.mw-roles-aside-item.is-active .mw-roles-aside-item-acts {
    opacity: 1;
}
.mw-roles-aside-act {
    width: 24px;
    height: 24px;
    border: 0;
    background: transparent;
    border-radius: 4px;
    color: var(--mw-muted);
    cursor: pointer;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.12s ease, color 0.12s ease;
    padding: 0;
}
.mw-roles-aside-act:hover {
    background: var(--mw-bg-card);
    color: var(--mw-fg);
}
.mw-roles-aside-act-danger:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}
.mw-roles-aside-add {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: var(--mw-sp-3);
    padding: 10px 12px;
    background: transparent;
    border: 1px dashed var(--mw-border);
    border-radius: 8px;
    color: var(--mw-muted);
    cursor: pointer;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: all 0.15s ease;
}
.mw-roles-aside-add:hover {
    border-color: var(--mw-accent);
    color: var(--mw-accent);
    background: var(--mw-accent-bg);
}
.mw-roles-aside-add-icon {
    font-size: 16px;
    line-height: 1;
    font-family: var(--mw-font-sans);
    font-weight: 400;
}
.mw-roles-meta-form {
    margin-top: var(--mw-sp-2);
}
.mw-roles-meta-form textarea.mw-input {
    resize: vertical;
    min-height: 60px;
    font-family: var(--mw-font-sans);
}
.mw-roles-aside-item-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.2;
    margin-bottom: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-roles-aside-item-meta {
    font-family: var(--mw-font-mono);
    font-size: 10.5px;
    letter-spacing: 0.04em;
    color: var(--mw-muted);
    text-transform: uppercase;
}
.mw-roles-system-badge {
    display: inline-block;
    font-family: var(--mw-font-mono);
    font-size: 9px;
    letter-spacing: 0.08em;
    padding: 1px 5px;
    border-radius: 3px;
    background: var(--mw-bg-cream-2);
    color: var(--mw-muted);
    vertical-align: middle;
    margin-left: 4px;
}

/* Prawa: matryca uprawnien */
.mw-roles-main {
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    padding: var(--mw-sp-4) var(--mw-sp-5);
    min-height: 300px;
}
.mw-roles-main-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--mw-sp-4);
    padding-bottom: var(--mw-sp-4);
    border-bottom: 1px solid var(--mw-border-subtle);
    margin-bottom: var(--mw-sp-5);
}
.mw-roles-main-title {
    font-family: var(--mw-font-serif);
    font-size: 22px;
    font-weight: 600;
    margin: 4px 0 4px;
    color: var(--mw-fg);
}
.mw-roles-main-desc {
    font-size: 13px;
    color: var(--mw-text-secondary);
    line-height: 1.5;
    max-width: 540px;
}
.mw-roles-main-meta {
    text-align: right;
    font-size: 13px;
    color: var(--mw-muted);
    line-height: 1.5;
}
.mw-roles-main-meta strong {
    color: var(--mw-fg);
    font-size: 16px;
    font-family: var(--mw-font-mono);
}
.mw-roles-readonly-hint {
    font-family: var(--mw-font-mono);
    font-size: 10.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mw-accent);
    margin-top: 6px;
}

/* Kategorie */
.mw-roles-cats {
    display: flex;
    flex-direction: column;
    gap: var(--mw-sp-4);
}
.mw-roles-cat {
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    overflow: hidden;
    background: var(--mw-bg-cream-2);
}
.mw-roles-cat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: var(--mw-bg-card);
    border-bottom: 1px solid var(--mw-border-subtle);
}
.mw-roles-cat-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}
.mw-roles-cat-check {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--mw-accent);
}
.mw-roles-cat-title {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mw-fg);
}
.mw-roles-cat-count {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    color: var(--mw-muted);
    padding: 2px 8px;
    border-radius: 10px;
    background: var(--mw-bg-cream-2);
}
.mw-roles-cat-count.is-on {
    color: var(--mw-fg);
    background: var(--mw-accent-bg);
}

/* Pojedyncze uprawnienia */
.mw-roles-cat-perms {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1px;
    background: var(--mw-border-subtle);
    padding: 1px;
}
.mw-roles-perm {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: var(--mw-bg-card);
    cursor: pointer;
    transition: background 0.12s ease;
    border-radius: 0;
}
.mw-roles-perm:hover {
    background: var(--mw-bg-cream-2);
}
.mw-roles-perm.is-on {
    background: var(--mw-accent-bg);
}
.mw-roles-perm.is-on:hover {
    background: var(--mw-accent-bg);
    filter: brightness(0.97);
}
.mw-roles-perm.is-readonly {
    cursor: default;
    opacity: 0.7;
}
.mw-roles-perm-check {
    margin-top: 2px;
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: var(--mw-accent);
}
.mw-roles-perm.is-readonly .mw-roles-perm-check {
    cursor: default;
}
.mw-roles-perm-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.mw-roles-perm-name {
    font-size: 13.5px;
    font-weight: 500;
    color: var(--mw-fg);
    line-height: 1.3;
}
.mw-roles-perm-desc {
    font-size: 12px;
    color: var(--mw-text-secondary);
    line-height: 1.45;
}
.mw-roles-perm-code {
    font-family: var(--mw-font-mono);
    font-size: 10.5px;
    color: var(--mw-muted);
    letter-spacing: 0.02em;
    margin-top: 2px;
    opacity: 0.7;
}

/* Sticky savebar (dolna belka zapisz/anuluj) */
.mw-roles-savebar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--mw-bg-card);
    border-top: 1px solid var(--mw-border);
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mw-sp-4);
    z-index: 50;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.06);
}
.mw-roles-savebar[hidden] {
    display: none;
}
.mw-roles-savebar-msg {
    font-size: 13px;
    color: var(--mw-fg);
    font-weight: 500;
}
.mw-roles-savebar-acts {
    display: flex;
    gap: var(--mw-sp-2);
}

/* Responsive: mobile — stack pionowo */
@media (max-width: 900px) {
    .mw-roles-shell {
        grid-template-columns: 1fr;
    }
    .mw-roles-aside {
        position: static;
        max-height: none;
    }
    .mw-roles-cat-perms {
        grid-template-columns: 1fr;
    }
}

/* === ADMIN → INLINE EDYCJA UZYTKOWNIKA ========================= */
.mw-user-edit-shell {
    display: flex;
    flex-direction: column;
    gap: var(--mw-sp-4);
    margin-bottom: var(--mw-sp-6);
}
.mw-user-edit-card {
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 10px;
    padding: var(--mw-sp-4) var(--mw-sp-5);
}
.mw-user-edit-card-soft {
    background: var(--mw-bg-cream-2);
    border-style: dashed;
}
.mw-user-edit-card-head {
    padding-bottom: var(--mw-sp-3);
    border-bottom: 1px solid var(--mw-border-subtle);
    margin-bottom: var(--mw-sp-4);
}
.mw-user-edit-card-soft .mw-user-edit-card-head {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}
.mw-user-edit-card-sub {
    margin-top: 4px;
    font-size: 13px;
    color: var(--mw-text-secondary);
    line-height: 1.5;
}
.mw-user-edit-chevron {
    display: inline-block;
    transition: transform 0.15s ease;
    color: var(--mw-muted);
    font-size: 10px;
}
details[open] .mw-user-edit-chevron {
    transform: rotate(90deg);
}
details summary::-webkit-details-marker { display: none; }
details summary { list-style: none; }

.mw-user-edit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--mw-sp-4);
}
.mw-user-edit-grid .mw-field-span-2 {
    grid-column: 1 / -1;
}

/* Toggle "Moze nadawac wizytowki" — eleganckie z opisem */
.mw-user-toggle {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: var(--mw-bg-cream-2);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    cursor: pointer;
    user-select: none;
    height: 100%;
    transition: border-color 0.12s ease, background 0.12s ease;
}
.mw-user-toggle:hover { border-color: var(--mw-border); }
.mw-user-toggle:has(input:checked) {
    background: var(--mw-accent-bg);
    border-color: var(--mw-accent-soft);
}
.mw-user-toggle input[type="checkbox"] {
    margin: 2px 0 0;
    width: 16px;
    height: 16px;
    accent-color: var(--mw-accent);
    cursor: pointer;
    flex-shrink: 0;
}
.mw-user-toggle-title {
    display: block;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--mw-fg);
    line-height: 1.3;
}
.mw-user-toggle-sub {
    display: block;
    font-size: 12px;
    color: var(--mw-text-secondary);
    line-height: 1.4;
    margin-top: 3px;
}

/* Wizytowki — auto-fit grid (kazda karta min 280px, ile sie zmiesci) */
.mw-user-templates-loader,
.mw-user-templates-empty {
    padding: var(--mw-sp-4);
    background: var(--mw-bg-cream-2);
    border: 1px dashed var(--mw-border-subtle);
    border-radius: 8px;
    color: var(--mw-muted);
    font-size: 13px;
    text-align: center;
}
.mw-user-templates-meta {
    margin-bottom: var(--mw-sp-3);
    font-size: 13px;
    color: var(--mw-text-secondary);
}
.mw-user-templates-meta strong {
    color: var(--mw-fg);
    font-family: var(--mw-font-mono);
    font-size: 14px;
}
.mw-user-templates-meta-sep {
    margin: 0 8px;
    color: var(--mw-muted);
    opacity: 0.5;
}
.mw-user-templates-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 8px;
}
.mw-user-tpl {
    display: flex;
    align-items: stretch;
    gap: 10px;
    padding: 10px 12px;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.12s ease;
}
.mw-user-tpl:hover { border-color: var(--mw-border); }
.mw-user-tpl.is-on {
    background: var(--mw-accent-bg);
    border-color: var(--mw-accent-soft);
}
.mw-user-tpl.is-own {
    cursor: default;
    background: var(--mw-bg-cream-2);
    border-style: dashed;
}
.mw-user-tpl input[type="checkbox"] {
    margin: 2px 0 0;
    width: 15px;
    height: 15px;
    accent-color: var(--mw-accent);
    flex-shrink: 0;
}
.mw-user-tpl-bar {
    width: 3px;
    border-radius: 2px;
    flex-shrink: 0;
}
.mw-user-tpl-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    flex: 1;
}
.mw-user-tpl-name {
    font-size: 13.5px;
    font-weight: 500;
    color: var(--mw-fg);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-user-tpl-meta {
    font-family: var(--mw-font-mono);
    font-size: 10.5px;
    color: var(--mw-muted);
    letter-spacing: 0.03em;
    line-height: 1.4;
}

@media (max-width: 760px) {
    .mw-user-edit-grid {
        grid-template-columns: 1fr;
    }
}

/* === ADMIN → WHATSAPP INLINE EDIT (2-kolumny) ================== */
.mw-wa-edit-shell {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--mw-sp-6);
}
.mw-wa-edit-cols {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: var(--mw-sp-4);
}
.mw-wa-edit-col {
    display: flex;
    flex-direction: column;
    gap: var(--mw-sp-4);
    min-width: 0;
}
.mw-user-tpl.is-suspended,
.mw-user-tpl.is-inactive {
    opacity: 0.6;
    background: var(--mw-bg-cream-2);
}

@media (max-width: 980px) {
    .mw-wa-edit-cols {
        grid-template-columns: 1fr;
    }
}

/* === ADMIN → RESET STATYSTYK ===================================== */
.mw-reset-warning {
    display: flex;
    align-items: flex-start;
    gap: var(--mw-sp-3);
    background: rgba(239, 68, 68, 0.05);
    border: 1px solid rgba(239, 68, 68, 0.25);
}
.mw-reset-warning-icon {
    font-size: 28px;
    line-height: 1;
    color: #ef4444;
    flex-shrink: 0;
    padding-top: 2px;
}
.mw-reset-warning-title {
    font-size: 15px;
    font-weight: 600;
    color: #ef4444;
    margin-bottom: 4px;
}
.mw-reset-warning-text {
    font-size: 13px;
    color: var(--mw-text-secondary);
    line-height: 1.5;
}
.mw-reset-options {
    display: flex;
    flex-direction: column;
    gap: var(--mw-sp-2);
}
/* Destructive button — solid red filled (vs subtle .mw-row-act-danger) */
.mw-row-act-destructive {
    background: #ef4444;
    color: #fff;
    border-color: #ef4444;
}
.mw-row-act-destructive:hover:not(:disabled) {
    background: #dc2626;
    border-color: #dc2626;
}
.mw-row-act-destructive:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* === ADMIN → SZABLONY SMS ====================================== */
.mw-smstpl-ph-group {
    margin-bottom: 10px;
}
.mw-smstpl-ph-group:last-child {
    margin-bottom: 0;
}
.mw-smstpl-ph-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.mw-smstpl-ph-btn {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 14px;
    background: var(--mw-bg-cream-2);
    border: 1px solid var(--mw-border-subtle);
    cursor: pointer;
    transition: all 0.12s ease;
    white-space: nowrap;
}
.mw-smstpl-ph-btn:hover {
    background: var(--mw-accent-bg);
    border-color: var(--mw-accent-soft);
    color: var(--mw-accent);
}
.mw-smstpl-preview-row {
    margin-bottom: var(--mw-sp-3);
    padding-bottom: var(--mw-sp-3);
    border-bottom: 1px solid var(--mw-border-subtle);
}
.mw-smstpl-preview-row:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}
.mw-smstpl-preview-text {
    background: var(--mw-bg-cream-2);
    padding: var(--mw-sp-3);
    border-radius: 8px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--mw-fg);
    white-space: pre-wrap;
    word-wrap: break-word;
}

/* === GENERATOR NADAWANIE — karty szablonow SMS (max 3) ============ */
.mw-sms-tpl-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
    margin-bottom: var(--mw-sp-3);
    align-items: stretch;
}
.mw-sms-tpl-card {
    background: var(--mw-bg-card);
    border: 1.5px solid var(--mw-border-subtle);
    border-radius: 8px;
    padding: 10px 12px;
    cursor: pointer;
    text-align: left;
    transition: all 0.12s ease;
    font-family: inherit;
    min-height: 64px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mw-sms-tpl-card:hover {
    border-color: var(--mw-border);
    background: var(--mw-bg-cream-2);
}
.mw-sms-tpl-card.is-active {
    border-color: var(--mw-accent);
    background: var(--mw-accent-bg);
    box-shadow: 0 1px 3px rgba(224, 120, 86, 0.12);
}
.mw-sms-tpl-card-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.2;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.mw-sms-tpl-card-brand {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--mw-accent);
    background: var(--mw-accent-bg);
    border: 1px solid var(--mw-accent-soft);
    padding: 1px 6px;
    border-radius: 8px;
    font-weight: 500;
}
.mw-sms-tpl-card-snippet {
    font-size: 11.5px;
    color: var(--mw-muted);
    line-height: 1.35;
    font-style: italic;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.mw-sms-tpl-more {
    align-self: center;
    font-family: var(--mw-font-mono);
    font-size: 10.5px;
    color: var(--mw-muted);
    text-align: center;
    padding: 8px;
}

/* === ADMIN → SZABLONY SMS — Generator AI ======================= */
.mw-smstpl-ai-section {
    background: linear-gradient(135deg, var(--mw-bg-card) 0%, var(--mw-accent-bg) 100%);
    border: 1px solid var(--mw-accent-soft);
}
.mw-smstpl-ai-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px;
}
.mw-smstpl-ai-card {
    background: var(--mw-bg-card);
    border: 1.5px solid var(--mw-border-subtle);
    border-radius: 8px;
    padding: 12px 14px;
    text-align: left;
    transition: all 0.15s ease;
    font-family: inherit;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 130px;
}
.mw-smstpl-ai-card:hover {
    border-color: var(--mw-accent-soft);
}
.mw-smstpl-ai-card.is-active {
    border-color: var(--mw-accent);
    background: var(--mw-accent-bg);
    box-shadow: 0 2px 8px rgba(224, 120, 86, 0.18);
}
.mw-smstpl-ai-card-head {
    display: flex;
    flex-direction: column;
    gap: 3px;
    border-bottom: 1px solid var(--mw-border-subtle);
    padding-bottom: 6px;
}
.mw-smstpl-ai-card-tone {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mw-accent);
    font-weight: 600;
}
.mw-smstpl-ai-card-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.3;
}
.mw-smstpl-ai-card-body {
    font-size: 12px;
    line-height: 1.5;
    color: var(--mw-text-secondary);
    font-style: italic;
    flex: 1;
    white-space: pre-wrap;
    word-wrap: break-word;
    cursor: pointer;
    border-radius: 4px;
    padding: 4px 6px;
    margin: -4px -6px;
    transition: background 0.12s ease;
}
.mw-smstpl-ai-card-body:hover {
    background: var(--mw-bg-cream-2);
}
.mw-smstpl-ai-card-body:focus-visible {
    outline: 2px solid var(--mw-accent-soft);
    outline-offset: 2px;
}
.mw-smstpl-ai-card-foot {
    display: flex;
    justify-content: flex-end;
    border-top: 1px dashed var(--mw-border-subtle);
    padding-top: 6px;
    margin-top: 2px;
}
.mw-smstpl-ai-regen-btn {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 12px;
    background: transparent;
    border: 1px solid var(--mw-border-subtle);
    color: var(--mw-text-secondary);
    cursor: pointer;
    transition: all 0.12s ease;
    font-family: inherit;
}
.mw-smstpl-ai-regen-btn:hover:not(:disabled) {
    background: var(--mw-accent-bg);
    border-color: var(--mw-accent-soft);
    color: var(--mw-accent);
}
.mw-smstpl-ai-regen-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* === ZESPÓŁ → Funnel per doradca =============================== */
/* 4 segmenty: Wygen → Wysł → Otw → Spotk. Każdy z liczbą + drop-off %.
   Border-left signaluje stan: zielony >=70%, żółty 40-70%, czerwony <40%.
   Pozwala kierownikowi w 2s zobaczyć GDZIE doradca traci leadów. */
.mw-team-funnel {
    /* Sesja prog #131: 4 grupy produktowe (Wizytowka:2 / Chat:2 / Oferta:2 / Wynik:1).
       Sesja prog #140: dodano Terminarz (rescue) -> 5 grup (Wizytowka:2 / Chat:2 / Oferta:2 / Terminarz:2 / Wynik:1).
       Wagi grid: 2fr 2fr 2fr 2fr 1fr — Spotk wezsza bo to 1 step, reszta po 2 stepy. */
    display: grid;
    grid-template-columns: 2fr 2fr 2fr 2fr 1fr;
    gap: 14px;
    margin-top: 6px;
    align-items: stretch;
}
.mw-team-funnel-group {
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.mw-team-funnel-group-label {
    font-family: var(--mw-font-mono);
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mw-text-muted);
    margin-bottom: 4px;
    padding-left: 2px;
    font-weight: 500;
    line-height: 1.2;
    display: flex;
    align-items: baseline;
    gap: 6px;
}
.mw-team-funnel-group.is-placeholder .mw-team-funnel-group-label {
    color: var(--mw-text-faint);
}
.mw-team-funnel-group-soon {
    font-size: 8px;
    letter-spacing: 0.08em;
    color: var(--mw-text-faint);
    text-transform: lowercase;
    font-weight: 400;
    opacity: 0.7;
}
.mw-team-funnel-group-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 3px;
    flex: 1;
}
.mw-team-funnel-step {
    background: var(--mw-bg-cream-2);
    border-left: 3px solid var(--mw-border-medium);
    border-radius: 3px;
    padding: 4px 6px 5px;
    min-width: 0;
}
.mw-team-funnel-step.baseline { border-left-color: var(--mw-status-info); }
.mw-team-funnel-step.is-good  { border-left-color: var(--mw-status-online); }
.mw-team-funnel-step.is-warn  { border-left-color: var(--mw-status-warn); }
.mw-team-funnel-step.is-bad   { border-left-color: var(--mw-status-urgent); }
/* Oferta placeholder — wyciszone, nie krzyczy 'is-bad' do doradczyni (produkt nie istnieje). */
.mw-team-funnel-step.is-placeholder {
    background: transparent;
    border-left-color: var(--mw-border-soft);
    opacity: 0.55;
}
.mw-team-funnel-step.is-placeholder .mw-team-funnel-step-count,
.mw-team-funnel-step.is-placeholder .mw-team-funnel-step-drop {
    color: var(--mw-text-faint);
}
.mw-team-funnel-step.is-placeholder .mw-team-funnel-step-bar > span {
    background: var(--mw-border-soft);
}

.mw-team-funnel-step-count {
    font-family: var(--mw-font-serif);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--mw-fg);
}
.mw-team-funnel-step-label {
    font-family: var(--mw-font-mono);
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mw-text-faint);
    margin-top: 1px;
}
.mw-team-funnel-step-bar {
    height: 3px;
    background: var(--mw-border-soft);
    border-radius: 2px;
    margin-top: 4px;
    overflow: hidden;
}
.mw-team-funnel-step-bar > span {
    display: block;
    height: 100%;
    background: var(--mw-text-muted);
    transition: width 0.2s ease;
}
.mw-team-funnel-step.baseline .mw-team-funnel-step-bar > span { background: var(--mw-status-info); }
.mw-team-funnel-step.is-good  .mw-team-funnel-step-bar > span { background: var(--mw-status-online); }
.mw-team-funnel-step.is-warn  .mw-team-funnel-step-bar > span { background: var(--mw-status-warn); }
.mw-team-funnel-step.is-bad   .mw-team-funnel-step-bar > span { background: var(--mw-status-urgent); }

.mw-team-funnel-step-drop {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    margin-top: 3px;
    color: var(--mw-text-muted);
}
.mw-team-funnel-step.is-good .mw-team-funnel-step-drop { color: var(--mw-status-online); }
.mw-team-funnel-step.is-warn .mw-team-funnel-step-drop { color: var(--mw-status-warn); }
.mw-team-funnel-step.is-bad  .mw-team-funnel-step-drop { color: var(--mw-status-urgent); }

/* === ZESPÓŁ → Tabs okresu (segmented control) ============== */
.mw-team-period-tabs {
    display: inline-flex;
    gap: 2px;
    background: var(--mw-bg-cream-2);
    border: 1px solid var(--mw-border-soft);
    border-radius: 8px;
    padding: 3px;
    margin-bottom: 12px;
}
.mw-team-period-tab {
    background: transparent;
    border: 0;
    padding: 6px 14px;
    border-radius: 5px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mw-text-muted);
    cursor: pointer;
    transition: all 0.12s ease;
}
.mw-team-period-tab:hover:not(.is-active) {
    color: var(--mw-fg);
    background: var(--mw-bg-card);
}
.mw-team-period-tab.is-active {
    background: var(--mw-bg-card);
    color: var(--mw-fg);
    box-shadow: var(--mw-shadow-sm);
    font-weight: 600;
}

/* === ZESPÓŁ → Delta vs poprzedni okres ===================== */
.mw-team-delta {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    font-weight: 600;
    margin-top: 4px;
    padding: 2px 6px;
    border-radius: 10px;
    letter-spacing: 0.02em;
}
.mw-team-delta-arrow {
    font-size: 12px;
    line-height: 1;
}
.mw-team-delta.is-up   { color: var(--mw-status-online); background: rgba(74,124,89,0.10); }
.mw-team-delta.is-down { color: var(--mw-status-urgent); background: rgba(196,89,59,0.10); }
.mw-team-delta.is-flat { color: var(--mw-text-muted);    background: var(--mw-bg-cream-2); }

/* Status logowania w zakładce Zespół — pod imieniem osoby */
.mw-team-login {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: 10px;
    padding: 2px 8px;
    border-radius: 10px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.2px;
    background: var(--mw-bg-cream-2);
    color: var(--mw-text-muted);
    white-space: nowrap;
    vertical-align: middle;
}
.mw-team-login::before {
    content: '●';
    font-size: 8px;
    line-height: 1;
}
.mw-team-login--online    { background: rgba(74,124,89,0.10); color: var(--mw-status-online, #4a7c59); }
.mw-team-login--recent    { background: rgba(74,124,89,0.06); color: var(--mw-status-online, #4a7c59); opacity: 0.85; }
.mw-team-login--today     { background: var(--mw-bg-cream-2);  color: var(--mw-text-secondary); }
.mw-team-login--yesterday { background: var(--mw-bg-cream-2);  color: var(--mw-text-muted); }
.mw-team-login--week      { background: var(--mw-bg-cream-2);  color: var(--mw-text-muted); }
.mw-team-login--old       { background: rgba(196,89,59,0.06); color: var(--mw-text-muted); }
.mw-team-login--never     { background: rgba(196,89,59,0.10); color: var(--mw-status-urgent, #c4593b); }

/* ============================================================
 * AI PROMPTS — admin tab
 * ============================================================ */
.mw-aip-info {
    background: var(--mw-bg-cream-2);
    border: 1px solid var(--mw-border-soft);
    border-radius: 10px;
    padding: 14px 18px;
    font-size: 13px;
    color: var(--mw-text-secondary);
    line-height: 1.6;
    margin-bottom: 24px;
}
.mw-aip-toast {
    position: fixed; top: 20px; right: 20px; z-index: 9999;
    background: #16a34a; color: #fff;
    padding: 12px 20px; border-radius: 10px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    font-size: 13px; font-weight: 500;
    animation: mw-aip-toast-in 0.2s ease;
}
@keyframes mw-aip-toast-in { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

.mw-aip-group { margin-bottom: 28px; }
.mw-aip-group-header {
    font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.6px;
    color: var(--mw-text-muted); padding: 0 0 10px 4px;
    display: flex; align-items: center; gap: 8px;
}
.mw-aip-count {
    background: var(--mw-bg-cream-2); color: var(--mw-text-secondary);
    padding: 2px 10px; border-radius: 12px; font-size: 11px;
}
.mw-aip-row {
    background: #fff; border: 1px solid var(--mw-border-soft); border-radius: 10px;
    padding: 14px 18px; margin-bottom: 8px;
    display: flex; gap: 16px; align-items: center;
    cursor: pointer; transition: border-color 0.15s, transform 0.1s;
}
.mw-aip-row:hover { border-color: var(--mw-accent, #E07856); }
.mw-aip-row-main { flex: 1; min-width: 0; }
.mw-aip-row-title { font-size: 14px; font-weight: 600; color: var(--mw-text-primary); margin-bottom: 4px; }
.mw-aip-row-desc { font-size: 12px; color: var(--mw-text-secondary); margin-bottom: 6px; line-height: 1.5; }
.mw-aip-row-meta { font-size: 11px; color: var(--mw-text-muted); display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.mw-aip-key { font-family: 'JetBrains Mono', monospace; background: var(--mw-bg-cream-2); padding: 1px 6px; border-radius: 4px; font-size: 10px; }
.mw-aip-row-actions { display: flex; gap: 6px; flex-shrink: 0; }
.mw-aip-badge { font-size: 10px; padding: 2px 8px; border-radius: 10px; font-weight: 500; }
.mw-aip-badge--locked { background: #fef3c7; color: #92400e; }

/* Edit view */
.mw-aip-edit-grid { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; }
@media (max-width: 1100px) { .mw-aip-edit-grid { grid-template-columns: 1fr; } }
.mw-aip-edit-meta {
    background: var(--mw-bg-cream-2); border-radius: 8px; padding: 12px 16px;
    font-size: 12px; line-height: 1.8; margin-bottom: 12px;
    display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px;
}
.mw-aip-edit-meta code { font-family: 'JetBrains Mono', monospace; background: rgba(0,0,0,0.04); padding: 1px 6px; border-radius: 4px; font-size: 11px; }
.mw-aip-edit-desc { font-size: 13px; color: var(--mw-text-secondary); margin-bottom: 18px; line-height: 1.6; }
.mw-aip-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.6px; color: var(--mw-text-muted); display: block; margin: 14px 0 6px; }
.mw-aip-textarea {
    width: 100%; min-height: 480px;
    font-family: 'JetBrains Mono', monospace; font-size: 12px; line-height: 1.6;
    padding: 14px 16px; border: 1px solid var(--mw-border-soft); border-radius: 8px;
    background: #fff; color: var(--mw-text-primary); resize: vertical;
    box-sizing: border-box;
}
.mw-aip-textarea:focus { outline: 2px solid var(--mw-accent, #E07856); outline-offset: -1px; border-color: transparent; }
.mw-aip-input {
    width: 100%; padding: 8px 12px; border: 1px solid var(--mw-border-soft); border-radius: 6px;
    font-size: 13px; box-sizing: border-box;
}
.mw-aip-counter { font-size: 11px; color: var(--mw-text-muted); margin-top: 6px; }
.mw-aip-actions { display: flex; gap: 10px; margin-top: 20px; }
.mw-aip-btn-primary {
    background: var(--mw-accent, #E07856); color: #fff; border: none;
    padding: 10px 22px; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.mw-aip-btn-primary:hover { background: var(--mw-accent-hover, #C96243); }
.mw-aip-btn-secondary {
    background: #fff; color: var(--mw-text-secondary); border: 1px solid var(--mw-border-soft);
    padding: 10px 22px; border-radius: 8px; font-size: 13px; font-weight: 500; cursor: pointer;
}
.mw-aip-btn-secondary:hover { border-color: var(--mw-text-primary); color: var(--mw-text-primary); }

.mw-aip-edit-side { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 20px; }
.mw-aip-side-block { background: var(--mw-bg-cream-2); border-radius: 10px; padding: 14px 16px; font-size: 12px; line-height: 1.6; }
.mw-aip-side-title { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.6px; color: var(--mw-text-muted); margin-bottom: 8px; }
.mw-aip-side-hint { color: var(--mw-text-muted); font-size: 11px; margin-bottom: 8px; }
.mw-aip-side-empty { color: var(--mw-text-muted); font-style: italic; font-size: 12px; }
.mw-aip-side-block code { font-family: 'JetBrains Mono', monospace; background: rgba(0,0,0,0.06); padding: 1px 5px; border-radius: 3px; font-size: 11px; }
.mw-aip-test-vars {
    width: 100%; min-height: 100px; font-family: 'JetBrains Mono', monospace; font-size: 11px;
    padding: 8px 10px; border: 1px solid var(--mw-border-soft); border-radius: 6px; box-sizing: border-box;
    margin-bottom: 8px; background: #fff;
}
.mw-aip-test-output {
    background: #fff; border: 1px solid var(--mw-border-soft); border-radius: 6px;
    padding: 10px 12px; font-size: 11px; line-height: 1.5; margin-top: 8px;
    max-height: 280px; overflow: auto; white-space: pre-wrap; word-wrap: break-word;
    font-family: 'JetBrains Mono', monospace;
}

/* History view */
.mw-aip-hist-row {
    display: flex; gap: 16px; align-items: center;
    background: #fff; border: 1px solid var(--mw-border-soft); border-radius: 10px;
    padding: 14px 18px; margin-bottom: 8px;
}
.mw-aip-hist-row--active { border-color: var(--mw-accent, #E07856); background: var(--mw-bg-cream-2); }
.mw-aip-hist-info { flex: 1; }
.mw-aip-hist-version { font-size: 13px; font-weight: 600; color: var(--mw-text-primary); }
.mw-aip-hist-meta { font-size: 11px; color: var(--mw-text-muted); margin-top: 2px; }
.mw-aip-hist-note { font-size: 12px; color: var(--mw-text-secondary); margin-top: 4px; font-style: italic; }
.mw-aip-hist-actions { display: flex; gap: 6px; flex-shrink: 0; }

/* ============================================================
 * KOMUNIKACJA -> EMAIL TAB (mw-tab-email.js)
 * Gmail-style 4-column layout + MW elegance palette.
 * ============================================================ */

/* Layout shell */
.mw-email-shell {
    display: grid;
    grid-template-columns: 200px 320px 1fr;
    height: 100%;
    background: var(--mw-bg-cream-light);
    overflow: hidden;
}
.mw-email-shell.is-360-open { grid-template-columns: 200px 280px 1fr 280px; }

/* SIDEBAR */
.mw-email-sidebar {
    display: flex; flex-direction: column;
    background: var(--mw-bg-cream);
    border-right: 1px solid var(--mw-border-soft);
    padding: 16px 12px;
    gap: 14px;
    overflow-y: auto;
}
.mw-email-compose-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 14px;
    background: var(--mw-accent); color: var(--mw-text-on-accent);
    border: 1px solid var(--mw-accent-strong); border-radius: 10px;
    font-size: 13px; font-weight: 600; font-family: var(--mw-font-sans);
    cursor: pointer; transition: all 0.15s ease;
    box-shadow: var(--mw-shadow-sm);
}
.mw-email-compose-btn:hover {
    background: var(--mw-accent-strong);
    transform: translateY(-1px); box-shadow: var(--mw-shadow-card);
}
.mw-email-compose-icon { display: inline-flex; align-items: center; }

/* Sender pill — Apple NSPopUpButton-style w prawym rogu tab bar (slot data-mw-channel-tools) */
.mw-email-sender-wrap {
    position: relative;
    display: inline-flex;
}
.mw-email-sender-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 11px 6px 13px;
    background: transparent;
    border: 1px solid var(--mw-border-subtle);
    border-radius: 999px;
    font-family: var(--mw-font-sans);
    font-size: 12.5px;
    font-weight: 500;
    color: var(--mw-text-secondary);
    letter-spacing: -0.005em;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
    white-space: nowrap;
    max-width: 280px;
}
.mw-email-sender-pill:hover {
    background: var(--mw-bg-card);
    border-color: var(--mw-border-soft);
    color: var(--mw-text-primary);
}
.mw-email-sender-pill.is-open {
    background: var(--mw-bg-card);
    border-color: var(--mw-accent);
    color: var(--mw-text-primary);
    box-shadow: 0 0 0 3px var(--mw-accent-bg);
}
.mw-email-sender-pill-prefix {
    color: var(--mw-text-faint);
    font-weight: 400;
}
.mw-email-sender-pill-label {
    color: inherit;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
}
.mw-email-sender-pill-chevron {
    color: var(--mw-text-faint);
    transition: transform 160ms ease;
    flex-shrink: 0;
}
.mw-email-sender-pill.is-open .mw-email-sender-pill-chevron {
    transform: rotate(180deg);
    color: var(--mw-accent);
}
.mw-email-sender-pill--empty {
    color: var(--mw-text-faint);
    cursor: default;
    font-style: italic;
    padding: 6px 11px;
    border: 1px dashed var(--mw-border-subtle);
    border-radius: 999px;
    font-size: 12px;
}

/* Popover dropdown — fade-in, MW shadow, Apple-grade */
.mw-email-sender-popover {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 280px;
    max-width: 360px;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-soft);
    border-radius: 10px;
    box-shadow: var(--mw-shadow-modal, 0 10px 32px -8px rgba(0,0,0,0.18), 0 4px 12px -4px rgba(0,0,0,0.08));
    padding: 6px;
    z-index: 200;
    animation: mw-email-sender-pop-in 140ms cubic-bezier(0.2, 0.8, 0.2, 1);
    transform-origin: top right;
}
@keyframes mw-email-sender-pop-in {
    from { opacity: 0; transform: translateY(-4px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.mw-email-sender-popover-head {
    padding: 8px 10px 6px;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    color: var(--mw-text-faint);
    font-weight: 600;
    border-bottom: 1px solid var(--mw-border-subtle);
    margin-bottom: 4px;
}
.mw-email-sender-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 10px;
    background: transparent;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    text-align: left;
    transition: background-color 100ms ease;
    font-family: var(--mw-font-sans);
}
.mw-email-sender-option:hover {
    background: var(--mw-bg-body, #F4EDE0);
}
.mw-email-sender-option.is-selected {
    background: var(--mw-accent-bg);
}
.mw-email-sender-option-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mw-border-soft);
    flex-shrink: 0;
}
.mw-email-sender-option.is-selected .mw-email-sender-option-dot {
    background: var(--mw-accent);
    box-shadow: 0 0 0 3px var(--mw-accent-bg);
}
.mw-email-sender-option-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}
.mw-email-sender-option-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--mw-text-primary);
    letter-spacing: -0.005em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-email-sender-option.is-selected .mw-email-sender-option-name {
    color: var(--mw-accent-strong, var(--mw-accent));
    font-weight: 600;
}
.mw-email-sender-option-email {
    font-size: 11px;
    color: var(--mw-text-muted);
    font-family: var(--mw-font-mono);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mw-email-sender-option-check {
    color: var(--mw-accent);
    flex-shrink: 0;
}

.mw-email-folders { display: flex; flex-direction: column; gap: 1px; }
.mw-email-folder {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px;
    background: transparent;
    border: 1px solid transparent; border-radius: 8px;
    color: var(--mw-text-secondary);
    font-size: 13px; font-weight: 500; font-family: var(--mw-font-sans);
    cursor: pointer; text-align: left;
    transition: all 0.12s ease;
}
.mw-email-folder:hover { background: var(--mw-bg-card); color: var(--mw-text-primary); }
.mw-email-folder.is-active {
    background: var(--mw-bg-card);
    border-color: var(--mw-border-soft);
    color: var(--mw-text-primary);
    font-weight: 600;
    box-shadow: var(--mw-shadow-sm);
}
.mw-email-folder-icon { display: inline-flex; color: var(--mw-text-muted); }
.mw-email-folder.is-active .mw-email-folder-icon { color: var(--mw-accent); }
.mw-email-folder-label { flex: 1; }
.mw-email-folder-count {
    font-size: 11px; font-weight: 700;
    color: var(--mw-text-on-accent);
    background: var(--mw-accent);
    padding: 2px 7px; border-radius: 10px;
    min-width: 20px; text-align: center;
}

.mw-email-smart-section { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--mw-border-soft); }
.mw-email-smart-label {
    font-size: 10px; text-transform: uppercase; letter-spacing: 0.6px;
    color: var(--mw-text-muted); font-weight: 700;
    padding: 0 12px 6px;
}
.mw-email-smart-list { display: flex; flex-direction: column; gap: 1px; }
.mw-email-smart-item {
    display: flex; align-items: center; gap: 10px;
    padding: 6px 12px;
    background: transparent; border: 1px solid transparent; border-radius: 6px;
    color: var(--mw-text-secondary);
    font-size: 12.5px; font-family: var(--mw-font-sans);
    cursor: pointer; text-align: left;
    transition: all 0.12s ease;
}
.mw-email-smart-item:hover { background: var(--mw-bg-card); color: var(--mw-text-primary); }
.mw-email-smart-item.is-active {
    background: var(--mw-accent-bg);
    color: var(--mw-accent-strong);
    font-weight: 600;
}
.mw-email-smart-bullet {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--mw-text-faint); flex-shrink: 0;
}
.mw-email-smart-item.is-active .mw-email-smart-bullet { background: var(--mw-accent); }

/* LIST col */
.mw-email-list {
    display: flex; flex-direction: column;
    background: var(--mw-bg-card);
    border-right: 1px solid var(--mw-border-soft);
    overflow: hidden;
}
.mw-email-list-head {
    padding: 14px 16px 10px;
    border-bottom: 1px solid var(--mw-border-soft);
    background: var(--mw-bg-card);
}
.mw-email-list-title {
    margin: 0 0 8px;
    font-size: 16px; font-weight: 700;
    font-family: var(--mw-font-serif);
    color: var(--mw-text-primary);
    letter-spacing: -0.01em;
}
.mw-email-search {
    width: 100%; padding: 7px 12px;
    border: 1px solid var(--mw-border-soft); border-radius: 8px;
    font-size: 12.5px; font-family: var(--mw-font-sans);
    background: var(--mw-bg-cream-light);
    color: var(--mw-text-primary);
}
.mw-email-search:focus {
    outline: none; border-color: var(--mw-accent);
    background: var(--mw-bg-card);
    box-shadow: 0 0 0 3px var(--mw-accent-bg);
}
.mw-email-list-loader { text-align: center; padding: 30px; color: var(--mw-text-muted); font-size: 12px; font-style: italic; }
.mw-email-items { flex: 1; overflow-y: auto; padding: 4px 8px 8px; }
.mw-email-empty-list { text-align: center; padding: 50px 20px; color: var(--mw-text-muted); }
.mw-email-empty-list-title { font-size: 14px; font-weight: 600; color: var(--mw-text-secondary); margin-bottom: 4px; }
.mw-email-empty-list-desc { font-size: 12px; }

.mw-email-item {
    display: flex; gap: 10px; align-items: flex-start;
    padding: 10px 12px;
    border-radius: 8px; margin-bottom: 1px;
    cursor: pointer;
    transition: background 0.12s ease;
    position: relative;
}
.mw-email-item:hover { background: var(--mw-bg-cream-light); }
.mw-email-item.is-active { background: var(--mw-accent-bg); }
.mw-email-item.is-unread::before {
    content: ''; position: absolute; left: 4px; top: 16px;
    width: 5px; height: 5px; border-radius: 50%;
    background: var(--mw-accent);
}
.mw-email-item.is-unread .mw-email-item-name,
.mw-email-item.is-unread .mw-email-item-subject { color: var(--mw-text-primary); font-weight: 700; }

.mw-email-avatar {
    width: 32px; height: 32px; border-radius: 50%;
    color: #fff; font-size: 11.5px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    font-family: var(--mw-font-sans);
}
.mw-email-item-body { flex: 1; min-width: 0; }
.mw-email-item-row1 { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.mw-email-item-name {
    font-size: 12.5px; color: var(--mw-text-secondary); font-weight: 500;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    flex: 1;
}
.mw-email-item-time { font-size: 11px; color: var(--mw-text-muted); flex-shrink: 0; font-family: var(--mw-font-mono); }
.mw-email-item-subject {
    font-size: 13px; color: var(--mw-text-secondary); margin-top: 2px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    font-weight: 500;
}
.mw-email-item-row2 { margin-top: 3px; }
.mw-email-item-snippet {
    font-size: 11.5px; color: var(--mw-text-muted);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    display: block;
}
.mw-email-item-meta { display: flex; gap: 6px; align-items: center; margin-top: 6px; }

.mw-email-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; }
.mw-email-dot--urgent { background: var(--mw-status-urgent); }
.mw-email-dot--warn { background: var(--mw-status-warn); }
.mw-email-cat-tag {
    font-size: 10px; font-weight: 600;
    color: var(--mw-text-muted);
    background: var(--mw-bg-cream);
    padding: 1px 7px; border-radius: 8px;
    text-transform: uppercase; letter-spacing: 0.4px;
    border: 1px solid var(--mw-border-soft);
}
.mw-email-item-star { color: var(--mw-status-warn); display: inline-flex; }
.mw-email-item-draft {
    font-size: 9.5px; font-weight: 700;
    color: var(--mw-accent-strong);
    background: var(--mw-accent-bg);
    padding: 1px 6px; border-radius: 6px;
    letter-spacing: 0.4px;
}

/* THREAD col */
.mw-email-thread {
    display: flex; flex-direction: column;
    background: var(--mw-bg-card);
    overflow: hidden;
}
.mw-email-empty {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    padding: 60px 30px; text-align: center;
    color: var(--mw-text-muted);
}
.mw-email-empty-title {
    font-size: 16px; color: var(--mw-text-secondary);
    font-family: var(--mw-font-serif); font-weight: 600;
    margin-bottom: 8px;
}
.mw-email-empty-desc { font-size: 12.5px; line-height: 1.6; max-width: 380px; }
.mw-email-empty-desc code {
    background: var(--mw-bg-cream); padding: 1px 6px; border-radius: 4px;
    font-family: var(--mw-font-mono); font-size: 0.92em; color: var(--mw-accent-strong);
}

.mw-email-thread-head {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--mw-border-soft);
    background: var(--mw-bg-card);
}
.mw-email-thread-head-main { flex: 1; min-width: 0; }
.mw-email-thread-subject {
    margin: 0 0 6px;
    font-size: 18px; font-weight: 700;
    font-family: var(--mw-font-serif);
    color: var(--mw-text-primary);
    letter-spacing: -0.01em; line-height: 1.3;
}
.mw-email-thread-meta-row {
    display: flex; gap: 10px; align-items: center;
    font-size: 11.5px; color: var(--mw-text-muted);
}
.mw-email-thread-msgcount { font-family: var(--mw-font-mono); font-size: 11px; }
.mw-email-thread-summary {
    margin-top: 8px;
    font-size: 12.5px; line-height: 1.5;
    color: var(--mw-text-secondary);
    background: var(--mw-bg-cream-light);
    border-left: 3px solid var(--mw-accent);
    padding: 8px 12px;
    border-radius: 0 6px 6px 0;
}
.mw-email-thread-summary-label {
    font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.6px;
    font-weight: 700; color: var(--mw-accent-strong);
    background: var(--mw-accent-bg);
    padding: 1px 6px; border-radius: 4px;
    margin-right: 6px;
}

.mw-email-thread-actions { display: flex; gap: 4px; flex-shrink: 0; }
.mw-email-icon-btn {
    width: 32px; height: 32px;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: 1px solid transparent; border-radius: 8px;
    color: var(--mw-text-secondary);
    cursor: pointer;
    transition: all 0.12s ease;
}
.mw-email-icon-btn:hover {
    background: var(--mw-bg-cream); color: var(--mw-text-primary);
    border-color: var(--mw-border-soft);
}
.mw-email-icon-btn.is-pressed {
    background: var(--mw-accent-bg); color: var(--mw-accent-strong);
    border-color: transparent;
}

.mw-email-thread-body {
    flex: 1; padding: 18px 24px; overflow-y: auto;
    background: var(--mw-bg-cream-light);
}
.mw-email-day-sep {
    text-align: center; font-size: 10.5px;
    color: var(--mw-text-muted);
    text-transform: uppercase; letter-spacing: 0.6px;
    font-family: var(--mw-font-mono);
    padding: 14px 0 6px;
    position: relative;
}
.mw-email-day-sep::before, .mw-email-day-sep::after {
    content: ''; position: absolute; top: 50%;
    width: 30%; height: 1px;
    background: var(--mw-border-soft);
}
.mw-email-day-sep::before { left: 5%; }
.mw-email-day-sep::after { right: 5%; }

.mw-email-msg {
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-soft);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 10px;
    box-shadow: var(--mw-shadow-sm);
}
.mw-email-msg--inbound { border-left: 3px solid var(--mw-status-info); }
.mw-email-msg--outbound { border-left: 3px solid var(--mw-status-online); }
.mw-email-msg-head {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
    margin-bottom: 8px; padding-bottom: 8px;
    border-bottom: 1px solid var(--mw-border-soft);
}
.mw-email-msg-from {
    font-size: 12.5px; font-weight: 600; color: var(--mw-text-primary);
    font-family: var(--mw-font-mono);
}
.mw-email-msg-time { font-size: 11px; color: var(--mw-text-muted); font-family: var(--mw-font-mono); }
.mw-email-msg-body {
    font-size: 13.5px; line-height: 1.6; color: var(--mw-text-primary);
    word-wrap: break-word;
}
.mw-email-msg-body img { max-width: 100%; height: auto; }
.mw-email-msg-text { white-space: pre-wrap; font-family: var(--mw-font-sans); margin: 0; }
.mw-email-msg-att {
    margin-top: 10px; padding: 6px 10px;
    font-size: 11px; color: var(--mw-text-secondary);
    background: var(--mw-bg-cream); border-radius: 6px;
}
.mw-email-no-messages { text-align: center; padding: 40px; color: var(--mw-text-muted); font-style: italic; }

/* AI banner */
.mw-email-ai-banner {
    margin: 0 24px 14px;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-accent-soft);
    border-left: 3px solid var(--mw-accent);
    border-radius: 10px;
    padding: 12px 16px;
}
.mw-email-ai-banner-head {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
    margin-bottom: 8px;
}
.mw-email-ai-banner-tag {
    font-size: 10px; font-weight: 700;
    color: var(--mw-accent-strong);
    background: var(--mw-accent-bg);
    padding: 2px 7px; border-radius: 6px;
    text-transform: uppercase; letter-spacing: 0.6px;
}
.mw-email-ai-banner-meta { font-size: 11px; color: var(--mw-text-muted); font-family: var(--mw-font-mono); }
.mw-email-ai-banner-preview {
    font-size: 13px; line-height: 1.55;
    color: var(--mw-text-primary);
    background: var(--mw-bg-cream-light);
    padding: 10px 12px;
    border-radius: 8px;
    margin-bottom: 10px;
    white-space: pre-wrap;
}
.mw-email-ai-banner-actions { display: flex; gap: 6px; flex-wrap: wrap; }

/* Reply form */
.mw-email-reply-form {
    padding: 14px 24px 18px;
    border-top: 1px solid var(--mw-border-soft);
    background: var(--mw-bg-card);
}
.mw-email-reply-meta {
    font-size: 11px; color: var(--mw-text-muted); margin-bottom: 6px;
    font-family: var(--mw-font-mono);
}
.mw-email-reply-meta strong { color: var(--mw-text-primary); font-weight: 600; }
.mw-email-reply {
    width: 100%; min-height: 80px; max-height: 220px;
    padding: 12px 14px;
    border: 1px solid var(--mw-border-soft); border-radius: 10px;
    font-size: 13.5px; font-family: var(--mw-font-sans); line-height: 1.5;
    background: var(--mw-bg-cream-light); color: var(--mw-text-primary);
    resize: vertical;
}
.mw-email-reply:focus {
    outline: none; border-color: var(--mw-accent);
    background: var(--mw-bg-card);
    box-shadow: 0 0 0 3px var(--mw-accent-bg);
}
.mw-email-reply-actions {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 10px;
}
.mw-email-reply-counter { font-size: 11px; color: var(--mw-text-muted); font-family: var(--mw-font-mono); }

/* Buttons */
.mw-email-btn-primary {
    padding: 7px 16px;
    background: var(--mw-accent); color: var(--mw-text-on-accent);
    border: 1px solid var(--mw-accent-strong); border-radius: 8px;
    font-size: 12.5px; font-weight: 600; font-family: var(--mw-font-sans);
    cursor: pointer; transition: all 0.15s ease;
}
.mw-email-btn-primary:hover:not(:disabled) { background: var(--mw-accent-strong); }
.mw-email-btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }

.mw-email-btn-ghost {
    padding: 7px 14px;
    background: transparent;
    color: var(--mw-text-secondary);
    border: 1px solid var(--mw-border-soft); border-radius: 8px;
    font-size: 12.5px; font-weight: 500; font-family: var(--mw-font-sans);
    cursor: pointer; transition: all 0.15s ease;
}
.mw-email-btn-ghost:hover {
    background: var(--mw-bg-cream); color: var(--mw-text-primary);
    border-color: var(--mw-border-medium);
}

/* COMPOSE INLINE (zastepuje empty/thread w panelu thread) */
.mw-email-compose-head-inline {
    background: var(--mw-bg-card);
}
.mw-email-compose-inline-body {
    flex: 1; overflow-y: auto;
    padding: 18px 24px 20px;
    display: flex; flex-direction: column; gap: 0;
    background: var(--mw-bg-card);
}
.mw-email-compose-field {
    display: flex; align-items: baseline; gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--mw-border-soft);
}
.mw-email-compose-field-label {
    min-width: 56px;
    font-size: 11px; text-transform: uppercase; letter-spacing: 0.6px;
    color: var(--mw-text-muted); font-weight: 700;
    flex-shrink: 0;
}
.mw-email-compose-field-static {
    flex: 1;
    font-size: 13.5px; color: var(--mw-text-primary);
}
.mw-email-compose-field-mono {
    font-family: var(--mw-font-mono);
    font-size: 12.5px;
    color: var(--mw-text-secondary);
}
.mw-email-compose-field-input {
    flex: 1;
    padding: 4px 0;
    background: transparent;
    border: none; outline: none;
    font-size: 14px; font-family: var(--mw-font-sans);
    color: var(--mw-text-primary);
}
.mw-email-compose-field-input::placeholder {
    color: var(--mw-text-faint);
}
.mw-email-compose-field-body {
    flex: 1;
    width: 100%; min-height: 280px;
    margin-top: 16px; padding: 0;
    background: transparent;
    border: none; outline: none;
    font-size: 14px; font-family: var(--mw-font-sans); line-height: 1.7;
    color: var(--mw-text-primary);
    resize: none;
}
.mw-email-compose-field-body::placeholder { color: var(--mw-text-faint); }

.mw-email-compose-inline-foot {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 24px 18px;
    border-top: 1px solid var(--mw-border-soft);
    background: var(--mw-bg-card);
}
.mw-email-compose-hint {
    font-size: 11px; color: var(--mw-text-muted);
    font-family: var(--mw-font-mono);
}
.mw-email-compose-inline-actions { display: flex; gap: 8px; }

/* 360 PANEL */
.mw-email-panel-360 {
    background: var(--mw-bg-cream);
    border-left: 1px solid var(--mw-border-soft);
    padding: 18px;
    overflow-y: auto;
}
.mw-email-360-empty { text-align: center; padding: 40px 16px; color: var(--mw-text-muted); font-size: 12.5px; }
.mw-email-360-hint { font-size: 11px; margin-top: 8px; line-height: 1.5; }
.mw-email-360-head {
    text-align: center;
    margin-bottom: 22px; padding-bottom: 14px;
    border-bottom: 1px solid var(--mw-border-soft);
}
.mw-email-360-avatar {
    width: 52px; height: 52px; border-radius: 50%;
    color: #fff; font-size: 17px; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 8px;
    font-family: var(--mw-font-sans);
}
.mw-email-360-name { font-size: 14px; font-weight: 700; font-family: var(--mw-font-serif); color: var(--mw-text-primary); }
.mw-email-360-row { font-size: 11.5px; color: var(--mw-text-secondary); margin-top: 3px; font-family: var(--mw-font-mono); }
.mw-email-360-section { margin-bottom: 22px; }
.mw-email-360-section h4 {
    font-size: 10px; text-transform: uppercase; letter-spacing: 0.6px;
    color: var(--mw-text-muted); margin: 0 0 8px;
    font-weight: 700;
}
.mw-email-360-fields > div { font-size: 12px; padding: 4px 0; color: var(--mw-text-primary); }
.mw-email-360-label { color: var(--mw-text-muted); font-weight: 600; margin-right: 4px; }
.mw-email-360-timeline em { font-size: 11.5px; color: var(--mw-text-muted); }

/* RESPONSIVE */
@media (max-width: 1240px) {
    .mw-email-shell { grid-template-columns: 180px 280px 1fr; }
    .mw-email-shell.is-360-open { grid-template-columns: 180px 240px 1fr 260px; }
}
@media (max-width: 1000px) {
    .mw-email-shell { grid-template-columns: 60px 280px 1fr; }
    .mw-email-shell.is-360-open { grid-template-columns: 60px 240px 1fr; }
    .mw-email-shell.is-360-open .mw-email-panel-360 { display: none; }
    .mw-email-folder-label, .mw-email-smart-label-txt, .mw-email-folder-count,
    .mw-email-smart-section { display: none; }
    .mw-email-compose-btn { width: 36px; height: 36px; padding: 0; }
}
@media (max-width: 800px) {
    .mw-email-shell { grid-template-columns: 1fr; }
    .mw-email-shell .mw-email-sidebar { display: none; }
    .mw-email-shell .mw-email-list { display: none; }
}

/* ============================================================
 * MIKROSKOP WIZYTOWKI (PR #1 — heatmap; PR #2/#3 — replay+AI)
 * ============================================================ */
.mw-tel-vcard-pills {
    display: flex; flex-wrap: wrap; gap: 8px;
    padding: 14px 0;
    border-bottom: 1px solid var(--mw-border-soft);
}
.mw-tel-vcard-pill {
    display: inline-flex; flex-direction: column; align-items: flex-start;
    background: var(--mw-bg-cream);
    color: var(--mw-text-primary);
    border: 1px solid var(--mw-border-soft);
    border-radius: 999px;
    padding: 6px 14px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    cursor: pointer;
    transition: background 0.12s, border 0.12s, transform 0.08s;
    line-height: 1.3;
}
.mw-tel-vcard-pill:hover:not(.is-active) {
    background: var(--mw-bg-card);
    border-color: var(--mw-accent-soft);
}
.mw-tel-vcard-pill.is-active {
    background: var(--mw-accent);
    color: #fff;
    border-color: var(--mw-accent-strong);
}
.mw-tel-vcard-pill-name { font-weight: 700; font-size: 12px; }
.mw-tel-vcard-pill-meta { opacity: 0.75; font-size: 10.5px; }

.mw-tel-microscope-tabs {
    display: flex; gap: 4px;
    border-bottom: 1px solid var(--mw-border-soft);
    margin: 14px 0 0;
}
.mw-tel-microscope-tab {
    background: transparent;
    color: var(--mw-text-muted);
    border: none;
    border-bottom: 2px solid transparent;
    padding: 10px 16px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: color 0.12s, border-color 0.12s;
}
.mw-tel-microscope-tab:hover:not(:disabled):not(.is-active) {
    color: var(--mw-text-primary);
}
.mw-tel-microscope-tab.is-active {
    color: var(--mw-accent-strong);
    border-bottom-color: var(--mw-accent);
    font-weight: 700;
}
.mw-tel-microscope-tab:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.mw-tel-microscope-body { padding: 18px 0 4px; }

.mw-tel-microscope-blockbar {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin-bottom: 16px;
}
.mw-tel-block-pill {
    background: transparent;
    color: var(--mw-text-secondary);
    border: 1px solid var(--mw-border-soft);
    border-radius: 6px;
    padding: 5px 12px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
    cursor: pointer;
    transition: all 0.12s;
}
.mw-tel-block-pill:hover:not(.is-active) {
    background: var(--mw-bg-cream);
    color: var(--mw-text-primary);
}
.mw-tel-block-pill.is-active {
    background: var(--mw-accent-soft);
    color: var(--mw-text-primary);
    border-color: var(--mw-accent);
    font-weight: 700;
}

.mw-tel-heatmap-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 24px;
    align-items: start;
}

.mw-tel-heatmap-canvas-wrap {
    background: var(--mw-bg-cream);
    border: 1px solid var(--mw-border-soft);
    border-radius: 8px;
    padding: 16px;
    display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.mw-tel-heatmap-canvas {
    max-width: 100%;
    width: 320px;
    height: 500px;
    border: 1px solid var(--mw-border-soft);
    background: #fff;
    image-rendering: -webkit-optimize-contrast;
}
.mw-tel-heatmap-legend {
    font-family: var(--mw-font-mono);
    font-size: 10.5px;
    color: var(--mw-text-secondary);
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px;
}
.mw-tel-heatmap-legend-dot {
    display: inline-block;
    width: 10px; height: 10px;
    border-radius: 50%;
    margin-right: 4px;
    vertical-align: middle;
}

.mw-tel-heatmap-stats { padding-top: 8px; }
.mw-tel-heatmap-kpi-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.mw-tel-heatmap-kpi {
    background: var(--mw-bg-cream);
    border: 1px solid var(--mw-border-soft);
    border-radius: 6px;
    padding: 10px 8px;
    text-align: center;
}
.mw-tel-heatmap-kpi-warning {
    background: rgba(196, 89, 59, 0.08);
    border-color: rgba(196, 89, 59, 0.3);
}
.mw-tel-heatmap-kpi-muted {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
}
.mw-tel-heatmap-kpi-value {
    font-family: var(--mw-font-serif);
    font-size: 22px;
    font-weight: 700;
    color: var(--mw-text-primary);
    line-height: 1.1;
}
.mw-tel-heatmap-kpi-warning .mw-tel-heatmap-kpi-value { color: var(--mw-accent-strong); }
.mw-tel-heatmap-kpi-muted .mw-tel-heatmap-kpi-value { color: var(--mw-text-muted); }
.mw-tel-heatmap-kpi-label {
    font-family: var(--mw-font-mono);
    font-size: 9.5px;
    letter-spacing: 0.6px;
    color: var(--mw-text-muted);
    margin-top: 4px;
}

.mw-tel-heatmap-top10 {
    margin-top: 8px;
    display: flex; flex-direction: column; gap: 2px;
}
.mw-tel-heatmap-top-row {
    display: grid;
    grid-template-columns: 24px 1fr auto;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    background: var(--mw-bg-cream);
    border-radius: 4px;
    font-family: var(--mw-font-mono);
    font-size: 11px;
}
.mw-tel-heatmap-top-rank {
    color: var(--mw-text-muted);
    font-weight: 700;
}
.mw-tel-heatmap-top-coords { color: var(--mw-text-primary); }
.mw-tel-heatmap-top-count {
    color: var(--mw-accent-strong);
    font-weight: 700;
}

@media (max-width: 900px) {
    .mw-tel-heatmap-layout { grid-template-columns: 1fr; }
}

/* ============================================================
 * MIKROSKOP -> NAGRANIA (PR #2: rrweb session replay)
 * ============================================================ */
.mw-tel-empty-hint {
    font-size: 11.5px;
    color: var(--mw-text-muted);
    font-family: var(--mw-font-mono);
    line-height: 1.5;
}
.mw-tel-replay-list {
    display: flex; flex-direction: column; gap: 4px;
    max-height: 540px;
    overflow-y: auto;
    padding-right: 4px;
}
.mw-tel-replay-row {
    display: grid;
    grid-template-columns: 90px 1fr 60px 1fr auto auto;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: var(--mw-bg-cream);
    border: 1px solid var(--mw-border-soft);
    border-radius: 6px;
    cursor: pointer;
    font-family: var(--mw-font-mono);
    font-size: 11.5px;
    text-align: left;
    color: var(--mw-text-primary);
    transition: all 0.12s;
}
.mw-tel-replay-row:hover {
    background: var(--mw-bg-card);
    border-color: var(--mw-accent-soft);
    transform: translateX(2px);
}
.mw-tel-replay-row-time { color: var(--mw-text-secondary); font-weight: 600; }
.mw-tel-replay-row-lead { color: var(--mw-text-primary); font-weight: 700; }
.mw-tel-replay-row-dur { color: var(--mw-text-muted); text-align: right; }
.mw-tel-replay-row-events { color: var(--mw-text-muted); font-size: 11px; }
.mw-tel-replay-submit {
    background: rgba(74, 124, 89, 0.12);
    color: #2d5a3d;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
}
.mw-tel-replay-row-play {
    color: var(--mw-accent-strong);
    font-weight: 700;
    white-space: nowrap;
}
.mw-tel-replay-footer {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--mw-border-soft);
    text-align: center;
}
.mw-tel-replay-stats {
    font-family: var(--mw-font-mono);
    font-size: 10.5px;
    color: var(--mw-text-muted);
}

/* ===== Modal player ===== */
.mw-tel-replay-modal {
    position: fixed; inset: 0;
    z-index: 9999;
    display: flex; align-items: center; justify-content: center;
}
.mw-tel-replay-modal-backdrop {
    position: absolute; inset: 0;
    background: rgba(20, 20, 20, 0.6);
    backdrop-filter: blur(4px);
}
.mw-tel-replay-modal-content {
    position: relative;
    background: var(--mw-bg-card);
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    width: 92vw; max-width: 1100px;
    max-height: 88vh;
    overflow: hidden;
    display: flex; flex-direction: column;
}
.mw-tel-replay-modal-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid var(--mw-border-soft);
    background: var(--mw-bg-cream);
}
.mw-tel-replay-modal-body {
    flex: 1;
    overflow: auto;
    padding: 20px;
    background: #1a1a1a;
}
.mw-tel-replay-player-wrap {
    min-height: 500px;
    display: flex; align-items: center; justify-content: center;
}
.mw-tel-replay-player-wrap .replayer-wrapper {
    margin: 0 auto;
}

@media (max-width: 700px) {
    .mw-tel-replay-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .mw-tel-replay-modal-content { width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh; border-radius: 0; }
}

/* ============================================================
 * MIKROSKOP -> AI SUMMARY + USTAWIENIA (PR #3)
 * ============================================================ */
.mw-tel-ai-list {
    display: flex; flex-direction: column; gap: 6px;
    max-height: 600px;
    overflow-y: auto;
}
.mw-tel-ai-row {
    display: grid;
    grid-template-columns: 90px 1fr 70px auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: var(--mw-bg-cream);
    border: 1px solid var(--mw-border-soft);
    border-radius: 6px;
    font-family: var(--mw-font-mono);
    font-size: 11.5px;
}
.mw-tel-ai-row-has-summary {
    background: rgba(224, 120, 86, 0.06);
    border-color: rgba(224, 120, 86, 0.25);
    flex-direction: column;
    align-items: stretch;
    grid-template-columns: 1fr;
    padding: 0;
    overflow: hidden;
}
.mw-tel-ai-row-head {
    display: grid;
    grid-template-columns: 90px 1fr 70px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--mw-font-mono);
    font-size: 11.5px;
    color: var(--mw-text-primary);
}
.mw-tel-ai-row-head:hover { background: rgba(0,0,0,0.03); }
.mw-tel-ai-row-time { color: var(--mw-text-secondary); font-weight: 600; }
.mw-tel-ai-row-lead { color: var(--mw-text-primary); font-weight: 700; }
.mw-tel-ai-row-dur { color: var(--mw-text-muted); }
.mw-tel-ai-row-tags { display: flex; gap: 4px; flex-wrap: wrap; }
.mw-tel-ai-row-toggle {
    color: var(--mw-accent-strong);
    transition: transform 0.2s;
    font-weight: 700;
}
.mw-tel-ai-row-head.is-open .mw-tel-ai-row-toggle { transform: rotate(180deg); }

.mw-tel-ai-tag {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(224, 120, 86, 0.15);
    color: var(--mw-accent-strong);
    font-size: 10px;
    font-weight: 700;
    font-family: var(--mw-font-mono);
    text-transform: lowercase;
    letter-spacing: 0.2px;
}
.mw-tel-ai-tag-high-intent { background: rgba(74, 124, 89, 0.18); color: #2d5a3d; }
.mw-tel-ai-tag-decision-paralysis { background: rgba(212, 165, 55, 0.2); color: #806000; }
.mw-tel-ai-tag-calc-bouncer { background: rgba(196, 89, 59, 0.15); color: var(--mw-accent-strong); }
.mw-tel-ai-tag-faq-deep-dive { background: rgba(38, 90, 165, 0.15); color: #1d4f8c; }
.mw-tel-ai-tag-rage-clicker { background: rgba(196, 59, 59, 0.18); color: #8c1d1d; }
.mw-tel-ai-tag-form-abandoner { background: rgba(212, 165, 55, 0.2); color: #806000; }
.mw-tel-ai-tag-fast-bounce { background: rgba(0,0,0,0.08); color: var(--mw-text-muted); }
.mw-tel-ai-tag-mobile-scroller { background: rgba(0,0,0,0.06); color: var(--mw-text-secondary); }

.mw-tel-ai-row-detail {
    display: none;
    padding: 14px 18px;
    background: var(--mw-bg-card);
    border-top: 1px solid var(--mw-border-soft);
}
.mw-tel-ai-row-detail.is-open { display: block; }
.mw-tel-ai-summary-text {
    font-family: var(--mw-font-serif);
    font-size: 14px;
    line-height: 1.55;
    color: var(--mw-text-primary);
    margin-bottom: 8px;
}
.mw-tel-ai-summary-meta {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    color: var(--mw-text-muted);
}

.mw-tel-ai-generate {
    font-size: 11px;
    padding: 6px 14px;
}

/* ===== Ustawienia ===== */
.mw-tel-settings-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.mw-tel-settings-card {
    background: var(--mw-bg-cream);
    border: 1px solid var(--mw-border-soft);
    border-radius: 8px;
    padding: 18px;
}
.mw-tel-settings-desc {
    font-size: 12px;
    color: var(--mw-text-secondary);
    line-height: 1.55;
    margin: 10px 0 14px;
}
.mw-tel-ai-mode-options {
    display: flex; flex-direction: column; gap: 6px;
}
.mw-tel-ai-mode-option {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 12px;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-soft);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.12s;
}
.mw-tel-ai-mode-option:hover:not(.is-selected) {
    border-color: var(--mw-accent-soft);
}
.mw-tel-ai-mode-option.is-selected {
    background: rgba(224, 120, 86, 0.08);
    border-color: var(--mw-accent);
    border-width: 2px;
    padding: 9px 11px;
}
.mw-tel-ai-mode-option input[type="radio"] { margin-top: 3px; cursor: pointer; }
.mw-tel-ai-mode-info { flex: 1; }
.mw-tel-ai-mode-title {
    font-family: var(--mw-font-mono);
    font-size: 11.5px;
    font-weight: 700;
    color: var(--mw-text-primary);
    letter-spacing: 0.3px;
}
.mw-tel-ai-mode-desc {
    font-size: 11.5px;
    color: var(--mw-text-secondary);
    margin-top: 3px;
    line-height: 1.45;
}
.mw-tel-ai-mode-stats {
    display: flex; gap: 18px;
    margin-top: 14px; padding-top: 12px;
    border-top: 1px solid var(--mw-border-soft);
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-text-secondary);
}
.mw-tel-ai-mode-stats strong { color: var(--mw-accent-strong); font-size: 13px; }

.mw-tel-recording-list {
    display: flex; flex-direction: column; gap: 4px;
    max-height: 320px;
    overflow-y: auto;
}
.mw-tel-recording-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 8px 12px;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-soft);
    border-radius: 6px;
    font-family: var(--mw-font-mono);
    font-size: 11.5px;
}
.mw-tel-recording-name { font-weight: 700; color: var(--mw-text-primary); }
.mw-tel-recording-stats { color: var(--mw-text-muted); font-size: 11px; }

.mw-tel-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    cursor: pointer;
    user-select: none;
}
.mw-tel-toggle input[type="checkbox"] { display: none; }
.mw-tel-toggle-track {
    width: 32px; height: 18px;
    background: rgba(0,0,0,0.18);
    border-radius: 999px;
    position: relative;
    transition: background 0.18s;
}
.mw-tel-toggle-track::before {
    content: '';
    position: absolute;
    top: 2px; left: 2px;
    width: 14px; height: 14px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.18s;
}
.mw-tel-toggle input:checked + .mw-tel-toggle-track {
    background: var(--mw-accent);
}
.mw-tel-toggle input:checked + .mw-tel-toggle-track::before {
    transform: translateX(14px);
}
.mw-tel-toggle-label {
    font-size: 9.5px;
    color: var(--mw-text-muted);
    letter-spacing: 0.4px;
    min-width: 80px;
}

@media (max-width: 900px) {
    .mw-tel-settings-grid { grid-template-columns: 1fr; }
    .mw-tel-ai-row, .mw-tel-ai-row-head {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

/* ============================================================
 * LEAD REASSIGN MODAL (sesja #117 MVP, admin only)
 * ============================================================ */
.mw-reassign-backdrop {
    position: fixed; inset: 0;
    background: rgba(20, 14, 8, 0.55);
    z-index: 10000;
    display: flex; align-items: center; justify-content: center;
    backdrop-filter: blur(6px);
    animation: mw-reassign-fade-in 0.18s ease-out;
}
@keyframes mw-reassign-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
.mw-reassign-card {
    background: #fff;
    border-radius: 14px;
    max-width: 580px;
    width: 92%;
    max-height: 88vh;
    overflow-y: auto;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
    border: 2px solid #C4593B;
    animation: mw-reassign-pop 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes mw-reassign-pop {
    from { opacity: 0; transform: translateY(12px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.mw-reassign-head {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 14px;
    align-items: flex-start;
    padding: 20px 22px;
    background: linear-gradient(135deg, #fff7ed, #ffedd5);
    border-bottom: 1px solid rgba(196, 89, 59, 0.2);
}
.mw-reassign-head-icon {
    width: 48px; height: 48px;
    background: #C4593B;
    color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; font-weight: 700;
}
.mw-reassign-head-title {
    font-family: var(--mw-font-serif, Georgia, serif);
    font-size: 17px;
    font-weight: 600;
    color: #7c2d12;
    letter-spacing: 0.02em;
    line-height: 1.3;
}
.mw-reassign-head-sub {
    font-size: 12px;
    color: #9a3412;
    margin-top: 4px;
    line-height: 1.5;
}
.mw-reassign-close {
    background: none; border: none;
    font-size: 26px; line-height: 1;
    cursor: pointer;
    color: #9a3412;
    padding: 4px 8px;
    border-radius: 6px;
}
.mw-reassign-close:hover {
    background: rgba(196, 89, 59, 0.12);
}

.mw-reassign-body {
    padding: 20px 22px;
}
.mw-reassign-lead {
    font-size: 13px;
    color: var(--mw-text-secondary, #6b5f4d);
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--mw-border-soft, rgba(31, 26, 20, 0.08));
}
.mw-reassign-lead strong { color: var(--mw-text-primary, #1f1a14); }

.mw-reassign-empty {
    text-align: center;
    padding: 32px 16px;
    color: var(--mw-text-muted, #a89b86);
    font-size: 13px;
}

.mw-reassign-form { display: flex; flex-direction: column; gap: 14px; }

.mw-reassign-field { display: flex; flex-direction: column; gap: 6px; }
.mw-reassign-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--mw-text-secondary, #6b5f4d);
    letter-spacing: 0.4px;
    text-transform: uppercase;
}
.mw-reassign-field select {
    padding: 10px 12px;
    border: 1px solid var(--mw-border-soft, rgba(31, 26, 20, 0.15));
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
    font-family: inherit;
    color: var(--mw-text-primary, #1f1a14);
    outline: none;
    cursor: pointer;
}
.mw-reassign-field select:focus { border-color: #C4593B; }

.mw-reassign-options {
    display: flex; flex-direction: column; gap: 8px;
    padding: 12px 14px;
    background: var(--mw-cream-soft, #faf6ee);
    border-radius: 8px;
    border: 1px solid var(--mw-border-soft, rgba(31, 26, 20, 0.08));
}
.mw-reassign-checkbox {
    display: flex; align-items: center; gap: 9px;
    font-size: 13px;
    color: var(--mw-text-primary, #1f1a14);
    cursor: pointer;
    line-height: 1.4;
}
.mw-reassign-checkbox input[type="checkbox"] {
    width: 16px; height: 16px;
    cursor: pointer;
    accent-color: #C4593B;
}

.mw-reassign-preview {
    background: var(--mw-cream-soft, #faf6ee);
    border-radius: 8px;
    padding: 14px;
    min-height: 60px;
    border: 1px solid var(--mw-border-soft, rgba(31, 26, 20, 0.08));
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--mw-text-secondary, #6b5f4d);
}
.mw-reassign-preview-hint { color: var(--mw-text-muted, #a89b86); font-style: italic; }
.mw-reassign-preview-title {
    font-weight: 700;
    color: var(--mw-text-primary, #1f1a14);
    margin-bottom: 8px;
    font-size: 13px;
}
.mw-reassign-preview-row { color: var(--mw-text-primary, #1f1a14); }
.mw-reassign-preview-detail {
    margin-left: 14px;
    font-size: 11.5px;
    margin-top: 2px;
}
.mw-reassign-preview-detail.is-collision { color: #b91c1c; }
.mw-reassign-preview-detail.is-ok { color: #166534; }
.mw-reassign-preview-ok { color: #166534; font-weight: 600; }
.mw-reassign-collision { color: #b91c1c; font-weight: 600; }
.mw-reassign-ok { color: #166534; }
.mw-reassign-preview-error { color: #b91c1c; font-weight: 600; }

.mw-reassign-actions {
    display: flex; justify-content: flex-end; gap: 10px;
    padding-top: 14px;
    border-top: 1px solid var(--mw-border-soft, rgba(31, 26, 20, 0.08));
    margin-top: 6px;
}
.mw-reassign-submit {
    padding: 10px 22px;
    background: #C4593B;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    font-family: inherit;
}
.mw-reassign-submit:hover:not(:disabled) {
    background: #a14228;
    transform: translateY(-1px);
}
.mw-reassign-submit:disabled {
    background: #cbd5e1;
    color: #94a3b8;
    cursor: not-allowed;
    transform: none;
}

/* ============================================================
 * SPOTKANIA — toggle "Pokaż odbyte" (sesja prog #120, 12.05.2026)
 * Mix nadchodzące + faded past w jednym widoku.
 * ============================================================ */
.mw-pl-show-past-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #64748b;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    line-height: 1;
}
.mw-pl-show-past-btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
}
.mw-pl-show-past-btn.is-active {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    border-color: #f59e0b;
    color: #ffffff;
    box-shadow: 0 1px 3px rgba(245, 158, 11, 0.3);
}
.mw-pl-show-past-btn.is-active:hover {
    background: linear-gradient(135deg, #f59e0b, #d97706);
}
.mw-pl-show-past-icon {
    font-size: 14px;
    line-height: 1;
}
.mw-pl-show-past-label {
    font-size: 13px;
}

/* Faded past meeting chip — wyblakłe ale klikalne */
.mw-ag-chip.is-faded {
    opacity: 0.42;
    filter: grayscale(0.5);
    transition: opacity 0.15s ease, filter 0.15s ease;
}
.mw-ag-chip.is-faded:hover {
    opacity: 0.95;
    filter: grayscale(0);
}

/* Counter "(+N odbyte)" w nagłówku dnia */
.mw-ag-header-past {
    color: #94a3b8;
    font-size: 11px;
    font-weight: 500;
    margin-left: 4px;
}

/* ============================================================
 * INBOX BELL BADGE (sesja prog #120, 12.05.2026)
 * Dzwoneczek + red dot z liczbą nieprzeczytanych w zakładce KOMUNIKACJA.
 * Pulse animation (subtle blink) gdy unread > 0.
 * ============================================================ */
.mw-tab-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    vertical-align: middle;
}
.mw-tab-badge[hidden] { display: none; }

/* Danger pill — wizytowka bez chat_msg_account_id (sesja prog #128, 18.05.2026).
   Wstawiana w kafelku admin Wizytowki MW. Klikniecie kafelka -> edycja templatu. */
.mw-tab-badge-danger {
    display: inline-block;
    margin-top: 6px;
    padding: 3px 8px;
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    color: #b91c1c;
    border: 1px solid #fca5a5;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.01em;
    cursor: help;
}
.mw-admin-wa-card-warn {
    border-color: #fca5a5 !important;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.08), 0 2px 8px rgba(220, 38, 38, 0.06);
}
.mw-admin-wa-card-warn .mw-admin-wa-card-bar {
    background: repeating-linear-gradient(
        45deg,
        #fca5a5 0px, #fca5a5 8px,
        #fde2e2 8px, #fde2e2 16px
    ) !important;
}

.mw-tab-bell {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #f59e0b;
    animation: mw-bell-pulse 2.2s ease-in-out infinite;
    line-height: 0;
}

/* #130 — Bell w pasku Komunikacja, wariant unread (niebieski) gdy są nieprzeczytane.
   Hierarchia kolorów (od najgłośniejszego):
     .mw-tab-bell--urgent  → czerwony bg + pulse 1s (callback pending — lead prosi o telefon)
     .mw-tab-bell--unread  → niebieski + pulse 2.2s (nowa wiadomość, info ton)
     .mw-tab-bell (legacy) → żółty (fallback gdyby callback gdzieś bez flagi) */
.mw-tab-bell--unread {
    color: #3b82f6;
}
.mw-tab-bell--unread .mw-tab-bell-count {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
}
.mw-tab-bell-icon {
    display: block;
    color: inherit;
}
.mw-tab-bell-count {
    position: absolute;
    top: -5px;
    right: -7px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    box-sizing: border-box;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    font-family: var(--mw-font-sans, system-ui), sans-serif;
    line-height: 16px;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(220, 38, 38, 0.45), 0 0 0 1.5px var(--mw-bg, #faf6f0);
    letter-spacing: -0.02em;
    pointer-events: none;
}

@keyframes mw-bell-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.55;
        transform: scale(1.08);
    }
}

/* Active tab — wycisz pulse (już jest aktywna, nie potrzeba krzyczeć) */
.mw-tab.is-active .mw-tab-bell {
    animation: none;
    opacity: 0.85;
}

/* Sesja prog #128 — urgent variant gdy są pending callbacki (lead prosi o oddzwonienie).
   Czerwone tło, szybsze pulsowanie, większa kontrast — żeby doradczyni od razu zwróciła uwagę. */
.mw-tab-bell--urgent {
    color: #ffffff;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border-radius: 10px;
    padding: 4px 8px 4px 6px;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.4);
    animation: mw-bell-urgent-pulse 1s ease-in-out infinite;
}
.mw-tab-bell--urgent .mw-tab-bell-callback {
    font-size: 14px;
    line-height: 1;
}
.mw-tab-bell--urgent .mw-tab-bell-count {
    position: static;
    background: rgba(255, 255, 255, 0.25);
    color: #ffffff;
    margin-left: 4px;
    box-shadow: none;
    font-size: 11px;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
}
.mw-tab.is-active .mw-tab-bell--urgent {
    animation: none;
}

@keyframes mw-bell-urgent-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
        box-shadow: 0 2px 8px rgba(220, 38, 38, 0.4);
    }
    50% {
        opacity: 0.85;
        transform: scale(1.06);
        box-shadow: 0 2px 14px rgba(220, 38, 38, 0.65);
    }
}

/* ============================================================
   SEND LIMIT BAR — pasek dziennego limita wizytowek (#127)
   ============================================================ */
.mw-send-limit {
    background: var(--mw-card, #fff);
    border: 1px solid var(--mw-border, #e4d9c5);
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: var(--mw-sp-4, 16px);
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    transition: border-color 200ms ease, box-shadow 200ms ease;
}
.mw-send-limit-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 10px;
    gap: 12px;
}
.mw-send-limit-label {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mw-muted, #8a7a5f);
    font-family: var(--mw-font-mono, monospace);
    font-weight: 600;
}
.mw-send-limit-counter {
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    color: var(--mw-text, #2d2418);
    font-family: var(--mw-font-mono, monospace);
}
.mw-send-limit-counter strong {
    font-size: 18px;
    font-weight: 700;
}
.mw-send-limit-unlimited {
    color: var(--mw-muted, #8a7a5f);
    font-size: 14px;
}
.mw-send-limit-track {
    position: relative;
    height: 8px;
    background: rgba(0,0,0,0.06);
    border-radius: 999px;
    overflow: hidden;
}
.mw-send-limit-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #10b981 0%, #34d399 100%);
    transition: width 400ms cubic-bezier(0.4, 0, 0.2, 1), background 400ms ease;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.35);
}
.mw-send-limit.is-warn .mw-send-limit-fill {
    background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%);
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.35);
}
.mw-send-limit.is-danger .mw-send-limit-fill {
    background: linear-gradient(90deg, #ef4444 0%, #f87171 100%);
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.45);
    animation: mw-send-limit-pulse 1.6s ease-in-out infinite;
}
.mw-send-limit.is-blocked .mw-send-limit-fill {
    background: linear-gradient(90deg, #6b7280 0%, #9ca3af 100%);
    box-shadow: none;
    animation: none;
}
.mw-send-limit.is-blocked {
    border-color: rgba(239, 68, 68, 0.25);
}
.mw-send-limit-track--bypass .mw-send-limit-fill {
    background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
    box-shadow: 0 0 10px rgba(118, 75, 162, 0.4);
}
@keyframes mw-send-limit-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.7; }
}
.mw-send-limit-meta {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 11px;
    color: var(--mw-muted, #8a7a5f);
    font-family: var(--mw-font-mono, monospace);
    letter-spacing: 0.06em;
}
.mw-send-limit-meta-right {
    opacity: 0.8;
}
.mw-send-limit-banner {
    margin-top: 12px;
    padding: 10px 12px;
    background: rgba(239, 68, 68, 0.08);
    border-left: 3px solid #ef4444;
    border-radius: 4px;
    font-size: 13px;
    color: #b91c1c;
    font-weight: 500;
}

/* Disable buttonow gdy limit wyczerpany (na body class) */
body.mw-send-limit-blocked [data-mw-generator] button[type="submit"],
body.mw-send-limit-blocked [data-mw-generator] .mw-btn-primary {
    opacity: 0.5;
    pointer-events: none;
    filter: grayscale(0.5);
}

/* === Sesja #131: stack 3 paskow (Wizytowki/Chat/Plan oddluzeniowy) === */
.mw-send-limit-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mw-send-limit-soon {
    font-family: var(--mw-font-mono, monospace);
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: lowercase;
    color: var(--mw-text-faint, #b8a989);
    font-weight: 400;
    opacity: 0.8;
    margin-left: 6px;
    padding: 1px 6px;
    border: 1px solid var(--mw-border-soft, #e8dcc8);
    border-radius: 999px;
    background: transparent;
}
.mw-send-limit--placeholder {
    opacity: 0.6;
    border-color: var(--mw-border-soft, #e8dcc8);
    background: transparent;
}
.mw-send-limit--placeholder .mw-send-limit-label,
.mw-send-limit--placeholder .mw-send-limit-counter,
.mw-send-limit--placeholder .mw-send-limit-meta-left,
.mw-send-limit--placeholder .mw-send-limit-meta-right {
    color: var(--mw-text-faint, #b8a989);
}
.mw-send-limit--placeholder .mw-send-limit-track {
    background: var(--mw-bg-cream-2, rgba(0,0,0,0.04));
}
.mw-send-limit--placeholder .mw-send-limit-fill {
    background: var(--mw-border-soft, #e8dcc8) !important;
    box-shadow: none !important;
}

/* === USER EDIT — Daily send limit override (#127) === */
.mw-user-send-limit {
    margin-top: var(--mw-sp-3, 12px);
    padding: 12px 14px;
    background: rgba(0,0,0,0.025);
    border-radius: 8px;
    border-left: 3px solid #667eea;
}
.mw-user-send-limit-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.mw-user-send-limit-status {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mw-muted, #8a7a5f);
    font-family: var(--mw-font-mono, monospace);
    padding: 2px 8px;
    border-radius: 4px;
    background: rgba(255,255,255,0.6);
    justify-self: start; /* #141 — pigulka zachowuje naturalna szerokosc w komorce grid */
    white-space: nowrap;
}
.mw-user-send-limit-status.is-bypass {
    color: #fff;
    background: linear-gradient(90deg, #667eea, #764ba2);
}
.mw-user-send-limit-status.is-custom {
    color: #b45309;
    background: rgba(245, 158, 11, 0.15);
}
.mw-user-send-limit-status.is-default {
    color: var(--mw-muted, #8a7a5f);
}
/* #141 — grid z rownymi kolumnami: etykieta | input | status | przelacznik.
   Flex nie gwarantowal wyrownania (dluga etykieta "Plan oddluzeniowy" przepychala
   reszte w prawo). Grid = deterministyczne kolumny we wszystkich 4 wierszach. */
.mw-user-send-limit-row {
    display: grid;
    grid-template-columns: auto 84px auto auto;
    align-items: center;
    gap: 12px;
    justify-content: start;
}
.mw-user-send-limit-row + .mw-user-send-limit-row {
    margin-top: 8px;
}
.mw-user-send-limit-row .mw-field-label {
    font-size: 13px;
    color: var(--mw-text, #2d2418);
    white-space: nowrap;
}
.mw-user-send-limit-row--placeholder {
    opacity: 0.55;
}
.mw-user-send-limit-row--placeholder .mw-field-label {
    color: var(--mw-text-faint, #b8a989);
}
.mw-user-send-limit-row--placeholder input[disabled] {
    background: rgba(0,0,0,0.02);
    cursor: not-allowed;
}
.mw-input--narrow {
    width: 80px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.mw-user-send-limit-hint {
    font-size: 12px;
    color: var(--mw-muted, #8a7a5f);
    flex: 1;
    min-width: 200px;
}
.mw-user-send-limit-hint code {
    background: rgba(0,0,0,0.06);
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 11px;
}
/* #141 — przelacznik "Generowanie" per kanal w wierszu DZIENNE LIMITY */
.mw-gen-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--mw-status-online, #16a34a);
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    justify-self: start; /* #141 — przelacznik w 4. kolumnie grid, wyrownany we wszystkich wierszach */
}
.mw-gen-toggle input[type="checkbox"] {
    width: 15px;
    height: 15px;
    cursor: pointer;
    accent-color: var(--mw-status-online, #16a34a);
}
.mw-gen-toggle.is-off {
    color: var(--mw-status-danger, #ef4444);
    font-weight: 600;
}
.mw-gen-toggle.is-off input[type="checkbox"] {
    accent-color: var(--mw-status-danger, #ef4444);
}

/* ============================================================
   Chat Deep-Link Modal (sesja prog #128, 18.05.2026)
   ============================================================ */
.mw-row-act-chat {
    background: rgba(196, 89, 59, 0.08);
    border-color: rgba(196, 89, 59, 0.2);
    color: #C4593B;
}
.mw-row-act-chat:hover {
    background: rgba(196, 89, 59, 0.15);
    border-color: rgba(196, 89, 59, 0.4);
}
.mw-chat-link-modal {
    max-width: 920px;
    width: 100%;
}
.mw-chat-link-grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 20px;
    align-items: start;
    margin-top: 12px;
}
.mw-chat-qr-section {
    background: var(--mw-bg-elev);
    padding: 12px;
    border-radius: 8px;
    text-align: center;
}
.mw-chat-qr-canvas {
    background: #FAF6EF;
    border-radius: 6px;
    padding: 14px;
    min-height: 260px;
    display: flex; align-items: center; justify-content: center;
}

/* ============================================================
 * CHAT DEEP-LINK MODAL — 2 QR side-by-side (sesja prog #128, 18.05.2026)
 * Lewa kolumna: QR-LINK chat (statyczny, sam URL /c/<token>)
 * Prawa kolumna: QR-SMS (dynamiczny, sms-redirect URL z pre-fill treści)
 * QR-SMS regeneruje się przy zmianie wariantu + edycji textarea (debounce 300ms)
 * ============================================================ */
.mw-chat-dual-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: start;
    margin-top: 12px;
}
.mw-chat-panel {
    background: var(--mw-bg-elev);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mw-chat-panel-link {
    border-top: 3px solid #6366f1;
}
.mw-chat-panel-sms {
    border-top: 3px solid #22c55e;
}
.mw-chat-panel-head {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: center;
    margin-bottom: 4px;
}
.mw-chat-panel-sub {
    font-size: 11px;
    color: var(--mw-muted);
    line-height: 1.35;
}
.mw-chat-qr-canvas-sms {
    background: linear-gradient(135deg, #FAFFF7 0%, #F0FDF4 100%) !important;
}
.mw-chat-qr-canvas-empty {
    background: #FEF7E6 !important;
    border: 1px dashed #FCD34D;
    color: #92400E;
}
.mw-chat-phone-pill {
    align-self: center;
    background: #ECFDF5;
    color: #047857;
    border: 1px solid #6EE7B7;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    font-family: var(--mw-font-mono);
}
.mw-chat-btn-full {
    width: 100%;
    justify-content: center;
    text-align: center;
}
.mw-chat-sms-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--mw-muted);
}
.mw-chat-sms-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
@media (max-width: 720px) {
    .mw-chat-dual-grid {
        grid-template-columns: 1fr;
    }
    .mw-chat-panel {
        max-width: 100%;
    }
}
.mw-chat-link-info {
    display: flex; flex-direction: column;
}
.mw-chat-link-box {
    background: #FAF6EF;
    padding: 10px 12px;
    border-radius: 6px;
    font-family: var(--mw-font-mono);
    font-size: 12px;
    word-break: break-all;
    line-height: 1.4;
    color: var(--mw-text);
    border: 1px solid var(--mw-border-subtle);
}
.mw-chat-status div { margin-bottom: 2px; }
.mw-chat-status strong { color: var(--mw-text); }
.mw-chat-sms-section {
    background: var(--mw-bg-elev);
    padding: 12px;
    border-radius: 8px;
}
.mw-chat-variant-tabs {
    display: flex; gap: 4px; flex-wrap: wrap;
}
.mw-chat-variant-tabs .mw-row-act {
    flex: 1;
    min-width: 100px;
}
.mw-chat-variant-tabs .mw-row-act.is-active {
    background: var(--mw-accent);
    color: #fff;
    border-color: var(--mw-accent);
}
.mw-chat-actions-advanced {
    background: var(--mw-bg-elev);
    padding: 12px;
    border-radius: 8px;
}
.mw-chat-actions-advanced summary {
    list-style: none;
    user-select: none;
}
.mw-chat-actions-advanced summary::-webkit-details-marker { display: none; }
@media (max-width: 640px) {
    .mw-chat-link-grid {
        grid-template-columns: 1fr;
    }
    .mw-chat-qr-section {
        max-width: 240px;
        margin: 0 auto;
    }
}

/* ============================================================
 * Callback request banner + bubble (sesja prog #128, 19.05.2026)
 * Lead klika 📞 "Lepiej oddzwonić" w chat-only deep-link → doradczyni
 * widzi czerwony sticky banner u góry chatu + bubble w timeline +
 * czerwoną kropkę w liście rozmów.
 * ============================================================ */

.mw-rz-callback-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg, #FEE2E2 0%, #FECACA 100%);
    border: 1px solid #FCA5A5;
    border-left: 4px solid #DC2626;
    border-radius: 10px;
    padding: 12px 14px;
    margin: 12px 16px 0;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.08);
    position: sticky;
    top: 0;
    z-index: 10;
    animation: mw-cb-banner-in 0.3s ease-out;
}

@keyframes mw-cb-banner-in {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

.mw-rz-cb-icon {
    font-size: 22px;
    flex-shrink: 0;
}

.mw-rz-cb-content {
    flex: 1;
    min-width: 0;
}

.mw-rz-cb-title {
    font-size: 14px;
    color: #7F1D1D;
    line-height: 1.4;
}
.mw-rz-cb-title strong { color: #991B1B; }

.mw-rz-cb-time {
    color: #B91C1C;
    font-size: 12px;
    font-weight: 500;
}

.mw-rz-cb-msg {
    margin-top: 4px;
    font-size: 13px;
    color: #7F1D1D;
    font-style: italic;
    opacity: 0.85;
}

.mw-rz-cb-phone {
    display: inline-block;
    margin-top: 4px;
    font-size: 13px;
    color: #991B1B;
    font-weight: 600;
    text-decoration: none;
    padding: 2px 8px;
    background: rgba(255,255,255,0.5);
    border-radius: 4px;
}
.mw-rz-cb-phone:hover {
    background: rgba(255,255,255,0.8);
    text-decoration: underline;
}

.mw-rz-cb-resolve {
    flex-shrink: 0;
    background: #DC2626;
    color: white;
    border: none;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}
.mw-rz-cb-resolve:hover { background: #B91C1C; }
.mw-rz-cb-resolve:disabled { opacity: 0.6; cursor: wait; }

/* Bubble w timeline rozmowy */
.mw-rz-cb-bubble {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 12px;
    margin: 8px auto;
    align-self: center;
    max-width: 80%;
}

.mw-rz-cb-bubble-icon { font-size: 14px; }
.mw-rz-cb-bubble-text { font-weight: 500; }
.mw-rz-cb-bubble-time {
    opacity: 0.7;
    margin-left: 4px;
}
.mw-rz-cb-bubble-resolved {
    margin-left: 6px;
    color: #16A34A;
    font-weight: 600;
}

/* In-line czerwony alert w samym watku (PR #778) — bardziej widoczne niz bubble */
.mw-rz-cb-inline-alert {
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, #FEE2E2 0%, #FECACA 100%);
    border: 1px solid #FCA5A5;
    border-left: 5px solid #DC2626;
    border-radius: 12px;
    padding: 14px 16px;
    margin: 12px 14px;
    box-shadow: 0 2px 10px rgba(220, 38, 38, 0.12);
}
.mw-rz-cb-inline-alert.is-resolved {
    background: #F0FDF4;
    border-color: #BBF7D0;
    border-left-color: #16A34A;
    box-shadow: none;
    opacity: 0.85;
}
.mw-rz-cb-inline-icon {
    font-size: 24px;
    flex-shrink: 0;
    animation: mw-cb-icon-pulse 1.8s ease-in-out infinite;
}
.mw-rz-cb-inline-alert.is-resolved .mw-rz-cb-inline-icon { animation: none; opacity: 0.6; }
@keyframes mw-cb-icon-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.12); }
}
.mw-rz-cb-inline-body { flex: 1; min-width: 0; }
.mw-rz-cb-inline-title {
    font-size: 14px;
    color: #7F1D1D;
    margin-bottom: 2px;
    line-height: 1.4;
}
.mw-rz-cb-inline-alert.is-resolved .mw-rz-cb-inline-title { color: #14532D; }
.mw-rz-cb-inline-sub {
    font-size: 12px;
    color: #991B1B;
    opacity: 0.85;
    margin-bottom: 4px;
}
.mw-rz-cb-inline-alert.is-resolved .mw-rz-cb-inline-sub { color: #166534; }
.mw-rz-cb-inline-quote {
    font-style: italic;
    font-size: 13px;
    color: #7F1D1D;
    margin-top: 4px;
    padding-left: 10px;
    border-left: 2px solid #FCA5A5;
}
.mw-rz-cb-inline-btn {
    flex-shrink: 0;
    background: #DC2626;
    color: #fff;
    border: none;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    white-space: nowrap;
}
.mw-rz-cb-inline-btn:hover:not(:disabled) { background: #B91C1C; transform: scale(1.02); }
.mw-rz-cb-inline-btn:active:not(:disabled) { transform: scale(0.98); }
.mw-rz-cb-inline-btn:disabled { opacity: 0.6; cursor: wait; }
.mw-rz-cb-inline-done {
    flex-shrink: 0;
    color: #16A34A;
    font-weight: 600;
    font-size: 14px;
    padding: 8px 14px;
    background: #DCFCE7;
    border-radius: 999px;
}
@media (max-width: 540px) {
    .mw-rz-cb-inline-alert { flex-direction: column; align-items: stretch; }
    .mw-rz-cb-inline-btn { width: 100%; }
}

/* Czerwona kropka w liście rozmów (item.has-callback) */
.mw-rozmowy-callback-dot {
    display: inline-block;
    font-size: 9px;
    margin-right: 4px;
    animation: mw-cb-dot-pulse 1.5s ease-in-out infinite;
}

@keyframes mw-cb-dot-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(0.9); }
}

.mw-rozmowy-callback-flag {
    display: inline-block;
    font-size: 12px;
    margin-right: 4px;
}

.mw-rozmowy-item.has-callback .mw-rozmowy-item-name {
    color: #991B1B;
    font-weight: 600;
}

/* ============================================================
   #130 — LEADY: W-C-A funnel view (Wizytówka → Chat → Ankieta)
   ============================================================ */

/* Filter chips bar */
.mw-funnel-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 16px 0;
}
.mw-funnel-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: var(--mw-bg-card);
    border: 1px solid var(--mw-border-subtle);
    border-radius: 999px;
    color: var(--mw-fg);
    font-family: var(--mw-font-sans);
    font-size: 13px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, transform 0.1s;
}
.mw-funnel-chip:hover { background: var(--mw-bg-elev); border-color: var(--mw-accent); }
.mw-funnel-chip:active { transform: translateY(1px); }
.mw-funnel-chip.is-active {
    background: var(--mw-fg);
    color: var(--mw-bg-card);
    border-color: var(--mw-fg);
}
.mw-funnel-chip-icon { font-size: 14px; line-height: 1; }
.mw-funnel-chip-label { font-weight: 500; }
.mw-funnel-chip-count {
    min-width: 22px;
    padding: 2px 7px;
    background: rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    font-family: var(--mw-font-mono);
}
.mw-funnel-chip.is-active .mw-funnel-chip-count {
    background: rgba(255, 255, 255, 0.2);
}
/* Akcent kolorystyczny dla todo chip — żeby "Czeka na akcję" rzucało się w oczy */
.mw-funnel-chip.is-todo:not(.is-active) {
    border-color: #ef4444;
    background: rgba(239, 68, 68, 0.05);
}
.mw-funnel-chip.is-todo:not(.is-active) .mw-funnel-chip-count {
    background: rgba(239, 68, 68, 0.15);
    color: #991B1B;
}

/* Lead cell — avatar doradczyni 24px obok imienia */
.mw-link-td-lead {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.mw-link-td-lead-info { min-width: 0; flex: 1; }
.mw-link-owner-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #fff;
    font-family: var(--mw-font-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

/* W-C-A tiles container w kolumnie */
.mw-link-td-wca { padding: 4px 0; }
.mw-wca-tiles {
    display: flex;
    gap: 8px;
    align-items: center;
}
.mw-wca-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: var(--mw-bg-card);
    border: 1.5px solid var(--mw-border-subtle);
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, transform 0.1s, box-shadow 0.15s;
    padding: 4px;
    font-family: var(--mw-font-sans);
}
.mw-wca-tile:hover {
    border-color: var(--mw-accent);
    background: var(--mw-bg-elev);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.mw-wca-tile:active { transform: translateY(0); }
.mw-wca-tile-icon { font-size: 22px; line-height: 1; }
.mw-wca-tile-state { font-size: 12px; line-height: 1; margin-top: 4px; opacity: 0.8; }

/* Stany kafelek — #130: Slawek poprosil "wszedzie z ramka, bez kombinowania".
   Kazda kafelka ma solid border (jak default mw-wca-tile). Pusta tylko jasniejsza opacity. */
.mw-wca-tile.is-pusta {
    opacity: 0.7;
}
.mw-wca-tile.is-pusta:hover { opacity: 1; }

/* #130 — kafelka zablokowana (Oferta tylko dla admin/kierownik). Doradczyni widzi
   kursor not-allowed + niska opacity + brak hover lift. Klik nadal odpala handler
   (toast informujacy o braku uprawnien). */
.mw-wca-tile.is-locked {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    filter: grayscale(0.6);
}
.mw-wca-tile.is-locked:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: var(--mw-border-subtle) !important;
    background: var(--mw-bg-card) !important;
}
.mw-wca-tile.is-sent {
    border-color: rgba(59, 130, 246, 0.4);
    background: rgba(59, 130, 246, 0.04);
}
.mw-wca-tile.is-open {
    border-color: rgba(34, 197, 94, 0.5);
    background: rgba(34, 197, 94, 0.06);
}
.mw-wca-tile.is-converted {
    border-color: rgba(217, 119, 6, 0.6);
    background: linear-gradient(135deg, rgba(251, 191, 36, 0.15), rgba(217, 119, 6, 0.08));
    box-shadow: inset 0 0 12px rgba(217, 119, 6, 0.1);
}

/* Sesja #136 — kafelek "TrybAI" (placeholder, feature w przygotowaniu).
   Elegancki fioletowy teaser premium AI — NIE szary disabled. Klik = toast "wkrótce". */
.mw-wca-tile-ai {
    overflow: visible;
    color: #7c3aed;
    border-color: rgba(124, 58, 237, 0.35);
    border-style: dashed;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.08), rgba(139, 92, 246, 0.03));
    cursor: default;
}
.mw-wca-tile-ai:hover {
    border-color: rgba(124, 58, 237, 0.6);
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.13), rgba(139, 92, 246, 0.06));
    transform: translateY(-1px);
    box-shadow: 0 3px 12px rgba(124, 58, 237, 0.18);
}
.mw-wca-ai-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7c3aed;
    filter: drop-shadow(0 1px 2px rgba(124, 58, 237, 0.25));
}
.mw-wca-ai-label {
    margin-top: 3px;
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    color: #7c3aed;
}

/* #130: Slawek poprosil zeby kafelki NIE pulsowaly. Klasa .is-next + animacja usuniete.
   Logika next_step zostaje w backendzie — uzywana w filtrze 'Czeka na akcje' (bucket=todo). */

/* Bell wariant dla LEADY (pasek zakladek MW) — czerwony, BEZ pulsowania (#130 Slawek). */
.mw-tab-bell--leady {
    color: #ef4444;
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    border-radius: 10px;
    padding: 4px 8px 4px 6px;
    box-shadow: 0 2px 6px rgba(239, 68, 68, 0.2);
    animation: none; /* nadpisuje mw-bell-pulse dziedziczone z .mw-tab-bell */
}
.mw-tab-bell--leady .mw-tab-bell-leady-icon { font-size: 13px; line-height: 1; }
.mw-tab-bell--leady .mw-tab-bell-count {
    position: static;
    background: rgba(239, 68, 68, 0.85);
    color: #ffffff;
    margin-left: 4px;
}

/* ============================================================
   #130 — LEAD 360° DRAWER (chronologiczna oś czasu wydarzeń leada)
   ============================================================ */

.mw-lead360-backdrop {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    background: rgba(0, 0, 0, 0);
    z-index: 1000;
    pointer-events: auto;
    transition: background 0.25s ease-out;
}
.mw-lead360-backdrop.is-open {
    background: rgba(15, 23, 42, 0.35);
}
.mw-lead360-drawer {
    position: fixed;
    top: 0; right: 0; bottom: 0;
    width: 480px;
    max-width: 92vw;
    background: var(--mw-bg-card);
    box-shadow: -16px 0 40px rgba(0, 0, 0, 0.15);
    transform: translateX(100%);
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.mw-lead360-backdrop.is-open .mw-lead360-drawer {
    transform: translateX(0);
}
.mw-lead360-head {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px 16px;
    border-bottom: 1px solid var(--mw-border-subtle);
    background: var(--mw-bg-elev);
}
.mw-lead360-head-eyebrow {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    color: var(--mw-muted);
    text-transform: uppercase;
    margin-bottom: 4px;
}
.mw-lead360-head-name {
    font-family: var(--mw-font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--mw-fg);
    line-height: 1.2;
}
.mw-lead360-head-contact {
    font-family: var(--mw-font-mono);
    font-size: 12px;
    color: var(--mw-text-secondary);
    margin-top: 3px;
}
.mw-lead360-close {
    background: transparent;
    border: 0;
    font-size: 26px;
    color: var(--mw-text-secondary);
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
    transition: color 0.15s;
}
.mw-lead360-close:hover { color: var(--mw-fg); }
.mw-lead360-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px 24px;
}
.mw-lead360-empty {
    text-align: center;
    color: var(--mw-muted);
    padding: 40px 0;
    font-size: 13px;
}

/* Status card */
.mw-lead360-status {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 12px;
    border: 1px solid var(--mw-border-subtle);
}
.mw-lead360-status--green { background: rgba(34, 197, 94, 0.06); border-color: rgba(34, 197, 94, 0.25); }
.mw-lead360-status--orange { background: rgba(245, 158, 11, 0.06); border-color: rgba(245, 158, 11, 0.25); }
.mw-lead360-status--gray { background: var(--mw-bg-elev); }
.mw-lead360-status-icon { font-size: 18px; }
.mw-lead360-status-label { font-family: var(--mw-font-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--mw-muted); text-transform: uppercase; }
.mw-lead360-status-text { font-family: var(--mw-font-sans); font-size: 14px; font-weight: 600; color: var(--mw-fg); }

.mw-lead360-advisor {
    font-size: 12px;
    color: var(--mw-text-secondary);
    padding: 8px 14px;
    background: rgba(99, 102, 241, 0.04);
    border-radius: 8px;
    margin-bottom: 16px;
}
.mw-lead360-advisor strong { color: var(--mw-fg); }

/* Sesja prog #135 — DOSSIER: telegraficzny zrzut ankiety leada na gorze drawera.
   Zlote tlo = wysokowartosciowy lead (wypelnil Plan), widoczny przed telefonem. */
.mw-lead360-dossier {
    background: linear-gradient(135deg, rgba(245, 200, 66, 0.14), rgba(224, 168, 46, 0.06));
    border: 1px solid rgba(224, 168, 46, 0.35);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 16px;
}
.mw-lead360-dossier-label {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    color: #8a6a10;
    font-weight: 700;
    margin-bottom: 6px;
}
.mw-lead360-dossier-path {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--mw-fg);
    margin-bottom: 8px;
}
.mw-lead360-dossier-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.mw-lead360-dfact {
    font-size: 12px;
    color: var(--mw-fg);
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(224, 168, 46, 0.25);
    border-radius: 6px;
    padding: 3px 8px;
    white-space: nowrap;
}
.mw-lead360-dfact-k {
    color: var(--mw-text-secondary);
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-right: 3px;
}

.mw-lead360-timeline-label {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    color: var(--mw-muted);
    margin-bottom: 8px;
    text-transform: uppercase;
}

/* Timeline */
.mw-lead360-timeline {
    position: relative;
}
.mw-lead360-day {
    margin-bottom: 18px;
}
.mw-lead360-day-label {
    font-family: var(--mw-font-mono);
    font-size: 10px;
    letter-spacing: 0.15em;
    color: var(--mw-muted);
    padding: 6px 0 10px;
    border-bottom: 1px dashed var(--mw-border-subtle);
    margin-bottom: 10px;
}
.mw-lead360-day-events {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    padding-left: 6px;
}
.mw-lead360-event {
    display: grid;
    grid-template-columns: 44px 24px 1fr;
    gap: 8px;
    align-items: start;
    padding: 6px 0;
}
.mw-lead360-event-time {
    font-family: var(--mw-font-mono);
    font-size: 11px;
    color: var(--mw-muted);
    padding-top: 2px;
    letter-spacing: 0.02em;
}
.mw-lead360-event-icon {
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
}
.mw-lead360-event-body { min-width: 0; }
.mw-lead360-event-title {
    font-family: var(--mw-font-sans);
    font-size: 13px;
    font-weight: 500;
    color: var(--mw-fg);
    line-height: 1.35;
}
.mw-lead360-event-subtitle {
    font-size: 11.5px;
    color: var(--mw-text-secondary);
    margin-top: 2px;
    line-height: 1.4;
}
.mw-lead360-event--green .mw-lead360-event-title { color: rgb(21, 128, 61); }
.mw-lead360-event--blue .mw-lead360-event-title { color: rgb(29, 78, 216); }
.mw-lead360-event--gold .mw-lead360-event-title { color: rgb(217, 119, 6); font-weight: 600; }
.mw-lead360-event--red .mw-lead360-event-title { color: rgb(185, 28, 28); }
.mw-lead360-event--orange .mw-lead360-event-title { color: rgb(217, 119, 6); }

/* Sesja #134 — fakty z survey (wybory leada) pod zdarzeniem oferta_completed */
.mw-lead360-event-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    margin-top: 6px;
}
.mw-lead360-fact {
    font-size: 11px;
    color: var(--mw-text-secondary);
    background: var(--mw-bg-subtle, rgba(0,0,0,0.04));
    border: 1px solid var(--mw-border-subtle);
    border-radius: 6px;
    padding: 2px 7px;
    line-height: 1.4;
}
.mw-lead360-fact-k {
    color: var(--mw-text-muted, #94a3b8);
    font-weight: 600;
}

/* Button "Pokaż pełną historię" w expanded panelu */
.mw-link-expanded-360-bar {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px dashed var(--mw-border-subtle);
}

/* #130 — Checkbox "SMS wysłany" w modalu Chat. Pomarańczowa ramka + subtle pulse gdy
   unchecked (CTA "kliknij mnie po wysłaniu"). Po klikniciu → zielone tlo, bez pulse. */
.mw-chat-sms-sent-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 14px;
    padding: 14px 20px;
    background: rgba(245, 158, 11, 0.05);
    border: 2px solid rgba(245, 158, 11, 0.6);
    border-radius: 12px;
    cursor: pointer;
    font-family: var(--mw-font-sans);
    font-size: 14px;
    font-weight: 500;
    color: var(--mw-fg);
    transition: background 0.18s, border-color 0.18s, transform 0.1s;
    user-select: none;
    animation: mw-sms-sent-pulse 2s ease-in-out infinite;
}
@keyframes mw-sms-sent-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0); border-color: rgba(245, 158, 11, 0.6); }
    50%      { box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.15); border-color: rgba(245, 158, 11, 0.85); }
}
.mw-chat-sms-sent-toggle:hover {
    background: rgba(245, 158, 11, 0.10);
    border-color: rgba(245, 158, 11, 0.9);
}
.mw-chat-sms-sent-toggle:active { transform: translateY(1px); }
.mw-chat-sms-sent-toggle input[type="checkbox"] {
    width: 22px;
    height: 22px;
    cursor: pointer;
    accent-color: #22c55e;
}
.mw-chat-sms-sent-icon {
    font-size: 18px;
    line-height: 1;
}
.mw-chat-sms-sent-label {
    flex: 0 0 auto;
}
.mw-chat-sms-sent-date {
    margin-left: 6px;
    font-size: 11px;
    color: var(--mw-text-secondary);
    font-weight: 400;
}

/* Stan checked — zielone tło, BEZ pomaranczowego pulse (akcja wykonana) */
.mw-chat-sms-sent-toggle.is-checked {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.18), rgba(34, 197, 94, 0.10));
    border-color: rgba(34, 197, 94, 0.55);
    color: rgb(21, 128, 61);
    animation: none;
    box-shadow: none;
}
.mw-chat-sms-sent-toggle.is-checked:hover {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.25), rgba(34, 197, 94, 0.14));
    border-color: rgba(34, 197, 94, 0.7);
}

/* #130 — Koperta SMS-sent na kafelce Chat — pomaranczowa (CSS color, nie emoji). */
.mw-wca-envelope-orange {
    color: #f59e0b;
    font-size: 16px;
    font-weight: 700;
    text-shadow: 0 0 6px rgba(245, 158, 11, 0.35);
    line-height: 1;
    display: inline-block;
}

/* #130 — Tab "Lejek ↗" w pasku nawigacji jako anchor (otwiera /lejek w nowej karcie) */
.mw-tab.mw-tab-external {
    text-decoration: none;
    color: inherit;
    display: inline-flex;
    align-items: center;
}
.mw-tab.mw-tab-external:hover { color: var(--mw-accent); }

/* ═══ Faza 2 Dinstar (#137): zakładki + wizualna oś lejka + monitoring ═══ */
/* B (#138): segmentowany przełącznik (jak .mw-toggle) zamiast pomarańczowych pigułek — spójność z resztą MW. */
.mw-dinstar-tabs { display:inline-flex; flex-wrap:wrap; gap:2px; background:var(--mw-bg-elev); border:1px solid var(--mw-border-subtle); border-radius:8px; padding:3px; margin:16px 0; }
.mw-dinstar-tab { padding:7px 14px; border-radius:6px; border:0; background:transparent; cursor:pointer; font-size:12px; font-weight:600; color:var(--mw-text-muted); display:inline-flex; align-items:center; gap:6px; transition:all .15s; font-family:var(--mw-font-sans); }
.mw-dinstar-tab:hover { color:var(--mw-text-primary,inherit); }
.mw-dinstar-tab.is-active { background:var(--mw-bg-card); color:var(--mw-accent); box-shadow:0 1px 2px rgba(0,0,0,0.06); }
.mw-dinstar-tab [data-mw-dinstar-badge] { background:#ef4444; color:#fff; border-radius:999px; min-width:18px; height:18px; padding:0 5px; font-size:11px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
/* B: segmentowany przełącznik trybu lejka (off/ręczny/auto) */
.mw-dinstar-mode { display:inline-flex; gap:2px; background:var(--mw-bg-elev); border:1px solid var(--mw-border-subtle); border-radius:7px; padding:2px; }
.mw-dinstar-mode-btn { padding:5px 12px; border:0; background:transparent; cursor:pointer; font-size:12px; font-weight:600; color:var(--mw-text-muted); border-radius:5px; transition:all .15s; font-family:var(--mw-font-sans); white-space:nowrap; }
.mw-dinstar-mode-btn:hover { color:var(--mw-text-primary,inherit); }
.mw-dinstar-mode-btn.is-active { background:var(--mw-accent); color:#fff; }
.mw-dinstar-mode-btn.is-active[data-mode="off"] { background:var(--mw-text-muted); }

/* Wizualna oś (timeline) — trigger -> kroki -> koniec */
.mw-dax { position:relative; padding-left:32px; margin-top:6px; }
.mw-dax::before { content:''; position:absolute; left:14px; top:10px; bottom:10px; width:2px; background:var(--mw-border-subtle); }
.mw-dax-node { position:relative; margin-bottom:12px; }
.mw-dax-node::before { content:''; position:absolute; left:-25px; top:15px; width:14px; height:14px; border-radius:50%; background:var(--mw-bg-card); border:2px solid var(--mw-accent); box-shadow:0 0 0 3px var(--mw-bg-body,#f0e7d2); }
.mw-dax-node.is-trigger::before { background:var(--mw-accent); }
.mw-dax-node.is-terminal::before { background:var(--mw-text-muted); border-color:var(--mw-text-muted); }
.mw-dax-card { background:var(--mw-bg-card); border:1px solid var(--mw-border-subtle); border-radius:12px; padding:12px 14px; }
.mw-dax-card.is-trigger { border-color:var(--mw-accent); background:var(--mw-accent-soft,var(--mw-bg-elev)); }
.mw-dax-card-head { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mw-dax-card-head strong { font-size:14px; }
.mw-dax-when { font-size:11px; font-weight:700; color:var(--mw-accent-strong,var(--mw-accent)); white-space:nowrap; }
.mw-dax-reorder { display:inline-flex; gap:2px; margin-left:auto; }
.mw-dax-reorder button, .mw-dax-iconbtn { width:26px; height:26px; border-radius:7px; border:1px solid var(--mw-border-subtle); background:var(--mw-bg-card); cursor:pointer; font-size:13px; line-height:1; display:inline-flex; align-items:center; justify-content:center; color:var(--mw-text-muted); }
.mw-dax-reorder button:hover:not(:disabled), .mw-dax-iconbtn:hover { border-color:var(--mw-accent); color:var(--mw-accent); }
.mw-dax-reorder button:disabled { opacity:.35; cursor:default; }
.mw-dax-preview { font-size:12px; color:var(--mw-text-muted); margin-top:4px; }

/* Monitoring — bary skala wejść */
.mw-dax-bar-wrap { height:10px; background:var(--mw-bg-elev,#f0e7d2); border-radius:999px; overflow:hidden; margin-top:8px; }
.mw-dax-bar { height:100%; background:linear-gradient(90deg,var(--mw-accent),var(--mw-accent-strong,var(--mw-accent))); border-radius:999px; min-width:3px; transition:width .4s; }
.mw-dax-stats { display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--mw-text-muted); margin-top:6px; }
.mw-dax-stats b { color:var(--mw-text-primary,inherit); }
.mw-dax-drop { color:#ef4444; }
.mw-dax-totals { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.mw-dax-totch { background:var(--mw-bg-card); border:1px solid var(--mw-border-subtle); border-radius:10px; padding:8px 12px; font-size:12px; color:var(--mw-text-muted); }
.mw-dax-totch b { display:block; font-size:18px; color:var(--mw-text-primary,inherit); font-family:var(--mw-font-mono); }

/* ═══ Faza 2 Dinstar (#137): kompozytor SMS w kroku lejka ═══ */
.mw-sms-chip { font-size:11px; padding:3px 9px; border-radius:999px; border:1px solid var(--mw-border-subtle); background:var(--mw-bg-card); color:var(--mw-text-muted); cursor:pointer; transition:all .12s; }
.mw-sms-chip:hover { border-color:var(--mw-accent); color:var(--mw-accent); background:var(--mw-accent-soft,var(--mw-bg-elev,#fbf7ee)); }
.mw-sms-preview { font-size:12px; color:var(--mw-text-primary,inherit); background:var(--mw-bg-elev,#fbf7ee); border-radius:8px; padding:8px 10px; margin-top:6px; line-height:1.5; }
.mw-sms-count { font-size:11px; color:var(--mw-text-muted); margin-top:4px; }
.mw-dax-summary { font-size:12px; color:var(--mw-text-muted); background:var(--mw-bg-elev,#fbf7ee); border-radius:8px; padding:8px 12px; margin-bottom:12px; line-height:1.7; }
