/* FixBaza 4.14.3 — bezpieczeństwo konta, tooltipy kalendarza i globalny rytm UI. */
:root[data-fb-security-v4130="1"] .content>.page-header,
:root[data-fb-security-v4130="1"] .content>.fb-v492-workshop-head{margin-bottom:24px!important}
:root[data-fb-security-v4130="1"] .content>.card+ .card,
:root[data-fb-security-v4130="1"] .content>.grid+ .card,
:root[data-fb-security-v4130="1"] .content>.grid2+ .card,
:root[data-fb-security-v4130="1"] .content>.metric-grid+ .card{margin-top:16px!important}
:root[data-fb-security-v4130="1"] .content .card{min-width:0}
:root[data-fb-security-v4130="1"] .content .table-wrap{overflow:auto}
:root[data-fb-security-v4130="1"] .content input,
:root[data-fb-security-v4130="1"] .content select,
:root[data-fb-security-v4130="1"] .content textarea{max-width:100%}

/* Szczegóły wizyty widoczne po najechaniu i z klawiatury. */
#fb4130-calendar-tip{position:fixed;z-index:2147483642;display:none;width:min(360px,calc(100vw - 24px));padding:14px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:13px;background:var(--panel);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.48);pointer-events:none}
#fb4130-calendar-tip.open{display:block}
#fb4130-calendar-tip strong{display:block;margin-bottom:8px;font-size:13px}
#fb4130-calendar-tip dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 11px;margin:0}
#fb4130-calendar-tip dt{color:var(--muted);font-size:9px}
#fb4130-calendar-tip dd{margin:0;font-size:10px;font-weight:720;overflow-wrap:anywhere}
[data-fb4130-appointment]{cursor:pointer!important}
[data-fb4130-appointment]:hover,[data-fb4130-appointment]:focus-visible{outline:1px solid color-mix(in srgb,var(--accent) 48%,transparent)!important;outline-offset:2px!important}

/* Centrum bezpieczeństwa i danych. */
#fb4130-security{position:fixed;inset:0;z-index:2147483550;display:none;justify-content:flex-end;background:rgba(2,4,8,.76);backdrop-filter:blur(9px)}
#fb4130-security.open{display:flex}
.fb4130-security-drawer{width:min(920px,100vw);height:100%;overflow:auto;padding:26px;background:var(--bg);border-left:1px solid var(--border);color:var(--text);box-shadow:-25px 0 90px rgba(0,0,0,.48)}
.fb4130-security-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:17px;border-bottom:1px solid var(--border-soft)}
.fb4130-security-head h2{margin:0;font-size:26px}.fb4130-security-head p{margin:5px 0 0;color:var(--muted)}
.fb4130-security-close{border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);padding:9px 12px}
.fb4130-security-state{display:flex;align-items:center;gap:9px;margin:14px 0;padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--muted);font-size:10px}.fb4130-security-state i{width:8px;height:8px;border-radius:50%;background:var(--yellow,#ffad5b)}.fb4130-security-state.ok i{background:var(--green)}.fb4130-security-state.bad i{background:var(--red)}
.fb4130-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fb4130-security-card{padding:17px;border:1px solid var(--border);border-radius:13px;background:var(--panel)}
.fb4130-security-card.wide{grid-column:1/-1}.fb4130-security-card h3{margin:0 0 5px;font-size:15px}.fb4130-security-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.fb4130-security-card code{font-size:9px;color:var(--accent);overflow-wrap:anywhere}
.fb4130-security-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.fb4130-security-badge{display:inline-flex;padding:5px 8px;border-radius:99px;background:var(--panel-2);color:var(--muted);font-size:8px;font-weight:900}.fb4130-security-badge.ok{background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--green)}.fb4130-security-badge.warn{background:color-mix(in srgb,var(--yellow,#ffad5b) 12%,transparent);color:var(--yellow,#ffad5b)}
.fb4130-security-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.fb4130-security-actions button{border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);padding:8px 10px;font-size:9px;font-weight:820}.fb4130-security-actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.fb4130-security-actions button.danger{color:var(--red)}.fb4130-security-actions button:disabled{opacity:.48;cursor:not-allowed}
.fb4130-device-list,.fb4130-ip-list{display:grid;gap:7px}.fb4130-device,.fb4130-ip-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-soft);border-radius:9px;background:var(--panel-2)}.fb4130-device b,.fb4130-device small,.fb4130-ip-row b,.fb4130-ip-row small{display:block}.fb4130-device small,.fb4130-ip-row small{margin-top:3px;color:var(--muted);font-size:8px}.fb4130-device button,.fb4130-ip-row button{border:1px solid var(--border);background:var(--panel);color:var(--red);border-radius:7px;padding:7px 8px;font-size:8px;font-weight:800}
.fb4130-inline-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:7px;margin-top:10px}.fb4130-inline-form input{min-width:0;height:38px}.fb4130-inline-form button{border:0;border-radius:8px;background:var(--accent);color:#fff;padding:0 12px;font-size:9px;font-weight:850}
.fb4130-security-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.fb4130-security-facts span{padding:9px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel-2)}.fb4130-security-facts b,.fb4130-security-facts small{display:block}.fb4130-security-facts small{color:var(--muted);margin-top:3px;font-size:8px}
#fb4130-security-nav{color:var(--accent)!important}
.fb4130-account-launch{margin-top:14px!important;width:100%;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border))!important;background:color-mix(in srgb,var(--accent) 7%,var(--panel-2))!important;color:var(--text)!important;border-radius:10px!important;padding:10px 12px!important;font-weight:820!important}

/* Konfigurator 2FA. Sekret nie jest zapisywany w localStorage. */
#fb4130-2fa-modal{position:fixed;inset:0;z-index:2147483650;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,4,8,.78);backdrop-filter:blur(9px)}#fb4130-2fa-modal.open{display:flex}
.fb4130-2fa-card{width:min(560px,100%);padding:21px;border:1px solid var(--border);border-radius:15px;background:var(--panel);color:var(--text);box-shadow:0 30px 100px rgba(0,0,0,.55)}.fb4130-2fa-card h3{margin:0}.fb4130-2fa-card p{color:var(--muted);line-height:1.5}.fb4130-2fa-secret{padding:10px;border:1px dashed var(--border);border-radius:8px;background:var(--panel-2);font:700 12px ui-monospace,monospace;overflow-wrap:anywhere}.fb4130-2fa-card label{display:grid;gap:5px;color:var(--muted);font-size:10px;margin-top:12px}.fb4130-2fa-card input{letter-spacing:.2em;text-align:center;font-size:17px}.fb4130-2fa-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.fb4130-2fa-buttons button{border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);padding:9px 12px;font-weight:820}.fb4130-2fa-buttons .primary{background:var(--accent);border-color:var(--accent);color:#fff}

/* Warsztat widzi aktywny dostęp pomocy, jeśli backend raportuje impersonację. */
#fb4130-client-impersonation{position:relative;z-index:8;display:flex;align-items:center;gap:11px;width:100%;margin:0 0 16px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--yellow,#ffad5b) 42%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--yellow,#ffad5b) 8%,var(--panel));color:var(--text)}
#fb4130-client-impersonation b{font-size:10px;color:var(--yellow,#ffad5b)}#fb4130-client-impersonation span{font-size:10px;color:var(--muted)}#fb4130-client-impersonation time{margin-left:auto;font-size:9px;color:var(--muted)}
#fixbaza-impersonation-banner.fb4130-audited:after{content:"Sesja pomocy jest rejestrowana";font-size:9px;opacity:.78}

@media(max-width:760px){.fb4130-security-drawer{padding:18px}.fb4130-security-grid,.fb4130-security-facts{grid-template-columns:1fr}.fb4130-security-card.wide{grid-column:1}.fb4130-inline-form{grid-template-columns:1fr}.fb4130-inline-form button{height:38px}#fb4130-client-impersonation{align-items:flex-start;flex-wrap:wrap}#fb4130-client-impersonation time{margin-left:0;width:100%}}

