:root {
    --yellow: #F0B400;
    --yellow-2: #FFC30F;
    --yellow-3: #FFCC33;
    --ink: #15151E;
    --graphite: #464653;
    --white: #FFFFFF;
    --bg: #F4F4F6;
    --surface: #FFFFFF;
    --border: #E4E4E8;
    --muted: #6F707A;
    --success: #17843A;
    --danger: #B42318;
    --warning: #9A6700;
    --shadow: 0 16px 42px rgba(21, 21, 30, 0.10);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
    font-family: "Sora", "Segoe UI", Arial, sans-serif;
    color: var(--ink);
    background: var(--bg);
}
button, input { font: inherit; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; }
.sidebar {
    position: sticky; top: 0; height: 100vh; padding: 26px 18px;
    display: flex; flex-direction: column; background: var(--ink); color: var(--white);
}
.brand-panel { padding: 6px 12px 30px; }
.brand-logo { display: block; width: 158px; height: auto; filter: invert(1); }
.brand-subtitle { display: block; margin-top: 8px; color: #D6D6DB; font-size: 14px; letter-spacing: .08em; }
.nav { display: grid; gap: 8px; }
.nav-link {
    min-height: 46px; padding: 0 14px; display: flex; align-items: center; gap: 12px;
    border-radius: 10px; color: #D7D7DC; text-decoration: none; font-weight: 600;
}
.nav-link span { width: 20px; text-align: center; }
.nav-link.active { color: var(--ink); background: var(--yellow-2); }
.nav-link:not(.disabled):hover { color: var(--white); background: #2A2A34; }
.nav-link.disabled { opacity: .45; cursor: default; }
.logout-form { margin-top: auto; }
.main { min-width: 0; }
.topbar {
    min-height: 96px; padding: 21px 32px; display: flex; justify-content: space-between; align-items: center;
    background: var(--surface); border-bottom: 1px solid var(--border);
}
.topbar h1 { margin: 0; font-size: 27px; font-weight: 800; }
.topbar p { margin: 6px 0 0; color: var(--muted); }
.user-chip { display: flex; align-items: center; gap: 11px; }
.user-chip strong, .user-chip small { display: block; }
.user-chip small { margin-top: 2px; color: var(--muted); text-transform: capitalize; }
.avatar {
    width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%;
    color: var(--ink); background: var(--yellow-2); font-weight: 800;
}
.content { padding: 30px 32px; }
.grid-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.card, .panel { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); }
.card { min-height: 118px; padding: 21px; display: flex; align-items: center; gap: 16px; }
.card-icon {
    width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto;
    border-radius: 12px; color: var(--ink); background: #FFF3BF; font-weight: 800;
}
.card-label { display: block; margin-bottom: 7px; color: var(--muted); font-size: 13px; }
.card-value { font-size: 22px; }
.panel { margin-top: 24px; padding: 26px; }
.panel h2 { margin: 0; }
.panel p { margin: 8px 0 0; color: var(--muted); }
.check-list { margin-top: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.check-list div { padding: 14px 16px; border-radius: 11px; background: #FAFAFB; border: 1px solid var(--border); }
.check-list span { margin-right: 8px; color: var(--success); font-weight: 800; }

.login-page {
    min-height: 100vh; padding: 32px; display: grid; place-items: center; position: relative; overflow: hidden;
    background: linear-gradient(135deg, #F7F7F8 0%, #FFFFFF 58%, #FFF5C7 100%);
}
.login-accent {
    position: absolute; width: 520px; height: 520px; border: 90px solid rgba(255, 195, 15, .22);
    border-radius: 50%; right: -130px; top: -160px;
}
.login-card {
    position: relative; width: min(440px, 100%); padding: 38px; border-radius: 20px;
    background: var(--surface); box-shadow: var(--shadow); border: 1px solid var(--border);
}
.login-brand { text-align: center; margin-bottom: 34px; }
.login-brand img { width: 176px; max-width: 100%; height: auto; display: block; margin: 0 auto; }
.login-form { display: grid; gap: 18px; }
.field { display: grid; gap: 7px; }
.field label { font-weight: 700; font-size: 14px; }
.login-field label { text-align: center; }
.field input {
    width: 100%; height: 48px; padding: 0 14px; border: 1px solid #CFCFD5; border-radius: 10px; outline: none;
}
.field input:focus { border-color: var(--yellow); box-shadow: 0 0 0 4px rgba(240, 180, 0, .18); }
.btn { min-height: 46px; padding: 0 16px; border: 0; border-radius: 10px; cursor: pointer; font-weight: 800; }
.btn-primary { color: var(--ink); background: var(--yellow-2); }
.btn-primary:hover { background: var(--yellow-3); }
.btn-dark { color: var(--white); background: #2C2C36; }
.btn-dark:hover { background: #393944; }
.btn-full { width: 100%; }
.login-submit { font-weight: 400; }
.login-footer { margin-top: 24px; text-align: center; }
.login-footer p { margin: 0 0 3px; font-size: 16px; font-weight: 800; }
.login-footer small { color: var(--muted); font-size: 11px; }
.messages { width: min(920px, calc(100% - 30px)); margin: 18px auto 0; }
.content > .messages { width: 100%; margin: 0 0 18px; }
.alert { padding: 13px 15px; border-radius: 10px; border: 1px solid transparent; }
.alert-success { color: var(--success); background: #ECFDF3; border-color: #BBF7D0; }
.alert-warning { color: var(--warning); background: #FFFBEB; border-color: #FDE68A; }
.alert-danger { color: var(--danger); background: #FEF2F2; border-color: #FECACA; }

@media (max-width: 1050px) { .grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .app-shell { grid-template-columns: 1fr; }
    .sidebar { position: static; height: auto; }
    .topbar { padding: 18px; align-items: flex-start; gap: 14px; }
    .content { padding: 18px; }
    .grid-cards, .check-list { grid-template-columns: 1fr; }
}

.converter-panel { max-width: 920px; margin: 0 auto; }
.contractor-strip {
    display: flex; align-items: center; gap: 16px; margin-bottom: 18px; padding: 18px 20px;
    background: var(--surface); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow);
}
.contractor-mark { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; background: var(--yellow-2); font-size: 22px; font-weight: 900; }
.contractor-strip span, .contractor-strip small { display: block; color: var(--muted); }
.contractor-strip span { margin-bottom: 4px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.contractor-strip strong { display: block; margin-bottom: 4px; }
.status-ready { margin-left: auto; padding: 8px 12px; border-radius: 999px; color: var(--success); background: #ECFDF3; font-size: 13px; font-weight: 800; }
.upload-zone {
    min-height: 390px; padding: 42px; display: grid; place-items: center; align-content: center; text-align: center;
    background: var(--surface); border: 2px dashed #C8C8CF; border-radius: 20px; cursor: pointer; transition: .18s ease;
}
.upload-zone:hover, .upload-zone.dragover { border-color: var(--yellow); background: #FFFCF1; transform: translateY(-1px); }
.upload-zone.busy { pointer-events: none; opacity: .72; }
.upload-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-zone h2 { margin: 16px 0 8px; font-size: 24px; }
.upload-zone p { margin: 0; color: var(--muted); }
.upload-icon { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 18px; background: #FFF3BF; font-size: 34px; font-weight: 900; }
.upload-hint { margin-top: 20px; padding: 8px 12px; border-radius: 999px; background: #F4F4F6; color: var(--graphite); font-size: 12px; font-weight: 700; }
.converter-status { margin-top: 16px; padding: 15px 17px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface); font-weight: 700; }
.converter-status.success { color: var(--success); border-color: #BBF7D0; background: #ECFDF3; }
.converter-status.error { color: var(--danger); border-color: #FECACA; background: #FEF2F2; }
.admin-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}.admin-users{margin-top:0;padding:20px;position:sticky;top:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{margin:0}.hidden{display:none!important}.admin-new-user{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fafafb}.admin-form{display:grid;gap:14px}.admin-form.grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.admin-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.admin-form input,.admin-form select{width:100%;height:44px;padding:0 12px;border:1px solid #cfcfd5;border-radius:9px;background:white}.admin-form.compact{gap:10px}.user-list{display:grid;gap:8px;margin-top:18px}.user-row{display:grid;grid-template-columns:40px 1fr 10px;align-items:center;gap:10px;padding:10px;border-radius:11px;color:var(--ink);text-decoration:none}.user-row:hover,.user-row.active{background:#fff5c7}.user-row small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.status-dot{width:9px;height:9px;border-radius:50%;background:#c6c6cc}.status-dot.on{background:var(--success)}.admin-main{display:grid;gap:24px}.admin-section{margin-top:0}.switch-line{display:flex!important;align-items:center;gap:9px}.switch-line input{width:18px;height:18px}.permission-tree{display:grid;gap:12px;margin:20px 0}.permission-module{border:1px solid var(--border);border-radius:12px;overflow:hidden}.permission-parent{display:flex;align-items:center;gap:9px;padding:14px 16px;background:#fafafb}.permission-actions{display:flex;flex-wrap:wrap;gap:14px;padding:14px 16px}.permission-actions label{display:flex;align-items:center;gap:7px}.admin-notice{margin-top:18px;padding:14px 16px;border-radius:10px;background:#fff5c7;border:1px solid #f3db74;font-weight:700}.log-table{overflow:auto;margin-top:18px}.log-table table{width:100%;border-collapse:collapse;font-size:13px}.log-table th,.log-table td{padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.log-table th{background:#fafafb}.log-table td:first-child{white-space:nowrap}@media(max-width:1050px){.admin-layout{grid-template-columns:1fr}.admin-users{position:static}.admin-form.grid{grid-template-columns:1fr}}

/* Moduł Produkty */
.products-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.products-summary .card{min-width:0}.products-date{font-size:17px}.products-file{display:block;max-width:320px;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.products-tools{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.products-actions{display:flex;align-items:center;gap:12px}.products-upload-form{margin:0}.products-file-button{display:inline-flex;align-items:center;cursor:pointer}.products-file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.btn-danger{color:#fff;background:var(--danger)}.btn-danger:hover{filter:brightness(.92)}.products-columns-info{flex-basis:100%;padding:13px 15px;border:1px solid #f3db74;border-radius:10px;background:#fff9dc;color:var(--graphite);font-size:13px}.products-table-panel{padding:0;overflow:hidden}.products-table-panel .panel-head{padding:24px 26px;border-bottom:1px solid var(--border)}.products-table-wrap{max-height:calc(100vh - 390px);overflow:auto}.products-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.products-table th,.products-table td{max-width:360px;padding:10px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap}.products-table td:nth-child(4){white-space:normal;min-width:280px}.products-table th{position:sticky;top:0;z-index:2;background:#f7f7f8;font-weight:800}.products-table th:nth-child(-n+6){background:#fff6ca}.products-table .extra-column{color:#666;background:#fafafb}.products-empty{padding:48px 24px;display:grid;gap:8px;text-align:center;color:var(--muted)}.products-empty strong{color:var(--ink);font-size:18px}@media(max-width:900px){.products-summary{grid-template-columns:1fr}.products-tools{display:grid}.products-actions{flex-wrap:wrap}.products-table-wrap{max-height:none}}

.contractors-panel-head {
    gap: 20px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.contractors-search-form {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.contractors-search-form input[type="search"] {
    min-width: 360px;
    max-width: 520px;
    padding: 10px 12px;
    border: 1px solid #cfd5df;
    border-radius: 8px;
    font: inherit;
}

.contractors-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding-top: 16px;
    flex-wrap: wrap;
}

.contractors-pagination > div {
    display: flex;
    gap: 8px;
}

@media (max-width: 760px) {
    .contractors-search-form,
    .contractors-search-form input[type="search"] {
        width: 100%;
        min-width: 0;
    }
}

/* Konwertery - wybor klienta i jedno aktywne okno importu */
.converter-workspace{max-width:920px;margin:0 auto;display:grid;gap:22px}.converter-client-card,.converter-upload-card{padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.converter-client-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.converter-client-head h2{margin:4px 0 0;font-size:22px}.converter-label{display:block;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.converter-select-wrap{display:grid;gap:8px;font-size:13px;font-weight:800}.converter-select{width:100%;height:52px;padding:0 46px 0 15px;border:1px solid #cfcfd5;border-radius:11px;background:#fff;font:inherit;font-weight:700;cursor:pointer;outline:none}.converter-select:focus{border-color:var(--yellow);box-shadow:0 0 0 4px rgba(240,180,0,.18)}.converter-selected-info{display:flex;align-items:center;gap:14px;margin-top:16px;padding:15px 16px;border:1px solid var(--border);border-radius:13px;background:#fafafb}.converter-selected-info strong,.converter-selected-info small{display:block}.converter-selected-info small{margin-top:4px;color:var(--muted);line-height:1.45}.converter-upload-card{padding:0;border:0;background:transparent;box-shadow:none}.converter-upload-card .upload-zone{min-height:390px}.converter-form.hidden + .converter-status{display:none!important}@media(max-width:760px){.converter-client-card{padding:18px}.converter-client-head{align-items:flex-start}.converter-selected-info{align-items:flex-start}.converter-upload-card .upload-zone{min-height:330px;padding:30px 18px}}

/* Moduł Przelewy bankowe */
.bank-workspace{display:grid;gap:22px}.bank-source-strip{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.bank-source-strip span,.bank-source-strip small{display:block;color:var(--muted)}.bank-source-strip span{margin-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.bank-source-strip strong{display:block;margin-bottom:4px}.bank-upload-form{display:grid;gap:14px}.bank-upload-zone{min-height:300px}.bank-selected-file{display:block;margin-top:14px;color:var(--ink)}.bank-analyse-button{justify-self:end;min-width:220px}.bank-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.bank-summary-grid .card{display:grid;gap:7px;min-width:0}.bank-summary-grid .card span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.bank-summary-grid .card strong{font-size:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-summary-grid .card small{color:var(--muted)}.bank-card-ready{border-left:5px solid var(--success)}.bank-card-warning{border-left:5px solid #d5a500}.bank-row-errors{margin:0}.bank-table-panel{padding:0;overflow:hidden}.bank-table-panel .panel-head{padding:22px 24px;border-bottom:1px solid var(--border);flex-wrap:wrap}.bank-legend{display:flex;gap:8px;flex-wrap:wrap}.bank-table-wrap{overflow:auto;max-height:calc(100vh - 360px)}.bank-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.bank-table th,.bank-table td{max-width:330px;padding:11px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.bank-table th{position:sticky;top:0;z-index:2;background:#f7f7f8;white-space:nowrap}.bank-table td:first-child,.bank-table td:nth-child(2){min-width:260px;white-space:normal}.bank-table td small{display:block;margin-top:5px;color:var(--muted);line-height:1.35}.bank-amount{font-weight:800;white-space:nowrap}.bank-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.bank-status.gotowy{color:var(--success);background:#ecfdf3}.bank-status.brak{color:#8a6500;background:#fff8d7}.bank-status.niegotowy{color:var(--danger);background:#fef2f2}@media(max-width:1100px){.bank-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.bank-summary-grid{grid-template-columns:1fr}.bank-analyse-button{width:100%;justify-self:stretch}.bank-table-wrap{max-height:none}}

/* Przelewy bankowe - dopracowanie etapu analizy */
.bank-upload-zone.busy{pointer-events:none;opacity:.82}.bank-analysis-state{display:inline-flex;align-items:center;gap:9px;margin-top:14px;font-weight:800;color:var(--ink)}.bank-spinner{width:18px;height:18px;border:3px solid #e5e7eb;border-top-color:var(--primary);border-radius:50%;animation:bank-spin .75s linear infinite}@keyframes bank-spin{to{transform:rotate(360deg)}}.bank-address{min-width:190px;max-width:250px;white-space:normal;line-height:1.45}.bank-email-link{color:inherit;text-decoration:underline;text-decoration-color:#c3c7ce;text-underline-offset:3px}.bank-email-link:hover{color:var(--primary);text-decoration-color:currentColor}.bank-status>span:first-child{display:inline-grid;place-items:center;width:17px;height:17px;margin-right:5px;border-radius:50%;font-size:12px;font-weight:1000}.bank-status.gotowy>span:first-child{background:#c9f3d8}.bank-status.brak>span:first-child{background:#f7e9a6}.bank-status.niepoprawny{color:#a65d00;background:#fff1df}.bank-status.niepoprawny>span:first-child{background:#ffd6a3}.bank-status.niegotowy>span:first-child{background:#f8cfcf}.bank-row-niepoprawny-e-mail td{background:#fffdf9}.bank-row-niegotowy td{background:#fffafa}

/* Przelewy bankowe: wybór odbiorców i poprawka stanu analizy */
.bank-analysis-state[hidden]{display:none!important}.bank-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--border);background:#fafafa}.bank-select-all{display:inline-flex;align-items:center;gap:9px;font-weight:800;cursor:pointer}.bank-select-all input,.bank-recipient-check,.bank-check-col input{width:18px;height:18px;accent-color:var(--success);cursor:pointer}.bank-check-col{width:72px;min-width:72px!important;text-align:center!important}.bank-send-actions{display:flex;justify-content:flex-end;gap:12px;padding:18px 20px;border-top:1px solid var(--border);background:#fff}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover{filter:brightness(.95)}@media(max-width:760px){.bank-selection-bar,.bank-send-actions{align-items:stretch;flex-direction:column}.bank-send-actions .btn{width:100%}}
.bank-settings-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px}.bank-settings-panel,.bank-test-panel{padding:0}.bank-settings-panel .panel-head{padding:22px 24px;border-bottom:1px solid var(--border)}.bank-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}.bank-settings-form label,.bank-test-panel label{display:grid;gap:8px;font-weight:800}.bank-settings-form input,.bank-settings-form select,.bank-test-panel input{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit}.bank-settings-form input:disabled{background:#f5f5f6;color:var(--muted)}.bank-full-row{grid-column:1/-1}.bank-fixed-info{padding:13px 15px;border-radius:10px;background:#f7f8fa;border:1px solid var(--border)}.bank-settings-actions{display:flex;justify-content:flex-end}.bank-test-panel{padding:24px}.bank-test-panel form{display:grid;gap:16px;margin-top:18px}.bank-result-page{display:grid;gap:20px}.bank-result-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bank-result-summary .card{display:grid;gap:7px}.bank-result-summary .card span{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--muted)}.bank-result-summary .card strong{font-size:28px}.bank-result-actions{display:flex;justify-content:flex-end;gap:12px}.bank-report-panel{padding:0;overflow:hidden}.bank-report-panel .panel-head{padding:18px 22px;border-bottom:1px solid var(--border)}@media(max-width:900px){.bank-settings-grid{grid-template-columns:1fr}}@media(max-width:700px){.bank-settings-form{grid-template-columns:1fr}.bank-full-row{grid-column:auto}.bank-result-summary{grid-template-columns:1fr}.bank-result-actions{flex-direction:column}.bank-result-actions .btn{width:100%}}

/* Przelewy bankowe: spójne przyciski akcji */
.bank-send-actions .bank-action-secondary {
    min-width: 232px;
    text-align: center;
    text-decoration: none;
}

/* Przelewy bankowe: Ustawienia poczty identyczne z przyciskiem Wyślij do wybranych */
.bank-send-actions .bank-action-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 232px;
    min-height: 46px;
    padding: 0 16px;
    border: 0;
    border-radius: 10px;
    background: #f1f1f3;
    color: var(--ink) !important;
    font: inherit;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
}
.bank-send-actions .bank-action-secondary:hover {
    background: #e7e7ea;
    color: var(--ink) !important;
    text-decoration: none !important;
}

/* Pulpit i menu — korekty graficzne v1.2.2 */
.brand-panel {
    min-height: 116px;
    padding: 2px 12px 12px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.brand-logo {
    width: 118px;
    max-height: 78px;
    object-fit: contain;
    filter: invert(1);
}
.nav { margin-top: 2px; }
.logout-form .btn { font-weight: 400; }
.topbar-title { display: grid; gap: 4px; }
.dashboard-date {
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
}
.dashboard-date span { padding: 0 5px; color: var(--yellow); }
.dashboard-motto {
    min-height: 170px;
    margin: 24px 0 0;
    padding: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: center;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: linear-gradient(135deg, #ffffff 0%, #fffaf0 100%);
    box-shadow: var(--shadow);
}
.dashboard-motto-icon {
    font-size: 39px;
    line-height: 1;
    display: inline-block;
    animation: dashboard-icon-pulse 650ms ease-out 1;
}
.dashboard-motto-text {
    font-size: clamp(14px, 1.8vw, 23px);
    font-weight: 400;
    font-style: italic;
}
@keyframes dashboard-icon-pulse {
    0% { transform: scale(0.82); opacity: 0; }
    60% { transform: scale(1.10); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .dashboard-motto-icon { animation: none; }
}
@media (max-width: 760px) {
    .brand-panel { min-height: auto; }
    .dashboard-date { line-height: 1.45; }
    .dashboard-motto { min-height: 130px; }
}


/* Menu boczne - ikony liniowe */
.nav-link .nav-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.nav-link > span {
    width: auto;
    text-align: left;
}
