/* Wspólnota Plus v213 — standaryzacja danych podstawowych i formularzy.
   Zakres: wspólnoty, lokale, właściciele, powiązania właścicielskie, importy i formularze.
   Tylko warstwa wizualna: bez zmian logiki, modeli, migracji i integracji. */
.app-shell-unified-v211{
  --v213-bg:#f4f8fd;--v213-panel:#fff;--v213-panel-soft:#f8fbff;--v213-border:#eef2f7;--v213-border-soft:#eef2f7;--v213-text:#0f172a;--v213-muted:#64748b;--v213-blue:#1f2937;--v213-blue-soft:#eef2f7;--v213-green:#16a34a;--v213-green-soft:#ecfdf3;--v213-orange:#f59e0b;--v213-orange-soft:#fff7e6;--v213-red:#dc2626;--v213-red-soft:#fff1f2;--v213-radius:24px;--v213-radius-sm:16px;--v213-shadow:0 18px 48px rgba(15, 23, 42,.08);--v213-shadow-sm:0 10px 26px rgba(15, 23, 42,.055);
}
.app-shell-unified-v211 .main.main-auth > .card,.app-shell-unified-v211 .main.main-auth > form > .card,.app-shell-unified-v211 .content > .card,.app-shell-unified-v211 .page-content > .card{margin-bottom:20px;}
.app-shell-unified-v211 .filter-card,.app-shell-unified-v211 .card.filter-card{background:rgba(255,255,255,.96)!important;border:1px solid var(--v213-border)!important;border-radius:var(--v213-radius)!important;box-shadow:var(--v213-shadow-sm)!important;padding:20px!important;}
.app-shell-unified-v211 .filter-card form,.app-shell-unified-v211 form.filter-form,.app-shell-unified-v211 .filters form{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:14px!important;align-items:end!important;}
/* PR #274 (2026-05-23): catch-all button:not(.app-btn) USUNIETE. */
.app-shell-unified-v211 .filter-card .btn,.app-shell-unified-v211 .filter-card a.btn{min-height:44px!important;}
.app-shell-unified-v211 .pill-row,.app-shell-unified-v211 .summary-row,.app-shell-unified-v211 .actions,.app-shell-unified-v211 .table-actions{gap:10px!important;flex-wrap:wrap!important;align-items:center!important;}
.app-shell-unified-v211 .pill-row[style]{margin-bottom:16px!important;}
.app-shell-unified-v211 .badge-soft,.app-shell-unified-v211 .pill,.app-shell-unified-v211 .dashboard-status-pill{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:32px!important;padding:7px 11px!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important;letter-spacing:.01em!important;border:1px solid #eef2f7!important;background:#f8fbff!important;color:#1f2937!important;white-space:nowrap!important;}
.app-shell-unified-v211 .pill-success,.app-shell-unified-v211 .status-success,.app-shell-unified-v211 .is-ready{background:var(--v213-green-soft)!important;border-color:#bbf7d0!important;color:#166534!important;}
.app-shell-unified-v211 .pill-warning,.app-shell-unified-v211 .status-warning{background:var(--v213-orange-soft)!important;border-color:#fde68a!important;color:#92400e!important;}
.app-shell-unified-v211 .pill-danger,.app-shell-unified-v211 .status-danger,.app-shell-unified-v211 .error{background:var(--v213-red-soft)!important;border-color:#fecdd3!important;color:#991b1b!important;}
.app-shell-unified-v211 .table-wrap,.app-shell-unified-v211 .table-responsive,.app-shell-unified-v211 .overflow-table,.app-shell-unified-v211 .data-table-shell{border:1px solid var(--v213-border)!important;border-radius:22px!important;background:#fff!important;box-shadow:var(--v213-shadow-sm)!important;overflow:auto!important;max-width:100%!important;-webkit-overflow-scrolling:touch!important;}
.app-shell-unified-v211 .table-compact,.app-shell-unified-v211 .data-table,.app-shell-unified-v211 .table-wrap table,.app-shell-unified-v211 .table-responsive table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;min-width:760px;background:#fff!important;}
.app-shell-unified-v211 .table-compact th,.app-shell-unified-v211 .data-table th,.app-shell-unified-v211 .table-wrap th,.app-shell-unified-v211 .table-responsive th{background:#f8fbff!important;color:#1f2937!important;font-size:12px!important;letter-spacing:.075em!important;text-transform:uppercase!important;font-weight:950!important;border-bottom:1px solid var(--v213-border)!important;padding:14px 16px!important;white-space:nowrap!important;}
.app-shell-unified-v211 .table-compact td,.app-shell-unified-v211 .data-table td,.app-shell-unified-v211 .table-wrap td,.app-shell-unified-v211 .table-responsive td{color:#0f172a!important;border-bottom:1px solid var(--v213-border-soft)!important;padding:14px 16px!important;vertical-align:middle!important;}
.app-shell-unified-v211 .table-compact tr:hover td,.app-shell-unified-v211 .data-table tr:hover td,.app-shell-unified-v211 .table-wrap tr:hover td{background:#f8fbff!important;}
.app-shell-unified-v211 .table-link{color:#1f2937!important;font-weight:900!important;text-decoration:none!important;}.app-shell-unified-v211 .table-link:hover{text-decoration:underline!important;}.app-shell-unified-v211 .table-actions{display:flex!important;justify-content:flex-start!important;}
.app-shell-unified-v211 form .form-section,.app-shell-unified-v211 .form-section,.app-shell-unified-v211 .form-card,.app-shell-unified-v211 .card-soft,.app-shell-unified-v211 .soft-panel{border:1px solid var(--v213-border)!important;border-radius:var(--v213-radius)!important;background:rgba(255,255,255,.96)!important;box-shadow:var(--v213-shadow-sm)!important;padding:20px!important;}
.app-shell-unified-v211 .form-grid,.app-shell-unified-v211 .fields-grid,.app-shell-unified-v211 .grid-form,.app-shell-unified-v211 form .grid,.app-shell-unified-v211 .form-row{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:16px!important;align-items:start!important;}
.app-shell-unified-v211 .filter-field,.app-shell-unified-v211 .form-field,.app-shell-unified-v211 form p,.app-shell-unified-v211 .field-wrapper{min-width:0!important;}
.app-shell-unified-v211 label,.app-shell-unified-v211 .form-label{display:block!important;margin:0 0 7px!important;color:#1f2937!important;font-size:13px!important;font-weight:900!important;}
.app-shell-unified-v211 input[type='text'],.app-shell-unified-v211 input[type='email'],.app-shell-unified-v211 input[type='password'],.app-shell-unified-v211 input[type='number'],.app-shell-unified-v211 input[type='date'],.app-shell-unified-v211 input[type='datetime-local'],.app-shell-unified-v211 input[type='tel'],.app-shell-unified-v211 input[type='url'],.app-shell-unified-v211 select,.app-shell-unified-v211 textarea{width:100%!important;min-height:44px!important;border:1px solid var(--v213-border)!important;border-radius:14px!important;background:#fff!important;color:var(--v213-text)!important;padding:10px 12px!important;box-shadow:0 1px 0 rgba(15, 23, 42,.02)!important;outline:none!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;}
.app-shell-unified-v211 textarea{min-height:118px!important;resize:vertical!important;}.app-shell-unified-v211 input:focus,.app-shell-unified-v211 select:focus,.app-shell-unified-v211 textarea:focus{border-color:#94a3b8!important;box-shadow:0 0 0 4px rgba(31, 41, 55,.10)!important;}
.app-shell-unified-v211 .helptext,.app-shell-unified-v211 .field-help,.app-shell-unified-v211 .form-text{display:block!important;margin-top:6px!important;color:var(--v213-muted)!important;font-size:12px!important;line-height:1.45!important;}
.app-shell-unified-v211 .errorlist,.app-shell-unified-v211 .field-error{margin:8px 0 0!important;padding:9px 11px!important;border-radius:12px!important;border:1px solid #fecdd3!important;background:#fff1f2!important;color:#991b1b!important;list-style:none!important;font-size:12px!important;font-weight:800!important;}
.app-shell-unified-v211 .actions,.app-shell-unified-v211 .form-actions,.app-shell-unified-v211 .submit-row{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:18px!important;}
/* USUNIĘTO 2026-05-19: catch-all .app-shell-unified-v211 button:not(.app-btn) z linear-gradient niebieski !important - ROOT CAUSE niebieskich baniek w całej aplikacji (potwierdzone Playwright + CDP CSS.getMatchedStylesForNode). Selektor łapał KAŻDY <button> bez klasy .app-btn w shellu aplikacji (czyli prawie wszystkie buttony). Antywzorzec analogiczny do usuniętych w PR #82, #83, #84 - tylko szerszy. Nazwane warianty .btn-secondary/.btn-light/.btn-danger w liniach poniżej zostają (NIE są catch-all). Buttony bez wariantu wracają do Bootstrap default lub własnych stylów per-component (np. picker-v300.css). */
/* stylelint-disable-next-line selector-disallowed-list -- LEGACY v213 nazwany wariant (regex regguly lapie tez .btn-*); kept until UI refactor */
.app-shell-unified-v211 .btn-secondary,.app-shell-unified-v211 .btn-light,.app-shell-unified-v211 a.btn-secondary,.app-shell-unified-v211 button.btn-secondary{background:#fff!important;color:#0f172a!important;border-color:var(--v213-border)!important;box-shadow:0 8px 18px rgba(15, 23, 42,.05)!important;}
/* stylelint-disable-next-line selector-disallowed-list -- LEGACY v213 nazwany wariant, kept until UI refactor */
.app-shell-unified-v211 .btn-danger,.app-shell-unified-v211 button.btn-danger,.app-shell-unified-v211 a.btn-danger{background:#fff1f2!important;color:#991b1b!important;border-color:#fecdd3!important;box-shadow:none!important;}
/* stylelint-disable-next-line selector-disallowed-list -- LEGACY v213 nazwany wariant, kept until UI refactor */
.app-shell-unified-v211 .btn-sm{min-height:34px!important;padding:7px 10px!important;border-radius:11px!important;font-size:12px!important;}
.app-shell-unified-v211 .import-upload-shell,.app-shell-unified-v211 .dropzone,.app-shell-unified-v211 .import-dropzone{border:1.5px dashed #eef2f7!important;border-radius:24px!important;background:linear-gradient(135deg,#f8fbff 0%,#fff 100%)!important;padding:24px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)!important;}
.app-shell-unified-v211 .dropzone-title{color:#0f172a!important;font-size:18px!important;font-weight:950!important;}.app-shell-unified-v211 .dropzone-subtitle,.app-shell-unified-v211 .import-dropzone__file-name{color:var(--v213-muted)!important;}.app-shell-unified-v211 .import-upload-meta{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:12px!important;}
.app-shell-unified-v211 .dashboard-link-grid,.app-shell-unified-v211 .kpi-grid,.app-shell-unified-v211 .dashboard-kpi-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:14px!important;}
.app-shell-unified-v211 .dashboard-link-card,.app-shell-unified-v211 .dashboard-kpi-card,.app-shell-unified-v211 .import-info-card{border:1px solid var(--v213-border)!important;border-radius:18px!important;background:#fff!important;padding:16px!important;box-shadow:0 8px 18px rgba(15, 23, 42,.045)!important;}
.app-shell-unified-v211 .dashboard-kpi-card .label{color:var(--v213-muted)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.06em!important;}.app-shell-unified-v211 .dashboard-kpi-card .value{color:#0f172a!important;font-size:28px!important;font-weight:950!important;letter-spacing:-.04em!important;}
.app-shell-unified-v211 .empty-state,.app-shell-unified-v211 .empty,.app-shell-unified-v211 td.muted[colspan]{border:1px dashed #eef2f7!important;border-radius:18px!important;background:#f8fbff!important;color:#1f2937!important;padding:18px!important;text-align:center!important;font-weight:800!important;}
.app-shell-unified-v211 .empty-state-success{background:var(--v213-green-soft)!important;border-color:#bbf7d0!important;color:#166534!important;}
.app-shell-unified-v211 .detail-grid,.app-shell-unified-v211 .detail-layout,.app-shell-unified-v211 .object-detail-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,360px)!important;gap:20px!important;align-items:start!important;}
.app-shell-unified-v211 dl,.app-shell-unified-v211 .detail-list{display:grid!important;grid-template-columns:minmax(140px,220px) minmax(0,1fr)!important;gap:10px 18px!important;}.app-shell-unified-v211 dt{color:#1f2937!important;font-weight:900!important;}.app-shell-unified-v211 dd{margin:0!important;color:#0f172a!important;font-weight:700!important;}
@media(max-width:1100px){.app-shell-unified-v211 .detail-grid,.app-shell-unified-v211 .detail-layout,.app-shell-unified-v211 .object-detail-grid{grid-template-columns:1fr!important;}}
@media(max-width:760px){.app-shell-unified-v211 .filter-card form,.app-shell-unified-v211 form.filter-form,.app-shell-unified-v211 .filters form,.app-shell-unified-v211 .form-grid,.app-shell-unified-v211 .fields-grid,.app-shell-unified-v211 .grid-form,.app-shell-unified-v211 form .grid,.app-shell-unified-v211 .form-row{grid-template-columns:1fr!important;}.app-shell-unified-v211 .card,.app-shell-unified-v211 .soft-panel,.app-shell-unified-v211 .form-section,.app-shell-unified-v211 .filter-card{border-radius:18px!important;padding:16px!important;}.app-shell-unified-v211 .table-compact,.app-shell-unified-v211 .data-table,.app-shell-unified-v211 .table-wrap table,.app-shell-unified-v211 .table-responsive table{min-width:680px;}}
