.customer-contract-wrap{display:grid;gap:16px}.customer-contract-actions{display:flex;gap:8px;flex-wrap:wrap}.customer-contract-filter{display:flex;gap:18px;align-items:end}.customer-contract-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(190px,280px));gap:14px}.customer-contract-filter label{display:grid;gap:6px;color:var(--muted);font-size:12px}.customer-contract-filter select{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.customer-contract-filter p{margin:0 0 9px auto;color:var(--muted);font-size:12px}.customer-contract-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.customer-contract-kpis .stat b{font-size:clamp(19px,2vw,28px)}.customer-contract-kpis .stat small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.customer-contract-two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px}.customer-contract-chart{display:grid;grid-template-columns:repeat(12,minmax(54px,1fr));min-width:760px;overflow:auto}.customer-contract-month{text-align:center}.customer-contract-track{position:relative;height:190px}.customer-contract-track i{position:absolute;top:95px;left:0;right:0;border-top:1px solid #b9c8d4}.customer-contract-track span{position:absolute;left:30%;right:30%;border-radius:5px}.customer-contract-track .up{bottom:95px;background:#43a582}.customer-contract-track .down{top:95px;background:#d77979}.customer-contract-track b{position:absolute;left:0;right:0;top:82px;font-size:10px}.customer-contract-month small{color:var(--muted)}.customer-contract-table{overflow:auto;border:1px solid var(--line);border-radius:10px}.customer-contract-table table{width:100%;min-width:720px;border-collapse:collapse}.customer-contract-table th,.customer-contract-table td{padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.customer-contract-table th{color:var(--muted);background:#f6f9fb;font-size:11px}.customer-contract-table td:not(:first-child),.customer-contract-table th:not(:first-child){text-align:right}.customer-contract-sort{padding:0;border:0;color:inherit;background:none;font-weight:800}.customer-contract-search{display:flex;gap:8px;margin-bottom:12px}.customer-contract-search input{flex:1;min-width:180px}.customer-vacancy-status,.customer-move-kind,.customer-contract-readonly{display:inline-block;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:900}.customer-vacancy-status.new,.customer-move-kind.in{color:#137451;background:#e1f6ec}.customer-vacancy-status.middle{color:#8a6419;background:#fff0c9}.customer-vacancy-status.long,.customer-move-kind.out{color:#a34c47;background:#fde8e6}.customer-contract-readonly{color:#526779;background:#edf1f4}.customer-contract-property-grid{display:grid;grid-template-columns:220px repeat(2,minmax(0,1fr));gap:18px;align-items:center}.customer-contract-rate{position:relative;display:grid;place-items:center;width:180px;height:180px;margin:auto;border-radius:50%;background:conic-gradient(#138668 0 var(--rate),#e8eef3 var(--rate))}.customer-contract-rate:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.customer-contract-rate span{z-index:1;text-align:center}.customer-contract-rate b{display:block;font-size:30px}.customer-contract-metrics{display:grid;gap:10px}.customer-contract-metrics div{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:9px}.customer-contract-metrics span{color:var(--muted)}.customer-contract-moves{display:grid;gap:9px}.customer-contract-moves>div{display:flex;justify-content:space-between;gap:12px;padding:11px;border-bottom:1px solid var(--line)}.customer-contract-moves b,.customer-contract-moves small{display:block}.customer-contract-moves small{color:var(--muted)}.plus{color:#138668}.minus{color:#c45757}@media(max-width:1150px){.customer-contract-kpis{grid-template-columns:repeat(3,1fr)}.customer-contract-two{grid-template-columns:1fr}}@media(max-width:760px){.customer-contract-filter{align-items:stretch;flex-direction:column}.customer-contract-filter-fields,.customer-contract-kpis,.customer-contract-property-grid{grid-template-columns:1fr}.customer-contract-filter p{margin:0}.customer-contract-search{flex-wrap:wrap}.customer-contract-search input{width:100%;flex-basis:100%}.customer-contract-rate{width:150px;height:150px}}

/* The chart retains 12 readable months inside its own horizontal scroller. */
.customer-contract-wrap{grid-template-columns:minmax(0,1fr);min-width:0}
.customer-contract-wrap>*,.customer-contract-two>*{min-width:0}
.customer-contract-chart{min-width:0;max-width:100%;grid-template-columns:repeat(12,minmax(calc(760px / 12),1fr));overflow-x:auto}

/* Keep native select intrinsic widths inside the responsive filter card. */
.customer-contract-filter-fields,.customer-contract-filter-fields>*,.customer-contract-filter select{min-width:0;max-width:100%}
