:root{font-family:Arial,sans-serif;color:#1d2730;background:#f3f5f7}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#18232d;color:#fff}
.brand{text-decoration:none;font-size:20px;font-weight:800}
.brand small{opacity:.65}
.topbar nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.topbar nav a{text-decoration:none}
.topbar nav .nav-logout{margin:0}.topbar nav .nav-logout button{border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}
.session-identity{display:flex;flex-direction:column;padding-left:12px;border-left:1px solid rgba(255,255,255,.25);line-height:1.2}
.session-identity small{margin-top:3px;opacity:.7;font-size:11px}
.container{max-width:1280px;margin:0 auto;padding:20px}
.login-card,.panel,.order-card{background:#fff;border:1px solid #dbe1e5;border-radius:12px;box-shadow:0 3px 12px rgba(0,0,0,.05)}
.login-card{max-width:430px;margin:8vh auto;padding:24px}
.login-options{max-width:920px;margin:8vh auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.login-options .login-card{width:100%;max-width:none;margin:0}.portal-entry-card p{color:#596873;line-height:1.55}.portal-entry-card .button{display:inline-flex;margin:4px 8px 0 0}@media(max-width:760px){.login-options{grid-template-columns:1fr;margin:32px auto}}
.scope-grid{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin:.75rem 0 1rem}.scope-grid label{display:inline-flex;align-items:center;gap:.4rem}.portal-organization-card .panel-head{align-items:flex-start;gap:1rem}.portal-member-invite{margin-top:1rem;border-top:1px solid #dbe1e5;padding-top:1rem}.portal-member-invite summary{cursor:pointer;font-weight:700;color:#18232d}.portal-member-invite form{margin-top:1rem}.portal-member-invite fieldset{border:0;padding:0;margin:1rem 0}.portal-member-invite legend{font-weight:700}
.order-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.order-card{padding:18px;border-left:7px solid #88939b}
.status-new{border-color:#4e86d9}
.status-assigned{border-color:#8e63cf}
.status-in_progress{border-color:#e4a11b}
.status-waiting_parts{border-color:#d46b27}
.status-completed{border-color:#36a269}
.order-number{font-weight:800;color:#53616c}
.button{display:inline-block;border:0;border-radius:8px;padding:10px 14px;background:#dfe5e9;color:#17212a;text-decoration:none;font-weight:700;cursor:pointer}
.button.primary{background:#236db4;color:#fff}
.button.success{background:#2d955b;color:#fff}
.button.danger{background:#bd4040;color:#fff}
.button:disabled{opacity:.45;cursor:not-allowed}
label{display:block;margin:12px 0;font-weight:700}
input,textarea,select{width:100%;margin-top:5px;padding:10px;border:1px solid #bdc6cc;border-radius:7px;font:inherit}
textarea{min-height:90px}
.checkbox{display:flex;gap:8px;align-items:center}
.checkbox input{width:auto;margin:0}
.flash{padding:12px;border-radius:8px;margin-bottom:12px}
.flash-success{background:#dff3e7}
.flash-danger{background:#f8dede}
.flash-warning{background:#fff1c9}
.toolbar{display:flex;gap:10px;margin-bottom:18px}
.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.status-pill{padding:8px 12px;border-radius:999px;background:#fff;border:2px solid #9ca6ad;font-weight:800}
.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.panel{padding:18px}.stats-grid a.stat{text-decoration:none;color:inherit}.workspace-grid+.panel{margin-top:18px}
.record{padding:10px 0;border-bottom:1px solid #e2e6e9}
.record-actions{display:flex;align-items:center;gap:8px}.record-actions form{margin:0}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.photo-grid img{width:100%;height:150px;object-fit:cover;border-radius:8px}
#connection-status{position:fixed;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid #ccd3d8;box-shadow:0 4px 14px rgba(0,0,0,.14);font-size:12px;font-weight:800}
#connection-status .dot{width:10px;height:10px;border-radius:50%;background:#349963}
#connection-status[data-state=checking] .dot{background:#d9a41a}
#connection-status[data-state=offline] .dot{background:#c74343}
@media(max-width:760px){.workspace-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar nav{flex-direction:column}.container{padding:12px}}

h1{margin:0 0 8px;font-size:32px}h2{margin-top:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}.page-head p{margin:0;color:#697781}.user-name{opacity:.7}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat{background:#fff;border:1px solid #dbe1e5;border-radius:12px;padding:22px}.stat strong{display:block;font-size:34px}.stat span{color:#65727c}.panel-head{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #e3e7ea;vertical-align:middle}th{font-size:12px;text-transform:uppercase;color:#687680}.badge{display:inline-block;padding:6px 9px;border-radius:999px;background:#e8edf0;font-size:12px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:1/-1}.financial{background:#f7f9fa;border:1px solid #e0e5e8;border-radius:10px;padding:14px;margin:10px 0}.financial h3{margin:0}.split{display:grid;grid-template-columns:380px 1fr;gap:18px}.record{display:flex;justify-content:space-between;align-items:center;gap:12px}.record small{display:block;color:#6c7881;margin-top:4px}.actions{white-space:nowrap}.empty{padding:40px;text-align:center;color:#6d7880}.narrow{max-width:720px;margin:auto}details summary{cursor:pointer;padding:4px 0 14px}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.form-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.stats-grid,.form-grid,.form-grid.four{grid-template-columns:1fr}.span-2{grid-column:auto}.topbar{display:block}.topbar nav{margin-top:12px}.actions{white-space:normal}}

/* v7.10.1 — konfiguracja i administracyjna wycena bram */
.gate-calculator-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:start;max-width:820px}.gate-calculator-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:#e5f5eb;color:#176b3f;font-size:34px;font-weight:800}.gate-calculator-card h2{margin-bottom:8px}.gate-calculator-card p{line-height:1.55}.gate-calculator-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.gate-calculator-launch{display:inline-block}
.gate-specification-form{margin-top:1rem}.gate-quote-list .record{display:grid;justify-content:stretch;gap:.35rem}.gate-quote-review-layout{align-items:start}.gate-quote-totals{margin-top:1rem;padding-top:.75rem;border-top:1px solid #dbe1e5}.gate-quote-part-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.gate-quote-part-form{margin-top:1rem}.details-list{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(160px,1.3fr);gap:8px 14px}.details-list dt{font-weight:800;color:#64727b}.details-list dd{margin:0;white-space:pre-wrap}
.gate-accessories{border:1px solid #dbe1e5;border-radius:10px;padding:.8rem}.gate-accessories>summary{cursor:pointer;font-weight:800}.gate-accessory-grid{margin-top:.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.gate-accessory-row{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:.75rem}.gate-accessory-row input{margin:0}.gate-accessory-row[hidden]{display:none}.gate-accessory-admin-list{display:grid;gap:.5rem;margin-top:.6rem}
@media(max-width:620px){.gate-calculator-card{grid-template-columns:1fr}.gate-calculator-icon{width:52px;height:52px;font-size:28px}.gate-calculator-actions{flex-direction:column}.gate-calculator-actions .button{text-align:center}}

.checklist-add-form{display:grid;grid-template-columns:minmax(240px,2fr) minmax(120px,1fr) auto;gap:14px;align-items:end}
.checklist-add-form button{margin-bottom:12px}.help-text{color:#65727c;font-size:14px}
.checklist-list{display:grid;gap:10px;margin-top:18px}.checklist-card{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #dfe5e8;border-radius:10px;padding:14px;background:#fff}.checklist-card small{display:block;color:#697680;margin-top:4px}.checklist-card .actions{display:flex;gap:8px;align-items:center}.checklist-card form{margin:0}
.inspection-list{display:grid;gap:8px}.inspection-row{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(330px,1fr) minmax(180px,.8fr);gap:12px;align-items:center;padding:11px;border:1px solid #dfe5e8;border-radius:8px}.inspection-name{font-weight:700}.inspection-status{display:flex;flex-wrap:wrap;gap:12px}.inspection-status label{display:flex;align-items:center;gap:5px;margin:0;font-weight:500}.inspection-status input{width:auto}.inspection-note{margin:0}.status-row-uszkodzone{border-left:5px solid #c9362b;background:#fff7f6}.status-row-sprawne{border-left:5px solid #299b61}.status-row-nie_zawiera{border-left:5px solid #7a8790;background:#f7f9fa}.form-actions{display:flex;gap:10px;margin-top:15px}
@media(max-width:850px){.checklist-add-form{grid-template-columns:1fr}.checklist-add-form button{margin-bottom:0}.inspection-row{grid-template-columns:1fr}.checklist-card{align-items:flex-start;flex-direction:column}.checklist-card .actions{width:100%;flex-wrap:wrap}}

.pdf-download-bar{display:flex;justify-content:flex-end;margin:14px 0}
@media(max-width:620px){.pdf-download-bar{justify-content:stretch}.pdf-download-bar .button{width:100%;text-align:center}}

.report-actions{margin:16px 0;padding:16px;border:1px solid #dce3e7;border-radius:10px;background:#f8fafb}
.report-actions .pdf-download-bar{display:flex;gap:10px;justify-content:flex-start;margin:0 0 14px}
.email-report-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:end}
.email-report-form button{margin-bottom:12px}.smtp-warning{margin:0;color:#a05a00;font-size:14px}
.delivery-history{margin-top:14px}.delivery-history summary{cursor:pointer;font-weight:700}
.delivery-row{display:grid;grid-template-columns:160px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #e3e8eb}
@media(max-width:700px){.email-report-form{grid-template-columns:1fr}.email-report-form button{margin-bottom:0}.report-actions .pdf-download-bar{flex-direction:column}.delivery-row{grid-template-columns:1fr}}

.signature-pad{margin:18px 0;border:1px solid #b9c4ca;border-radius:10px;background:#fff;overflow:hidden}
.signature-pad-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#eef2f4;border-bottom:1px solid #cfd8dd}
.signature-pad canvas{display:block;width:100%;height:190px;background:linear-gradient(#fff,#fff) padding-box;touch-action:none;cursor:crosshair}
.refusal-toggle{padding:12px;border:1px solid #e4b7b7;background:#fff5f5;border-radius:8px}
.acceptance{margin:16px 0;padding:12px;border:1px solid #b8d8c2;background:#f3fbf5;border-radius:8px}
.is-hidden{display:none!important}.completion-form .form-grid{margin-top:14px}

.completed-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.completed-order-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.completed-order-card{margin:0}.completed-order-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.completed-order-head small{display:block;color:#68767e;font-weight:400;margin-top:3px}
.compact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.compact-details div{padding:8px;background:#f1f5f7;border-radius:7px}
.compact-details dt{font-size:11px;text-transform:uppercase;color:#68767e}
.compact-details dd{margin:3px 0 0;font-weight:700}
.completed-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.last-delivery{display:grid;grid-template-columns:auto 1fr auto;gap:5px 10px;margin-top:14px;padding-top:12px;border-top:1px solid #dce3e7;font-size:13px}
.last-delivery .badge{justify-self:end}.last-delivery small{grid-column:1/-1;color:#9b2f2f}
.report-not-ready{opacity:.82}.report-readiness-error{margin:12px 0;padding:10px;border-radius:7px;background:#fff2f2;color:#8f2929}
.delivery-sent{background:#dff4e5}.delivery-failed,.delivery-configuration_error{background:#ffe2e2}
.muted{color:#71808a}
@media(max-width:700px){.completed-toolbar{align-items:stretch;flex-direction:column}.completed-order-grid{grid-template-columns:1fr}.compact-details{grid-template-columns:1fr}.last-delivery{grid-template-columns:1fr}.last-delivery .badge{justify-self:start}}

.work-hours-filter{display:grid;grid-template-columns:140px 190px minmax(240px,1fr) auto;gap:14px;align-items:end;margin-bottom:18px}
.work-hours-filter .button{margin-bottom:12px}
.hours-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}
.hours-summary-card{margin:0}.hours-summary-card h3{margin-top:0}
.hours-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.hours-kpis div{padding:12px;background:#f1f5f7;border-radius:8px;text-align:center}
.hours-kpis span,.hours-kpis small{display:block;color:#68767e;font-size:11px}
.hours-kpis strong{display:block;font-size:24px;margin:4px 0;color:#172630}
.hours-warning{padding:9px 10px;border-radius:7px;background:#fff2df;color:#8a5300;margin-bottom:12px}
.hours-actions{display:flex;flex-wrap:wrap;gap:8px}
.daily-hours-panel{margin-top:18px}.daily-hours-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}
.table-scroll{overflow-x:auto}.hours-table{width:100%;border-collapse:collapse;min-width:880px}
.hours-table th,.hours-table td{padding:9px;border-bottom:1px solid #dce3e7;text-align:left}
.hours-table thead th{background:#172630;color:#fff;position:sticky;top:0}
.hours-table tbody tr:nth-child(even){background:#f7f9fa}.hours-table .weekend-row{background:#fff8ec}
.hours-table tfoot th{background:#e6edf0}
@media(max-width:850px){.work-hours-filter{grid-template-columns:1fr 1fr}.work-hours-filter .button{margin-bottom:0}.daily-hours-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.work-hours-filter{grid-template-columns:1fr}.hours-kpis{grid-template-columns:1fr}.hours-summary-grid{grid-template-columns:1fr}}

.workspace-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.preserve-lines{white-space:pre-wrap}
.danger-zone{border-color:#e6b7b7;background:#fff8f8}
.time-entry-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:end}
.time-entry-grid .button{margin-bottom:12px}
.time-session-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #dce3e7}
@media(max-width:850px){.time-entry-grid,.time-session-row{grid-template-columns:1fr}.time-entry-grid .button{margin-bottom:0}}

.stat-link{text-decoration:none;color:inherit}.stat-link small{display:block;color:#6b7880;margin-top:4px}
.live-refresh{display:flex;align-items:center;gap:8px;font-size:13px;color:#56656d}
.live-dot{width:10px;height:10px;border-radius:50%;background:#20a45a;box-shadow:0 0 0 5px rgba(32,164,90,.13)}
.live-layout{display:grid;grid-template-columns:minmax(360px,480px) minmax(500px,1fr);gap:16px}
.technician-live-list{max-height:calc(100vh - 150px);overflow:auto}
.live-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px}
.live-summary div{background:#f1f5f7;border-radius:8px;padding:9px;text-align:center}
.live-summary strong,.live-summary span{display:block}.live-summary strong{font-size:22px}.live-summary span{font-size:11px;color:#66757d}
.technician-live-card{border:1px solid #d9e1e5;border-left:6px solid #839199;border-radius:9px;padding:13px;margin-bottom:12px;background:#fff}
.status-live-online{border-left-color:#31a86a}.status-live-shift{border-left-color:#e6a727}.status-live-working{border-left-color:#2879cc}.status-live-offline{border-left-color:#919da3;opacity:.82}
.technician-live-head{display:flex;justify-content:space-between;gap:10px}.technician-live-head h3{margin:0}.technician-live-head small{color:#718089}
.live-status{font-size:12px;font-weight:700;white-space:nowrap}.technician-live-details{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}
.technician-live-details div{background:#f5f7f8;border-radius:6px;padding:8px}.technician-live-details span,.technician-live-details strong{display:block}
.technician-live-details span{font-size:10px;color:#718089}.technician-live-details strong{font-size:12px;margin-top:4px}
.active-order{display:flex;flex-direction:column;padding:9px;background:#eef4f8;border-radius:7px}.active-order span{font-size:12px;margin-top:3px}
.live-card-actions{display:flex;gap:8px;margin-top:10px}.live-map-panel{position:sticky;top:15px;height:calc(100vh - 115px);padding:0;overflow:hidden}
#technicians-map{height:100%;min-height:520px}.map-message{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;padding:12px 15px;border-radius:8px;box-shadow:0 4px 18px rgba(0,0,0,.15);text-align:center}
.tech-marker{width:18px;height:18px;border-radius:50%;border:3px solid #fff;box-shadow:0 1px 7px rgba(0,0,0,.55)}
.tech-marker-online{background:#31a86a}.tech-marker-shift{background:#e6a727}.tech-marker-working{background:#2879cc}.tech-marker-offline{background:#919da3}
@media(max-width:1050px){.live-layout{grid-template-columns:1fr}.technician-live-list{max-height:none}.live-map-panel{position:relative;height:580px}}
@media(max-width:600px){.live-summary,.technician-live-details{grid-template-columns:1fr 1fr}.live-map-panel{height:460px}.live-card-actions{flex-direction:column}}

.report-center-layout{display:grid;grid-template-columns:minmax(390px,520px) minmax(520px,1fr);gap:16px;align-items:start}
.report-builder{max-height:calc(100vh - 120px);overflow:auto}
.report-option-grid,.report-checklist-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.eeas-form-grid{margin-bottom:20px}.eeas-form-grid small{display:block;color:#65727c;margin-top:5px}.muted{color:#65727c}
.report-checklist-picker{max-height:210px;overflow:auto;border:1px solid #dce3e7;border-radius:8px;padding:10px}
.report-preview-panel{position:sticky;top:12px;height:calc(100vh - 100px);padding:0;overflow:hidden}
.report-preview-head{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #dce3e7}
.report-preview-head h2{margin:0}.report-preview-head span{font-size:12px;color:#66757d}
#report-preview{width:100%;height:calc(100% - 55px);border:0;background:#e8ecef}
@media(max-width:1100px){.report-center-layout{grid-template-columns:1fr}.report-builder{max-height:none}.report-preview-panel{position:relative;height:750px}}
@media(max-width:600px){.report-option-grid,.report-checklist-picker{grid-template-columns:1fr}.report-preview-panel{height:560px}}
/* v7.6.2 urządzenia */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.search-row{display:flex;gap:.7rem}.search-row input{flex:1}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:.75rem;border-bottom:1px solid #dfe5ea;text-align:left}.qr-card{text-align:center}.qr-card img{width:240px;max-width:100%;background:#fff;padding:.5rem}.check{display:flex;gap:.5rem;align-items:center}.check input{width:auto}

/* v7.6.5 — NIIMBOT Smart Label i porównanie przeglądów */
.smart-label-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:18px 0}.smart-label-head h1{margin-top:8px}.smart-label-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.smart-kpis,.comparison-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.smart-kpis div,.comparison-grid div{padding:12px;background:#f1f5f7;border-radius:8px}.smart-kpis span,.comparison-grid span{display:block;color:#66757d;font-size:11px;text-transform:uppercase}.smart-kpis strong,.comparison-grid strong{display:block;margin-top:5px;overflow-wrap:anywhere}
.privacy-note{padding:11px 13px;background:#edf5fb;border-left:4px solid #236db4;border-radius:6px}.privacy-note.warning{background:#fff3d5;border-color:#d49715}.smart-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.smart-summary>div{padding:12px;border:1px solid #dce3e7;border-radius:8px}.smart-summary h3{margin:0 0 8px}
.current-inspection{border-left:7px solid #299b61}.current-inspection.status-operational_limitations{border-left-color:#d49715}.current-inspection.status-risk{border-left-color:#c9362b}.smart-start-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #dce3e7}.smart-start-row small{display:block;margin-top:4px;color:#66757d}.smart-start-row select{margin:0}.inspection-history{border-bottom:1px solid #dce3e7;padding:9px 0}.inspection-history summary{font-weight:700}
.previous-inspection{border-left:7px solid #236db4;margin-bottom:16px}.previous-value{display:block;margin-top:5px;color:#66757d}.inspection-changed{box-shadow:inset 0 0 0 2px #e0a21b}
@media(max-width:850px){.smart-label-head{flex-direction:column}.smart-kpis,.comparison-grid,.smart-summary{grid-template-columns:1fr 1fr}.smart-start-row{grid-template-columns:1fr}}
@media(max-width:520px){.smart-kpis,.comparison-grid,.smart-summary{grid-template-columns:1fr}}
.integration-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.integration-kpis .stat{padding:14px}.integration-kpis .stat strong{font-size:26px}.status-pending{background:#e8edf0}.status-processing{background:#dcecff;color:#14558b}.status-delivered{background:#dcf4e6;color:#176b3c}.status-failed,.status-dead_letter{background:#fde2e2;color:#982f2f}.danger-text{color:#a12f2f}.privacy-note{font-size:14px;color:#56666f}@media(max-width:850px){.integration-kpis{grid-template-columns:1fr 1fr}.search-row{flex-wrap:wrap}}@media(max-width:520px){.integration-kpis{grid-template-columns:1fr}}

/* v7.6.9 — centrum wydruku NIIMBOT 50×70 mm */
.label-print-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:22px;align-items:start}.label-print-controls{max-width:650px}.label-print-actions{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.label-print-help{padding-left:22px;color:#53626b;line-height:1.55}.label-print-preview{display:flex;justify-content:center;padding:24px;border-radius:12px;background:#dfe5e9;overflow:auto}.label-print-sheet{width:50mm;height:70mm;flex:0 0 auto;background:#fff;box-shadow:0 5px 22px rgba(0,0,0,.25)}.label-print-sheet img{display:block;width:50mm;height:70mm;object-fit:fill;image-rendering:pixelated}
@media(max-width:800px){.label-print-layout{grid-template-columns:1fr}.label-print-page-head{align-items:flex-start;flex-direction:column}.label-print-preview{justify-content:flex-start}}
@media print{@page{size:50mm 70mm;margin:0}html,body{width:50mm;height:70mm;background:#fff}body *{visibility:hidden}.label-print-sheet,.label-print-sheet *{visibility:visible}.label-print-sheet{position:fixed;left:0;top:0;width:50mm;height:70mm;margin:0;border:0;box-shadow:none}.label-print-sheet img{width:50mm;height:70mm}.topbar,.label-print-page-head,.label-print-controls,#connection-status{display:none!important}.container{width:50mm;max-width:none;margin:0;padding:0}.label-print-layout,.label-print-preview{display:block;width:50mm;margin:0;padding:0;background:#fff}}

/* v7.6.10 — panel technika: aktywna praca, niezakończone i historia */
.technician-page-head{margin-top:0}.technician-shift-status{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px;margin-bottom:22px;border:1px solid #d7dfe4;border-left:7px solid #87949c;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.05)}.technician-shift-status.is-active{border-left-color:#2d955b;background:#f5fbf7}.technician-shift-status>div{display:flex;flex-direction:column;gap:4px}.technician-shift-status strong{font-size:18px}.technician-shift-status time,.active-time time{font-size:1.08em;color:#146e40}.technician-shift-status small{color:#66757d}.technician-shift-status form{display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin:0}.shift-state-label,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#63727b}.technician-order-section{margin:0 0 28px}.technician-section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:10px;border-bottom:1px solid #dbe2e6;margin-bottom:14px}.technician-section-head h2{margin:2px 0 0}.section-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:#e5ebee;font-weight:800}.active-order-section .section-count{background:#d9f0e2;color:#176b3f}.single-active-order{grid-template-columns:minmax(280px,560px)}.active-order-section .order-card{border-left-color:#2d955b;box-shadow:0 5px 18px rgba(45,149,91,.13)}.history-order-section .order-card{opacity:.9}.order-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.active-time{padding:10px 12px;border-radius:8px;background:#e5f5eb;border-left:4px solid #2d955b;font-weight:700}.active-time small{display:block;margin-top:3px;color:#66757d;font-weight:400}.section-empty{margin:0;padding:18px;border:1px dashed #c9d2d7;border-radius:10px;background:#f8fafb;color:#68767e}.work-time-status{padding:10px 12px;border-radius:8px;background:#eef3f6}.work-time-status.is-working{background:#e5f5eb;border-left:4px solid #2d955b}.work-time-status small{color:#66757d}
@media(max-width:650px){.technician-shift-status{align-items:stretch;flex-direction:column}.technician-shift-status form{align-items:stretch}.technician-shift-status .button{width:100%;text-align:center}.single-active-order{grid-template-columns:1fr}}

/* v7.7.0 — PWA, szkice i synchronizacja offline */
.sync-status{position:fixed;right:12px;bottom:56px;z-index:900;display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid #ccd3d8;box-shadow:0 4px 14px rgba(0,0,0,.14);font-size:12px;font-weight:800;cursor:pointer}.sync-dot{width:10px;height:10px;border-radius:50%;background:#2d955b}.sync-status[data-state=syncing] .sync-dot{background:#2879cc;animation:sync-pulse 1s infinite}.sync-status[data-state=pending] .sync-dot{background:#d9a41a}.sync-status[data-state=offline] .sync-dot{background:#7e8991}.sync-status[data-state=error] .sync-dot{background:#c74343}.offline-page{max-width:680px;margin:8vh auto;text-align:center;padding:32px}.offline-page img{display:block;margin:0 auto 18px}.offline-page p{line-height:1.55}.offline-page .button{margin:6px}form[data-draft-restored="1"]{box-shadow:inset 0 0 0 2px rgba(217,164,26,.35)}
@keyframes sync-pulse{50%{opacity:.35;transform:scale(.8)}}
@media(max-width:620px){.sync-status{left:12px;right:auto;max-width:calc(100vw - 24px)}}

/* v7.9.1 — duży katalog części i wyszukiwanie na żądanie */
.part-catalog-picker{margin:12px 0;padding:14px;border:1px solid #cfd9df;border-radius:10px;background:#f7fafb}.part-search-status{font-size:13px;color:#64737c;margin:7px 0}.part-search-results{display:grid;gap:7px;max-height:360px;overflow:auto}.part-search-result{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;width:100%;padding:8px;border:1px solid #d7e0e5;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.part-search-result:hover,.part-search-result:focus{border-color:#236db4;box-shadow:0 0 0 2px rgba(35,109,180,.14)}.part-search-result img,.part-selected img{width:54px;height:54px;border-radius:7px;object-fit:contain;background:#fff}.part-search-result strong,.part-search-result small,.part-selected strong,.part-selected small{display:block}.part-search-result small,.part-selected small{margin-top:4px;color:#64737c}.part-selected{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px;border:1px solid #96c8a8;border-radius:8px;background:#f1faf4}.part-selected-info{display:flex;align-items:center;gap:10px;min-width:0}.part-selected-info div{min-width:0}.part-thumb-admin{width:58px;height:58px;object-fit:contain;border-radius:7px;background:#fff;border:1px solid #e0e5e8}.parts-search-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:15px}.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}.parts-admin-panel small{color:#6b7880}
@media(max-width:620px){.part-search-result{grid-template-columns:42px 1fr}.part-search-result img,.part-selected img{width:42px;height:42px}.part-selected{align-items:stretch;flex-direction:column}.parts-search-row{grid-template-columns:1fr}.catalog-pagination{align-items:stretch;flex-direction:column;text-align:center}}

/* v7.10.2 — katalog parametrów sterowników FEIG */
.controller-catalog-filters{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr auto;gap:12px;align-items:end}.controller-catalog-filters .button{margin-bottom:12px}.controller-safety-note{border-left:6px solid #d49715;background:#fff8e8}.controller-records{display:grid;gap:12px}.controller-record{border-left:6px solid #236db4}.controller-record-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controller-record-head>strong{font-size:1.25rem}.controller-record-head small{margin-left:auto;color:#66757d}.controller-record h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#66757d;margin-bottom:6px}.controller-record pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.45;background:#f5f8fa;padding:12px;border-radius:8px}.controller-record details summary{cursor:pointer;font-weight:700;color:#236db4}.controller-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.controller-documents>div{padding:10px;border:1px solid #dce3e7;border-radius:8px}.controller-documents strong,.controller-documents small{display:block}.controller-documents small{margin-top:4px;color:#66757d;overflow-wrap:anywhere}
@media(max-width:1000px){.controller-catalog-filters{grid-template-columns:1fr 1fr}.controller-catalog-filters .button{margin-bottom:0}.controller-documents{grid-template-columns:1fr}}
@media(max-width:600px){.controller-catalog-filters{grid-template-columns:1fr}.controller-record-head small{margin-left:0;width:100%}}

/* v7.11.0 — katalog technika, FEIG i 60-dniowy kosz zleceń */
.controller-catalog-filters{grid-template-columns:1fr 1.5fr 1fr auto}
.feig-inquiry-panel{border-left:6px solid #2d955b}.feig-inquiry-row{align-items:flex-start}.feig-answer{padding:9px 11px;border-radius:7px;background:#edf7f0}
.parts-technician-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}.part-catalog-card{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:14px;border:1px solid #d8e1e5;border-radius:10px;background:#fff}.part-catalog-card img{width:88px;height:88px;object-fit:contain;background:#fff;border-radius:8px}.part-catalog-card h2{font-size:18px;margin:0 0 8px}.part-catalog-card p{margin:5px 0}.part-catalog-card small{color:#65747d}
.feig-admin-layout{grid-template-columns:minmax(340px,440px) minmax(500px,1fr)}.feig-admin-inquiries{display:grid;gap:12px}.feig-admin-inquiry{padding:14px;border:1px solid #d8e1e5;border-radius:10px}.feig-admin-inquiry.is-selected{border-color:#236db4;box-shadow:0 0 0 2px rgba(35,109,180,.12)}.feig-inquiry-heading{display:flex;justify-content:space-between;gap:10px}.feig-inquiry-heading small{display:block;color:#687780;margin-top:3px}.feig-admin-inquiry form{margin-top:12px}.feig-calculation{margin-top:15px}.trash-documents{display:grid;gap:4px;margin-top:6px}.trash-documents a{font-size:12px}
.feig-usb{margin-bottom:18px;border-top:4px solid #236db4}.feig-usb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.feig-install-help{margin:12px 0}.feig-install-help summary{cursor:pointer;font-weight:700}.feig-install-help li{margin:8px 0}.feig-usb-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.6fr) auto auto;align-items:end;gap:12px}.feig-controller-output{margin-top:14px;padding:12px;border-radius:8px;background:#10202c;color:#e8f1f7;white-space:pre-wrap;font-family:ui-monospace,Consolas,monospace}.feig-controller-output.is-error{background:#661f25}.feig-usb-actions{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:14px;margin-top:16px}.feig-usb-actions>form,.feig-usb-actions>div{padding:14px;border:1px solid #d8e1e5;border-radius:10px}.feig-usb-actions h3{margin-top:0}.feig-write-form{border-color:#e5b7ba!important}.checkbox-line{display:flex!important;align-items:flex-start;gap:8px}.checkbox-line input{width:auto;margin-top:4px}
.workspace-header-actions form,.actions form{display:inline-block;margin:0}
@media(max-width:900px){.feig-admin-layout{grid-template-columns:1fr}}
@media(max-width:900px){.feig-usb-grid,.feig-usb-actions{grid-template-columns:1fr}.feig-usb-grid .button{width:100%}}
@media(max-width:620px){.parts-technician-grid{grid-template-columns:1fr}.part-catalog-card{grid-template-columns:64px 1fr}.part-catalog-card img{width:64px;height:64px}.controller-catalog-filters{grid-template-columns:1fr}}

/* v7.15.0 — CRM i oferty handlowe */
.offer-head-actions{display:flex;flex-wrap:wrap;gap:8px}.offer-kpis{margin-bottom:18px}.status-draft{background:#e8edf0}.status-sent{background:#dcecff;color:#14558b}.status-accepted,.status-converted{background:#dcf4e6;color:#176b3c}.status-rejected{background:#fde2e2;color:#982f2f}.offer-item-form{margin-top:18px;padding-top:12px;border-top:1px solid #dbe2e6}.offer-actions-panel form{display:inline-flex;align-items:center;gap:8px;margin:4px 8px 4px 0}.accept-form input{min-width:280px;margin:0}.offer-actions-panel p{margin-bottom:0}@media(max-width:700px){.offer-head{flex-direction:column}.offer-head-actions,.offer-actions-panel form{display:flex;align-items:stretch;flex-direction:column;width:100%}.accept-form input{min-width:0}}
.acceptance-link-result{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:8px;align-items:center;margin:12px 0;padding:12px;border-radius:8px;background:#edf7f0}.acceptance-link-result:empty{display:none}.acceptance-link-result input{margin:0}.acceptance-link-result small{grid-column:1/-1}.public-offer{max-width:900px;margin:24px auto}.public-offer-header{display:flex;justify-content:space-between;gap:20px}.public-offer-total{text-align:right;font-size:20px}.public-acceptance{margin-top:20px;padding:18px;border:2px solid #2d955b;border-radius:10px;background:#f3fbf6}@media(max-width:650px){.acceptance-link-result{grid-template-columns:1fr}.public-offer-header{flex-direction:column}.public-offer-total{text-align:left}}

/* Portal zleceniodawcy — bieżące zlecenia, historia i wyszukiwanie */
.portal-order-tabs,.portal-ticket-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.portal-order-tab,.portal-ticket-tab{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d4dde2;border-radius:9px;background:#fff;text-decoration:none;font-weight:700}.portal-order-tab.active,.portal-ticket-tab.active{border-color:#236db4;background:#eaf3fb;color:#174f82}.portal-order-tab .badge,.portal-ticket-tab .badge{padding:3px 7px}.portal-order-search,.portal-ticket-search{margin:0}.portal-order-search label,.portal-ticket-search label{margin-top:0}.portal-order-search-controls,.portal-ticket-search-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center}.portal-order-search-controls input,.portal-ticket-search-controls input{margin:0}
@media(max-width:650px){.portal-order-tabs,.portal-ticket-tabs{display:grid;grid-template-columns:1fr 1fr}.portal-order-tab,.portal-ticket-tab{justify-content:center}.portal-order-search-controls,.portal-ticket-search-controls{grid-template-columns:1fr}.portal-order-search-controls .button,.portal-order-search-controls button,.portal-ticket-search-controls .button,.portal-ticket-search-controls button{text-align:center;width:100%}}
.portal-ticket-result-summary{margin:0 0 12px;color:#52616b}.portal-ticket-result-summary strong{color:#1d2a32}
.portal-document-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.portal-document-tab{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d4dde2;border-radius:9px;background:#fff;text-decoration:none;font-weight:700}.portal-document-tab.active{border-color:#236db4;background:#eaf3fb;color:#174f82}.portal-document-tab .badge{padding:3px 7px}.portal-document-search{margin:0}.portal-document-search label{margin-top:0}.portal-document-search-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center}.portal-document-search-controls input{margin:0}.portal-document-tab:focus-visible{outline:3px solid rgba(35,109,180,.28);outline-offset:2px}.portal-document-search-controls input:focus{border-color:#236db4;box-shadow:0 0 0 3px rgba(35,109,180,.12)}
@media(max-width:760px){.portal-document-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.portal-document-tab{justify-content:space-between}.portal-document-search-controls{grid-template-columns:1fr}.portal-document-search-controls .button,.portal-document-search-controls button{text-align:center;width:100%}}

/* Portal zleceniodawcy — bezpieczna historia powiadomień */
.portal-notification-head .eyebrow{display:block;margin-bottom:5px;color:#526b7a;font-size:11px;font-weight:800;letter-spacing:.09em}.portal-notification-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.portal-notification-summary>div{padding:12px;border:1px solid #dce3e7;border-radius:9px;background:#f7fafb}.portal-notification-summary strong,.portal-notification-summary span{display:block}.portal-notification-summary strong{font-size:24px}.portal-notification-summary span{margin-top:3px;color:#64737c;font-size:12px}.portal-notification-filters{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(150px,.7fr) minmax(180px,.8fr) auto;gap:12px;align-items:end}.portal-notification-filters label{margin:0}.portal-notification-filter-actions{display:flex;gap:8px;padding-bottom:12px}.portal-notification-state-delivered{background:#dcf4e6;color:#176b3c}.portal-notification-state-failed,.portal-notification-state-cancelled{background:#fde2e2;color:#982f2f}.portal-notification-state-retrying{background:#fff0c7;color:#76550b}.portal-notification-state-queued{background:#dcecff;color:#14558b}.portal-notification-head+section{margin-top:0}.portal-notification-head~section td small{display:block;margin-top:4px;color:#64737c}
@media(max-width:900px){.portal-notification-summary{grid-template-columns:repeat(3,1fr)}.portal-notification-filters{grid-template-columns:1fr 1fr}.portal-notification-filter-actions{padding-bottom:0}}
@media(max-width:600px){.portal-notification-summary,.portal-notification-filters{grid-template-columns:1fr}.portal-notification-filter-actions{align-items:stretch;flex-direction:column}.portal-notification-filter-actions .button{text-align:center;width:100%}}

/* V7.39.2 — persistent, permission-aware Customer Portal navigation */
.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;padding:10px 14px;border-radius:0 0 8px 8px;background:#fff;color:#12324a;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.22)}
.skip-link:focus{top:0}
.portal-topbar{display:block;padding:0;background:#18232d}
.portal-topbar-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px}
.portal-account-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.portal-account-actions form{display:flex;align-items:center;gap:8px;margin:0}
.portal-account-actions label{font-size:13px;color:#d8e2e8}
.portal-account-actions select{margin:0;min-width:180px;background:#fff;color:#18232d}
.portal-account-actions button{border:1px solid rgba(255,255,255,.35);border-radius:7px;background:transparent;color:#fff;padding:8px 11px;cursor:pointer}
.topbar .portal-primary-nav{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;margin-top:0;padding:0 20px;border-top:1px solid rgba(255,255,255,.12);background:#111b23;overflow-x:auto;scrollbar-width:thin}
.topbar .portal-primary-nav a{flex:0 0 auto;padding:11px 13px;border-bottom:3px solid transparent;color:#dce6ec;text-decoration:none;font-size:14px;font-weight:650;white-space:nowrap}
.topbar .portal-primary-nav a:hover,.topbar .portal-primary-nav a:focus-visible{background:rgba(255,255,255,.08);color:#fff}
.topbar .portal-primary-nav a.is-active{border-bottom-color:#47c884;background:rgba(71,200,132,.12);color:#fff}
@media(max-width:760px){.portal-topbar-row{align-items:flex-start;flex-direction:column;padding:12px}.portal-account-actions{width:100%}.portal-account-actions form{max-width:100%}.portal-account-actions select{min-width:0;max-width:100%}.topbar .portal-primary-nav{flex-direction:row;padding:0 8px}}
@media(max-width:520px){.portal-account-actions{align-items:stretch;flex-direction:column}.portal-account-actions form{justify-content:space-between}.portal-account-actions form:last-child button{width:100%}}

/* V7.40.0 — Enterprise Customer Portal service requests and calendar */
.portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-form-grid label{margin:0}.portal-device-builder{margin:18px 0;padding:14px;border:1px solid #d5dfe4;border-radius:10px}.portal-device-row{display:grid;grid-template-columns:minmax(220px,1fr) 120px auto;gap:12px;align-items:end;padding:9px 0;border-bottom:1px solid #e1e7ea}.portal-device-row label{margin:0}.portal-device-row .button{margin-bottom:12px}.portal-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.portal-status-red{background:#fee2e2;color:#991b1b}.portal-status-blue{background:#dbeafe;color:#1e4f91}.portal-status-orange{background:#ffedd5;color:#9a4b0b}.portal-status-green{background:#dcfce7;color:#17633a}.portal-status-neutral{background:#e2e8f0;color:#334155}.portal-request-details{display:grid;grid-template-columns:minmax(170px,.35fr) 1fr;gap:10px 18px}.portal-request-details dt{font-weight:800}.portal-request-details dd{margin:0}.portal-qr-panel{display:flex;align-items:center;justify-content:space-between;gap:24px}.portal-qr-panel img{padding:8px;border:1px solid #d8e1e5;border-radius:10px;background:#fff}.portal-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.portal-calendar-legend{display:flex;flex-wrap:wrap;gap:8px}.portal-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.portal-calendar-day{min-height:145px;padding:8px;border:1px solid #d8e1e5;border-radius:8px;background:#fff;overflow:hidden}.portal-calendar-day h2{margin:0 0 8px;font-size:14px}.portal-calendar-day.is-outside{opacity:.42;background:#f1f4f6}.portal-calendar-event{display:flex;flex-direction:column;margin:5px 0;padding:7px;border-left:5px solid #839199;border-radius:6px;background:#f2f5f6;color:#172630;text-decoration:none;font-size:12px;overflow-wrap:anywhere}.portal-calendar-event span{margin-top:3px;color:#576771}.portal-calendar-event-red{border-color:#dc2626;background:#fef2f2}.portal-calendar-event-blue{border-color:#2563eb;background:#eff6ff}.portal-calendar-event-orange{border-color:#ea580c;background:#fff7ed}.portal-calendar-event-green{border-color:#16a34a;background:#f0fdf4}.portal-calendar-year{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-calendar-month{margin:0}.portal-calendar-mini{gap:2px}.portal-calendar-mini .portal-calendar-day{min-height:48px;padding:3px;font-size:10px}.portal-calendar-mini .portal-calendar-event{height:8px;margin:2px 0;padding:0;border-left-width:3px;font-size:0}.portal-calendar-day .muted{font-size:12px}
@media(max-width:1000px){.portal-calendar-year{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.portal-form-grid,.portal-calendar-year{grid-template-columns:1fr}.portal-device-row{grid-template-columns:1fr 100px}.portal-device-row .button{grid-column:1/-1;margin:0}.portal-calendar-toolbar,.portal-qr-panel{align-items:stretch;flex-direction:column}.portal-calendar-grid{grid-template-columns:1fr}.portal-calendar-day{min-height:auto}.portal-request-details{grid-template-columns:1fr}.portal-request-details dd{margin-bottom:8px}}

/* V7.40.9 — wiele urządzeń na jednej ofercie */
.quote-device-picker{margin:10px 0;padding:14px;border:1px solid #d5dfe4;border-radius:10px;background:#f8fafb}.quote-device-picker .panel-head{margin-bottom:8px}.quote-device-picker .panel-head h3{margin:0}.quote-device-picker-row{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(460px,1.8fr) auto;gap:12px;align-items:end;padding:12px 0;border-top:1px solid #dfe6ea}.quote-device-picker-row:first-child{border-top:0}.quote-device-picker-row>label{margin:0}.quote-device-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:0}.quote-device-summary div{min-width:0;padding:8px;border-radius:7px;background:#fff}.quote-device-summary dt{color:#64737c;font-size:11px;font-weight:800;text-transform:uppercase}.quote-device-summary dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}.quote-device-remove{margin-bottom:12px}.offer-device-table td{vertical-align:top}.offer-device-table small{display:block;margin-top:3px;color:#64737c}
@media(max-width:1050px){.quote-device-picker-row{grid-template-columns:1fr}.quote-device-summary{grid-template-columns:1fr 1fr}.quote-device-remove{margin:0;justify-self:start}}
@media(max-width:620px){.quote-device-picker .panel-head{align-items:stretch;flex-direction:column}.quote-device-summary{grid-template-columns:1fr}}
