/* Caica customer registry + billing UI v2 */
.bill-intro-card{min-height:0}.bill-query-panel{padding:26px}.bill-search-head h2{margin:0;font-size:21px;color:#1d3028}.bill-search-head p{margin:6px 0 0;color:#819087;font-size:12px}.bill-search-form{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:10px;margin-top:18px}.bill-search-input-wrap{height:50px;border:1px solid #dbe4de;border-radius:14px;background:#fafcfb;display:flex;align-items:center;padding:0 15px;transition:.16s ease}.bill-search-input-wrap:focus-within{border-color:#87b8aa;box-shadow:0 0 0 3px rgba(21,150,124,.08);background:#fff}.bill-search-icon{font-size:23px;color:#0d775f;margin-right:10px;line-height:1}.bill-search-input{border:0;outline:0;background:transparent;width:100%;font-size:14px;color:#21342c}.bill-search-input::placeholder{color:#9ba8a1}.bill-search-submit{grid-column:auto;height:50px}
.bill-query-guide{margin-top:20px;min-height:118px;padding:22px;border:1px dashed #cfdcd5;border-radius:17px;background:linear-gradient(180deg,#fafcfb,#f5f9f7);display:flex;align-items:center;gap:15px}.bill-guide-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#e9f4ef;color:#0d775f;font-size:20px;font-weight:950}.bill-query-guide b{display:block;color:#21342c;font-size:15px}.bill-query-guide p{margin:6px 0 0;color:#829087;font-size:12px;line-height:1.7}.bill-query-empty .bill-guide-icon{background:#fff2e2;color:#9a6e1d}
.bill-result-summary{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:10px;margin-top:14px}.bill-result-summary>div{border:1px solid #e0e7e3;border-radius:15px;background:#fafcfb;padding:14px 15px}.bill-result-summary span{display:block;font-size:10px;color:#89968f;margin-bottom:5px}.bill-result-summary b{display:block;color:#163d33;font-size:15px;word-break:break-all}.bill-result-summary>div:last-child{background:linear-gradient(135deg,#0d775f,#0a6654);border-color:#0d775f}.bill-result-summary>div:last-child span{color:rgba(255,255,255,.68)}.bill-result-summary>div:last-child b{color:#f1dc9f;font-size:18px}
.bill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.bill-card{border:1px solid #dfe7e2;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfcfa);padding:18px;box-shadow:0 7px 20px rgba(28,60,49,.045)}.bill-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.bill-card-kicker{display:block;font-size:9px;letter-spacing:1px;color:#8d9a93;font-weight:900}.bill-card h3{margin:5px 0 0;font-size:17px;color:#1a3027;word-break:break-all}.bill-amount{text-align:right;white-space:nowrap}.bill-amount strong{display:block;font-size:25px;color:#0d775f;line-height:1}.bill-amount span{display:block;font-size:9px;color:#89968f;font-weight:900;margin-top:5px}.bill-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.bill-meta-grid>div{background:#f5f8f6;border:1px solid #e7ece9;border-radius:11px;padding:10px}.bill-meta-grid span,.bill-remark>span{display:block;font-size:9px;color:#8b9890;margin-bottom:4px}.bill-meta-grid b{display:block;font-size:11px;color:#40554b;word-break:break-all}.bill-remark{margin-top:12px;padding-top:12px;border-top:1px solid #edf1ee}.bill-remark p{margin:0;color:#52655c;font-size:12px;line-height:1.75;word-break:break-word}

/* Frontend customer identity block */
.bill-customer-result{margin-top:20px;padding:18px 20px;border-radius:18px;border:1px solid #cfe1d8;background:linear-gradient(135deg,#f7fbf9,#eef7f3);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:15px;align-items:center}.bill-customer-avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#0d775f,#159a7c);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:950;box-shadow:0 8px 18px rgba(13,119,95,.16)}.bill-customer-result-main>span{display:block;font-size:9px;color:#779087;font-weight:900;letter-spacing:.8px}.bill-customer-result-main h3{margin:4px 0 8px;color:#18392e;font-size:19px}.bill-customer-result-tags{display:flex;gap:6px;flex-wrap:wrap}.bill-customer-result-tags em{font-style:normal;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #dce8e2;color:#50665c;font-size:10px;font-weight:800}.bill-customer-result-total{text-align:right}.bill-customer-result-total span{display:block;font-size:9px;color:#809188}.bill-customer-result-total b{display:inline-block;margin-top:3px;color:#0d775f;font-size:24px;line-height:1}.bill-customer-result-total small{margin-left:4px;color:#7c8d84;font-size:9px;font-weight:900}

/* Admin */
.bill-admin-stats{grid-template-columns:repeat(3,1fr)}.bill-admin-stats-4{grid-template-columns:repeat(4,1fr)}.stat-card small{display:block;margin-top:3px;color:#8d9992;font-size:9px;font-weight:850}.bill-admin-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.bill-admin-remark{grid-column:1/-1}.bill-remark-editor{min-height:110px}.bill-list-title{align-items:flex-end}.bill-admin-search{display:grid;grid-template-columns:280px auto;gap:8px}.bill-admin-table{min-width:1180px}.bill-admin-amount{color:#0d775f}.bill-admin-table .table-info{max-width:330px}
.customer-profile-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.customer-save-btn{width:100%}.customer-profile-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #edf1ee}.customer-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #e0e8e3;border-radius:15px;background:linear-gradient(180deg,#fff,#fafcfb);padding:13px 14px;min-width:0}.customer-profile-card:hover{border-color:#bed8ce;box-shadow:0 7px 18px rgba(20,72,57,.06)}.customer-avatar{width:39px;height:39px;border-radius:12px;background:#e7f3ee;color:#0d775f;display:grid;place-items:center;font-size:15px;font-weight:950}.customer-profile-main{min-width:0}.customer-profile-title{font-size:13px;color:#1d332a;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-aliases{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.customer-aliases span{padding:3px 6px;border-radius:7px;background:#f1f5f2;color:#6d7d74;font-size:9px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-profile-stats{text-align:right;white-space:nowrap}.customer-profile-stats span{display:block;color:#89968f;font-size:9px}.customer-profile-stats b{display:block;margin-top:3px;color:#0d775f;font-size:11px}.customer-profile-actions{display:flex;gap:5px;align-items:center}.customer-empty{grid-column:1/-1;padding:22px;border:1px dashed #d7e1db;border-radius:13px;background:#fafcfb;text-align:center;color:#87958d;font-size:11px}
.bill-entry-panel{border-color:#d2e4dc}.bill-entry-grid{grid-template-columns:minmax(280px,1.7fr) minmax(140px,.6fr) minmax(160px,.7fr)}.bill-customer-select-wrap{min-width:0}.bill-customer-select{font-weight:800;color:#25473b}.bill-no-customer-tip{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff6e8;border:1px solid #f0dec0;color:#89671f;font-size:10px}.btn:disabled,.field:disabled{opacity:.55;cursor:not-allowed}

@media(max-width:1100px){.customer-profile-list{grid-template-columns:1fr}.bill-admin-stats-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.bill-list{grid-template-columns:1fr}.bill-admin-form-grid,.customer-profile-form{grid-template-columns:1fr 1fr}.bill-entry-grid{grid-template-columns:1fr 1fr}.bill-customer-select-wrap{grid-column:1/-1}.bill-admin-remark{grid-column:1/-1}.bill-list-title{align-items:stretch;flex-direction:column}.bill-admin-search{grid-template-columns:1fr auto;width:100%}.bill-customer-result{grid-template-columns:auto 1fr}.bill-customer-result-total{grid-column:1/-1;text-align:left;padding-top:12px;border-top:1px solid #dae7e1}}
@media(max-width:640px){.bill-query-panel{padding:14px}.bill-search-form{grid-template-columns:1fr}.bill-result-summary{grid-template-columns:1fr}.bill-meta-grid{grid-template-columns:1fr}.bill-admin-stats,.bill-admin-stats-4{grid-template-columns:1fr 1fr}.bill-admin-form-grid,.customer-profile-form,.bill-entry-grid{grid-template-columns:1fr}.bill-customer-select-wrap,.bill-admin-remark{grid-column:auto}.bill-admin-search{grid-template-columns:1fr}.bill-card-head{align-items:flex-start}.bill-amount strong{font-size:21px}.customer-profile-card{grid-template-columns:auto minmax(0,1fr)}.customer-profile-stats{grid-column:2;text-align:left}.customer-profile-actions{grid-column:1/-1;justify-content:flex-end}.bill-customer-result{grid-template-columns:1fr;text-align:left}.bill-customer-avatar{width:44px;height:44px}.bill-customer-result-total{grid-column:auto}}

/* ===== Billing compact horizontal v4 ===== */
.compact-bill-intro{padding:20px 24px!important;min-height:0!important}.compact-bill-intro .intro-title-row{margin-bottom:8px}.compact-bill-intro p{margin:0;max-width:760px}.compact-bill-panel{padding:18px!important}.compact-guide{min-height:84px!important;padding:16px!important;margin-top:14px!important}.compact-guide .bill-guide-icon{width:40px;height:40px;border-radius:12px}
.compact-customer-result{margin-top:14px;padding:12px 15px;border-radius:15px}.compact-customer-result .bill-customer-avatar{width:44px;height:44px;border-radius:13px;font-size:18px}.compact-customer-result .bill-customer-result-main h3{font-size:17px;margin:2px 0 6px}.compact-customer-result .bill-customer-result-total b{font-size:21px}
.bill-time-filter{display:grid;grid-template-columns:auto 170px auto 170px 150px auto auto;gap:8px;align-items:center;margin-top:12px;padding:10px 12px;border:1px solid #e0e8e3;border-radius:14px;background:#f7f9f7}.bill-filter-label{font-size:11px;font-weight:900;color:#566960;padding-right:4px}.bill-date-sep{font-size:11px;color:#89968f;text-align:center}.bill-time-filter .catalog-field{height:38px}.bill-time-filter .catalog-submit{height:38px}.bill-filter-reset{height:38px;padding:0 12px;border:1px solid #dce5df;border-radius:11px;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#64746c;font-size:11px;font-weight:850}
.compact-bill-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.compact-bill-summary>div{padding:10px 12px;border-radius:12px}.compact-bill-summary span{margin-bottom:3px}.compact-bill-summary b{font-size:13px}.compact-bill-summary>div:last-child b{font-size:15px}
.bill-list-horizontal{display:flex!important;flex-direction:column;gap:8px;margin-top:12px}.bill-row-card{display:grid!important;grid-template-columns:76px 130px minmax(240px,1fr) 96px 118px;gap:14px;align-items:center;padding:11px 14px!important;border-radius:13px!important;min-height:62px;box-shadow:none!important;background:#fff!important}.bill-row-card:hover{border-color:#bcd9ce;box-shadow:0 7px 18px rgba(28,60,49,.05)!important}.bill-row-id span,.bill-row-date span,.bill-row-remark span{display:block;font-size:8px;color:#9aa69f;letter-spacing:.5px;margin-bottom:3px}.bill-row-id b{font-size:12px;color:#1c352b}.bill-row-date b{font-size:11px;color:#43574d}.bill-row-remark{min-width:0}.bill-row-remark b{display:block;font-size:11px;color:#50635a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.bill-row-status{text-align:center}.bill-row-amount{text-align:right;white-space:nowrap}.bill-row-amount strong{font-size:18px;color:#0d775f}.bill-row-amount span{display:block;font-size:8px;color:#8e9b94;font-weight:900;margin-top:2px}.bill-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:10px;font-weight:950;white-space:nowrap}.bill-status-badge.settled{background:#e5f5ed;color:#0d775f;border:1px solid #c7e7d9}.bill-status-badge.unsettled{background:#fff4df;color:#9a6b15;border:1px solid #f1dfb6}
.bill-pager{display:flex;justify-content:center;gap:6px;margin-top:14px}.bill-pager a{min-width:32px;height:32px;padding:0 8px;border:1px solid #dfe7e2;border-radius:9px;background:#fff;display:grid;place-items:center;color:#66756d;font-size:11px;font-weight:850}.bill-pager a.active{background:#0d775f;color:#fff;border-color:#0d775f}
.bill-password-gate{margin-top:14px;border:1px solid #dce6e0;border-radius:16px;background:linear-gradient(180deg,#fbfcfb,#f5f8f6);padding:18px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(300px,420px);gap:14px;align-items:center}.bill-password-icon{width:44px;height:44px;border-radius:13px;background:#e7f3ee;display:grid;place-items:center;font-size:18px}.bill-password-copy b{display:block;color:#1d352b;font-size:14px}.bill-password-copy p{margin:5px 0 0;color:#839188;font-size:11px;line-height:1.6}.bill-password-form{display:grid;grid-template-columns:1fr auto;gap:8px}.bill-password-form .catalog-field,.bill-password-form .catalog-submit{height:40px}.bill-password-error{grid-column:2/-1;color:#b64254;background:#fff0f2;border:1px solid #ffd7dd;border-radius:9px;padding:7px 9px;font-size:10px}

/* admin password / settlement / bulk */
.customer-profile-form-password{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}.bill-clear-password{grid-column:1/-2;display:flex;align-items:center;gap:7px;color:#7b8981;font-size:10px;margin-top:-2px}.customer-password-badge{background:#fff4df!important;color:#8d671c!important;border:1px solid #efddb6}.bill-entry-grid-status{grid-template-columns:minmax(260px,1.7fr) minmax(130px,.55fr) minmax(150px,.65fr) minmax(130px,.55fr)}
.bill-admin-filterbar{display:grid;grid-template-columns:minmax(260px,1.5fr) 160px 160px 150px auto auto;gap:8px;margin-bottom:10px}.bill-admin-filterbar .field,.bill-admin-filterbar .btn{height:38px}.bill-bulk-toolbar{min-height:42px;padding:7px 9px;margin-bottom:9px;border:1px solid #e1e8e4;border-radius:12px;background:#f7f9f7;display:flex;align-items:center;gap:12px}.bill-check-all{display:flex;align-items:center;gap:6px;font-size:10px;color:#5c6e64;font-weight:850}.bill-selected-count{font-size:10px;color:#85928b}.bill-selected-count b{color:#0d775f}.bill-bulk-actions{margin-left:auto;display:flex;gap:7px}.bill-check-col{width:38px;text-align:center!important}.bill-row-check,#billCheckAll,#billCheckAllHead{width:15px;height:15px;accent-color:#0d775f}.bill-admin-row:has(.bill-row-check:checked){background:#f1f8f5}.bill-admin-table{min-width:1300px}

@media(max-width:1100px){.bill-time-filter{grid-template-columns:auto 1fr auto 1fr 140px auto}.bill-filter-reset{grid-column:1/-1}.bill-password-gate{grid-template-columns:auto 1fr}.bill-password-form,.bill-password-error{grid-column:1/-1}.customer-profile-form-password{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-entry-grid-status{grid-template-columns:1fr 1fr}.bill-customer-select-wrap{grid-column:1/-1}.bill-admin-filterbar{grid-template-columns:1fr 1fr 1fr}.bill-admin-filterbar .btn{width:100%}}
@media(max-width:820px){.bill-row-card{grid-template-columns:70px 110px minmax(150px,1fr) 90px 105px;gap:9px}.bill-time-filter{grid-template-columns:1fr 1fr}.bill-filter-label{grid-column:1/-1}.bill-date-sep{display:none}.bill-time-filter select,.bill-time-filter .catalog-submit,.bill-filter-reset{grid-column:auto}.bill-password-gate{grid-template-columns:1fr}.bill-password-icon{display:none}.bill-admin-filterbar{grid-template-columns:1fr 1fr}.bill-bulk-toolbar{align-items:flex-start;flex-wrap:wrap}.bill-bulk-actions{width:100%;margin-left:0}}
@media(max-width:640px){.compact-bill-panel{padding:12px!important}.bill-search-form{grid-template-columns:1fr}.bill-time-filter{grid-template-columns:1fr}.bill-filter-label,.bill-time-filter select,.bill-time-filter .catalog-submit,.bill-filter-reset{grid-column:auto}.compact-bill-summary{grid-template-columns:1fr 1fr}.compact-bill-summary>div:last-child{grid-column:1/-1}.bill-row-card{grid-template-columns:1fr auto!important;gap:7px 10px;padding:11px!important}.bill-row-id{grid-column:1}.bill-row-date{grid-column:1}.bill-row-remark{grid-column:1/-1;order:4;padding-top:7px;border-top:1px solid #edf1ee}.bill-row-status{grid-column:2;grid-row:1;text-align:right}.bill-row-amount{grid-column:2;grid-row:2;text-align:right}.bill-password-form{grid-template-columns:1fr}.bill-admin-filterbar{grid-template-columns:1fr}.customer-profile-form-password,.bill-entry-grid-status{grid-template-columns:1fr}.bill-clear-password{grid-column:auto}.bill-bulk-actions{flex-direction:column}.bill-bulk-actions .btn{width:100%}}

/* ===== customer editor usability fix ===== */
#customer-editor{scroll-margin-top:18px}
.customer-edit-notice{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-2px 0 14px;padding:10px 12px;border:1px solid #cfe4db;border-radius:12px;background:#f0f8f4;color:#315e50;font-size:11px}
.customer-edit-notice b{color:#0d775f;font-size:12px}.customer-edit-notice span{color:#7d8e85}
.password-state-badge{display:inline-flex;align-items:center;margin-left:5px;padding:2px 6px;border-radius:999px;background:#e7f4ee;color:#0d775f;font-size:9px;font-weight:900;vertical-align:middle}
.customer-edit-btn{border-color:#b9d8cc!important;background:#edf7f2!important;color:#0d775f!important;font-weight:900!important}
.customer-edit-btn:hover{background:#e1f1e9!important}
.customer-profile-card:has(.customer-edit-btn[href*="edit_customer="]){position:relative}
@media(max-width:640px){.customer-edit-notice{align-items:flex-start;flex-direction:column;gap:3px}}
