body.crm-view{background:#f3f5f7;color:#283329}body.crm-view>header{display:none}body.crm-view main#app{max-width:none;padding:0;margin:0}.crm-layout{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.crm-side{position:sticky;top:0;height:100vh;overflow-y:auto;background:white;border-right:1px solid #e0e5df;padding-bottom:18px}.crm-brand{display:block;position:relative;overflow:hidden;width:210px;height:75px;margin:12px auto}.crm-brand img{position:absolute;width:300px;height:300px;left:-45px;top:-118px;max-width:none}.crm-owner{padding:18px;margin:0 12px 16px;border:1px solid #e5eae1;border-radius:10px;background:#f9fbf6}.crm-owner b,.crm-owner small,.crm-owner a{display:block}.crm-owner b{font-size:16px}.crm-owner small{font-size:11px;color:#798570;margin:5px 0 12px}.crm-owner a{font-size:12px;color:#3b6c26}.crm-side nav{display:flex;flex-direction:column;gap:3px;padding:0 12px}.crm-side nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;font-size:13px;color:#5e6858;font-weight:550}.crm-side nav a>span{font-size:18px;width:22px;text-align:center;color:#6b785f}.crm-side nav a.active{background:#e8f5da;color:#294d1b}.crm-side nav a:hover{background:#f1f5ec}.crm-side nav a i{margin-left:auto;border-radius:5px;background:#d6eac3;padding:3px 6px;font-size:10px;font-style:normal}.crm-side-foot{font-size:10px;color:#8b9483;padding:22px 24px;line-height:1.8}.crm-workspace{min-width:0}.crm-top{position:sticky;top:0;background:#fff;border-bottom:1px solid #e3e7df;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 28px;z-index:4;box-shadow:none}.crm-top h1{font-size:23px;line-height:1.2;letter-spacing:-.6px;margin:4px 0 0}.crm-top small{font-size:9px;font-weight:650;letter-spacing:1.4px;color:#85927b}.crm-top-actions{display:flex;gap:8px}.crm-top-actions button{font-size:12px;padding:12px 16px}.light-btn{background:#eef2e8;color:#4f6341;border:1px solid #dce5d1}.crm-stage{padding:24px;max-width:1700px;margin:auto}.crm-stage .box{border-color:#e3e8df;border-radius:11px;padding:23px;box-shadow:0 1px 4px #27352203}.crm-stage h2{font-size:19px;letter-spacing:-.3px;margin:4px 0 18px}.crm-stage h3{font-size:16px;margin:20px 0 14px}.crm-stage p{font-size:13px}.crm-stage label{font-size:12px}.crm-stage input:not([type=checkbox]),.crm-stage select,.crm-stage textarea{font-size:12px;padding:10px;border-color:#dce3d5}.crm-stage button{font-size:12px}.crm-mobile-nav{display:none}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 22px}.kpi{display:flex;align-items:center;gap:14px;background:white;border:1px solid #e3e8df;border-radius:11px;padding:22px 18px;min-width:0}.kpi small{display:block;font-size:12px;color:#6e7966}.kpi b{display:block;font-size:27px;letter-spacing:-.7px;color:#34402c;margin:7px 0}.kpi p{font-size:10px;color:#8a9580;margin:0;line-height:1.5}.kpi-icon{flex-shrink:0;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-size:23px;background:#e0f1d2;color:#5b8c37}.kpi-icon.blue{background:#deebfb;color:#6d93c9}.kpi-icon.red{background:#f9e4e1;color:#c47e6a}.kpi-icon.purple{background:#eee3f9;color:#a57fc5}.kpi-icon.amber{background:#f8efce;color:#b29941}.dash-operations{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:22px}.operation-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.operation-controls>select{width:auto;min-width:160px}.segmented{display:inline-flex;gap:3px}.segmented button{background:#f0f3ec;color:#737f68;border-radius:6px;padding:9px 15px}.segmented button.on{background:#e0efcf;color:#3c6426}.counter{background:#f1f4ec;padding:8px 12px;border-radius:6px;color:#80916e;font-size:13px}.dash-status{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.stock-bar{height:20px;display:flex;overflow:hidden;border-radius:6px;margin:22px 0}.stock-legend{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;color:#738565}.stock-legend b{margin-left:8px;color:#3b4b31}.kpi-grid.compact .kpi-icon{display:none}.kpi-grid.compact .kpi{padding:18px}.kpi-grid.compact b{font-size:24px}.crm-table{margin-top:15px;border:1px solid #e7ebdf;border-radius:8px}.crm-table table{font-size:12px}.crm-table th{background:#f7f9f3;color:#7b856f;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.4px}.crm-table td,.crm-table th{padding:14px 12px}.crm-table td{color:#66715d}.crm-table tbody tr:hover{background:#fbfdf8}.crm-table .small-btn{font-size:10px;padding:7px 11px}.text-button{background:none;color:#426d2a;text-align:left;padding:0;font-size:12px;border-radius:0;font-weight:650}.text-button:hover{background:none!important;text-decoration:underline;transform:none!important}.empty{padding:22px;color:#8b957f;font-size:13px}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:end;margin-bottom:22px}.filter-grid label{margin:0}.filter-grid input,.filter-grid select{margin-top:8px}.paid-pill{background:#e7f3dc;color:#58763f;padding:4px 8px;border-radius:5px;font-size:11px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-heading>p{color:#7b876f;margin:0}.detail-card{margin-top:24px;scroll-margin-top:90px}.product-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.product-card-grid .art{height:180px;overflow:hidden;border-radius:10px}.product-card-grid .art svg{height:130px}.reservation-detail{scroll-margin-top:90px}.detail-section{margin-top:25px;padding-top:20px;border-top:1px solid #e1e8d9}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.info-grid>div{padding:14px;background:#f2f6ec;border-radius:8px}.info-grid small{display:block;font-size:10px}.info-grid b{display:block;margin-top:7px;font-size:18px}.crm-stage fieldset{border:1px solid #dfe8d4;border-radius:8px;margin:15px 0;padding:16px}.crm-stage legend{font-size:12px;color:#697b58;padding:0 7px}.integration-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.integration-card p{max-width:650px}.integration-card .btn{display:inline-block;white-space:nowrap;background:#233b2b;color:white;padding:13px 18px;border-radius:8px;font-size:12px}.report-bar-row{margin:20px 0;font-size:12px}.report-bar{height:11px;background:#edf2e7;border-radius:5px;margin-top:10px;overflow:hidden}.report-bar span{display:block;height:100%;background:#a6d675}.timeline-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:20px}.timeline-tools label{margin:0;flex:1;min-width:140px}.timeline-tools button{height:36px}.timeline-scroll{overflow:auto;max-height:70vh;border:1px solid #dfe7d6;border-radius:8px;background:white}.timeline-header,.timeline-line{display:flex;position:relative;min-height:66px}.timeline-header{position:sticky;top:0;z-index:3;background:#f7faf2;min-height:60px}.timeline-sticky{position:sticky;left:0;width:245px;flex-shrink:0;background:#fff;border-right:1px solid #dfe7d6;z-index:2;padding:13px 14px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid #e8ede1;font-size:12px}.timeline-sticky small{font-size:10px;color:#8c997e;margin-top:5px}.timeline-header .timeline-sticky{background:#f1f6e9;font-weight:700}.timeline-dates{display:grid}.timeline-dates>div{padding:8px;text-align:center;border-left:1px solid #e4ebdb;font-size:12px}.timeline-dates small{display:block;font-size:10px;margin-top:5px;color:#929c85}.timeline-dates .closed-day{background:#eee9e4}.timeline-dates .current-day{background:#d9eebe}.timeline-track{position:relative;flex-shrink:0;border-bottom:1px solid #e8ede1;background:repeating-linear-gradient(to right,transparent 0,transparent 61px,#edf1e7 61px,#edf1e7 62px)}.timeline-bar{position:absolute;top:18px;height:29px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;font-size:10px;border-radius:5px;z-index:1;border:1px solid #c9d9b6}.issued,.timeline-bar.issued{background:#dceafa;color:#4e719a}.service,.timeline-service{background:#f3ded6;color:#b17b65}.timeline-service{position:absolute;inset:0;padding:25px 12px;opacity:.7;font-size:11px}.timeline-legend{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0;font-size:10px}.timeline-legend span{padding:6px 9px;border-radius:5px}
@media(min-width:1500px){.dash-operations{grid-template-columns:1fr 1fr}}
@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-layout{grid-template-columns:205px minmax(0,1fr)}.crm-brand{transform:scale(.9);transform-origin:center;margin-left:-2px}.crm-stage{padding:18px}.filter-grid{grid-template-columns:1fr 1fr}.crm-top{padding:18px 22px}}
@media(max-width:850px){.crm-layout{display:block}.crm-side{display:none}.crm-mobile-nav{display:block;padding:10px 16px;background:#fff;border-bottom:1px solid #e3e8dc}.crm-mobile-nav select{margin:0;font-size:13px}.crm-top{position:relative;padding:18px 16px}.crm-top h1{font-size:22px}.crm-top small{font-size:9px}.crm-top-actions{gap:6px}.crm-top-actions button{font-size:11px;padding:11px}.dash-status,.product-card-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,1fr)}.crm-stage{padding:16px}.detail-card,.reservation-detail{scroll-margin-top:20px}}
@media(max-width:530px){.kpi-grid{gap:10px}.kpi{padding:16px 12px;gap:8px;align-items:flex-start}.kpi-icon{width:30px;height:30px;font-size:17px}.kpi b{font-size:21px}.kpi small{font-size:11px}.kpi p{font-size:9px}.crm-top-actions #full-refresh{display:none}.filter-grid{grid-template-columns:1fr}.operation-controls{align-items:stretch;flex-direction:column}.operation-controls select{width:100%}.crm-stage .box{padding:16px}.section-heading{align-items:stretch;flex-direction:column}.integration-card{align-items:stretch;flex-direction:column}.timeline-sticky{width:180px}.info-grid b{font-size:16px}}
/* Jak w widoku operacyjnym źródła: cztery główne metryki w dwóch rzędach. */
.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:850px){.kpi-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
.handover-workspace{padding:28px;margin-top:20px}.handover-steps{display:flex;gap:12px;list-style:none;padding:16px 0;flex-wrap:wrap;color:#546852;font-size:13px}.handover-steps li{background:#eef3e8;border-radius:30px;padding:9px 14px}.asset-check{border:1px solid #d4dece;border-radius:12px;padding:18px;margin:20px 0}.asset-check legend{font-weight:700;padding:0 8px}.contract-paper{padding:30px;background:white;color:#20342a;border:1px solid #d9dfd2;margin:20px 0;font-size:14px}.contract-paper h1{font-size:27px;letter-spacing:0}.contract-paper h3{margin-top:28px}.contract-paper td,.contract-paper th{padding:9px;vertical-align:top}.contract-terms{white-space:pre-wrap;line-height:1.6}.digest{overflow-wrap:anywhere;font-size:10px;color:#6a7566;margin-top:25px}.signed-block svg{width:320px;max-width:100%;height:100px;display:block}.signature-section{padding:22px;background:#edf3e5;border-radius:14px}.signature-section canvas{width:100%;height:230px;background:white;border:2px dashed #849e75;border-radius:10px;touch-action:none;display:block;margin:15px 0}.document-actions{display:flex;gap:12px;flex-wrap:wrap}.handover-workspace input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:7px}@media(max-width:650px){.handover-workspace{padding:15px}.contract-paper{padding:16px;overflow:auto}.handover-workspace>.row{align-items:start}.signature-section canvas{height:200px}.contract-paper .fields{grid-template-columns:1fr}}
.reservation-create-form{max-width:1050px}.reservation-create-block{background:#fff;border:1px solid #e0e4db;border-radius:12px;margin-bottom:20px;padding:24px 28px}.reservation-create-block h3{font-size:19px;margin:0 0 20px;padding-bottom:13px;border-bottom:1px solid #e7eae3}.reservation-empty{color:#7a8276;font-size:14px;margin:14px 0 22px}.reservation-pickup{max-width:350px}.client-picker{margin:12px 0 22px}.client-picker>summary{display:inline-block;cursor:pointer;border:1px solid #d4dcd0;border-radius:7px;padding:12px 18px;color:#2c5139;font-weight:600;list-style:none}.client-picker[open]>summary{margin-bottom:14px}.reservation-dialog{width:min(780px,calc(100% - 28px));max-height:90vh;overflow:auto;border:0;border-radius:16px;padding:28px;color:#20342a;box-shadow:0 20px 70px #10271940}.reservation-dialog::backdrop{background:#12271980}.reservation-dialog .asset-check{border:0;margin:0;padding:0}.reservation-dialog .asset-check legend,.reservation-dialog .booking-row-head{display:none}.reservation-dialog .remove-line{margin:15px 0}.reservation-dialog-content{margin:15px 0}.reservation-create-form #booking-lines .booking-line{padding:0;border:0;margin:12px 0}.reservation-create-form #booking-lines .booking-line>*:not(.booking-row-head){display:none}.booking-row-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f7f8f4;border:1px solid #e2e6dc;border-radius:8px;padding:15px}.booking-row-head small{display:block;color:#6b7964;margin-top:5px}.reservation-item-line{padding:10px 0;border-bottom:1px solid #edf0e9}.reservation-save-footer{display:flex;align-items:center;gap:20px;margin:25px 0 50px}.reservation-create-block input[type=checkbox]{width:18px;height:18px;margin-right:8px;vertical-align:middle}@media(max-width:650px){.reservation-create-block{padding:20px 16px}.reservation-dialog{padding:20px}.booking-row-head{align-items:start}.crm-top-actions a{font-size:13px}}
.machine-intro{display:grid;grid-template-columns:280px 1fr;gap:30px;padding:28px}.machine-photo img{width:100%;height:250px;object-fit:contain}.machine-rates{display:flex;gap:40px;margin:22px 0}.machine-rates small{display:block}.machine-rates b{font-size:27px}.machine-module{margin-top:22px;padding:27px}.machine-module h2{font-size:23px}.machine-module .kpi-grid{margin-top:22px}.standalone-record{margin-top:0}.standalone-record>.box{margin-top:0}.inventory-related{max-height:230px;overflow:auto;border:1px solid #e0e4db;border-radius:8px;padding:10px}.inventory-photo-grid{display:flex;gap:15px;flex-wrap:wrap}.inventory-photo-grid img{width:150px;height:120px;object-fit:contain;display:block}.copy-editor{border:1px solid #d8e0d1;border-radius:10px;padding:17px;margin:15px 0}.search-result{display:block;text-align:left;width:100%;background:white;color:#20342a;border-bottom:1px solid #e0e6da;border-radius:0;padding:13px}.search-result:hover{background:#edf5e5}.search-result small{display:block;font-weight:400;margin-top:5px}.equipment-search-results{max-height:260px;overflow:auto}.record-link{color:#286340;text-decoration:underline}.no-product-photo{padding:50px;color:#6d7a65;background:#f0f3ec;text-align:center}@media(max-width:650px){.machine-intro{grid-template-columns:1fr;padding:20px;gap:15px}.machine-photo img{height:210px}.machine-module{padding:20px 15px}.machine-rates{gap:25px}}
.dashboard-pending{margin:22px 0;border-left:4px solid #9ab953}.dashboard-pending h2{margin:8px 0 18px;font-size:24px}.dashboard-pending .counter{background:#e5f0d1;color:#31532a;font-size:19px;min-width:40px;text-align:center;padding:9px;border-radius:50%}
.rentools-reservation{display:grid;gap:22px}.reservation-detail:has(.rentools-reservation){padding:0;border:0;background:transparent;overflow:visible}.reservation-panel{background:#fff;padding:22px 24px;border:1px solid #e1e5dc;border-radius:10px}.reservation-panel[hidden]{display:none}.reservation-panel>h2{font-size:22px;border-left:4px solid #a6da68;padding-left:10px;margin:0 0 18px}.reservation-basic-columns{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:24px;font-size:14px;line-height:1.9}.reservation-basic-columns span{color:#68716d}.reservation-basic-columns .status-pill{line-height:1.2}.reservation-client-card{border:1px solid #e0e5dd;border-radius:7px;padding:18px}.reservation-client-card h3{margin:0 0 12px}.reservation-client-card p{margin:7px 0}.reservation-panel-body .detail-section{border:0;padding:0;margin:0}.reservation-panel-body .detail-section>h3{display:none}.reservation-panel td small{display:block;margin-top:5px}.crm-top:has(+.crm-mobile-nav) .crm-top-actions{flex-wrap:wrap;gap:8px}.crm-top-actions button,.crm-top-actions a{font-size:13px;padding:10px 13px}.staff-date-calendar{margin:18px 0;padding:18px;border:1px solid #e0e5dd;border-radius:10px;background:#fafcf7}.staff-price-box{margin:20px 0;padding:20px;border-radius:10px;background:#f2f6ed;border:1px solid #d9e5ce}.staff-price-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.staff-price-metrics small,.staff-price-metrics b{display:block}.staff-price-metrics b{font-size:21px;margin-top:6px}.staff-length-discount{color:#b42318;font-weight:650}.reservation-dialog .booking-line{margin:0;border:0;padding:0}.reservation-dialog .booking-line>legend{display:none}.reservation-dialog{max-height:92vh;overflow:auto}.staff-price-box input{background:white}@media(max-width:900px){.reservation-basic-columns{grid-template-columns:1fr 1fr}.staff-price-metrics{grid-template-columns:1fr 1fr}}@media(max-width:600px){.reservation-basic-columns{grid-template-columns:1fr;gap:12px}.reservation-panel{padding:18px 14px}.crm-top-actions{width:100%;justify-content:flex-start}.staff-date-calendar,.staff-price-box{padding:13px}}
.staff-fixed-breakdown{display:grid;gap:0;margin:20px 0}.staff-fixed-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #dce5d4}.staff-fixed-breakdown dt{font-weight:400}.staff-fixed-breakdown dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}.staff-agreed-total{min-height:50px;padding:14px;background:white;border-radius:8px;line-height:1.6}.staff-price-metrics b{font-variant-numeric:tabular-nums;min-height:28px}.staff-price-box [data-quote-message]{min-height:44px}.client-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(850px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border-radius:0;border:0;overflow-y:auto;background:white;color:#4b5551}.client-drawer-header{position:sticky;top:0;display:flex;gap:16px;align-items:center;justify-content:flex-start;padding:18px 20px;border-bottom:1px solid #e3e6e1;background:white;z-index:4;box-shadow:none}.client-drawer-header h2{font-size:24px;margin:0;letter-spacing:0}.client-drawer-header [data-close]{margin-left:auto}.client-source-form{padding:16px 18px 0}.client-source-form section{margin:0 0 26px}.client-source-form section>h3{font-size:23px;border-left:4px solid #a6da68;padding-left:10px;margin:0 0 18px}.client-source-form fieldset{border:0;margin:0;padding:0;min-width:0}.client-source-form [hidden]{display:none!important}.client-source-form label{display:block;font-size:14px;margin:15px 0}.client-source-form input:not([type=radio]):not([type=checkbox]),.client-source-form select,.client-source-form textarea{width:100%;margin-top:7px;padding:11px 12px;border:1px solid #dce0da;border-radius:5px;background:white;font:inherit;color:#26372d}.client-source-form .fields{gap:16px}.client-type-switch{display:flex;gap:20px;align-items:center}.client-type-switch label{display:flex;align-items:center;gap:7px;margin:0 0 10px}.client-source-form input[type=radio],.client-source-form input[type=checkbox]{accent-color:#547838;width:17px;height:17px;flex-shrink:0;margin:0}.client-source-form label.client-check{display:flex;align-items:flex-start;gap:8px;line-height:1.5;margin:14px 0}.client-address-grid{background:#fafbf9;border:1px solid #e3e6e0;border-radius:5px;padding:16px}.client-address-grid label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:12px;margin:0 0 8px}.client-address-grid input{margin:0!important}.client-drawer-footer{position:sticky;bottom:0;background:white;padding:10px 0 18px;border-top:1px solid #edf0e9;z-index:3}.client-drawer-footer>button{width:100%;background:#bafa76;color:#172018}.client-drawer-footer p:empty{display:none}.client-additional-address{margin-bottom:18px!important}.client-additional-address>button{margin-top:8px}@media(max-width:600px){.client-source-form .fields{grid-template-columns:1fr}.client-address-grid label{grid-template-columns:1fr;gap:2px;margin-bottom:14px}.client-drawer-header h2{font-size:21px}.client-source-form section>h3{font-size:21px}}
.client-record form>section,.client-record>section{border-bottom:1px solid #dce4d6;padding:18px 0;margin:0 0 16px}.client-record fieldset{border:1px solid #dce4d6;border-radius:10px;padding:16px;margin:16px 0}.client-record h3{margin:0 0 16px}.client-record h4{margin:20px 0 10px}

/* Keep wide tables inside their panel, and use labelled equipment cards on phones. */
.crm-workspace,.crm-main,#crm-content,#crm-detail,.rentools-reservation,.reservation-panel,.reservation-panel-body{min-width:0;max-width:100%;box-sizing:border-box}
.reservation-panel-body{overflow-wrap:anywhere}.reservation-panel .crm-table{max-width:100%;overflow-x:auto}.crm-top-actions{flex-wrap:wrap;min-width:0}.scaffold-check{display:flex;gap:10px;align-items:flex-start}.scaffold-check input{width:auto;flex:none;margin-top:5px}#confirmation-blockers{padding:12px;border:1px solid #dce5d4;border-radius:8px;margin-bottom:15px}#confirmation-blockers ul{padding-left:20px}#confirmation-blockers p{margin:0}
@media(max-width:700px){.crm-workspace{width:100%;overflow-x:clip}.reservation-panel{padding:16px}.reservation-client-card{padding:14px}.reservation-basic-columns{grid-template-columns:minmax(0,1fr)}.crm-top-actions>*{max-width:100%;white-space:normal}.reservation-panel .crm-table{margin:10px 0}.reservation-panel[data-rsection=equipment] table{min-width:0;width:100%}.reservation-panel[data-rsection=equipment] thead{display:none}.reservation-panel[data-rsection=equipment] tbody,.reservation-panel[data-rsection=equipment] tr{display:block}.reservation-panel[data-rsection=equipment] tr{padding:8px}.reservation-panel[data-rsection=equipment] td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:9px 5px;overflow-wrap:anywhere}.reservation-panel[data-rsection=equipment] td::before{content:attr(data-label);font-weight:700;color:#68716d}.reservation-panel[data-rsection=equipment] td small{grid-column:2}.allocation-section select{max-width:100%;min-width:0}}
/* Staff reservation entry: compact sections and right-side equipment editor. */
.reservation-create-form{max-width:none;background:white;padding:8px 24px 24px}.reservation-create-block{border:0;border-radius:0;padding:14px 0;margin:0;background:white}.reservation-create-block h3{border:0;border-left:4px solid #a6da68;padding:0 0 0 10px;margin:0 0 12px;font-size:20px}.reservation-create-block .reservation-empty{margin:8px 0 12px}.reservation-create-block .light-btn{padding:9px 13px}.reservation-create-block textarea{width:100%;border:1px solid #dce0da;border-radius:5px;padding:12px;font:inherit}.equipment-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(850px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;padding:0 22px 20px}.equipment-drawer>.row:first-child{position:sticky;top:0;background:white;z-index:5;padding:15px 0;border-bottom:1px solid #e3e6e1}.equipment-drawer>.row:first-child h2{font-size:23px;margin:0}.equipment-drawer>.row:nth-last-child(2){position:sticky;bottom:0;background:white;z-index:4;padding:12px 0;border-top:1px solid #e3e6e1}.equipment-drawer #save-gear-dialog{flex:1}.equipment-drawer .staff-date-calendar,.equipment-drawer .staff-price-box{background:white;padding:14px 0;border:0;border-radius:0;margin:12px 0}.equipment-drawer h3{font-size:19px;border-left:4px solid #a6da68;padding-left:10px}.staff-copy-timeline{min-width:0}.staff-copy-timeline p{margin:8px 0}.copy-timeline-scroll{overflow-x:auto;border:1px solid #dce4d6}.staff-copy-timeline table{width:100%;border-collapse:collapse;min-width:600px;font-size:12px}.staff-copy-timeline th,.staff-copy-timeline td{padding:6px;text-align:center;border:1px solid #e4e8e0}.staff-copy-timeline th small{display:block}.staff-copy-timeline th:first-child{min-width:150px;text-align:left}.staff-copy-timeline th button{background:transparent;color:#20342a;padding:5px;font-size:12px}.copy-day.free{background:#e2f4df;color:#2c6b32}.copy-day.busy{background:#f8d6d3;color:#a12525}.copy-day.pending{background:#ffeac4;color:#936007}.copy-day.service{background:#e1e5e9;color:#667}.chosen-copy th:first-child{background:#dceecb;box-shadow:inset 4px 0 #548331}@media(max-width:600px){.reservation-create-form{padding:8px 14px}.equipment-drawer{padding:0 14px 14px}}
.reservation-dialog:has(#pick-client-query){position:fixed;inset:0 0 0 auto;margin:0;width:min(850px,100vw);height:100dvh;max-height:100dvh;border-radius:0}.reservation-dialog:has(#pick-client-query)>.row{position:sticky;top:0;background:white;padding:12px 0;z-index:2}.reservation-dialog:has(#pick-client-query) #add-client-from-booking{position:sticky;bottom:0;width:100%;margin-top:15px}
.opening-hours-row{display:grid;grid-template-columns:150px 140px 1fr 1fr;gap:16px;align-items:center;border-bottom:1px solid #e1e6dc;padding:8px 0}.opening-hours-row input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:6px}@media(max-width:650px){.opening-hours-row{grid-template-columns:1fr 1fr;gap:8px}.opening-hours-row label{margin:6px 0}}
.availability-day.partial small{display:block;font-size:8px;line-height:1.1;color:inherit}.availability-legend i.partial{background:#fff0c2;border:1px solid #d49a1d}
.scaffold-booking-summary{margin:10px 0;padding:12px;background:#f0f5e9;border:1px solid #dce6d2;border-radius:8px;font-size:13px;line-height:1.6}.scaffold-booking-summary ul{padding-left:20px;margin:7px 0}.scaffold-booking-summary small{display:block}.stock-shortage{color:#a12622;display:block}#scaffold-stock-day{max-width:230px}
.scaffold-support-choice{border:1px solid #cadfba;border-radius:10px;padding:15px;margin:18px 0}.scaffold-support-choice legend{font-weight:700;padding:0 8px}.scaffold-support-choice p{font-size:13px;margin:0 0 10px}.scaffold-support-choice input[type=radio]{width:18px;height:18px;accent-color:#426b2d;margin-right:8px}
.reservation-stock-check{padding:16px;border:1px solid #c9dfb8;border-left:5px solid #70a246;background:#f5f9ee;border-radius:8px;margin-bottom:20px}.reservation-stock-check.has-shortages{background:#fff4f0;border-color:#e1aaa0;border-left-color:#b93829}.reservation-stock-check h3{margin:0 0 12px;font-size:20px}.reservation-stock-check p{font-size:13px;margin:10px 0}.reservation-stock-check a{text-decoration:underline}
.dashboard-deposits{margin:20px 0 24px}.dashboard-deposits h2{font-size:22px;margin-top:0}.deposit-total{padding:16px;background:#edf3f9;border-radius:8px;margin-bottom:16px}.deposit-total small,.deposit-total b,.deposit-method-grid small,.deposit-method-grid b{display:block}.deposit-total b{font-size:30px;margin-top:5px}.deposit-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.deposit-method-grid>div{padding:16px;border:1px solid #dce4d6;border-radius:8px}.deposit-method-grid b{font-size:23px;margin-top:6px;overflow-wrap:anywhere}.dashboard-deposits p{font-size:12px;margin-bottom:0}@media(max-width:650px){.deposit-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Compact deposit overview: total and payment methods share one row. */
.dashboard-deposits{display:flex;align-items:center;gap:16px;padding:12px 16px;margin:0 0 16px;flex-wrap:wrap}.dashboard-deposits h2{font-size:14px;margin:0;max-width:130px;line-height:1.35}.dashboard-deposits .deposit-total{padding:0 16px 0 0;margin:0;border-radius:0;background:transparent;border-right:1px solid #dce4d6}.dashboard-deposits .deposit-total small{font-size:11px}.dashboard-deposits .deposit-total b{font-size:21px;margin-top:2px;white-space:nowrap}.dashboard-deposits .deposit-method-grid{display:flex;flex:1;justify-content:space-around;gap:14px}.dashboard-deposits .deposit-method-grid>div{padding:0;border:0;border-radius:0}.dashboard-deposits .deposit-method-grid small{font-size:11px}.dashboard-deposits .deposit-method-grid b{font-size:17px;margin-top:2px;white-space:nowrap}.dashboard-deposits>p{display:none}@media(max-width:650px){.dashboard-deposits{gap:10px 14px;padding:12px}.dashboard-deposits h2{max-width:none;flex:1}.dashboard-deposits .deposit-total{border:0;padding:0;text-align:right}.dashboard-deposits .deposit-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%;gap:10px;border-top:1px solid #dce4d6;padding-top:10px}.dashboard-deposits .deposit-method-grid b{font-size:16px}}
.handover-workspace:has(.issue-wizard-panel){padding:22px}.handover-steps li[aria-current=step]{background:#d6edbc;color:#294c22;font-weight:750}.issue-wizard-panel[hidden],.signature-section[hidden],.contract-paper[hidden],.issue-proceed-sign[hidden]{display:none!important}.issue-wizard-panel{min-height:280px}.issue-assets-group>h3,.issue-consents>h3{border-left:4px solid #9bce68;padding-left:10px}.issue-asset-row{border:1px solid #dce4d6;border-radius:8px;margin:14px 0;padding:14px}.issue-asset-row .fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.issue-asset-row label{font-size:12px;margin:8px 0}.issue-asset-row legend{font-size:14px}.issue-asset-row input,.issue-asset-row select{padding:8px}.issue-wizard-nav{display:flex;gap:12px;justify-content:flex-end;padding:18px 0 0;margin-top:20px;border-top:1px solid #dce4d6;position:sticky;bottom:0;background:white;z-index:3}.issue-wizard-nav [hidden]{display:none!important}.issue-consents label{display:flex;gap:10px;align-items:flex-start;line-height:1.6}.issue-consents input{flex:none;width:18px;height:18px;margin-top:3px}.issue-document-stage{padding:14px;background:#eaf4df;border-radius:8px;margin-bottom:20px}.issue-proceed-sign{display:block;margin:20px 0}.issue-wizard-panel .contract-terms{max-height:350px;overflow:auto}@media(max-width:700px){.issue-asset-row .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.handover-workspace:has(.issue-wizard-panel){padding:14px}.issue-wizard-nav{flex-wrap:wrap}.issue-wizard-nav button{flex:1}.handover-steps{gap:7px}.handover-steps li{font-size:11px;padding:7px 10px}}
#handover-payment-ledger{margin:18px 0}#handover-payment-ledger h4{margin:0 0 10px}.handover-payment-state{padding:12px 14px;background:#edf5e4;border:1px solid #d0e1be;border-radius:8px;font-size:14px;font-weight:650;margin-top:12px}.issue-wizard-panel .info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:650px){.issue-wizard-panel .info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
[data-payment-terms-custom][hidden]{display:none!important}

/* Availability colors describe reservations; inspection state is shown separately above. */
.product-availability .availability-day{font-size:14px;min-height:42px;border:1px solid transparent;box-shadow:none;opacity:1}
.product-availability .availability-day.free,.product-availability .availability-legend i.free{background:#e0efd7;color:#20492e;border:1px solid #8fb784}
.product-availability .availability-day.partial,.product-availability .availability-legend i.partial{background:#fff0c2;color:#714700;border:1px solid #c58b16}
.product-availability .availability-day.busy,.product-availability .availability-legend i.busy{background:#f9dfdc;color:#8b2824;border:1px solid #cc827c}
.product-availability .availability-day.review{background:#edf0eb;color:#53614d;border:1px solid #b9c2b3}
.product-availability .availability-day.selected-range{box-shadow:inset 0 0 0 2px #416834}
.product-availability .availability-day.selected-edge{background:#203d2b;color:#d6ef6c;border:1px solid #203d2b;box-shadow:inset 0 0 0 2px #203d2b;font-weight:800}
.product-availability .availability-day.partial.selected-edge{background:#fff0c2;color:#714700;border:2px solid #203d2b;box-shadow:inset 0 0 0 1px #203d2b}
.product-availability .availability-day.busy.selected-edge{background:#f9dfdc;color:#8b2824;border:2px solid #203d2b;box-shadow:inset 0 0 0 1px #203d2b}
.product-availability .availability-day:disabled{background:#f1f2ee;color:#777e70;border:1px dashed #bdc4b6;opacity:1;box-shadow:none;outline:none}
.product-availability .availability-day:hover:not(:disabled){filter:brightness(.96);transform:none}
.product-availability .availability-day:focus-visible{outline:3px solid #203d2b;outline-offset:2px}

.crm-top-actions #link-invoice{background:#2563eb;color:#fff;border-color:#2563eb}.crm-top-actions #link-invoice:hover{background:#1d4ed8;border-color:#1d4ed8}

.dashboard-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.unpaid-kpi{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;background:#fff}.unpaid-kpi:hover{background:#f9fcf5;border-color:#80a760;transform:none}.unpaid-kpi:focus-visible{outline:3px solid #587d39;outline-offset:3px}.kpi-caption{font-size:10px;color:#6d7962;line-height:1.5;display:block}.dashboard-deposits{display:block;padding:20px 23px;margin:0 0 22px}.deposit-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-deposits .deposit-heading h2{max-width:none;margin:0;font-size:17px}.deposit-heading>b{font-size:26px;color:#344b2e}.deposit-breakdown{margin-top:14px}.deposit-breakdown summary{font-size:12px;color:#526b43;cursor:pointer}.dashboard-deposits .deposit-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;padding-top:14px;border-top:1px solid #e1e7db}.deposit-breakdown p{display:block}.unpaid-row{cursor:pointer}@media(max-width:850px){.dashboard-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-primary>.kpi:last-child{grid-column:1/-1;padding:12px 16px}.dashboard-primary>.kpi:last-child>div:last-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dashboard-primary>.kpi:last-child b{margin:0}.dashboard-primary>.kpi:last-child .kpi-icon{display:none}}@media(max-width:650px){.dashboard-deposits .deposit-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deposit-heading>b{font-size:23px}.unpaid-kpi .kpi-icon{display:none}.dashboard-primary .kpi b{font-size:clamp(17px,4.8vw,27px);overflow-wrap:anywhere}}

.unpaid-row:hover{background:#edf5e5}
.unpaid-reservations .section-heading{flex-wrap:wrap;gap:16px}
/* Return protocol */
.return-panel[hidden],.return-panel [hidden]{display:none!important}.return-kit fieldset{border:1px solid #dce4d8;border-radius:12px;padding:16px;margin:14px 0}.return-kit legend{font-weight:650;padding:0 6px}.return-kit legend small{font-weight:400}.part-expected{display:block;font-size:24px;margin-top:12px}.return-panel h3{margin:16px 0}.return-charge{align-items:end;padding:12px;background:#f1f4ed;border-radius:10px;margin:12px 0}.return-charge button{justify-self:start}.handover-steps [aria-current=step]{background:#216245;color:white;border-radius:8px;padding:10px}.return-panel .info-grid{margin:20px 0}@media(max-width:600px){.return-kit .fields{grid-template-columns:1fr 1fr}.return-kit .fields label:last-of-type{grid-column:1/-1}.handover-steps{flex-wrap:wrap;gap:8px}}
.extension-dialog{width:min(920px,96vw);max-height:92vh;overflow:auto}.extension-dialog fieldset{border:1px solid #d9e3d5;border-radius:12px;padding:14px 18px;margin:16px 0}.extension-dialog legend label{font-weight:700}.extension-history{display:flex;gap:18px;align-items:start;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e0e4db}.extension-dialog .info-grid{margin:20px 0}.extension-dialog .cart-actions{flex-wrap:wrap}.extension-dialog a[data-email]{display:inline-block;padding:12px;border:1px solid #d6dfd1;border-radius:8px}@media(max-width:600px){.extension-history{display:block}.extension-history button{margin-top:12px}.extension-dialog{padding:18px}.extension-dialog .fields{grid-template-columns:1fr}}
.accessory-picker{width:min(850px,96vw);max-height:90vh;overflow:auto}.accessory-picker [hidden]{display:none!important}.accessory-picker-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e2e6de}.accessory-picker small,.standalone-booking-line small{display:block;margin-top:5px;color:#657368}.standalone-booking-line{border:1px solid #d8e3d1;border-radius:12px;padding:16px;margin:14px 0}.accessory-picker .info-grid{margin:18px 0}@media(max-width:600px){.standalone-booking-line .row{align-items:start;flex-wrap:wrap}.accessory-picker{padding:18px}}

.reservation-accessory-name{font-size:16px;font-weight:700;margin:8px 0;color:#20342a}.reservation-copy-label{font-size:16px;margin:4px 0;padding:8px 10px;background:#edf3e7;border-radius:6px}.reservation-panel[data-rsection=equipment] td{line-height:1.6}

/* Public calendar: retain occupancy colors even on past or closed dates. */
.product-availability .availability-day{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.product-availability .availability-day.free,.product-availability .availability-legend i.free{background:#e4f3e7;color:#18562c;border:1px solid #75a987}
.product-availability .availability-day.partial,.product-availability .availability-legend i.partial{background:#ffe1a0;color:#653c00;border:1px solid #b8790a}
.product-availability .availability-day.busy,.product-availability .availability-legend i.busy{background:#bb302b;color:#fff;border:1px solid #98211d}
.product-availability .availability-day small{display:block;font-size:11px;line-height:1.2;font-weight:650;color:inherit}
.product-availability .availability-day:disabled{opacity:1;cursor:not-allowed;outline:none;box-shadow:none}
.product-availability .availability-day.free:disabled,.product-availability .availability-day.review:disabled{background:#f0f1ef;color:#747a73;border:1px dashed #aeb5ac}
.product-availability .availability-day.sunday{border-style:dashed}
.product-availability .availability-day.selected-range{box-shadow:inset 0 0 0 3px #2563c5}
.product-availability .availability-day.free.selected-edge,.product-availability .availability-day.review.selected-edge{background:#2058b0;color:#fff;border-color:#17488e;box-shadow:inset 0 0 0 2px #fff}
.product-availability .availability-day.partial.selected-edge,.product-availability .availability-day.busy.selected-edge{box-shadow:inset 0 0 0 3px #2563c5;border:1px solid #17488e}
.product-availability .availability-day.busy:hover:not(:disabled){background:#a72420;color:#fff;box-shadow:inset 0 0 0 2px #fff}
.product-availability .availability-day.partial:hover:not(:disabled){background:#ffd47d;color:#653c00}
.product-availability .availability-day:focus-visible{outline:3px solid #2563c5;outline-offset:2px}
.product-availability .availability-legend{font-size:12px;gap:10px 14px;line-height:1.6}
.product-availability .availability-legend i{width:13px;height:13px;vertical-align:middle}
.product-availability .availability-legend i.selected{background:#2058b0;border:1px solid #17488e}
.product-availability .availability-legend i.closed{background:#f0f1ef;border:1px dashed #aeb5ac}
@media(max-width:380px){.product-availability .availability-days{gap:3px}.product-availability .availability-day small{font-size:10px}.product-availability .availability-day{min-height:50px}}

.confirmation-blockers{background:#fff1f0;color:#b42318;border:2px solid #e18880;border-radius:10px;padding:16px;margin:16px 0;font-size:16px;line-height:1.6}.confirmation-blockers[hidden]{display:none}.confirmation-blockers ul{padding-left:22px;margin:10px 0 0}.confirmation-blockers li+li{margin-top:8px}

.crm-top .crm-public-site{display:inline-flex;align-items:center;margin-top:9px;padding:8px 12px;border:1px solid #cddfc1;border-radius:8px;background:#eef6e8;color:#294d1b;font-size:12px;font-weight:650;line-height:1.3;white-space:nowrap}.crm-top .crm-public-site:hover{background:#dfedcf}.crm-top .crm-public-site:focus-visible{outline:3px solid #77a64e;outline-offset:3px}

dialog.invoice-editor{width:min(1240px,98vw);max-width:98vw;height:94dvh;max-height:94dvh;overflow:auto}
.invoice-editor-header{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.invoice-editor-header h2{margin-right:auto}
.invoice-editor h3{border-left:4px solid #a6da68;padding-left:10px;margin-top:24px}
.invoice-editor .invoice-line{grid-template-columns:2fr repeat(3,minmax(90px,1fr)) auto;align-items:end;margin-bottom:10px}
@media(max-width:760px){.invoice-editor .invoice-line{grid-template-columns:repeat(2,minmax(0,1fr))}}

.invoice-editor textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #ccd4c8;border-radius:7px;background:white;color:#20342a;font:inherit;resize:vertical}

/* Compact first step: preserve the original controls and saved protocol fields. */
.compact-handover .return-kit fieldset{padding:12px 0;margin:0;border:0;border-bottom:1px solid #dce5dd;border-radius:0}
.compact-handover .kit-table-head,.compact-handover .kit-part-grid{display:grid;grid-template-columns:minmax(150px,1fr) 80px 100px;align-items:center;gap:12px}
.compact-handover .kit-table-head:has(+fieldset [data-part-damaged]),.compact-handover .kit-part-grid.returning{grid-template-columns:minmax(150px,1fr) 80px 100px 100px}
.compact-handover .kit-table-head{font-size:12px;color:#627568;padding:12px 0;border-bottom:1px solid #dce5dd}
.compact-handover .kit-part-grid input{margin:0;text-align:center;min-width:0;width:100%}
.compact-handover .kit-part-title legend{display:block;font-size:14px;padding:0;margin:0;float:none;width:auto}
.compact-handover .part-expected{text-align:center}
.compact-handover .kit-part-status{font-size:12px;margin:4px 0;color:#627568}
.compact-handover .return-kit .kit-part-problem{background:#fff4ee}
.compact-handover .kit-part-problem .kit-part-status{color:#a72d28;font-weight:600}
.compact-handover details{margin:8px 0}.compact-handover summary{cursor:pointer;padding:8px 0}
.compact-handover [hidden]{display:none!important}
@media(max-width:600px){.compact-handover .kit-table-head{display:grid;grid-template-columns:65px 1fr 1fr}.compact-handover .kit-table-head span:first-child{grid-column:1/-1}.compact-handover .kit-part-grid,.compact-handover .kit-part-grid.returning{grid-template-columns:65px 1fr 1fr;gap:10px}.compact-handover .kit-part-title{grid-column:1/-1}.compact-handover .kit-part-grid:not(.returning){grid-template-columns:65px 1fr}}

.settlement-view{display:grid;gap:18px}.settlement-section{padding:18px;border:1px solid #dce5dd;border-radius:12px;background:#fff}.settlement-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #e8eee9}.settlement-row b,.settlement-due strong{white-space:nowrap;font-variant-numeric:tabular-nums}.settlement-due{display:flex;justify-content:space-between;gap:12px;background:#edf4ed;padding:14px;border-radius:8px;margin-top:12px}.settlement-state{color:#216245}.settlement-history{border-top:1px solid #dce5dd;padding-top:10px}.settlement-view summary{cursor:pointer;padding:10px 0}.settlement-controls button{margin-top:10px}.settlement-damage-hold{margin-top:14px}.settlement-view [hidden]{display:none!important}.settlement-controls[hidden] [data-result]{display:block}@media(max-width:530px){.settlement-section{padding:14px}.settlement-controls .fields{grid-template-columns:1fr}.settlement-due{flex-wrap:wrap}}
