/* Customers list and profile: presentation only, built on existing data. */
.customer-content-head{align-items:flex-start}.customer-summary-grid,.customer-profile-cards{display:grid;gap:14px;margin:0 0 16px}.customer-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-profile-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.customer-summary-grid article,.customer-profile-cards article{min-width:0;min-height:108px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:18px;border:1px solid #dfe8f0;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.035)}.customer-summary-grid article:nth-child(1){border-top:3px solid #2d6eaf}.customer-summary-grid article:nth-child(2){border-top:3px solid #168b78}.customer-summary-grid article:nth-child(3){border-top:3px solid #d17a3b}.customer-summary-grid span,.customer-profile-cards span{color:#5c6d82;font-size:13px;font-weight:750;line-height:1.3}.customer-summary-grid strong,.customer-profile-cards strong{overflow:visible;white-space:normal;overflow-wrap:anywhere;color:#142b49;font-size:clamp(1.45rem,2.4vw,2rem);font-variant-numeric:tabular-nums;line-height:1.12}.customer-toolbar{display:flex;align-items:end;gap:14px;margin:0 0 16px;padding:13px 15px;border:1px solid #e1e9f0;border-radius:12px;background:#fff}.customer-toolbar label{display:grid;gap:5px;flex:1;max-width:480px;color:#53667e;font-size:12px;font-weight:750}.customer-toolbar input{width:100%;box-sizing:border-box}.customer-toolbar>span{margin-left:auto;color:#64748b;font-size:13px;white-space:nowrap}.customer-table-wrap{width:100%;max-width:100%;overflow:auto;border:1px solid #e0e8f0;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.03);-webkit-overflow-scrolling:touch}.customer-table-wrap table{width:100%;min-width:1250px;border-collapse:separate;border-spacing:0}.customer-table-wrap th{white-space:nowrap}.customer-table-wrap td{vertical-align:middle}.customer-name-cell{min-width:230px}.customer-table-wrap thead th:first-child,.customer-table-wrap tbody td:first-child{position:sticky;left:0;background:#fff;box-shadow:8px 0 12px -12px rgba(23,43,77,.45)}.customer-table-wrap thead th:first-child{z-index:4}.customer-table-wrap tbody td:first-child{z-index:2}.customer-name-link{max-width:100%;border:0;background:transparent;padding:0;color:#173d67;font:inherit;font-weight:800;text-align:left;cursor:pointer}.customer-name-link:hover{text-decoration:underline}.customer-name-cell small,.customer-mobile-cell small,.customer-history-panel td small{display:block;margin-top:4px;color:#738196;font-size:12px;line-height:1.35}.customer-mobile-cell{min-width:145px}.customer-contact-cell{min-width:165px;white-space:nowrap}.customer-contact-cell .action{min-height:31px;margin:2px 4px 2px 0;padding:5px 8px}.customer-number,.customer-money{font-weight:780;font-variant-numeric:tabular-nums;white-space:nowrap}.customer-money{color:#173d67}.customer-money.due{color:#a7473f}.customer-status{display:inline-flex;align-items:center;min-height:26px;padding:2px 9px;border:1px solid #cfe5db;border-radius:999px;background:#f0faf5;color:#176e5f;font-size:12px;font-weight:780;white-space:nowrap}.customer-status.inactive{border-color:#e5d8d7;background:#fbf4f3;color:#9b4c46}.customer-status.vip{border-color:#ddd5ee;background:#f7f4fc;color:#644e9b}.customer-actions,.customer-booking-actions{display:flex;align-items:center;gap:5px;min-width:300px}.customer-actions>.action,.customer-booking-actions>.action{min-height:32px;padding:5px 8px;white-space:nowrap}.customer-actions .action-primary,.customer-booking-actions .action-primary{border-color:#173d67;background:#173d67;color:#fff}.customer-more-actions{position:relative}.customer-more-actions summary{display:inline-flex;align-items:center;min-height:32px;padding:5px 8px;border:1px solid #d4e0ea;border-radius:8px;background:#fff;color:#24476d;font-size:12px;font-weight:750;cursor:pointer;list-style:none;white-space:nowrap}.customer-more-actions summary::-webkit-details-marker{display:none}.customer-more-actions>div{position:absolute;z-index:30;right:0;top:calc(100% + 5px);display:none;min-width:150px;padding:6px;border:1px solid #d7e2eb;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.16)}.customer-more-actions[open]>div{display:grid;gap:4px}.customer-more-actions>div .action{justify-content:flex-start;min-height:32px;white-space:nowrap}.customer-profile-polished{display:grid;gap:16px;min-width:0}.customer-profile-head{margin:0}.customer-details-panel,.customer-history-panel{min-width:0;padding:18px;border:1px solid #e0e8f0;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.03)}.customer-details-panel h3,.customer-history-panel h3{margin:0 0 14px;color:#142b49;font-size:16px}.customer-details-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}.customer-details-panel dl div{min-width:0}.customer-details-panel dt{margin:0 0 4px;color:#718095;font-size:12px;font-weight:750}.customer-details-panel dd{margin:0;color:#344860;font-size:14px;overflow-wrap:anywhere}.customer-history-panel{margin:0!important}.customer-history-panel .customer-table-wrap{box-shadow:none}.customer-history-panel .customer-table-wrap table{min-width:1120px}
@media(max-width:1050px){.customer-summary-grid,.customer-profile-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-details-panel dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.customer-toolbar{align-items:stretch;flex-direction:column}.customer-toolbar label{max-width:none}.customer-toolbar>span{margin-left:0}.customer-summary-grid,.customer-profile-cards{grid-template-columns:1fr;gap:10px}.customer-summary-grid article,.customer-profile-cards article{min-height:94px;padding:15px}.customer-profile-head .actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.customer-profile-head .actions button{min-width:0;padding:8px 5px;font-size:12px}.customer-details-panel,.customer-history-panel{padding:14px}.customer-details-panel dl{grid-template-columns:1fr;gap:12px}}

/* Compact SVG action markers keep table controls recognisable without changing their behavior. */
.customer-action-icon{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.customer-action-icon circle{fill:currentColor;stroke:none}.customer-contact-cell .action,.customer-actions>.action,.customer-booking-actions>.action,.customer-more-actions>div .action{display:inline-flex;align-items:center;justify-content:center;gap:5px}.customer-more-actions summary{gap:5px}.customer-more-actions>div .action{justify-content:flex-start}
@media(max-width:680px){body:has(.customer-summary-grid),.page:has(.customer-summary-grid),#view:has(.customer-summary-grid){min-width:0;max-width:100%;box-sizing:border-box;overflow-x:hidden}}

/* Customer-list summary cards: visual only, with no effect on totals or actions. */
.customer-summary-grid .customer-summary-card{--customer-card-border:#dfe8f0;--customer-card-icon:#2d6eaf;--customer-card-icon-bg:#eaf4ff;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:11px;row-gap:5px;border:1px solid var(--customer-card-border);border-top-width:1px;transition:transform .25s ease-out,border-color .25s ease,box-shadow .25s ease}
.customer-summary-grid .customer-summary-card--blue{--customer-card-border:#b8d8f4;--customer-card-icon:#2d6eaf;--customer-card-icon-bg:#eaf4ff}.customer-summary-grid .customer-summary-card--green{--customer-card-border:#bde3d1;--customer-card-icon:#16805d;--customer-card-icon-bg:#e8f6ef}.customer-summary-grid .customer-summary-card--coral{--customer-card-border:#f0c1bd;--customer-card-icon:#b54a3e;--customer-card-icon-bg:#fff0ef}
.customer-summary-icon{grid-row:1 / span 2;box-sizing:content-box;width:22px;height:22px;padding:9px;border-radius:10px;background:var(--customer-card-icon-bg);color:var(--customer-card-icon);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.customer-summary-grid .customer-summary-card>span{align-self:end}.customer-summary-grid .customer-summary-card>strong{align-self:start}.customer-content-head .primary,.customer-toolbar label>span{display:inline-flex;align-items:center;gap:6px}.customer-toolbar label>span .customer-action-icon{color:#2d6eaf}
@media(hover:hover){.customer-summary-grid .customer-summary-card:hover{transform:translateY(-5px);border-color:var(--customer-card-icon);box-shadow:0 12px 24px rgba(15,23,42,.12)}}.customer-summary-grid .customer-summary-card:focus-within{outline:3px solid #b9dcf1;outline-offset:2px}
@media(max-width:680px){.customer-summary-grid .customer-summary-card{grid-template-columns:auto minmax(0,1fr);min-height:94px}.customer-summary-icon{width:20px;height:20px;padding:7px}}@media(prefers-reduced-motion:reduce){.customer-summary-grid .customer-summary-card{transition:none}.customer-summary-grid .customer-summary-card:hover{transform:none}}

/* Repeat-guest and history additions retain the existing white CRM surface. */
.customer-summary-grid--extended{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-summary-grid .customer-summary-card--violet{--customer-card-border:#d9cef3;--customer-card-icon:#7152ad;--customer-card-icon-bg:#f4f0ff}.customer-summary-grid .customer-summary-card--teal{--customer-card-border:#bde9e3;--customer-card-icon:#0f8177;--customer-card-icon-bg:#e9fbf8}.customer-summary-grid .customer-summary-card--amber{--customer-card-border:#f0d7a3;--customer-card-icon:#a86509;--customer-card-icon-bg:#fff7e7}.customer-summary-card small{color:#718095;font-size:12px}.customer-toolbar select{width:100%;box-sizing:border-box}.customer-repeat-guest{display:inline-flex;align-items:center;margin:0 0 0 7px;padding:2px 7px;border:1px solid #d9cef3;border-radius:999px;background:#f4f0ff;color:#684ca1;font-size:11px;font-weight:800}.existing-customer-hint{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}.existing-customer-hint small{display:block;margin-top:3px;color:#5f7188}.existing-customer-actions{display:flex;gap:7px;flex-wrap:wrap}.existing-customer-actions .action{white-space:nowrap}
.existing-customer-history{display:grid;gap:4px;width:100%;padding-top:8px;color:#40566f;font-size:12px}.existing-customer-history span{display:block}
@media(max-width:680px){.customer-summary-grid--extended{grid-template-columns:1fr}.existing-customer-hint{align-items:flex-start!important;flex-direction:column}.customer-toolbar .secondary{width:100%}}

/* Customer history is a read-only timeline over the existing booking ledger. */
.customer-history-timeline{display:grid;gap:12px}.customer-history-event{position:relative;display:grid;gap:11px;padding:15px 16px 15px 22px;border:1px solid #dfe8f0;border-radius:12px;background:#fbfdff}.customer-history-event:not(:last-child)::before{position:absolute;top:47px;bottom:-13px;left:29px;width:2px;background:#dbe8f4;content:''}.customer-history-marker{position:absolute;top:18px;left:18px;z-index:1;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eaf4ff;color:#24689f}.customer-history-marker .customer-action-icon{width:13px;height:13px}.customer-history-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-left:31px}.customer-history-event-head h4{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:3px 0 0;color:#173d67;font-size:15px}.customer-history-meta{display:inline-flex;align-items:center;gap:5px;margin:0;color:#64748b;font-size:12px;font-weight:700}.customer-history-meta .customer-action-icon,.customer-history-facts .customer-action-icon,.customer-history-money .customer-action-icon{color:#2d6eaf}.customer-history-date{flex:0 0 auto;color:#24476d;font-size:13px;font-weight:800;text-align:right;white-space:nowrap}.customer-history-date small{display:block;margin-top:3px;color:#718095;font-size:12px;font-weight:600}.customer-history-facts,.customer-history-money{display:flex;flex-wrap:wrap;gap:8px 16px;padding-left:31px}.customer-history-facts span{display:inline-flex;align-items:center;gap:5px;min-width:0;color:#40566f;font-size:13px;overflow-wrap:anywhere}.customer-history-money{gap:10px 20px}.customer-history-money span{color:#5e6f82;font-size:12px}.customer-history-money strong{margin-left:4px;color:#173d67;font-size:14px}.customer-history-money .due,.customer-history-money .due strong{color:#a7473f}.customer-history-actions{padding-left:31px}.customer-history-ledger{margin-top:13px}.customer-history-ledger summary{display:inline-flex;align-items:center;min-height:32px;color:#24476d;font-size:13px;font-weight:800;cursor:pointer}.customer-history-ledger .customer-table-wrap{margin-top:8px}.customer-history-empty{margin:0;color:#64748b}.customer-actions{min-width:410px}
@media(max-width:680px){.customer-history-event{padding:14px 12px 14px 18px}.customer-history-event:not(:last-child)::before{left:25px}.customer-history-marker{top:17px;left:14px}.customer-history-event-head,.customer-history-facts,.customer-history-money,.customer-history-actions{padding-left:27px}.customer-history-event-head{display:grid;gap:6px}.customer-history-date{text-align:left;white-space:normal}.customer-history-facts,.customer-history-money{display:grid;gap:7px}.customer-history-actions .customer-booking-actions{min-width:0;flex-wrap:wrap}.customer-actions{min-width:400px}}

/* Ledger tables keep identifiers and date ranges intact; only their own wrapper scrolls. */
.customer-history-panel h3{display:flex;align-items:center;gap:7px}.customer-history-panel h3 .customer-action-icon{width:17px;height:17px;color:#d97706}.customer-ledger-table-wrap table{min-width:1210px}.customer-payment-table-wrap table{min-width:680px}.customer-booking-id,.customer-receipt-id,.customer-payment-date,.customer-travel-dates{white-space:nowrap}.customer-booking-id{min-width:148px}.customer-receipt-id{min-width:172px}.customer-payment-date{min-width:122px}.customer-travel-dates{min-width:215px;font-variant-numeric:tabular-nums}.customer-travel-dates span+span{margin-left:6px;color:#64748b}.customer-ledger-table th:nth-child(1){min-width:148px}.customer-ledger-table th:nth-child(3){min-width:215px}.customer-ledger-table th:nth-child(4){min-width:215px}.customer-ledger-table th:nth-child(6),.customer-ledger-table th:nth-child(7),.customer-ledger-table th:nth-child(8),.customer-payment-table th:last-child{min-width:132px;text-align:right}.customer-ledger-table .customer-money,.customer-payment-table .customer-money{text-align:right;letter-spacing:.01em}.customer-payment-table th:nth-child(1){min-width:172px}.customer-payment-table th:nth-child(2){min-width:148px}.customer-payment-table th:nth-child(3){min-width:122px}
@media(max-width:680px){.customer-history-panel .customer-table-wrap{margin-inline:-1px;border-radius:9px}.customer-ledger-table-wrap table{min-width:1120px}.customer-payment-table-wrap table{min-width:620px}}
