@charset "UTF-8";
:root{--bg:#f5f1e9;--panel:#fffdf9;--text:#1e1d1a;--muted:#777066;--line:#e5ddd0;--accent:#bd6c3f;--accent-dark:#8f4928;--success:#2f7d55;--danger:#b84444;--warning:#b27618;--shadow:0 14px 40px rgba(68,48,28,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#191815;color:#fff;padding:28px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;margin:0 8px 36px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid #e4cbb8;border-radius:50%;font-family:Georgia,serif;font-size:26px;color:#e5b08d}.brand strong{display:block;letter-spacing:.16em}.brand small{display:block;color:#a9a399;margin-top:3px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{padding:12px 14px;border-radius:12px;color:#c6c0b7;text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{background:#2a2823;color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid #37342e;padding:20px 12px 0;display:flex;justify-content:space-between;color:#aaa399;font-size:13px}.sidebar-footer strong{color:#e5b08d}.main{margin-left:246px;padding:38px 42px 60px;max-width:1800px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.eyebrow{margin:0 0 7px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.2em}.topbar h1,.profile-main h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500}.topbar h1{font-size:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);text-decoration:none;font-weight:700;cursor:pointer;transition:.15s ease;white-space:nowrap}.button:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(34,28,21,.08)}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.small{min-height:34px;padding:0 12px;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.stat-card,.panel,.profile-card,.note-box,.warning-box,.info-card{background:var(--panel);border:1px solid rgba(210,198,180,.72);border-radius:18px;box-shadow:var(--shadow)}.stat-card{padding:24px}.stat-card span,.stat-card small{color:var(--muted)}.stat-card strong{display:block;font-family:Georgia,serif;font-size:42px;font-weight:500;margin:10px 0 3px}.stat-card .money-stat{font-size:28px;margin-top:18px}.two-column{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.dashboard-columns{align-items:start}.panel{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:18px}.panel-head h2,.section-title h2{font-family:Georgia,serif;font-weight:500;margin:0}.panel-head a{color:var(--accent-dark);font-weight:700;text-decoration:none}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th{text-align:left;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:12px;border-bottom:1px solid var(--line);background:#fffdf9}td{padding:14px 12px;border-bottom:1px solid #eee7dd;vertical-align:top}td a{color:var(--accent-dark);font-weight:700;text-decoration:none}td small,.customer-link small{display:block;color:var(--muted);margin-top:5px}.badge{display:inline-block;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.badge.success{background:#e4f3e9;color:var(--success)}.badge.danger{background:#f9e5e5;color:var(--danger)}.badge.neutral{background:#eee9e1;color:#625e57}.activity-list{display:grid}.activity-item{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #eee7dd}.activity-item:last-child{border-bottom:0}.activity-item p,.activity-item small{color:var(--muted);margin:4px 0 0}.activity-title,.timeline-head{display:flex;justify-content:space-between;gap:20px}.activity-title span,.timeline-head span{font-size:12px;color:var(--muted)}.flash{padding:13px 16px;border-radius:12px;margin-bottom:18px;font-weight:700}.flash.success{background:#e4f3e9;color:var(--success)}.flash.error{background:#f9e5e5;color:var(--danger)}.search,.filters,.actions{display:flex;gap:10px;align-items:center}.search{flex:1}.search input{max-width:620px}.form-stack{display:grid;gap:18px}.form-section{padding:24px}.form-section.compact-section{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-title{margin-bottom:20px}.section-title small{display:block;color:var(--muted);margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid.three-cols{grid-template-columns:repeat(3,1fr)}.form-grid label,.crew-group label,.cost-group label,.filter-grid label{display:grid;gap:8px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.search input,.filters select,.crew-group input,.cost-group input,.filter-grid input{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 13px;font:inherit;color:var(--text)}.form-grid textarea{resize:vertical}.full{grid-column:1/-1}.span-2{grid-column:span 2}.checkbox,.radio{display:flex!important;align-items:center;gap:10px!important;font-weight:600!important}.checkbox input,.radio input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}.context-banner{padding:13px 15px;background:#f2ece3;border-radius:12px;color:#5e574e;margin-bottom:18px}.hint{padding:13px 15px;background:#f2ece3;border-radius:12px;color:#5e574e}.privacy-note{padding:14px 16px;margin-bottom:18px;border-left:4px solid var(--accent);background:#fff5ea;border-radius:10px;color:#6d4c35}.profile-card{padding:24px;display:flex;align-items:center;gap:18px;margin-bottom:18px}.avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#ead8c7;color:var(--accent-dark);font-family:Georgia,serif;font-size:28px;flex:0 0 auto}.profile-main{flex:1}.profile-main h2{font-size:28px}.profile-main p:last-child{color:var(--muted);margin:6px 0 0}.customer-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.info-card{padding:20px}.info-card h3{margin:0 0 8px;font-family:Georgia,serif;font-weight:500;font-size:22px}.info-card p{margin:0 0 8px}.info-card small{color:var(--muted);line-height:1.5}.service-list{display:grid;gap:16px}.service-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.service-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.service-card-head h3{margin:8px 0 5px;font-family:Georgia,serif;font-size:24px;font-weight:500}.service-card-head p{margin:0;color:var(--muted)}.service-meta{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:18px 0}.service-meta div{padding:12px;background:#f8f4ee;border-radius:10px;min-width:0}.service-meta span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.service-meta strong{font-size:13px;overflow-wrap:anywhere}.internal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.internal-grid p{margin:0;padding:10px;background:#f7f3ed;border-radius:9px}.log-panel{margin-top:20px}.empty{text-align:center;color:var(--muted);padding:30px!important}details summary{cursor:pointer;color:var(--accent-dark);font-weight:700}pre{white-space:pre-wrap;background:#f4efe8;padding:12px;border-radius:10px;font-family:inherit}.provider{font-size:12px!important}.customer-link{display:block}.detailed .activity-item>div{min-width:0;flex:1}.crew-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:16px}.crew-group,.cost-group{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.crew-group h3,.cost-group h3{font-family:Georgia,serif;font-weight:500;margin:0 0 14px}.crew-group label,.cost-group label{margin-top:12px}.cost-groups{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:16px}.calculation-bar{display:flex;justify-content:flex-end;gap:28px;margin-top:16px;padding:14px 16px;background:#f2ece3;border-radius:12px}.calculation-bar strong{color:var(--accent-dark)}.filter-panel{margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:150px 150px minmax(220px,1fr) minmax(220px,1fr) auto;gap:14px;align-items:end}.filter-actions{display:flex;gap:8px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:stretch;margin-bottom:16px}.summary-strip>div{padding:15px 17px;border-radius:13px;background:#fff;border:1px solid var(--line)}.summary-strip span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.summary-strip strong{font-family:Georgia,serif;font-size:20px;font-weight:500}.summary-strip>.button{height:100%}.wide-panel{padding:0;overflow:hidden}.wide-table-wrap{overflow:auto;max-height:70vh}.schedule-table{min-width:2450px}.schedule-table th,.schedule-table td{border-right:1px solid #eee7dd}.schedule-table thead th{position:sticky;top:0;z-index:3;background:#fffdf9}.schedule-table thead .group-row th{top:0;text-align:center;color:#302c27;font-size:10px}.schedule-table thead tr:nth-child(2) th{top:39px;z-index:2}.group-customer{background:#f4c15d!important}.group-service{background:#8fd5c9!important}.group-crew{background:#efaaa3!important}.group-payment{background:#dcefa0!important}.group-cost{background:#f1d18a!important}.schedule-table tbody tr:hover{background:#fffaf3}.schedule-table .conflict-row{background:#fff3f3}.schedule-table td{font-size:12px;max-width:180px}.action-cell{position:sticky;right:0;background:#fffdf9;min-width:110px}.action-cell a{display:block;margin-bottom:7px}.schedule-cards,.payment-list{display:grid}.schedule-card,.payment-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #eee7dd;color:inherit;text-decoration:none}.schedule-card:last-child,.payment-item:last-child{border-bottom:0}.date-tile{width:58px;height:58px;border-radius:12px;background:#f0dfcf;display:grid;place-items:center;align-content:center;flex:0 0 auto}.date-tile strong{font-family:Georgia,serif;font-size:24px;line-height:1}.date-tile span{font-size:11px;color:var(--muted);margin-top:4px}.schedule-card-main{flex:1;min-width:0}.schedule-card-main p,.schedule-card-main small,.payment-item p,.payment-item small{margin:4px 0 0;color:var(--muted)}.payment-item{justify-content:space-between}.amount-right{text-align:right}.amount-right small{display:block}.notification-panel{max-width:900px}.money-grid input{text-align:right}
@media(max-width:1250px){.service-meta{grid-template-columns:repeat(3,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}.filter-actions{grid-column:1/-1;justify-content:flex-end}.summary-strip{grid-template-columns:repeat(2,1fr)}.summary-strip>.button{grid-column:1/-1}.crew-grid,.cost-groups{grid-template-columns:1fr 1fr}.crew-grid .crew-group:last-child,.cost-groups .cost-group:last-child{grid-column:1/-1}}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.profile-card{align-items:flex-start;flex-wrap:wrap}.profile-card .actions{width:100%}.customer-info-grid{grid-template-columns:1fr}.form-grid.three-cols{grid-template-columns:1fr 1fr}.service-meta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{position:static;width:auto;height:auto;padding:18px}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar-footer{display:none}.brand{margin-bottom:18px}.main{margin-left:0;padding:24px 16px}.topbar{align-items:flex-start;gap:16px}.topbar h1{font-size:28px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:18px}.stat-card strong{font-size:34px}.form-grid,.form-grid.three-cols{grid-template-columns:1fr}.full,.span-2{grid-column:auto}.stack-mobile{align-items:stretch;flex-direction:column}.search,.filters,.actions{flex-wrap:wrap}.profile-card .actions{display:grid;grid-template-columns:1fr 1fr}.profile-card .actions .primary{grid-column:1/-1}.crew-grid,.cost-groups{grid-template-columns:1fr}.crew-grid .crew-group:last-child,.cost-groups .cost-group:last-child{grid-column:auto}.service-card-head{flex-direction:column}.service-meta,.internal-grid{grid-template-columns:1fr}.form-section.compact-section{align-items:stretch;flex-direction:column}.calculation-bar{justify-content:flex-start;flex-direction:column;gap:8px}.filter-grid{grid-template-columns:1fr}.filter-actions{grid-column:auto}.summary-strip{grid-template-columns:1fr}.summary-strip>.button{grid-column:auto}.sidebar nav a{text-align:center;font-size:13px;padding:10px 8px}}
@media(max-width:460px){.stats-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}.topbar{flex-direction:column}.topbar .button{width:100%}.profile-card .actions{grid-template-columns:1fr}.profile-card .actions .primary{grid-column:auto}.form-actions{flex-direction:column}.form-actions .button{width:100%}}

/* v3: monthly finance and optimized operations */
.month-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px}.month-toolbar>strong{font-family:Georgia,serif;font-size:22px;font-weight:500;margin-right:auto}.month-picker label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700}.month-picker input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;font:inherit}.month-arrow{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--accent-dark);text-decoration:none;font-size:20px}.toolbar-actions{display:flex;gap:10px}.finance-stats .stat-card,.compact-stats .stat-card{position:relative;overflow:hidden}.finance-stats .stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#c3b8a8}.finance-stats .income-card:before{background:var(--success)}.finance-stats .expense-card:before{background:var(--danger)}.finance-stats .profit-card:before{background:var(--accent)}.compact-stats .stat-card strong{font-size:27px}.compact-stats .stat-card{padding:19px}.income-text{color:var(--success)!important}.expense-text{color:var(--danger)!important}.six-summary{grid-template-columns:repeat(6,minmax(135px,1fr)) auto}.optimized-table{min-width:3300px}.optimized-table td{max-width:210px}.finance-meta{background:#fbf8f2;padding:12px;border-radius:14px}.finance-columns{grid-template-columns:1fr 1fr;margin-bottom:20px}.finance-filter input,.finance-filter select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 12px;font:inherit}.category-list{display:grid}.category-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #eee7dd}.category-list>div:last-child{border-bottom:0}.chart-panel{margin-bottom:20px}.chart-legend{display:flex;gap:14px;color:var(--muted);font-size:12px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-in{background:#74aa8c}.legend-out{background:#d78787}.bar-chart{height:230px;display:grid;grid-template-columns:repeat(12,1fr);gap:10px;align-items:end;border-bottom:1px solid var(--line);padding:14px 8px 0}.bar-month{height:100%;display:grid;grid-template-rows:1fr 26px;text-align:center;text-decoration:none;color:var(--muted);border-radius:10px 10px 0 0}.bar-month:hover,.bar-month.active{background:#f4eee6}.bars{height:100%;display:flex;align-items:end;justify-content:center;gap:4px;padding:0 5px}.bar{display:block;width:min(15px,42%);min-height:2px;border-radius:5px 5px 0 0}.income-bar{background:#74aa8c}.expense-bar{background:#d78787}.bar-month small{padding-top:6px;font-weight:700}.row-actions{white-space:nowrap}.row-actions form{display:inline}.link-button{border:0;background:none;padding:0;margin-left:9px;font:inherit;font-weight:700;cursor:pointer}.danger-link{color:var(--danger)}.direction-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:520px;margin-bottom:22px}.direction-option input{position:absolute;opacity:0;pointer-events:none}.direction-option span{display:block;padding:15px 18px;border:1px solid var(--line);border-radius:12px;text-align:center;font-weight:800;cursor:pointer;background:#fff}.income-option input:checked+span{border-color:#8ab79c;background:#eaf5ee;color:var(--success)}.expense-option input:checked+span{border-color:#dc9b9b;background:#fbecec;color:var(--danger)}.extended-costs{grid-template-columns:repeat(4,1fr)}
@media(max-width:1450px){.six-summary{grid-template-columns:repeat(3,1fr)}.six-summary>.button{grid-column:1/-1}.extended-costs{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.month-toolbar{flex-wrap:wrap}.month-toolbar>strong{order:-1;width:100%;margin:0}.toolbar-actions{width:100%}.toolbar-actions .button{flex:1}.finance-columns{grid-template-columns:1fr}.bar-chart{gap:5px}.extended-costs{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.month-toolbar{align-items:stretch}.month-picker{flex:1}.month-picker label{display:grid}.month-picker input{width:100%}.month-toolbar>strong{font-size:20px}.toolbar-actions{display:grid}.six-summary{grid-template-columns:1fr}.finance-filter{display:grid;width:100%}.direction-switch{grid-template-columns:1fr}.bar-chart{height:180px;overflow-x:auto;grid-template-columns:repeat(12,52px)}.extended-costs{grid-template-columns:1fr}}

/* v4: review navigation, live money formatting and crew payable report */
.page-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffdf9}.page-nav span{color:var(--muted);font-size:13px;margin-left:auto}.page-nav .button{padding:10px 14px}.button.ghost{background:transparent}.review-nav{border-color:#d7b693;background:#fff8ef}.info-note{margin:0 0 16px;padding:13px 15px;border:1px solid #d9c7ae;border-radius:12px;background:#fff9ef;color:#5f5549;font-size:13px;line-height:1.55}.compact-note{margin:0 0 16px}.payable-panel{margin-bottom:20px}.payable-totals{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end}.payable-totals span{display:grid;gap:3px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.payable-totals span,.payable-totals strong{font-size:13px}.date-chip{display:inline-block;margin:2px 4px 2px 0;padding:4px 7px;border-radius:999px;background:#f2ece3;white-space:nowrap;font-size:11px}.payable-details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.payable-details summary{cursor:pointer;font-weight:800;color:var(--accent-dark);margin-bottom:12px}.payable-details table{min-width:1250px}.money-input{font-variant-numeric:tabular-nums}
@media(max-width:760px){.page-nav{align-items:stretch}.page-nav .button{width:100%;text-align:center}.page-nav span{margin-left:0}.payable-totals{width:100%;display:grid;grid-template-columns:1fr}.payable-totals span{display:flex;justify-content:space-between}}

/* v5: unlimited practical money entry and priority-first customer/service views */
.group-priority{background:#f4c15d!important}.priority-table{min-width:2550px}.priority-table th:nth-child(1),.priority-table td:nth-child(1){min-width:135px}.priority-table th:nth-child(2),.priority-table td:nth-child(2){min-width:190px}.priority-table th:nth-child(3),.priority-table td:nth-child(3){min-width:125px}.priority-table th:nth-child(4),.priority-table td:nth-child(4){min-width:125px}.priority-table th:nth-child(5),.priority-table td:nth-child(5){min-width:280px}.priority-table th:nth-child(6),.priority-table td:nth-child(6){min-width:260px}.priority-crew span{display:block;margin-bottom:5px;line-height:1.35}.priority-crew span:last-child{margin-bottom:0}.priority-crew b{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.03em}.priority-address{line-height:1.45}.customer-overview-wrap{max-height:72vh}.customer-overview-table{min-width:1850px}.customer-overview-table th:nth-child(1),.customer-overview-table td:nth-child(1){min-width:145px}.customer-overview-table th:nth-child(2),.customer-overview-table td:nth-child(2){min-width:205px}.customer-overview-table th:nth-child(3),.customer-overview-table td:nth-child(3){min-width:130px}.customer-overview-table th:nth-child(4),.customer-overview-table td:nth-child(4){min-width:125px}.customer-overview-table th:nth-child(5),.customer-overview-table td:nth-child(5){min-width:285px}.customer-overview-table th:nth-child(6),.customer-overview-table td:nth-child(6){min-width:260px}.customer-overview-table thead th{position:sticky;top:0;z-index:2}.customer-overview-table .row-actions a{display:block;margin:0 0 7px}.money-input{letter-spacing:.02em}


/* v6: denser quick-view schedule and compact bottom-right actions */
.priority-table{min-width:2480px}
.priority-table th:nth-child(1),.priority-table td:nth-child(1){min-width:130px}
.priority-table th:nth-child(2),.priority-table td:nth-child(2){min-width:180px}
.priority-table th:nth-child(3),.priority-table td:nth-child(3){min-width:245px}
.priority-table th:nth-child(4),.priority-table td:nth-child(4){min-width:145px}
.priority-table th:nth-child(5),.priority-table td:nth-child(5){min-width:175px}
.priority-table th:nth-child(6),.priority-table td:nth-child(6){min-width:275px}
.priority-contact strong{white-space:nowrap}
.priority-datetime strong{display:block;margin-bottom:7px}
.priority-datetime .time-line{display:block;margin-top:3px;color:var(--muted);font-size:11px;white-space:nowrap}
.priority-datetime .time-line b{color:var(--text);font-size:10px;text-transform:uppercase;letter-spacing:.03em}
.compact-action-head{width:64px;min-width:64px;padding:0!important}
.action-cell.compact-actions{min-width:64px;width:64px;padding:5px 6px;vertical-align:bottom;text-align:right;background:rgba(255,253,249,.96)}
.compact-action-links{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.compact-action-links a{display:inline!important;margin:0!important;padding:1px 0;font-size:10px;line-height:1.15;font-weight:700;white-space:nowrap}
.compact-action-links a:not(:last-child):after{content:""}
@media(max-width:760px){.compact-action-head{width:58px;min-width:58px}.action-cell.compact-actions{min-width:58px;width:58px}}

/* v6 refinement: actions live inside the bottom-right finance cell, using no extra column */
.cash-action-cell{min-width:135px;vertical-align:bottom!important;text-align:right}
.cash-action-cell>strong{display:block;margin-bottom:10px;white-space:nowrap}
.cash-action-cell .compact-action-links{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-direction:row}
.cash-action-cell .compact-action-links a{display:inline!important;margin:0!important;padding:0;font-size:9px;line-height:1.1;font-weight:800;white-space:nowrap}
.cash-action-cell .compact-action-links a+a:before{content:"·";display:inline-block;margin-right:7px;color:var(--muted)}

/* v8: compact crew payments and automatic settlement states */
.badge.warning{background:#fff0cf;color:var(--warning)}
.payment-status-cell .badge{display:block;width:max-content;margin-top:7px}
.payment-status-cell form{display:inline-block;margin-top:5px}
.micro-action{border:0;background:none;color:var(--accent-dark);font:inherit;font-size:10px;font-weight:800;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.compact-payable-panel{padding:18px 20px;margin-bottom:20px}
.compact-payable-head{margin-bottom:12px;align-items:flex-start}
.compact-payable-head h2{font-size:25px}
.compact-payable-head small{display:block;color:var(--muted);margin-top:5px;font-size:12px}
.compact-totals{gap:8px}
.compact-totals span{padding:7px 10px;min-width:112px}
.compact-totals span,.compact-totals strong{font-size:12px}
.compact-staff-table{min-width:780px}
.compact-staff-table th,.compact-staff-table td{padding:10px 11px}
.compact-staff-table td:nth-child(1){width:150px}
.compact-staff-table td:nth-child(2){min-width:270px}
.compact-staff-table td:nth-child(3),.compact-staff-table td:nth-child(4){white-space:nowrap;width:125px}
.staff-status-cell{width:175px}
.staff-status-cell small{margin-top:5px}
.compact-details{margin-top:10px;padding-top:10px}
.compact-details summary{margin-bottom:8px;font-size:12px}
.staff-detail-table{min-width:900px!important}
.staff-detail-table th,.staff-detail-table td{padding:9px 10px}
.staff-pay-action{text-align:right;white-space:nowrap}
.staff-pay-action form{display:inline}
.paid-check{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e4f3e9;color:var(--success);font-weight:900}
.service-meta form{margin-top:6px}
@media(max-width:760px){.compact-payable-panel{padding:14px}.compact-payable-head h2{font-size:22px}.compact-totals span{min-width:0}.payment-status-cell .badge{white-space:normal}}

/* v9: three event slots, zero-scroll quick schedule, simple crew settlement */
.readonly-input{background:#f2eee7!important;color:#6b645a!important;cursor:not-allowed}.compact-contract-section .section-title{margin-bottom:14px}.event-form-card{padding:20px}.optional-event{border-style:dashed}.event-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.event-card-head .section-title{margin-bottom:14px}.required-chip{padding:5px 9px;border-radius:999px;background:#fff0cf;color:var(--warning);font-size:10px;font-weight:800}.event-basic-grid{display:grid;grid-template-columns:1.2fr .8fr .75fr .75fr 1.5fr;gap:12px}.event-basic-grid label,.event-crew-item label{display:grid;gap:6px;font-weight:700;font-size:12px}.event-basic-grid input,.event-basic-grid select,.event-crew-item input{width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 11px;font:inherit;color:var(--text)}.event-venue{min-width:0}.event-crew-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:16px 0 10px;padding-top:14px;border-top:1px solid var(--line)}.event-crew-title small{color:var(--muted);font-size:11px}.event-crew-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.event-crew-item{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}.event-crew-item label+label{margin-top:8px}.photobooth-item{background:#f4fbf8}.money-grid small,.compact-contract-section small{color:var(--muted);font-size:10px}

.compact-month-toolbar{margin-bottom:12px}.quick-filter-panel{padding:14px 16px;margin-bottom:12px}.quick-filter-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto;gap:10px;align-items:end}.quick-filter-grid label{display:grid;gap:6px;font-size:11px;font-weight:700}.quick-filter-grid input{width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 11px;font:inherit}.schedule-quick-list{display:grid;gap:10px}.schedule-quick-card{background:var(--panel);border:1px solid rgba(210,198,180,.82);border-radius:15px;box-shadow:0 8px 24px rgba(68,48,28,.055);overflow:hidden}.quick-info-grid{display:grid;grid-template-columns:.82fr 1.05fr .9fr 1.45fr 1.06fr 1.42fr}.quick-cell{padding:12px 13px;border-right:1px solid #eee7dd;min-width:0}.quick-cell:last-child{border-right:0}.quick-cell>span,.quick-detail-grid span,.job-detail-card span,.customer-event-card span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:5px}.quick-cell strong{display:block;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.quick-cell a{text-decoration:none;color:var(--accent-dark)}.quick-cell small{display:block;color:var(--muted);font-size:10px;line-height:1.35;margin-top:3px;overflow-wrap:anywhere}.quick-address strong,.quick-address small{white-space:normal;word-break:break-word}.quick-contact strong{white-space:nowrap}.quick-crew small b{color:var(--text)}.quick-card-footer{display:flex;align-items:flex-end;gap:14px;padding:8px 12px;border-top:1px solid #eee7dd;background:#fbf8f3}.quick-service-label{min-width:0}.quick-service-label strong{display:block;font-size:11px}.quick-service-label small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.quick-payment-state{display:flex;align-items:center;gap:7px;margin-left:auto}.quick-payment-state small{color:var(--muted);font-size:9px}.quick-actions{display:flex;align-items:center;gap:7px}.quick-actions a{font-size:9px;font-weight:800;color:var(--accent-dark);text-decoration:none;white-space:nowrap}.quick-actions a+a:before{content:'·';color:var(--muted);margin-right:7px}.quick-detail{border-top:1px solid #eee7dd;padding:0 12px;background:#fff}.quick-detail summary{padding:8px 0;font-size:10px}.quick-detail-grid{display:grid;grid-template-columns:repeat(8,minmax(100px,1fr));gap:8px;padding:0 0 10px}.quick-detail-grid>div{padding:8px;background:#f7f3ed;border-radius:8px;min-width:0}.quick-detail-grid strong{font-size:11px;overflow-wrap:anywhere}.quick-detail-grid form{margin-top:4px}

.simple-staff-table{min-width:650px}.simple-staff-table th,.simple-staff-table td{padding:10px 12px}.simple-staff-table td:nth-child(1){width:28%}.simple-staff-table td:nth-child(2){width:20%}.simple-staff-table td:nth-child(3){width:27%}.simple-staff-table td:nth-child(4){width:25%}.staff-paid-row{background:#eaf6ee}.staff-paid-row:hover{background:#e1f2e7}.staff-partial-row{background:#fff8e8}.staff-state-select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 10px;font:inherit;font-size:11px;font-weight:800;min-width:145px}.staff-state-select.is-paid{border-color:#8ab79c;background:#dff1e5;color:var(--success)}.job-detail-list{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.job-detail-list>summary{font-size:12px}.job-detail-grid{display:grid;gap:7px;margin-top:10px}.job-detail-card{display:grid;grid-template-columns:1.5fr 1fr .9fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.job-detail-card.paid-job{background:#eaf6ee;border-color:#c9e4d2}.job-detail-card.partial-job{background:#fff8e8}.job-detail-card strong{display:block;font-size:12px}.job-detail-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.job-detail-action{text-align:right}.customer-event-list{display:grid;gap:8px;margin:14px 0}.customer-event-card{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#faf7f2}.customer-event-card strong{display:block;font-size:13px}.customer-event-card small{display:block;color:var(--muted);font-size:10px;margin-top:4px;overflow-wrap:anywhere}

@media(max-width:1400px){.event-basic-grid{grid-template-columns:1.2fr .8fr .75fr .75fr}.event-venue{grid-column:1/-1}.event-crew-grid{grid-template-columns:repeat(3,1fr)}.quick-info-grid{grid-template-columns:.8fr 1fr .86fr 1.25fr 1fr 1.25fr}.quick-cell{padding:10px}.quick-detail-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1100px){.event-crew-grid{grid-template-columns:1fr 1fr}.quick-info-grid{grid-template-columns:repeat(3,1fr)}.quick-cell:nth-child(3){border-right:0}.quick-cell:nth-child(-n+3){border-bottom:1px solid #eee7dd}.quick-filter-grid{grid-template-columns:1fr 1fr}.quick-filter-grid .filter-actions{grid-column:1/-1}.job-detail-card{grid-template-columns:1.3fr 1fr 1fr}.job-detail-action{grid-column:1/-1}.customer-event-card{grid-template-columns:1fr}}
@media(max-width:760px){.event-basic-grid,.event-crew-grid,.quick-filter-grid{grid-template-columns:1fr}.event-venue,.quick-filter-grid .filter-actions{grid-column:auto}.event-card-head,.event-crew-title{display:block}.event-crew-title small{display:block;margin-top:5px}.quick-info-grid{grid-template-columns:1fr 1fr}.quick-cell{border-bottom:1px solid #eee7dd}.quick-cell:nth-child(odd){border-right:1px solid #eee7dd}.quick-cell:nth-child(even){border-right:0}.quick-card-footer{flex-wrap:wrap}.quick-payment-state{margin-left:0}.quick-actions{margin-left:auto}.quick-detail-grid{grid-template-columns:1fr 1fr}.job-detail-card{grid-template-columns:1fr}.job-detail-action{text-align:left}.simple-staff-table{min-width:560px}}

/* v10: package/note per event, split arrival time, compact save-only action */
.compact-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px}
.v10-event-grid{grid-template-columns:1fr 1.15fr .82fr 1fr .9fr 1.45fr}
.v10-event-grid .event-note{grid-column:1/-1}
.v10-event-grid textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 11px;font:inherit;color:var(--text);resize:vertical}
.split-time-selects{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.split-time-selects select{min-width:0}
.notification-panel .form-actions{flex-wrap:wrap}
@media(max-width:1450px){.v10-event-grid{grid-template-columns:1fr 1.15fr .82fr 1fr .9fr}.v10-event-grid .event-venue{grid-column:1/-1}}
@media(max-width:900px){.compact-contract-grid,.v10-event-grid{grid-template-columns:1fr 1fr}.v10-event-grid .event-venue,.v10-event-grid .event-note{grid-column:1/-1}}
@media(max-width:620px){.compact-contract-grid,.v10-event-grid{grid-template-columns:1fr}.v10-event-grid .event-venue,.v10-event-grid .event-note{grid-column:auto}.split-time-selects{grid-template-columns:1fr 1fr}}

/* v11: dedicated Photobooth schedule, compact crew payment, persistent navigation */
.topbar-actions{display:flex;align-items:center;gap:10px}
.v11-event-grid{grid-template-columns:1fr 1.15fr .82fr 1fr 1fr 1.45fr}
.v11-event-grid .event-note{grid-column:1/-1}
.v11-event-grid textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 11px;font:inherit;color:var(--text);resize:vertical}
.standard-crew-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.photobooth-event-card{border-color:#a9d8ca;background:#fbfffd}
.photobooth-crew-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
.job-detail-card{grid-template-columns:1.55fr 1fr .9fr}
.simple-staff-table td:nth-child(2){min-width:90px;width:12%}
.simple-staff-table td:nth-child(1){width:30%}
.simple-staff-table td:nth-child(3){width:28%}
.simple-staff-table td:nth-child(4){width:30%}
@media(max-width:1450px){.v11-event-grid{grid-template-columns:1fr 1.15fr .82fr 1fr 1fr}.v11-event-grid .event-venue{grid-column:1/-1}.standard-crew-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.v11-event-grid{grid-template-columns:1fr 1fr}.v11-event-grid .event-venue,.v11-event-grid .event-note{grid-column:1/-1}}
@media(max-width:620px){.topbar{display:block}.topbar-actions{justify-content:flex-start;margin-top:14px}.v11-event-grid,.standard-crew-grid,.photobooth-crew-grid{grid-template-columns:1fr}.v11-event-grid .event-venue,.v11-event-grid .event-note{grid-column:auto}}

/* v12: grouped date colors, blue Photobooth schedules, compact customer payment selector */
.schedule-quick-card{
  background:var(--schedule-bg,var(--panel));
  border-color:var(--schedule-border,rgba(210,198,180,.82));
}
.schedule-quick-card .quick-card-footer{background:var(--schedule-footer,#fbf8f3)}
.schedule-quick-card .quick-detail{background:color-mix(in srgb,var(--schedule-bg,#fff) 58%,#fff 42%)}
.schedule-quick-card .quick-detail-grid>div{background:rgba(255,255,255,.64)}
.schedule-quick-card .quick-cell{border-color:color-mix(in srgb,var(--schedule-border,#eee7dd) 42%,#fff 58%)}
.photobooth-card{box-shadow:inset 5px 0 0 #2678c8,0 8px 24px rgba(32,105,176,.09)}
.photobooth-label{color:#1766b2;font-weight:900}
.photobooth-date-group .quick-card-footer{border-top-color:var(--schedule-border,#78aede)}
.quick-address .address-line{font-size:10px;line-height:1.3;margin-top:2px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.quick-address .address-line b{color:var(--text)}
.quick-address .venue-line{padding-top:3px;border-top:1px dashed color-mix(in srgb,var(--schedule-border,#ddd) 60%,transparent 40%);margin-top:5px}
.quick-payment-form{display:grid;gap:3px;min-width:148px}
.quick-payment-form label{display:grid;gap:3px}
.quick-payment-form label>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.schedule-payment-select{width:148px;border:1px solid #d7c9b7;border-radius:8px;background:#fff7e8;color:#8a5d10;padding:6px 28px 6px 8px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.schedule-payment-select.is-paid{background:#e2f3e8;border-color:#8fbea0;color:#26734c}
.quick-payment-form small{font-size:8px;color:var(--muted);white-space:nowrap}
@media(max-width:1100px){.quick-payment-form{min-width:138px}.schedule-payment-select{width:138px}}
@media(max-width:760px){.quick-payment-form{order:3;width:100%;grid-template-columns:150px 1fr;align-items:end}.quick-payment-form small{white-space:normal}.quick-actions{order:2}}

/* v13: readable secondary text, exact event editing and simplified package finance */
.quick-cell>span,
.quick-detail-grid span,
.customer-event-card span{font-size:10.5px}
.quick-cell strong{font-size:14px;line-height:1.42}
.quick-cell small{font-size:12px;line-height:1.45;margin-top:4px}
.quick-address .address-line{font-size:12px;line-height:1.45;margin-top:4px}
.quick-service-label strong{font-size:13px}
.quick-service-label small{font-size:11px;line-height:1.4}
.quick-payment-form label>span{font-size:10px}
.quick-payment-form small{font-size:10.5px;line-height:1.4}
.schedule-payment-select{font-size:12px}
.quick-actions a{font-size:12px}
.quick-detail summary{font-size:12px;padding:10px 0}
.quick-detail-grid strong{font-size:14px}
.quick-detail-grid.finance-four-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}
.finance-meta.finance-four-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}
.customer-overview-table td{font-size:13px;line-height:1.45}
.customer-overview-table td strong{font-size:14px}
.customer-overview-table td small,
.customer-overview-table .customer-link small{font-size:12px;line-height:1.45;margin-top:5px}
.customer-overview-table .priority-crew span{font-size:12px;line-height:1.45}
.customer-overview-table .priority-crew b{font-size:10.5px}
.customer-address-cell{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.customer-address-cell small{display:block}
.customer-address-cell b{color:var(--text)}
.info-card small{font-size:13px}
.service-card-head p{font-size:13px}
.service-meta span{font-size:12px}
.service-meta strong{font-size:15px}
.customer-event-card strong{font-size:15px;line-height:1.4}
.customer-event-card small{font-size:12px;line-height:1.45}
.event-edit-link{display:inline-flex;margin-top:10px;color:var(--accent-dark);font-size:12px;font-weight:800;text-decoration:none}
.service-followup{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8f4ee;border-radius:10px}
.service-followup span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.service-followup strong{font-size:14px}
.focused-event-card{outline:3px solid rgba(189,108,63,.28);box-shadow:0 0 0 7px rgba(189,108,63,.08),var(--shadow)}
.focused-event-card>.event-card-head .section-title h2{color:var(--accent-dark)}
.form-grid label small{font-size:11px;color:var(--muted);font-weight:500;line-height:1.35}
@media(max-width:900px){
  .quick-detail-grid.finance-four-grid,.finance-meta.finance-four-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .quick-detail-grid.finance-four-grid,.finance-meta.finance-four-grid{grid-template-columns:1fr}
}

/* v14: actual value beside notes, grouped payment values, names-only crew display */
.quick-note-actual{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(115px,auto);
  gap:8px;
  flex:1 1 360px;
  min-width:260px;
}
.quick-note-actual>div{
  min-width:0;
  padding:7px 9px;
  border:1px solid color-mix(in srgb,var(--schedule-border,#ddd) 46%,#fff 54%);
  border-radius:8px;
  background:rgba(255,255,255,.58);
}
.quick-note-actual span{
  display:block;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  margin-bottom:3px;
}
.quick-note-actual strong{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-size:11.5px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.quick-note-actual>div:last-child strong{white-space:nowrap;color:var(--accent-dark)}
.quick-service-label{flex:0 1 230px}
.staff-name-only{font-weight:700;color:var(--text)!important}
.quick-detail-grid.finance-three-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}
.payment-money-input{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.01em}

@media(max-width:1200px){
  .quick-card-footer{align-items:stretch;flex-wrap:wrap}
  .quick-note-actual{order:2;flex-basis:100%}
  .quick-payment-form{margin-left:auto}
}
@media(max-width:760px){
  .quick-note-actual{grid-template-columns:1fr;min-width:0;width:100%}
  .quick-service-label{flex-basis:100%}
  .quick-detail-grid.finance-three-grid{grid-template-columns:1fr}
}

/* v15: practical value beside each event note; compact destructive action */
.event-note-actual-row{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,260px);
  gap:12px;
  align-items:start;
}
.event-note-actual-row .event-note,
.event-note-actual-row .event-actual{display:grid;gap:6px;font-weight:700;font-size:12px}
.event-note-actual-row .event-actual small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.35}
.quick-actions form{margin:0;display:inline-flex}
.delete-schedule-button{
  border:0;
  background:transparent;
  color:var(--danger);
  padding:0;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.delete-schedule-button:hover{text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){
  .event-note-actual-row{grid-template-columns:1fr}
}


/* v16: clear quick-view address, role-labelled crew, stacked working times, four finance values */
.quick-datetime small b,.staff-role-line b{color:var(--text)}
.quick-datetime small{margin-top:2px}
.staff-role-line{font-weight:600;color:var(--text)!important}
.staff-role-line b{font-weight:800}
.quick-detail-grid.finance-four-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}
@media(max-width:900px){.quick-detail-grid.finance-four-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.quick-detail-grid.finance-four-grid{grid-template-columns:1fr}}

/* v17: calendar dashboard, explicit customer addresses and Vietnamese-safe finance headings */
.finance-section-heading{
  font-family:"Segoe UI",Inter,Arial,sans-serif!important;
  font-weight:750!important;
  letter-spacing:0!important;
  text-rendering:optimizeLegibility;
}
.quick-address .address-line{
  display:block;
  font-size:11.5px;
  line-height:1.42;
  margin-top:4px;
  color:var(--text);
}
.quick-address .address-line:first-of-type{margin-top:0}
.quick-address .address-line b{color:var(--accent-dark);font-weight:800}

.calendar-toolbar-summary{display:flex;gap:8px;align-items:center;margin-left:auto}
.calendar-toolbar-summary span{padding:8px 11px;border-radius:999px;background:#f4eee6;color:var(--muted);font-size:12px;white-space:nowrap}
.calendar-toolbar-summary b{color:var(--text)}
.month-calendar-panel{padding:20px;overflow:hidden}
.calendar-book-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.calendar-book-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:500}
.calendar-book-head small{color:var(--muted)}
.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--line);gap:1px}
.calendar-weekday{padding:11px 8px;background:#2b2925;color:#fff;text-align:center;font-size:12px;font-weight:800;letter-spacing:.04em}
.calendar-day{min-height:126px;border:0;border-radius:0;background:#fffdf9;padding:10px;text-align:left;color:var(--text);font:inherit;display:flex;flex-direction:column;gap:8px;min-width:0}
button.calendar-day{cursor:default}
button.calendar-day.has-events{cursor:pointer;background:#fff8ee;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
button.calendar-day.has-events:hover{position:relative;z-index:2;transform:translateY(-1px);box-shadow:0 7px 20px rgba(62,45,28,.15);background:#fff3df}
button.calendar-day.has-photobooth{background:#edf7ff;box-shadow:inset 0 0 0 2px rgba(51,139,202,.15)}
button.calendar-day.has-photobooth:hover{background:#e2f2ff}
.calendar-day.outside-month{background:#f0ece5;opacity:.55}
.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--accent)}
.calendar-day-head{display:flex;align-items:center;justify-content:space-between;gap:5px}
.calendar-day-head>strong{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-family:Georgia,serif;font-size:18px}
.calendar-day.is-today .calendar-day-head>strong{background:var(--accent);color:#fff}
.calendar-day-head em{font-style:normal;padding:4px 7px;border-radius:999px;background:#ead8c7;color:var(--accent-dark);font-size:10px;font-weight:800;white-space:nowrap}
.calendar-day.has-photobooth .calendar-day-head em{background:#cdeaff;color:#17689f}
.calendar-day-note{display:grid;gap:4px;min-width:0}
.calendar-day-note small{display:block;padding:5px 6px;border-radius:6px;background:rgba(255,255,255,.74);font-size:10px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#565047}
.calendar-day-empty{margin:auto;color:#d4cec4}
.calendar-modal[hidden]{display:none}
.calendar-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px}
.calendar-modal-backdrop{position:absolute;inset:0;background:rgba(22,20,17,.55);backdrop-filter:blur(3px)}
.calendar-modal-card{position:relative;width:min(800px,100%);max-height:min(720px,90vh);overflow:auto;background:#fffdf9;border-radius:20px;padding:22px;box-shadow:0 28px 80px rgba(0,0,0,.3)}
.calendar-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.calendar-modal-head h2{margin:0;font-family:Georgia,serif;font-weight:500;font-size:27px}
.calendar-modal-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--text);font-size:25px;cursor:pointer}
.calendar-day-events{display:grid;gap:10px}
.calendar-event-card{display:grid;grid-template-columns:85px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}
.calendar-event-card.photobooth-event{border-color:#98ccea;background:#f2faff}
.calendar-event-time{text-align:center;padding:10px;border-radius:10px;background:#f4eee6}
.calendar-event-time strong,.calendar-event-time small{display:block}
.calendar-event-time strong{font-family:Georgia,serif;font-size:21px}
.calendar-event-time small{color:var(--muted);font-size:10px;margin-top:3px}
.calendar-event-main>span{display:block;color:var(--accent-dark);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.calendar-event-main>strong{display:block;font-size:16px;margin:4px 0}
.calendar-event-main p{margin:0 0 5px;color:var(--muted)}
.calendar-event-main small{display:block;font-size:11.5px;line-height:1.45;color:#5c554d}
.calendar-event-main small b{color:var(--text)}
body.modal-open{overflow:hidden}
@media(max-width:1100px){
  .calendar-day{min-height:105px;padding:8px}
  .calendar-day-note small:nth-child(n+2){display:none}
  .calendar-toolbar-summary{order:3;width:100%;margin-left:0}
}
@media(max-width:760px){
  .month-calendar-panel{padding:10px;overflow-x:auto}
  .month-calendar{min-width:760px}
  .calendar-book-head{display:block}.calendar-book-head small{display:block;margin-top:6px}
  .calendar-event-card{grid-template-columns:72px 1fr}.calendar-event-card>.button{grid-column:1/-1}
  .calendar-modal{padding:10px}.calendar-modal-card{padding:16px}
}


/* v18: Vietnamese-safe headings, persistent drafts, compact event notes, staff filters */
.topbar h1,
.section-title h2,
.form-section label,
.page-nav,
.context-banner{
  font-family:"Segoe UI",Tahoma,Arial,sans-serif;
  text-rendering:optimizeLegibility;
  font-synthesis:none;
}
.topbar h1{font-weight:700;letter-spacing:-.02em}
.section-title h2{font-weight:750;letter-spacing:-.01em}

.draft-status{
  position:sticky;
  top:10px;
  z-index:15;
  margin:0 0 10px;
  padding:9px 12px;
  border:1px solid #d8c39f;
  border-radius:10px;
  background:#fff8e8;
  color:#6f5126;
  font-size:12px;
  font-weight:700;
  box-shadow:0 5px 16px rgba(62,45,28,.08);
}
.draft-status.restored{background:#edf7ff;border-color:#b9daef;color:#1d5d87}

.event-note-actual-row{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px;
}
.event-note-actual-row textarea,
.event-note-actual-row input{width:100%}
@media(max-width:560px){.event-note-actual-row{grid-template-columns:1fr!important}}

.quick-address .venue-line{
  margin-top:7px!important;
  padding-top:6px;
  border-top:1px dashed color-mix(in srgb,var(--schedule-border,#d9d0c4) 70%,transparent 30%);
  color:#3f3a34;
}
.schedule-quick-card:target{
  outline:3px solid var(--schedule-accent,var(--accent));
  outline-offset:3px;
  animation:targetPulse 1.2s ease 2;
}
@keyframes targetPulse{50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--schedule-accent,var(--accent)) 18%,transparent)}}

/* Photobooth stays blue by itself; normal appointments on the same date keep date colors. */
.schedule-quick-card.photobooth-card{
  --schedule-bg:hsl(205 78% 94%)!important;
  --schedule-footer:hsl(205 72% 91%)!important;
  --schedule-border:hsl(205 58% 68%)!important;
  --schedule-accent:hsl(205 72% 39%)!important;
  background:var(--schedule-bg)!important;
  border-color:var(--schedule-border)!important;
  box-shadow:inset 5px 0 0 #2678c8,0 8px 24px rgba(32,105,176,.12)!important;
}
.photobooth-day-note{
  background:#dcefff!important;
  color:#155f95!important;
  border-left:3px solid #2580c5;
  font-weight:800;
}

.calendar-event-card{
  cursor:pointer;
  grid-template-columns:102px minmax(0,1fr)!important;
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;
}
.calendar-event-card:hover,
.calendar-event-card:focus{
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(43,36,28,.12);
  border-color:#c8a67f;
  outline:none;
}
.calendar-event-time{
  background:#2d2924!important;
  color:#fff;
  border:2px solid #d5a26f;
  box-shadow:0 5px 16px rgba(40,33,26,.16);
}
.calendar-event-time strong{
  font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;
  font-size:25px!important;
  font-weight:900!important;
  letter-spacing:.02em;
}
.calendar-event-time small{color:#f5d6b8!important;font-weight:900;letter-spacing:.08em}
.calendar-event-card.photobooth-event .calendar-event-time{background:#146a9f!important;border-color:#82c8f2}
.calendar-doubleclick-hint{margin-top:7px!important;color:var(--accent-dark)!important;font-weight:750;font-style:italic}

.saved-staff-filter{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:12px 0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf7f2;
}
.staff-filter-chip{
  --staff-hue:34;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid hsl(var(--staff-hue) 42% 70%);
  border-radius:999px;
  background:hsl(var(--staff-hue) 58% 95%);
  color:hsl(var(--staff-hue) 48% 28%);
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.staff-filter-chip em{
  display:grid;
  place-items:center;
  min-width:21px;
  height:21px;
  padding:0 5px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  font-style:normal;
  font-size:10px;
}
.staff-filter-chip:hover,.staff-filter-chip.active{
  background:hsl(var(--staff-hue) 54% 42%);
  border-color:hsl(var(--staff-hue) 54% 36%);
  color:#fff;
}
.staff-filter-chip[data-staff-filter="all"]{--staff-hue:28}
.staff-colored-job{
  border-left:6px solid hsl(var(--staff-hue) 55% 48%)!important;
  background:linear-gradient(90deg,hsl(var(--staff-hue) 58% 96%),#fff 32%)!important;
}
.staff-colored-job.paid-job{background:linear-gradient(90deg,hsl(var(--staff-hue) 52% 94%),#eaf6ee 35%)!important}
.staff-numbered-name{color:hsl(var(--staff-hue) 58% 32%)}
.job-detail-card[hidden]{display:none!important}
.staff-summary-link{
  --staff-hue:34;
  appearance:none;
  border:0;
  border-bottom:2px solid hsl(var(--staff-hue) 55% 55%);
  background:transparent;
  color:hsl(var(--staff-hue) 58% 30%);
  padding:2px 0;
  font:inherit;
  font-weight:900;
  text-align:left;
  cursor:pointer;
}
.staff-summary-link:hover,
.staff-summary-link:focus-visible{
  color:hsl(var(--staff-hue) 68% 22%);
  border-bottom-color:hsl(var(--staff-hue) 68% 35%);
  outline:none;
}

@media(max-width:760px){
  .calendar-event-card{grid-template-columns:82px 1fr!important}
  .calendar-event-time strong{font-size:20px!important}
}

/* v19: lunar calendar, per-event notes, and collapsible schedule 3 */
.calendar-lunar-date{
  display:block;
  margin-top:-5px;
  color:#9a5b31;
  font-size:10.5px;
  font-weight:750;
  line-height:1.2;
}
.calendar-day.is-today .calendar-lunar-date{color:var(--accent-dark)}
.calendar-event-note{
  margin-top:6px!important;
  padding:7px 9px;
  border-left:3px solid #d69b62;
  border-radius:6px;
  background:#fff7e9;
  color:#4d4338!important;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.photobooth-event .calendar-event-note{
  border-left-color:#2580c5;
  background:#e7f5ff;
}
.quick-address .event-note-line{
  margin-top:7px!important;
  padding-top:6px;
  border-top:1px dashed color-mix(in srgb,var(--schedule-border,#d9d0c4) 70%,transparent 30%);
  color:#4b433b;
  white-space:pre-wrap;
}
.collapsible-event-card{padding:0!important;overflow:hidden}
.collapsible-event-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 20px;
  cursor:pointer;
  list-style:none;
  background:#fbf7f1;
  user-select:none;
}
.collapsible-event-summary::-webkit-details-marker{display:none}
.collapsible-event-summary span{display:grid;gap:3px}
.collapsible-event-summary b{font-size:15px;color:var(--text)}
.collapsible-event-summary small{color:var(--muted);font-size:11px;font-weight:600}
.collapsible-event-summary em{
  font-style:normal;
  font-size:10px;
  font-weight:800;
  color:var(--accent-dark);
  padding:6px 9px;
  border:1px solid #d8c3aa;
  border-radius:999px;
  background:#fff;
  white-space:nowrap;
}
.collapsible-event-card[open] .collapsible-event-summary{border-bottom:1px solid var(--line)}
.collapsible-event-card[open] .collapsible-event-summary em::before{content:'Đóng '}
.collapsible-event-card:not([open]) .collapsible-event-summary em::before{content:'Mở '}
.collapsible-event-summary em{font-size:0}
.collapsible-event-summary em::before{font-size:10px}
.collapsible-event-body{padding:20px}
@media(max-width:560px){
  .collapsible-event-summary{padding:14px 15px}
  .collapsible-event-body{padding:14px}
}

/* v20: simplified finance view and complete customer booking directory */
.forecast-card{
  background:linear-gradient(145deg,#fff2c9,#f8df9c);
  border-color:#e0bd62;
  box-shadow:0 12px 30px rgba(142,102,20,.10);
}
.forecast-card>span,.forecast-card small{color:#765716}
.forecast-card strong{color:#5f4308}
.calendar-lunar-date{font-weight:900;letter-spacing:0;color:#9a6a35}

.customer-directory-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
.customer-directory-search{display:flex;align-items:end;gap:9px;flex:1;max-width:900px}
.customer-directory-search input{flex:1;min-width:260px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 13px;font:inherit}
.customer-directory-actions{display:flex;align-items:center;gap:14px;color:var(--muted)}
.customer-card-list{display:grid;gap:16px}
.customer-master-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.customer-card-header{display:grid;grid-template-columns:minmax(280px,1.25fr) auto auto;gap:18px;align-items:center;padding:18px 20px;background:linear-gradient(135deg,#fffdf9,#fbf5eb);border-bottom:1px solid var(--line)}
.customer-card-identity a{text-decoration:none;color:var(--text)}
.customer-card-identity h2{margin:5px 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:600}
.customer-source-row{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}
.customer-source-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:#f1dfcd;color:#7b4d2d;font-weight:800}
.customer-contact-line{display:flex;flex-wrap:wrap;gap:7px 16px;color:var(--muted);font-size:12px}
.customer-contact-line b{color:var(--text)}
.customer-card-counts{display:grid;grid-template-columns:repeat(3,auto);gap:8px}
.customer-card-counts span{display:grid;place-items:center;min-width:82px;padding:8px 10px;border:1px solid #eadfce;border-radius:10px;background:#fff;color:var(--muted);font-size:10px;text-align:center}
.customer-card-counts b{display:block;color:var(--text);font-size:14px}
.customer-card-actions{display:flex;gap:8px}
.customer-summary-grid{display:grid;grid-template-columns:1fr 1fr 1.8fr;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}
.customer-summary-grid>div{min-width:0;padding:10px 12px;border-radius:11px;background:#f8f4ee}
.customer-summary-grid>div>span,.customer-finance-strip span{display:block;margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.customer-summary-grid>div>strong{display:block;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.customer-finance-strip{display:grid!important;grid-template-columns:repeat(4,1fr);gap:7px;padding:7px!important;background:#f3eee5!important}
.customer-finance-strip>div{padding:7px 8px;border-radius:8px;background:#fff}
.customer-finance-strip strong{font-size:12px}
.status-pill{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;font-size:9px;white-space:nowrap}
.status-pill.paid{background:#dff1e5;color:#26734c}.status-pill.partial{background:#fff0c9;color:#8b6311}.status-pill.neutral{background:#eee9e1;color:#71695f}
.customer-booking-list{display:grid;gap:1px;background:#ebe3d8}
.customer-booking-row{display:grid;grid-template-columns:128px minmax(180px,1.25fr) 155px minmax(170px,.9fr) minmax(230px,1.25fr) 70px;gap:0;background:#fff;min-width:0}
.customer-booking-row>div{min-width:0;padding:12px 13px;border-right:1px solid #eee7dd}
.customer-booking-row>div:last-child{border-right:0}
.customer-booking-row:hover{background:#fffaf1}
.customer-booking-photobooth{box-shadow:inset 5px 0 0 #2678c8;background:#f5faff}
.customer-booking-past{opacity:.78}
.booking-date-block{display:flex;flex-direction:column;justify-content:center;background:#faf6ef}
.booking-date-block strong{font-size:14px}.booking-date-block span{margin-top:4px;font-size:11px;font-weight:800;color:var(--accent-dark)}.booking-date-block small{margin-top:3px;color:var(--muted);font-size:9px}
.booking-main-block>span,.booking-time-block>span,.booking-place-block>span,.booking-crew-block>span{display:block;margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.booking-main-block strong,.booking-time-block strong,.booking-place-block strong{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.booking-main-block small,.booking-time-block small,.booking-crew-block small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:3px;overflow-wrap:anywhere}
.booking-main-block p{margin:6px 0 0;padding:6px 8px;border-radius:7px;background:#f6f0e7;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.booking-crew-block small b{color:var(--text)}
.booking-row-action{display:flex;align-items:center;justify-content:center}
.booking-row-action a{color:var(--accent-dark);font-size:10px;font-weight:900;text-decoration:none}
.customer-no-booking{padding:20px;background:#fff;color:var(--muted);text-align:center}

@media(max-width:1450px){
  .customer-card-header{grid-template-columns:1fr auto}.customer-card-actions{grid-column:1/-1;justify-content:flex-end}
  .customer-summary-grid{grid-template-columns:1fr 1fr}.customer-finance-strip{grid-column:1/-1}
  .customer-booking-row{grid-template-columns:118px 1.1fr 145px 1fr 1.2fr 64px}
}
@media(max-width:1150px){
  .customer-booking-row{grid-template-columns:110px 1fr 145px 1fr}
  .booking-crew-block{grid-column:2/4;border-top:1px solid #eee7dd}.booking-row-action{grid-column:4;border-top:1px solid #eee7dd}
}
@media(max-width:780px){
  .customer-directory-toolbar,.customer-directory-search,.customer-directory-actions{display:flex;flex-wrap:wrap;align-items:stretch}.customer-directory-search input{min-width:100%;width:100%}
  .customer-card-header{grid-template-columns:1fr}.customer-card-counts{grid-template-columns:repeat(3,1fr)}.customer-card-actions{justify-content:flex-start}
  .customer-summary-grid{grid-template-columns:1fr}.customer-finance-strip{grid-column:auto;grid-template-columns:1fr 1fr}
  .customer-booking-row{grid-template-columns:1fr 1fr}.booking-date-block,.booking-main-block{grid-column:1/-1}.booking-crew-block{grid-column:1/-1}.booking-row-action{grid-column:1/-1;justify-content:flex-start}
}

/* V21 · nhiều người nhận, nhiều email và nhật ký gọn */
.is-hidden{display:none!important}
.email-field-actions{display:flex;align-items:center;gap:12px;min-height:42px}
.email-field-actions small{color:var(--muted)}
.recipient-fieldset{margin:0;padding:0;border:0;min-width:0}
.recipient-fieldset legend{display:flex;align-items:baseline;gap:9px;margin-bottom:10px;font-weight:800}
.recipient-fieldset legend small{font-weight:600;color:var(--muted)}
.recipient-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.recipient-option{display:flex!important;align-items:center;gap:10px!important;min-height:62px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:600!important}
.recipient-option:has(input:checked){border-color:var(--accent);background:#fff7ef;box-shadow:0 0 0 2px rgba(194,112,61,.08)}
.recipient-option input{width:auto!important;flex:0 0 auto}
.recipient-option span{display:grid;gap:3px;min-width:0}
.recipient-option b{overflow-wrap:anywhere}
.recipient-option small{color:var(--muted);font-weight:600}
.recipient-option:has(input:disabled){opacity:.52;cursor:not-allowed}
.recipient-counter{display:block;margin-top:8px;color:var(--muted);font-weight:700}
.empty-contact-warning{padding:13px 15px;border:1px dashed var(--line);border-radius:12px;background:#fff9f0;color:var(--muted)}
.compact-log-table{min-width:1040px;table-layout:fixed}
.compact-log-table th:nth-child(1){width:145px}
.compact-log-table th:nth-child(2){width:200px}
.compact-log-table th:nth-child(3){width:90px}
.compact-log-table th:nth-child(4){width:190px}
.compact-log-table th:nth-child(6){width:135px}
.compact-log-table td{vertical-align:middle;padding-top:11px;padding-bottom:11px}
.log-time,.log-customer,.log-recipient{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.log-message-cell{min-width:0}
.log-inline-details{max-width:100%}
.log-inline-details summary{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-weight:600;cursor:pointer}
.log-inline-details summary::-webkit-details-marker{display:none}
.log-inline-details[open] summary{color:var(--accent-dark);margin-bottom:8px}
.log-inline-details pre{max-width:620px;margin:0 0 6px;white-space:pre-wrap}
@media(max-width:1050px){.recipient-options{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.recipient-options{grid-template-columns:1fr}.email-field-actions{align-items:flex-start;flex-direction:column}}

/* V22 · hồ sơ hai bên, ngày xác nhận thanh toán, đánh số lịch và nhật ký gọn */
.form-grid.four-cols{grid-template-columns:repeat(4,minmax(0,1fr))}
.customer-party-form textarea{min-height:74px}

.schedule-quick-card{position:relative}
.schedule-order-badge{
  position:absolute;top:7px;left:7px;z-index:4;
  min-width:25px;height:25px;padding:0 7px;border-radius:999px;
  display:grid;place-items:center;background:#1f1d1a;color:#fff;
  border:2px solid rgba(255,255,255,.88);box-shadow:0 3px 9px rgba(0,0,0,.16);
  font-size:11px;font-weight:900;line-height:1;
}
.schedule-quick-card .quick-info-grid{padding-left:23px}
.schedule-quick-card.photobooth-card .schedule-order-badge{background:#17689f}

.customer-party-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}
.customer-party-card{min-width:0;padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:#fffdf9}
.customer-party-card h3{margin:0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:500}
.customer-party-card p{margin:5px 0;overflow-wrap:anywhere}
.customer-party-card small{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.party-contact{font-size:16px;color:var(--text)}
.party-email{font-size:12px;color:var(--accent-dark);font-weight:700;overflow-wrap:anywhere}
.bride-card{box-shadow:inset 4px 0 0 #d79c71}.groom-card{box-shadow:inset 4px 0 0 #748fac}

.customer-status-finance-row{display:grid;grid-template-columns:repeat(3,minmax(110px,.7fr)) minmax(190px,1fr) minmax(215px,1.15fr);gap:8px;align-items:stretch;padding:10px 16px;border-bottom:1px solid var(--line);background:#f7f2ea}
.mini-finance,.customer-payment-control,.customer-paid-date-form{padding:9px 10px;border-radius:10px;background:#fff;min-width:0}
.mini-finance span,.customer-payment-control span,.customer-paid-date-form span{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mini-finance strong{font-size:13px}
.customer-payment-control label,.customer-paid-date-form label{display:block}
.customer-payment-control select,.customer-paid-date-form input{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 9px;font:inherit;font-size:11px;font-weight:700}
.customer-paid-date-form{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}
.customer-paid-date-form button{height:33px;border:0;border-radius:8px;padding:0 10px;background:#2e7651;color:#fff;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}
.customer-card-identity>small{color:var(--muted);font-size:11px}

.two-party-profile{grid-template-columns:1fr 1fr}
.two-party-profile .info-card{min-height:210px}
.two-party-profile .info-card h3{font-size:27px}
.compact-customer-service .service-followup{display:none}

.customer-notification-panel,.vietnamese-safe-log,
.customer-notification-panel h2,.vietnamese-safe-log th,.vietnamese-safe-log td,
.customer-notification-card{font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;text-rendering:optimizeLegibility;font-synthesis:none}
.customer-notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.customer-notification-card{padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.notification-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.channel-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#f0e4d8;color:#724827;font-size:10px;font-weight:800}
.customer-notification-card>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.customer-notification-card>small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.customer-notification-card>p{margin:8px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#625a51;font-size:11.5px}
.customer-notification-card details summary{font-size:10px}
.customer-notification-card details pre{max-height:240px;overflow:auto;font-size:11px}
.vietnamese-safe-log .compact-log-table{font-size:13px}
.vietnamese-safe-log .log-inline-details summary{font-family:"Segoe UI",Tahoma,Arial,sans-serif!important}

@media(max-width:1350px){
  .form-grid.four-cols{grid-template-columns:1fr 1fr}
  .customer-status-finance-row{grid-template-columns:repeat(3,1fr)}
  .customer-payment-control,.customer-paid-date-form{grid-column:span 1}
}
@media(max-width:900px){
  .customer-party-grid,.two-party-profile,.customer-notification-grid{grid-template-columns:1fr}
  .customer-status-finance-row{grid-template-columns:1fr 1fr}
  .customer-payment-control,.customer-paid-date-form{grid-column:1/-1}
}
@media(max-width:620px){
  .form-grid.four-cols,.customer-status-finance-row{grid-template-columns:1fr}
  .schedule-quick-card .quick-info-grid{padding-left:0;padding-top:30px}
}


/* V23: compact customer directory, reliable Vietnamese text and concise logs */
.vietnamese-ui,.vietnamese-ui *,.vietnamese-safe-log,.vietnamese-safe-log *{
  font-family:Arial,"Segoe UI",Tahoma,sans-serif!important;
  font-synthesis:none;
  font-kerning:normal;
  font-variant-ligatures:none;
  letter-spacing:normal;
  word-spacing:normal;
  text-rendering:optimizeLegibility;
}
.schedule-order-badge{width:54px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;border-radius:14px}
.schedule-order-badge small{font-size:8px;letter-spacing:.13em;margin-bottom:3px;opacity:.82}
.schedule-order-badge strong{font-size:18px;font-family:Arial,"Segoe UI",sans-serif}
.schedule-sequence-text{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f3e7dc;color:#7e3d1c;font-size:10px;letter-spacing:.04em;vertical-align:middle}
.customer-party-grid-image-style{gap:18px;padding:18px}
.customer-party-grid-image-style .customer-party-card{padding:22px 24px;min-height:230px;border-radius:22px;box-shadow:0 8px 28px rgba(48,39,29,.045)}
.customer-party-grid-image-style .customer-party-card h3{font-size:27px;margin:5px 0 14px}
.party-details{display:grid;gap:11px;margin:0}
.party-details div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;padding-top:10px;border-top:1px solid #eee7dd}
.party-details dt{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}
.party-details dd{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.paid-date-highlight{border:1px solid #b9dfc7;background:#eef8f1!important}
.paid-date-title{color:#176c3d;font-size:12px;font-weight:800;margin-bottom:7px}
.customer-paid-date-form button{width:100%;margin-top:7px;border:0;border-radius:8px;padding:7px 9px;background:#d8efdf;color:#176c3d;font-weight:800;cursor:pointer}
.concise-service-panel .service-card{padding:16px}
.concise-service-panel .service-card-head h3{font-size:20px}
.concise-service-panel .customer-event-card{padding:12px 0}
.panel-head-actions{display:flex;gap:14px;align-items:center}
.concise-notification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.customer-notification-card>p{font-size:12.5px;line-height:1.45}
.notification-log-list{display:grid;gap:8px}
.notification-log-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.notification-log-main{min-width:0}
.notification-log-title{display:flex;gap:10px;align-items:center;min-width:0;margin-bottom:6px}
.notification-log-title a{font-weight:800;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notification-log-title span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notification-log-main p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#625a51;font-size:12.5px}
.notification-log-meta{display:flex;align-items:center;gap:10px;white-space:nowrap}
.notification-log-meta>small{color:var(--muted);font-size:10px}
.notification-log-meta details{position:relative}
.notification-log-meta details summary{font-size:10px;white-space:nowrap}
.notification-log-meta details pre{position:absolute;right:0;z-index:8;width:min(560px,70vw);max-height:330px;overflow:auto;box-shadow:0 12px 35px rgba(0,0,0,.14)}
@media(max-width:900px){
  .notification-log-row{grid-template-columns:1fr}
  .notification-log-meta{justify-content:space-between;flex-wrap:wrap}
  .concise-notification-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .party-details div{grid-template-columns:1fr;gap:3px}
  .customer-party-grid-image-style .customer-party-card{min-height:0}
}


/* V24 · exact event notes, compact schedule index and unified customer directory */
.schedule-quick-card .quick-info-grid{padding-left:0}
.schedule-index-chip{
  display:inline-grid;place-items:center;min-width:28px;height:24px;margin-right:8px;padding:0 7px;
  border-radius:999px;background:#26231f;color:#fff;font:900 11px/1 Arial,"Segoe UI",sans-serif;
  vertical-align:middle;box-shadow:none
}
.schedule-quick-card.photobooth-card .schedule-index-chip{background:#17689f}
.schedule-sequence-text,.schedule-order-badge{display:none!important}
.quick-payment-state>small{display:none!important}
.customer-card-header{grid-template-columns:minmax(280px,1fr) auto}
.customer-card-identity h2{margin:5px 0 8px}
.customer-key-dates{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:11px}
.customer-key-dates b{color:var(--text)}
.paid-date-inline{color:#176c3d}
.paid-date-inline-edit{position:relative}
.paid-date-inline-edit>summary{cursor:pointer;color:var(--accent-dark);font-size:10px;font-weight:800;list-style:none}
.paid-date-inline-edit>summary::-webkit-details-marker{display:none}
.customer-paid-date-inline-form{display:flex;align-items:center;gap:6px;margin-top:6px;padding:7px;border:1px solid #b9dfc7;border-radius:9px;background:#eef8f1}
.customer-paid-date-inline-form input{min-width:138px;border:1px solid var(--line);border-radius:7px;padding:6px 7px;background:#fff;font:inherit;font-size:11px}
.customer-paid-date-inline-form button{border:0;border-radius:7px;padding:7px 10px;background:#2e7651;color:#fff;font-size:10px;font-weight:800;cursor:pointer}
.customer-finance-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 16px;border-bottom:1px solid var(--line);background:#f7f2ea}
.customer-directory-notifications{padding:15px 16px 17px;border-top:1px solid var(--line);background:#fffdf9}
.customer-directory-notification-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.customer-directory-notification-head h3{margin:2px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:500}
.customer-directory-notification-actions{display:flex;align-items:center;gap:13px;white-space:nowrap}
.customer-directory-notification-actions a{color:var(--accent-dark);font-size:11px;font-weight:800;text-decoration:none}
.compact-empty{grid-column:1/-1;margin:0;padding:13px}
@media(max-width:900px){
  .customer-card-header{grid-template-columns:1fr}
  .customer-finance-summary-row{grid-template-columns:1fr 1fr 1fr}
  .customer-directory-notification-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .schedule-quick-card .quick-info-grid{padding-top:0}
  .customer-finance-summary-row{grid-template-columns:1fr}
}

/* V25: lưu bản nhập dở và gợi ý email */
.email-input-helper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.email-input-helper input { min-width: 0; }
.email-gmail-suggestion {
  border: 1px solid #d9c6b5;
  background: #fff8f1;
  color: #9a4c27;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.email-gmail-suggestion:hover { background: #f8eadf; }
.email-gmail-suggestion[hidden] { display: none !important; }
.final-step-hint { margin: 0 0 14px; }

.leave-draft-modal[hidden] { display: none !important; }
.leave-draft-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 22px;
}
.leave-draft-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 18, 15, .58);
  backdrop-filter: blur(3px);
}
.leave-draft-dialog {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  background: #fffdf9;
  border: 1px solid #decfbe;
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
  padding: 28px;
}
.leave-draft-dialog h2 {
  margin: 5px 0 12px;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.15;
}
.leave-draft-dialog > p:not(.eyebrow) {
  margin: 0;
  color: #655a50;
  line-height: 1.65;
  font-size: 16px;
}
.leave-draft-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
  flex-wrap: wrap;
}
body.modal-open { overflow: hidden; }

@media (max-width: 720px) {
  .email-input-helper { grid-template-columns: 1fr; }
  .email-gmail-suggestion { justify-self: start; }
  .leave-draft-actions { display: grid; grid-template-columns: 1fr; }
  .leave-draft-actions .button { width: 100%; }
}

/* V26: rõ địa điểm lịch ngày, hoàn tác biểu mẫu, trạng thái ô đang nhập và giao diện đồng nhất */
.brand strong{font-size:14px;letter-spacing:.12em;white-space:nowrap}

/* Ô đang chỉnh sửa luôn nổi bật, áp dụng cho mọi biểu mẫu. */
input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible{
  outline:none;
  border-color:#c47746!important;
  background:#fff4dc!important;
  box-shadow:0 0 0 4px rgba(196,119,70,.18)!important;
}
label:focus-within{color:#8f4928}
input[type="checkbox"]:focus,
input[type="radio"]:focus{box-shadow:0 0 0 4px rgba(196,119,70,.22)!important}

.calendar-event-location{
  display:grid;
  gap:4px;
  margin-top:5px;
  padding:8px 10px;
  border:1px solid #e8dccd;
  border-radius:9px;
  background:#fffaf2;
  color:#5c554d;
  font-size:11.5px;
  line-height:1.45;
}
.calendar-event-location>b{color:var(--text)}
.calendar-event-location span{display:block;overflow-wrap:anywhere}
.photobooth-event .calendar-event-location{border-color:#b8daee;background:#f5fbff}

/* Danh sách khách: chỉ mở phần chi tiết khi người dùng cần xem. */
.customer-full-details{border-top:1px solid var(--line);background:#fffdf9}
.customer-full-details>summary{
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 250px 12px 20px;
  list-style:none;
  cursor:pointer;
  color:var(--accent-dark);
  background:#fbf6ef;
  user-select:none;
}
.customer-full-details>summary::-webkit-details-marker{display:none}
.customer-full-details>summary strong{font-size:12px}
.customer-full-details>summary small{color:var(--muted);font-size:10px;font-weight:500}
.customer-details-arrow{
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:50%;
  background:#f0dfcf;
  font-size:21px;
  line-height:1;
  transition:transform .18s ease;
}
.customer-full-details[open] .customer-details-arrow{transform:rotate(90deg)}
.customer-full-details-body{min-width:0}

/* Giữ cùng hệ thống thông tin và bố cục trên điện thoại; phần rộng có thanh cuộn riêng. */
@media(max-width:900px){
  .customer-card-header{grid-template-columns:minmax(0,1fr) auto!important;align-items:center}
  .customer-card-counts{grid-template-columns:repeat(3,minmax(54px,1fr))}
  .customer-card-counts span{min-width:58px;padding:7px 6px}
}

@media(max-width:760px){
  .sidebar{
    position:sticky!important;
    top:0;
    width:100%!important;
    height:auto!important;
    padding:11px 12px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    align-items:center;
    box-shadow:0 8px 22px rgba(0,0,0,.16);
  }
  .brand{margin:0!important;gap:8px}
  .brand-mark{width:38px;height:38px;font-size:21px}
  .brand small{display:none}
  .sidebar nav{
    display:flex!important;
    gap:6px!important;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    padding-bottom:2px;
  }
  .sidebar nav a{flex:0 0 auto!important;text-align:center;font-size:12px!important;padding:9px 10px!important}
  .main{margin-left:0!important;padding:20px 12px 48px!important;max-width:none}
  .topbar{display:flex!important;align-items:flex-start!important;flex-direction:row!important}
  .topbar-actions{margin-top:0!important;justify-content:flex-end!important}
  .topbar h1{font-size:27px}

  /* Lịch dịch vụ giữ đúng 6 cột như máy tính và cuộn ngang trong từng thẻ. */
  .schedule-quick-card{overflow-x:auto;overscroll-behavior-inline:contain}
  .schedule-quick-card .quick-info-grid{
    min-width:980px;
    grid-template-columns:.8fr 1fr .86fr 1.25fr 1fr 1.25fr!important;
    padding-top:0!important;
  }
  .schedule-quick-card .quick-cell{border-right:1px solid #eee7dd!important;border-bottom:0!important}
  .schedule-quick-card .quick-cell:last-child{border-right:0!important}
  .schedule-quick-card .quick-card-footer,
  .schedule-quick-card .quick-detail{min-width:980px}
  .quick-payment-form{order:initial!important;width:auto!important;grid-template-columns:1fr!important}

  /* Chi tiết khách vẫn là hai cột như bản máy tính. */
  .customer-full-details-body{overflow-x:auto;overscroll-behavior-inline:contain}
  .customer-party-grid-image-style{grid-template-columns:1fr 1fr!important;min-width:760px}
  .customer-finance-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-width:760px}
  .customer-booking-list{min-width:1040px}
  .customer-directory-notifications{min-width:760px}
  .concise-notification-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .customer-card-header{padding:14px 13px;gap:10px}
  .customer-card-identity h2{font-size:20px;line-height:1.18}
  .customer-key-dates{font-size:10px;gap:4px 8px}
  .customer-card-counts span{min-width:52px;font-size:9px}
  .customer-card-counts b{font-size:13px}
  .customer-full-details>summary{padding:11px 13px}
}

@media(max-width:480px){
  .topbar{gap:10px!important}
  .topbar-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .topbar-actions .button{width:auto!important;min-height:36px;padding:0 10px;font-size:11px}
  .customer-card-header{grid-template-columns:minmax(0,1fr) auto!important}
  .customer-card-counts{gap:4px}
  .customer-card-counts span{min-width:48px;padding:6px 4px}
}

/* v27: compact all-events daily calendar, flexible lead sources and post-production jobs */
.calendar-modal-card{
  width:min(1180px,calc(100vw - 34px));
  max-height:92vh;
  padding:18px;
}
.compact-calendar-events{
  display:grid;
  gap:5px;
  min-width:980px;
}
#calendar-modal-content{overflow:auto;padding-bottom:2px}
.calendar-event-row{
  display:grid;
  grid-template-columns:44px 92px minmax(190px,1.15fr) minmax(220px,1.25fr) minmax(260px,1.55fr);
  align-items:stretch;
  gap:0;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  overflow:hidden;
  cursor:pointer;
  transition:box-shadow .12s ease,border-color .12s ease,transform .12s ease;
}
.calendar-event-row:not(.calendar-event-header):hover,
.calendar-event-row:not(.calendar-event-header):focus{
  border-color:#c39a70;
  box-shadow:0 5px 16px rgba(43,36,28,.11);
  transform:translateY(-1px);
  outline:none;
}
.calendar-event-row.photobooth-event{background:#eff8ff;border-color:#8bc4e9}
.calendar-event-header{
  position:sticky;
  top:0;
  z-index:3;
  min-height:34px;
  border:0;
  border-radius:8px;
  background:#2d2924;
  color:#fff;
  cursor:default;
}
.calendar-event-header>span{padding:9px 10px;font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.12)}
.calendar-event-row>div{padding:9px 10px;border-right:1px solid var(--line);min-width:0}
.calendar-event-row>div:last-child{border-right:0}
.calendar-event-order{display:grid;place-items:center;background:#f4eee6}
.photobooth-event .calendar-event-order{background:#dcefff;color:#155f95}
.calendar-event-order strong{font-size:13px}
.calendar-event-time-compact{display:grid;grid-template-columns:1fr auto;align-content:center;column-gap:6px;row-gap:1px;background:#2d2924;color:#fff;text-align:left}
.photobooth-event .calendar-event-time-compact{background:#146a9f}
.calendar-event-time-compact strong,.calendar-event-time-compact>span{font-size:15px;font-weight:900;line-height:1.2}
.calendar-event-time-compact small{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#f5d6b8;align-self:center}
.photobooth-event .calendar-event-time-compact small{color:#d8f0ff}
.calendar-event-identity,.calendar-event-location-compact,.calendar-event-work-compact{display:flex;flex-direction:column;justify-content:center;gap:2px}
.calendar-event-identity>span{color:var(--accent-dark);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.calendar-event-identity>strong{font-size:14px;line-height:1.25}
.calendar-event-identity>small{font-size:11px;color:var(--muted)}
.calendar-event-location-compact span,.calendar-event-work-compact small{font-size:10.5px;line-height:1.35;color:#4f4942;overflow-wrap:anywhere}
.calendar-event-work-compact b{color:var(--text)}
.calendar-event-work-compact .calendar-event-note{margin-top:3px;padding-top:3px;border-top:1px dashed #d8cfc3;color:#7a4b25}
@media(max-width:760px){
  .calendar-modal{padding:5px}
  .calendar-modal-card{width:calc(100vw - 10px);padding:10px;border-radius:14px}
  .compact-calendar-events{min-width:920px}
}

.postproduction-section{margin-top:14px;padding:13px;border:1px dashed #d4b895;border-radius:12px;background:#fffaf3}
.postproduction-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.postproduction-heading strong{font-size:14px}.postproduction-heading small{font-size:10.5px;color:var(--muted)}
.postproduction-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.postproduction-option{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;transition:border-color .15s ease,background .15s ease}
.postproduction-option.is-active{border-color:#c6834d;background:#fff6eb}
.postproduction-toggle-label{display:flex!important;align-items:center;gap:8px;font-weight:850!important;cursor:pointer}
.postproduction-toggle-label input{width:17px!important;height:17px!important;margin:0}
.postproduction-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.55fr);gap:9px;margin-top:9px}
.postproduction-fields[hidden]{display:none!important}
@media(max-width:700px){.postproduction-options,.postproduction-fields{grid-template-columns:1fr}}


/* V29: distinguish daily times, show post-production per schedule, and pair note/value cards */
.calendar-event-time-compact .calendar-arrival-time{
  color:#8ce0a7;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
}
.calendar-event-time-compact .calendar-start-time{
  color:#ffd17d;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
}
.calendar-event-time-compact .calendar-arrival-label{color:#b9f1ca!important}
.calendar-event-time-compact .calendar-start-label{color:#ffe0aa!important}
.photobooth-event .calendar-event-time-compact .calendar-arrival-time{color:#b9f2ff}
.photobooth-event .calendar-event-time-compact .calendar-start-time{color:#ffe29f}

.event-note-value-options{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:2px;
}
.event-note-value-card{
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.event-note-value-card:focus-within{
  border-color:#c6834d;
  background:#fff6eb;
  box-shadow:0 0 0 3px rgba(198,131,77,.12);
}
.event-note-value-card label{display:grid;gap:7px;font-weight:850}
.event-note-value-card textarea,
.event-note-value-card input{width:100%}
.event-note-value-card textarea{min-height:74px;resize:vertical}
.event-note-value-card small{color:var(--muted);font-size:10.5px;font-weight:500;line-height:1.35}

.quick-card-footer{
  grid-template-columns:minmax(210px,1fr) minmax(180px,.8fr) auto auto;
}
.quick-postproduction-summary{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--schedule-border,#d9d0c4) 75%,#fff 25%);
  border-radius:10px;
  background:rgba(255,255,255,.58);
}
.quick-postproduction-summary>span{
  flex:0 0 auto;
  color:var(--accent-dark);
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.quick-postproduction-summary>div{display:grid;gap:2px;min-width:0}
.quick-postproduction-summary small{font-size:10.5px;line-height:1.28;color:#514a43;overflow-wrap:anywhere}
.quick-postproduction-summary b{color:var(--text)}

@media(max-width:900px){
  .quick-card-footer{grid-template-columns:minmax(210px,1fr) minmax(180px,.8fr) auto auto}
}
@media(max-width:700px){
  .event-note-value-options{grid-template-columns:1fr}
}

/* Previous compact footer baseline; V29 replaces the editor region below. */
.schedule-quick-card .quick-card-footer{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr) auto auto;
  align-items:end;
  gap:10px;
}
.schedule-quick-card .quick-payment-state{margin-left:0}
@media(max-width:760px){
  .schedule-quick-card .quick-card-footer{
    grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr) auto auto!important;
  }
}


/* V29: Edit ảnh/Edit video are edited directly inside each Lịch dịch vụ card. */
.schedule-quick-card .quick-card-footer{
  grid-template-columns:minmax(210px,1fr) minmax(310px,1.15fr) auto auto!important;
  align-items:start;
}
.quick-postproduction-editor{
  display:grid;
  grid-template-columns:repeat(2,minmax(145px,1fr));
  gap:7px;
  min-width:0;
}
.quick-edit-option{
  min-width:0;
  border:1px solid color-mix(in srgb,var(--schedule-border,#d9d0c4) 76%,#fff 24%);
  border-radius:10px;
  background:rgba(255,255,255,.62);
  overflow:hidden;
}
.quick-edit-option.is-active{background:#fff6eb;border-color:#c78d57}
.quick-edit-option summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:7px 9px;
  cursor:pointer;
  list-style:none;
}
.quick-edit-option summary::-webkit-details-marker{display:none}
.quick-edit-option summary::before{content:'▸';color:var(--accent-dark);font-size:10px;font-weight:900;transition:transform .15s ease}
.quick-edit-option[open] summary::before{transform:rotate(90deg)}
.quick-edit-option summary span{font-size:10px;font-weight:900;color:var(--accent-dark);white-space:nowrap}
.quick-edit-option summary small{font-size:9.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quick-postproduction-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(95px,.55fr);
  gap:7px;
  padding:8px;
  border-top:1px solid #eee2d3;
  background:#fffdf9;
}
.quick-postproduction-form label{display:grid;gap:4px;font-size:9px;font-weight:800;color:var(--muted)}
.quick-postproduction-form input{width:100%;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:10.5px}
.quick-postproduction-form button{grid-column:1/-1;border:0;border-radius:8px;padding:7px 9px;background:var(--accent-dark);color:#fff;font:inherit;font-size:9.5px;font-weight:850;cursor:pointer}
.quick-postproduction-form:focus-within{background:#fff8ef}
@media(max-width:900px){
  .schedule-quick-card .quick-card-footer{grid-template-columns:minmax(200px,1fr) minmax(280px,1.1fr) auto auto!important}
}
@media(max-width:760px){
  .schedule-quick-card .quick-card-footer{grid-template-columns:minmax(190px,1fr) minmax(300px,1.2fr) auto auto!important}
  .quick-postproduction-editor{grid-template-columns:repeat(2,minmax(145px,1fr))}
}

/* V30: light daily-time cells, other-service customer flow, and expanded hidden appointments. */
.calendar-event-time-compact{
  background:#fff4e2!important;
  color:#4b4035!important;
  border-left:3px solid #e2b574;
}
.photobooth-event .calendar-event-time-compact{
  background:#e8f6ff!important;
  color:#154f70!important;
  border-left-color:#68b8e8;
}
.calendar-event-time-compact .calendar-arrival-time{
  color:#237b4b!important;
  text-shadow:none!important;
}
.calendar-event-time-compact .calendar-start-time{
  color:#bc6a16!important;
  text-shadow:none!important;
}
.calendar-event-time-compact .calendar-arrival-label{color:#54836a!important}
.calendar-event-time-compact .calendar-start-label{color:#a97a43!important}
.photobooth-event .calendar-event-time-compact .calendar-arrival-time{color:#0f7ca9!important}
.photobooth-event .calendar-event-time-compact .calendar-start-time{color:#b46b14!important}
.photobooth-event .calendar-event-time-compact .calendar-arrival-label{color:#4f8ba7!important}
.photobooth-event .calendar-event-time-compact .calendar-start-label{color:#9a7449!important}

.other-service-toggle{margin-left:auto}
.other-service-section[hidden],#wedding-customer-sections[hidden]{display:none!important}
.customer-common-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.span-two{grid-column:span 2}
.single-party-grid{grid-template-columns:minmax(0,1fr)}
.other-service-card{max-width:none}
.customer-source-row a,.profile-main a{color:var(--accent-dark);font-weight:800;text-decoration:none}
.customer-source-row a:hover,.profile-main a:hover{text-decoration:underline}

.collapsible-event-card{overflow:hidden}
.collapsible-event-card>.collapsible-event-summary{position:sticky;top:0;z-index:1}
.photobooth-event-card{border-color:#9ecbe7}

@media(max-width:1100px){
  .customer-common-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .customer-common-grid{grid-template-columns:1fr}
  .span-two{grid-column:auto}
  .other-service-toggle{margin-left:0}
}


/* V31: progressive additional schedules, unlimited recipients and optional Flycam. */
.progressive-event[hidden]{display:none!important}
.optional-crew-role{margin-top:12px;border:1px dashed #d8c7b7;border-radius:14px;background:#fffaf5;overflow:hidden}
.optional-crew-role>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:12px 14px;font-weight:800;color:#8a451f;list-style:none}
.optional-crew-role>summary::-webkit-details-marker{display:none}
.optional-crew-role>summary small{font-weight:500;color:#796b60}
.optional-crew-role[open]>summary,.optional-crew-role.is-active>summary{background:#f8eee4}
.flycam-crew-grid{padding:12px 14px;margin:0;grid-template-columns:minmax(0,1fr)}
.custom-recipient-section{margin-top:14px;padding-top:14px;border-top:1px solid #e6d9cc}
.custom-recipient-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
#custom-recipient-list{display:grid;gap:8px}
.custom-recipient-row{display:grid;grid-template-columns:130px minmax(150px,.7fr) minmax(220px,1.2fr) 38px;gap:8px;align-items:center}
.custom-recipient-row select,.custom-recipient-row input{width:100%}
.remove-custom-recipient{width:38px;height:38px;border:0;border-radius:10px;background:#f5ded8;color:#a4382c;font-size:22px;cursor:pointer}
@media(max-width:760px){.custom-recipient-row{grid-template-columns:1fr 1fr}.custom-recipient-row [name="custom_recipient"]{grid-column:1/-2}.remove-custom-recipient{grid-column:2;grid-row:2;justify-self:end}.optional-crew-role>summary{align-items:flex-start;flex-direction:column}}


/* V32: lịch bổ sung hiển thị tuần tự bằng hàng mũi tên. */
.progressive-event>.collapsible-event-summary em.progressive-chevron{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #d8c3aa;
  border-radius:50%;
  background:#fff;
  color:var(--accent-dark);
  flex:0 0 34px;
  font-size:0;
}
.progressive-event>.collapsible-event-summary em.progressive-chevron::before{
  content:'›';
  display:block;
  font-size:28px;
  line-height:1;
  font-weight:500;
  transform:translateX(1px) rotate(0deg);
  transition:transform .18s ease;
}
.progressive-event[open]>.collapsible-event-summary em.progressive-chevron::before{
  transform:translateY(1px) rotate(90deg);
}
.progressive-event>.collapsible-event-summary:hover{
  background:#f7efe5;
}
.progressive-event[hidden]{display:none!important}

/* V34 sharing/collaboration */
.sharing-panel textarea { min-height: 150px; }
.actor-device-box { align-items: start; }
.activity-list { display: grid; gap: 10px; }
.activity-item { border: 1px solid var(--line, #e5d5c3); border-radius: 18px; padding: 14px 16px; background: rgba(255,255,255,.72); display: grid; gap: 5px; }
.activity-item strong { font-size: 1rem; color: #7a3b20; }
.activity-item span { color: #1f1f1f; }
.activity-item small { color: #7d746b; }
.recipient-option input:checked + span { color: #7a3b20; }
.custom-recipient-row { align-items: center; }

/* V35 additions */
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:8px;padding:0 6px;border-radius:999px;background:#d92828;color:#fff;font-size:12px;font-weight:800;vertical-align:middle}
.quick-edit-option summary small{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-edit-option.is-active summary small{font-weight:800}.history-list,.pending-list{display:grid;gap:18px}.history-card-head,.pending-card header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.history-card h2,.pending-card h2{margin:2px 0 0}.history-meta{display:grid;gap:6px;color:#6f655c;font-size:14px}.history-detail summary{cursor:pointer;font-weight:800;color:#9a6035;margin-top:12px}.history-change-grid{display:grid;gap:8px;margin-top:12px}.history-change-row{display:grid;grid-template-columns:180px minmax(0,1fr) 22px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid #eadfd2;border-radius:12px;background:#fffaf4}.history-change-row span{overflow-wrap:anywhere}.public-link-box{display:flex;gap:10px;align-items:center}.public-link-box input{flex:1}.pending-card .badge.danger{background:#ffe2e2;color:#a40000}.pending-note{padding:10px 12px;border-radius:12px;background:#fff8ed;border:1px solid #ead9c4}.public-page{min-height:100vh;background:#f6f0e9;display:grid;place-items:start center;padding:24px}.public-card{width:min(980px,100%);background:#fff;border:1px solid #eadfd2;border-radius:24px;padding:24px;box-shadow:0 20px 60px rgba(56,35,20,.12)}.thank-card{text-align:center;margin-top:10vh}.public-form .panel{box-shadow:none}.quick-postproduction-editor{grid-template-columns:repeat(3,minmax(0,1fr))}.notification-log-title span:before{content:''}.pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:#f4e8db;color:#7a4e30;font-weight:800}.sidebar nav a{position:relative}
@media(max-width:820px){.history-card-head,.pending-card header,.public-link-box{display:grid}.history-change-row{grid-template-columns:1fr}.quick-postproduction-editor{grid-template-columns:1fr}.public-page{padding:12px}.public-card{padding:16px;border-radius:18px}}

.auth-page{min-height:100vh;background:#f6f0e9;display:grid;place-items:center;padding:18px}.auth-card{width:min(440px,100%);background:#fff;border:1px solid #eadfd2;border-radius:22px;padding:24px;box-shadow:0 20px 60px rgba(56,35,20,.12)}.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}.auth-brand .brand-mark{background:#191815;color:#e5b08d;flex:0 0 auto}.auth-brand h1{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:500;margin:0}.auth-password{display:grid;gap:8px;font-weight:800}.auth-password input{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:13px 14px;font:inherit;color:var(--text)}.auth-card .button{width:100%}.logout-button{border:0;background:transparent;color:#e5b08d;font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:0}.logout-button:hover{text-decoration:underline}.sidebar-footer{gap:14px;align-items:flex-end}.sidebar-footer form{margin:0}
.public-review-section{box-shadow:none;margin-top:16px}.public-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.public-review-grid.one-col{grid-template-columns:1fr}.public-review-grid div{padding:12px 14px;border:1px solid #eadfd2;border-radius:12px;background:#fffaf4}.public-review-grid span{display:block;color:#81766b;font-size:12px;font-weight:800;margin-bottom:5px}.public-review-grid strong{display:block;overflow-wrap:anywhere;white-space:pre-wrap}.public-review-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.public-confirm-modal[hidden]{display:none}.public-confirm-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.public-confirm-backdrop{position:absolute;inset:0;background:rgba(25,24,21,.58);backdrop-filter:blur(3px)}.public-confirm-dialog{position:relative;width:min(720px,100%);max-height:min(760px,92vh);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#fff;border:1px solid #eadfd2;border-radius:22px;padding:22px;box-shadow:0 24px 80px rgba(20,15,10,.28)}.public-confirm-dialog h2{margin:0 0 14px;font-family:Georgia,"Times New Roman",serif;font-weight:500}.public-confirm-scroll{overflow:auto;display:grid;gap:12px;padding-right:2px}.public-confirm-group{border:1px solid #eadfd2;border-radius:16px;background:#fffaf4;padding:14px}.public-confirm-group h3{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-weight:500}.public-confirm-group dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.public-confirm-group dl div{min-width:0}.public-confirm-group dt{color:#81766b;font-size:12px;font-weight:800;margin-bottom:4px}.public-confirm-group dd{margin:0;font-weight:800;overflow-wrap:anywhere;white-space:pre-wrap}.public-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
@media(max-width:700px){.public-review-grid{grid-template-columns:1fr}.public-review-actions{display:grid}.public-review-actions .button{width:100%}}
@media(max-width:700px){.public-confirm-dialog{padding:16px;border-radius:18px;max-height:94vh}.public-confirm-group dl{grid-template-columns:1fr}.public-confirm-actions{display:grid}.public-confirm-actions .button{width:100%}}

/* V36: mobile portrait first. Keep operation data readable without side scrolling. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .main{width:100%;padding:18px 10px 42px!important}
  .topbar{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .topbar h1{font-size:25px;line-height:1.15}
  .topbar-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;justify-content:stretch!important;width:100%}
  .topbar-actions .button{width:100%;min-height:38px;padding:0 10px;font-size:12px}
  .sidebar{padding:14px 10px}
  .sidebar nav{display:flex!important;gap:6px;overflow-x:auto;padding-bottom:2px}
  .sidebar nav a{flex:0 0 auto!important;border-radius:10px;font-size:12px!important;padding:9px 10px!important}

  .month-toolbar{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;padding:12px}
  .month-toolbar>strong{grid-column:1/-1;grid-row:1;font-size:19px!important}
  .month-toolbar .month-picker{grid-column:2;grid-row:2}
  .month-toolbar .month-arrow:first-child{grid-column:1;grid-row:2}
  .month-toolbar .month-arrow:nth-of-type(2){grid-column:3;grid-row:2}
  .calendar-toolbar-summary,.calendar-toolbar .button{grid-column:1/-1;width:100%;margin-left:0}
  .calendar-toolbar-summary{display:grid;grid-template-columns:1fr 1fr}

  .quick-filter-panel{padding:12px}
  .quick-filter-grid{grid-template-columns:1fr!important}
  .quick-filter-grid .filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}

  .schedule-quick-list{gap:12px}
  .schedule-quick-card{overflow:visible!important;border-radius:14px}
  .schedule-quick-card .quick-info-grid{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    padding:0!important;
  }
  .schedule-quick-card .quick-cell{
    border-right:0!important;
    border-bottom:1px solid #eee7dd!important;
    padding:11px 12px!important;
  }
  .schedule-quick-card .quick-cell:last-child{border-bottom:0!important}
  .quick-cell>span{font-size:10px}
  .quick-cell strong{font-size:15px}
  .quick-cell small,.quick-address .address-line{font-size:12.5px;line-height:1.42}
  .quick-contact strong{white-space:normal}
  .schedule-quick-card .quick-card-footer{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:11px 12px!important;
  }
  .quick-service-label{flex-basis:auto!important}
  .quick-service-label strong{font-size:14px;line-height:1.35}
  .quick-service-label small{font-size:12px}
  .quick-postproduction-editor{grid-template-columns:1fr!important}
  .quick-edit-option summary{padding:9px 10px}
  .quick-edit-option summary span{font-size:11px}
  .quick-edit-option summary small{max-width:none;font-size:11px}
  .quick-payment-form{
    order:initial!important;
    width:100%!important;
    min-width:0!important;
    grid-template-columns:1fr!important;
    margin-left:0!important;
  }
  .schedule-payment-select{width:100%;font-size:13px;padding:9px 30px 9px 10px}
  .quick-actions{width:100%;margin-left:0!important;justify-content:space-between;padding-top:2px}
  .quick-actions a,.delete-schedule-button{font-size:13px}
  .schedule-quick-card .quick-detail{min-width:0!important;padding:0 12px!important}
  .quick-detail summary{font-size:13px;padding:12px 0}
  .quick-detail-grid,.quick-detail-grid.finance-four-grid,.quick-detail-grid.finance-three-grid{grid-template-columns:1fr!important}
  .quick-detail-grid strong{font-size:14px}

  .month-calendar-panel{padding:10px!important;overflow:visible!important}
  .calendar-book-head{display:grid;gap:4px}
  .month-calendar{min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))}
  .calendar-weekday{font-size:9px;padding:7px 2px}
  .calendar-day{min-height:58px;padding:5px 4px}
  .calendar-day-head{display:grid;gap:2px}
  .calendar-day-head strong{font-size:15px}
  .calendar-day-head em{font-size:8px;padding:2px 4px;width:max-content;max-width:100%}
  .calendar-lunar-date{font-size:8px}
  .calendar-day-note{display:none}

  .calendar-modal{padding:6px}
  .calendar-modal-card{width:calc(100vw - 12px)!important;max-height:94vh;padding:12px!important}
  #calendar-modal-content{overflow:visible}
  .compact-calendar-events{min-width:0!important;display:grid;gap:9px}
  .calendar-event-header{display:none!important}
  .calendar-event-row{
    grid-template-columns:52px minmax(0,1fr)!important;
    border-radius:12px;
  }
  .calendar-event-row>div{border-right:0!important;border-bottom:1px solid var(--line);padding:9px 10px}
  .calendar-event-row>div:nth-child(n+3){grid-column:1/-1}
  .calendar-event-row>div:last-child{border-bottom:0}
  .calendar-event-time-compact{grid-template-columns:1fr auto}
  .calendar-event-identity>strong{font-size:15px}
  .calendar-event-location-compact span,.calendar-event-work-compact small{font-size:12px;line-height:1.42}

  .customer-directory-toolbar{display:grid;gap:10px}
  .customer-search{display:grid!important;grid-template-columns:1fr!important}
  .customer-directory-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px}
  .customer-card-header{grid-template-columns:1fr!important}
  .customer-card-counts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .customer-full-details-body{overflow:visible!important}
  .customer-party-grid-image-style,
  .customer-finance-summary-row,
  .customer-booking-list,
  .customer-directory-notifications{
    min-width:0!important;
  }
  .customer-party-grid-image-style{grid-template-columns:1fr!important;padding:12px!important}
  .customer-finance-summary-row{grid-template-columns:1fr!important;padding:10px 12px}
  .customer-booking-list{gap:8px;background:transparent}
  .customer-booking-row{
    grid-template-columns:1fr!important;
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
  }
  .customer-booking-row>div{border-right:0!important;border-bottom:1px solid #eee7dd}
  .customer-booking-row>div:last-child{border-bottom:0}
  .booking-row-action{justify-content:stretch!important}
  .booking-row-action a{width:100%;text-align:center}
}

@media(max-width:430px){
  .topbar-actions{grid-template-columns:1fr!important}
  .calendar-toolbar-summary{grid-template-columns:1fr}
  .quick-filter-grid .filter-actions{grid-template-columns:1fr}
  .customer-card-counts{grid-template-columns:1fr!important}
  .calendar-day{min-height:52px}
  .calendar-weekday{font-size:8px}
  .calendar-day-head strong{font-size:14px}
}

/* V37: keep mobile navigation anchored and make schedule cards consistent on Windows/tablets. */
@media(max-width:760px){
  .sidebar nav{
    scroll-padding-inline:10px;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
  }
  .sidebar nav a.active{
    scroll-margin-inline:18px;
  }
}

@media(min-width:761px) and (max-width:1500px){
  .schedule-quick-card .quick-card-footer{
    grid-template-columns:minmax(260px,1fr) minmax(170px,auto) minmax(95px,auto)!important;
    align-items:start!important;
    gap:9px 12px!important;
  }
  .schedule-quick-card .quick-service-label{
    grid-column:1;
    grid-row:1;
  }
  .schedule-quick-card .quick-postproduction-editor{
    grid-column:1/-1;
    grid-row:2;
    grid-template-columns:repeat(3,minmax(160px,1fr))!important;
  }
  .schedule-quick-card .quick-payment-form{
    grid-column:2;
    grid-row:1;
    min-width:0!important;
    width:100%;
  }
  .schedule-quick-card .schedule-payment-select{
    width:100%;
    min-width:155px;
  }
  .schedule-quick-card .quick-actions{
    grid-column:3;
    grid-row:1;
    justify-content:flex-end;
    align-self:start;
    gap:8px;
    padding-top:6px;
  }
  .quick-edit-option summary{
    min-height:46px;
  }
  .quick-edit-option summary small{
    max-width:none;
  }
}

@media(min-width:761px) and (max-width:1120px){
  .schedule-quick-card .quick-card-footer{
    grid-template-columns:minmax(230px,1fr) minmax(160px,auto)!important;
  }
  .schedule-quick-card .quick-actions{
    grid-column:2;
    grid-row:2;
    align-self:end;
  }
  .schedule-quick-card .quick-postproduction-editor{
    grid-column:1;
    grid-template-columns:1fr!important;
  }
}

/* V38: denser portrait schedule cards with two-side information layout. */
@media(max-width:760px){
  .schedule-quick-list{gap:9px!important}
  .schedule-quick-card{
    border-radius:12px!important;
    box-shadow:0 5px 16px rgba(68,48,28,.045)!important;
  }
  .schedule-quick-card .quick-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1px!important;
    background:color-mix(in srgb,var(--schedule-border,#eadfd2) 52%,#fff 48%);
  }
  .schedule-quick-card .quick-cell{
    min-height:0;
    padding:8px 9px!important;
    border:0!important;
    background:color-mix(in srgb,var(--schedule-bg,var(--panel)) 82%,#fff 18%);
  }
  .schedule-quick-card .quick-cell>span{
    margin-bottom:3px;
    font-size:9px;
    letter-spacing:.06em;
  }
  .schedule-quick-card .quick-cell strong{
    font-size:13.5px;
    line-height:1.24;
  }
  .schedule-quick-card .quick-cell small,
  .schedule-quick-card .quick-address .address-line{
    margin-top:2px;
    font-size:11.5px;
    line-height:1.32;
  }
  .schedule-quick-card .quick-address{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:10px;
    row-gap:3px;
  }
  .schedule-quick-card .quick-address>span,
  .schedule-quick-card .quick-address .venue-line,
  .schedule-quick-card .quick-address .event-note-line{
    grid-column:1/-1;
  }
  .schedule-quick-card .quick-address .venue-line{
    margin-top:3px;
    padding-top:5px;
  }
  .schedule-quick-card .quick-address .event-note-line{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .schedule-quick-card .quick-datetime{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:8px;
    align-content:start;
  }
  .schedule-quick-card .quick-datetime>span,
  .schedule-quick-card .quick-datetime>strong{
    grid-column:1/-1;
  }
  .schedule-quick-card .quick-datetime small{
    margin-top:4px;
  }
  .schedule-quick-card .quick-crew{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:8px;
    row-gap:2px;
  }
  .schedule-quick-card .quick-crew>span,
  .schedule-quick-card .quick-crew>strong{
    grid-column:1/-1;
  }
  .schedule-quick-card .quick-crew .staff-role-line{
    margin:0;
    padding:5px 7px;
    border-radius:7px;
    background:rgba(255,255,255,.52);
  }
  .schedule-quick-card .quick-card-footer{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:9px!important;
  }
  .schedule-quick-card .quick-service-label{
    grid-column:1/-1;
  }
  .schedule-quick-card .quick-service-label strong{
    font-size:13px;
    line-height:1.25;
  }
  .schedule-quick-card .quick-service-label small{
    font-size:11px;
  }
  .schedule-quick-card .quick-postproduction-editor{
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px;
  }
  .schedule-quick-card .quick-edit-option summary{
    min-height:48px;
    grid-template-columns:1fr;
    gap:2px;
    padding:7px!important;
  }
  .schedule-quick-card .quick-edit-option summary::before{
    display:none;
  }
  .schedule-quick-card .quick-edit-option summary span{
    font-size:10px!important;
    white-space:normal;
  }
  .schedule-quick-card .quick-edit-option summary small{
    font-size:10px!important;
    line-height:1.2;
  }
  .schedule-quick-card .quick-postproduction-form{
    grid-template-columns:1fr!important;
  }
  .schedule-quick-card .quick-payment-form{
    grid-column:1;
  }
  .schedule-quick-card .schedule-payment-select{
    min-height:38px;
    font-size:12px;
    padding-top:7px;
    padding-bottom:7px;
  }
  .schedule-quick-card .quick-actions{
    grid-column:2;
    align-self:end;
    justify-content:flex-end;
    gap:12px;
    padding:0!important;
  }
  .schedule-quick-card .quick-actions a,
  .schedule-quick-card .delete-schedule-button{
    font-size:12px!important;
  }
  .schedule-quick-card .quick-detail{
    padding:0 9px!important;
  }
  .schedule-quick-card .quick-detail summary{
    padding:9px 0;
  }
}

@media(max-width:420px){
  .schedule-quick-card .quick-info-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .schedule-quick-card .quick-address,
  .schedule-quick-card .quick-crew{
    grid-template-columns:1fr!important;
  }
  .schedule-quick-card .quick-postproduction-editor{
    grid-template-columns:1fr!important;
  }
}

/* V39: cleaner phone header for service/calendar screens. */
@media(max-width:760px){
  .topbar-actions>button:first-child{
    display:none!important;
  }
  .topbar-actions{
    grid-template-columns:1fr!important;
  }
  .calendar-toolbar>.button{
    display:none!important;
  }
  .calendar-book-head{
    grid-template-columns:1fr!important;
    margin-bottom:10px!important;
  }
  .calendar-book-head small{
    display:block!important;
    margin-top:2px!important;
    max-width:100%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:11px;
    line-height:1.25;
  }
}

/* V40: orange active underline for mobile menu tabs. */
@media(max-width:760px){
  .sidebar nav a{
    position:relative;
    padding-bottom:12px!important;
  }
  .sidebar nav a.active{
    background:#2a2823!important;
    color:#fff!important;
  }
  .sidebar nav a.active::after{
    content:"";
    position:absolute;
    left:10px;
    right:10px;
    bottom:4px;
    height:3px;
    border-radius:999px;
    background:#e58a3a;
    box-shadow:0 0 0 1px rgba(229,138,58,.12);
  }
}

/* V41: keep dashboard month counters on one compact row on phones. */
@media(max-width:760px){
  .calendar-toolbar-summary{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    width:100%;
  }
  .calendar-toolbar-summary span{
    min-width:0;
    padding:9px 10px;
    text-align:left;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* V42: mobile nav has its own row so active tabs cannot hide behind the logo. */
@media(max-width:760px){
  .sidebar{
    grid-template-columns:1fr!important;
    gap:9px!important;
    align-items:stretch!important;
  }
  .sidebar .brand{
    width:max-content;
    max-width:100%;
  }
  .sidebar nav{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:0 2px 6px!important;
    scroll-padding-inline:18px!important;
  }
  .sidebar nav a{
    scroll-margin-inline:18px;
  }
  .sidebar nav a.active{
    min-width:max-content;
  }
}

/* V44: black crew shortage warnings and app-owned future month picker. */
.crew-requirement-warning{
  display:block!important;
  margin-top:6px;
  font-weight:800;
  color:#191815;
}
.crew-requirement-warning:not(.is-short){
  display:none!important;
}
.crew-shortage-card{
  border-color:#191815!important;
  box-shadow:0 0 0 3px rgba(25,24,21,.34), var(--shadow)!important;
}
.schedule-quick-card.crew-shortage-card{
  background:#191815!important;
  color:#fff!important;
}
.schedule-quick-card.crew-shortage-card .quick-info-grid,
.schedule-quick-card.crew-shortage-card .quick-card-footer,
.schedule-quick-card.crew-shortage-card .quick-detail{
  background:#191815!important;
}
.schedule-quick-card.crew-shortage-card .quick-cell,
.schedule-quick-card.crew-shortage-card .quick-card-footer,
.schedule-quick-card.crew-shortage-card .quick-detail{
  border-color:#3b3832!important;
}
.schedule-quick-card.crew-shortage-card .quick-cell>span,
.schedule-quick-card.crew-shortage-card .quick-cell small,
.schedule-quick-card.crew-shortage-card .quick-service-label small,
.schedule-quick-card.crew-shortage-card .crew-requirement-warning{
  color:#d8d0c6!important;
}
.schedule-quick-card.crew-shortage-card .quick-cell strong,
.schedule-quick-card.crew-shortage-card .quick-cell a,
.schedule-quick-card.crew-shortage-card .quick-service-label strong,
.schedule-quick-card.crew-shortage-card .quick-actions a,
.schedule-quick-card.crew-shortage-card .delete-schedule-button{
  color:#fff!important;
}
.schedule-quick-card.crew-shortage-card .schedule-index-chip{
  background:#fff!important;
  color:#191815!important;
  border:1px solid #fff;
}
.schedule-quick-card.crew-shortage-card .quick-edit-option summary,
.schedule-quick-card.crew-shortage-card .schedule-payment-select{
  background:#fff!important;
  color:#191815!important;
  border-color:#d7cab8!important;
}
.month-jump{
  position:relative;
  min-width:190px;
}
.month-jump summary{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--accent-dark);
  font-weight:800;
}
.month-jump-grid{
  position:absolute;
  z-index:12;
  top:calc(100% + 8px);
  left:0;
  width:330px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fffdf9;
  box-shadow:0 14px 32px rgba(34,28,21,.14);
}
.month-jump-grid a{
  display:grid;
  gap:2px;
  padding:9px 8px;
  border-radius:9px;
  background:#fff;
  border:1px solid #e4dbcf;
  color:#4d4943;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.month-jump-grid a small{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.month-jump-grid a.has-data{
  background:#ffe1bf;
  border-color:#e58a3a;
  color:#7c3713;
  box-shadow:inset 0 -3px 0 #e58a3a;
}
.month-jump-grid a.is-current{
  background:#191815;
  border-color:#191815;
  color:#fff;
}
.month-jump-grid a.is-current small{
  color:#e8dfd3;
}
.remember-login{
  justify-content:flex-start;
  color:var(--muted);
}
.inline-toolbar-form{
  margin:0;
  min-width:0;
}
.inline-toolbar-form .button{
  width:100%;
}
@media(max-width:760px){
  .calendar-toolbar .inline-toolbar-form{
    grid-column:1/-1;
    width:100%;
  }
  .calendar-toolbar .inline-toolbar-form .button{
    min-height:40px;
    white-space:normal;
    line-height:1.2;
  }
  .month-jump{
    width:100%;
  }
  .month-jump summary{
    width:100%;
    justify-content:center;
  }
  .month-jump-grid{
    position:static;
    width:100%;
    grid-template-columns:repeat(3,1fr);
    margin-top:8px;
  }
}

/* V46: lead-source filters for schedule, finance and customers. */
.quick-filter-grid{
  grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(170px,.7fr) auto;
}
.quick-filter-grid.compact-source-filter{
  grid-template-columns:minmax(220px,360px) auto;
}
.quick-filter-grid select,
.customer-search select{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  border-radius:9px;
  padding:10px 11px;
  font:inherit;
  color:var(--text);
}
.customer-search select{
  max-width:220px;
}
.schedule-date-separator{
  display:flex;
  align-items:center;
  gap:12px;
  margin:18px 0 8px;
  color:#8f4928;
  font-weight:900;
}
.schedule-date-separator::before,
.schedule-date-separator::after{
  content:"";
  height:2px;
  flex:1;
  background:linear-gradient(90deg,transparent,#d8b28a,transparent);
}
.schedule-date-separator span{
  padding:7px 12px;
  border-radius:999px;
  background:#fff3e4;
  border:1px solid #e0bea0;
}
.quick-time-primary{
  display:inline-flex!important;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:6px!important;
  padding:5px 8px;
  border-radius:8px;
  background:#2b2925!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900;
}
.quick-time-primary b{
  color:#f5c48f!important;
}
.schedule-focus-card{
  outline:4px solid #e58a3a;
  box-shadow:0 0 0 8px rgba(229,138,58,.18),0 14px 34px rgba(72,46,24,.22)!important;
  position:relative;
  z-index:3;
}
.customer-no-service-inline{
  color:#8f4928;
}
.customer-no-service-inline b{
  color:#191815;
}
.customer-card-counts .button.small{
  align-self:center;
  min-height:32px;
  padding:0 10px;
}
.customer-card-bottom-actions{
  position:absolute;
  right:22px;
  bottom:13px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.customer-card-bottom-actions form{
  margin:0;
}
.customer-card-bottom-actions .button.small{
  min-height:34px;
  padding:0 12px;
}
.customer-profile-actions{
  align-items:center;
}
.customer-profile-actions form{
  margin:0;
}
.danger-button{
  border-color:#d78787!important;
  background:#fff4f4!important;
  color:#a73636!important;
}
.danger-button:hover{
  box-shadow:0 5px 16px rgba(167,54,54,.14)!important;
}
@media(max-width:1100px){
  .quick-filter-grid,
  .quick-filter-grid.compact-source-filter{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:760px){
  .quick-filter-grid,
  .quick-filter-grid.compact-source-filter{
    grid-template-columns:1fr!important;
  }
  .customer-search select{
    max-width:none;
  }
  .customer-card-bottom-actions{
    position:static;
    justify-content:stretch;
    padding:0 12px 12px;
  }
  .customer-card-bottom-actions .button,
  .customer-card-bottom-actions form{
    flex:1;
  }
  .customer-card-bottom-actions .button{
    width:100%;
  }
  .customer-full-details>summary{
    padding-right:13px;
  }
  .schedule-date-separator{
    margin:16px 0 7px;
  }
  .schedule-date-separator::before,
  .schedule-date-separator::after{
    height:3px;
    background:#8f4928;
    opacity:.28;
  }
  .quick-postproduction-editor{
    display:none!important;
  }
  .schedule-quick-card{
    margin-bottom:14px;
  }
}

/* V50: tighter schedule cards, quick crew edits, mobile swipes and cleaner month toolbar. */
.month-toolbar>strong{
  display:none!important;
}
.month-toolbar .month-jump{
  margin-right:auto;
}
.password-field-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.auth-password .password-field-wrap input{
  border:0!important;
  border-radius:0!important;
}
.password-toggle{
  height:100%;
  min-width:70px;
  border:0;
  border-left:1px solid var(--line);
  background:#fbf6ef;
  color:#8f4928;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.quick-info-grid{
  grid-template-columns:.82fr minmax(160px,1.16fr) minmax(260px,1.58fr) minmax(180px,1.08fr) minmax(260px,1.58fr);
}
.quick-phone-line{
  margin-top:5px!important;
  padding-top:5px;
  border-top:1px dashed color-mix(in srgb,var(--schedule-border,#eadfd2) 70%,transparent 30%);
  color:#1d1b18!important;
  font-weight:900;
}
.quick-customer-lines{
  display:grid;
  gap:6px;
}
.quick-person-line{
  display:flex!important;
  align-items:baseline;
  gap:8px;
  color:#191815!important;
  font-size:14px!important;
  line-height:1.28!important;
  font-weight:900;
}
.quick-person-line b{
  color:inherit;
  font:inherit;
  min-width:0;
  overflow-wrap:anywhere;
}
.quick-person-line small{
  display:inline!important;
  margin:0!important;
  color:#191815!important;
  font-size:14px!important;
  line-height:1.28!important;
  font-weight:900!important;
  white-space:nowrap;
}
.quick-datetime[class*="arrival-band-"]{
  border-left:5px solid transparent;
}
.quick-datetime.arrival-band-morning{
  background:#edf8f0!important;
  border-left-color:#3b9b63!important;
}
.quick-datetime.arrival-band-afternoon{
  background:#fff6dc!important;
  border-left-color:#d99122!important;
}
.quick-datetime.arrival-band-evening{
  background:#f0efff!important;
  border-left-color:#6f67d8!important;
}
.quick-crew-editor{
  grid-column:1/-1;
  margin-top:7px;
}
.quick-crew-editor>summary{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border:1px solid color-mix(in srgb,var(--schedule-border,#d8c7b7) 78%,#fff 22%);
  border-radius:999px;
  background:#fff;
  color:#8f4928;
  font-size:11px;
  font-weight:900;
  list-style:none;
}
.quick-crew-editor>summary::-webkit-details-marker{display:none}
.quick-crew-editor-list{
  display:grid;
  gap:7px;
  margin-top:8px;
}
.quick-crew-bulk-form{
  margin:0;
}
.quick-crew-editor-list{
  grid-template-columns:repeat(2,minmax(140px,1fr));
}
.quick-crew-editor-list form{
  display:grid;
  grid-template-columns:minmax(150px,1fr) auto;
  gap:7px;
  align-items:end;
  margin:0;
}
.quick-crew-editor-list label{
  display:grid;
  gap:4px;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
}
.quick-crew-editor-list input{
  width:100%;
  min-height:34px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  padding:7px 9px;
  font:inherit;
  font-size:12px;
}
.quick-crew-editor-list button{
  min-height:34px;
  border:0;
  border-radius:9px;
  background:#8f4928;
  color:#fff;
  padding:0 11px;
  font-weight:900;
  cursor:pointer;
}
.quick-crew-save-one{
  width:100%;
  min-height:36px;
  margin-top:8px;
  border:0;
  border-radius:9px;
  background:#8f4928;
  color:#fff;
  padding:0 12px;
  font-weight:900;
  cursor:pointer;
}
.schedule-focus-card{
  animation:nowFocusPulse 1.15s ease-in-out 2;
}
.schedule-focus-card::before{
  content:"Đang xem lịch này";
  position:absolute;
  right:12px;
  top:12px;
  z-index:6;
  padding:7px 10px;
  border-radius:999px;
  background:#e58a3a;
  color:#fff;
  font-size:11px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(143,73,40,.24);
}
@keyframes nowFocusPulse{
  0%,100%{box-shadow:0 0 0 8px rgba(229,138,58,.18),0 14px 34px rgba(72,46,24,.22)}
  50%{box-shadow:0 0 0 13px rgba(229,138,58,.32),0 18px 42px rgba(72,46,24,.28)}
}
@media(max-width:1100px){
  .quick-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .quick-address,.quick-crew{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .month-toolbar{
    grid-template-columns:44px minmax(0,1fr) 44px!important;
  }
  .month-toolbar .month-jump{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    width:100%;
    margin:0!important;
  }
  .month-toolbar .month-jump summary{
    width:100%;
    min-height:42px;
    justify-content:center;
    font-size:18px;
  }
  .month-toolbar .month-arrow:first-child{
    grid-column:1!important;
    grid-row:1!important;
  }
  .month-toolbar .month-arrow:nth-of-type(2){
    grid-column:3!important;
    grid-row:1!important;
  }
  .quick-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .quick-customer-phone,
  .quick-datetime{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:3px 8px;
  }
  .quick-customer-phone>span,
  .quick-customer-phone>a,
  .quick-datetime>span,
  .quick-datetime>strong{
    grid-column:1/-1;
  }
  .quick-time-primary{
    width:100%!important;
    justify-content:center;
  }
  .quick-person-line{
    font-size:13.5px!important;
  }
  .quick-person-line small{
    font-size:13.5px!important;
  }
  .quick-crew-editor-list{
    grid-template-columns:1fr;
  }
  .quick-crew-editor-list button{
    width:100%;
  }
  .schedule-date-separator{
    margin-top:20px!important;
    padding-top:4px;
  }
  .schedule-date-separator span{
    width:100%;
    text-align:center;
    border:2px solid #8f4928;
  }
  .schedule-quick-card{
    border-width:2px!important;
  }
  .schedule-focus-card::before{
    right:10px;
    top:10px;
    font-size:10px;
  }
}

/* V51: unified slim sans-serif typography. */
:root{
  --now-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,Tahoma,sans-serif;
}
html,body,
button,input,select,textarea,
.vietnamese-ui,.vietnamese-ui *,
.vietnamese-safe-log,.vietnamese-safe-log *{
  font-family:var(--now-sans)!important;
  font-weight:400;
  letter-spacing:0!important;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
}
.topbar h1,
.panel-head h2,
.section-title h2,
.profile-main h2,
.stat-card strong,
.info-card h3,
.service-card-head h3,
.calendar-book-head h2,
.calendar-modal-head h2,
.customer-card-identity h2,
.customer-party-card h3,
.customer-directory-notification-head h3,
.auth-brand h1,
.public-confirm-dialog h2,
.brand-mark,
.avatar,
.date-tile strong,
.calendar-day-head>strong,
.calendar-event-time strong{
  font-family:var(--now-sans)!important;
  font-weight:500!important;
  letter-spacing:0!important;
}
.eyebrow,
.button,
.sidebar nav a,
th,
label,
summary,
.badge,
.pill,
.customer-source-badge,
.quick-cell>span,
.quick-detail-grid span,
.job-detail-card span,
.customer-event-card span,
.quick-cell strong,
.quick-service-label strong,
.quick-person-line,
.quick-person-line small,
.calendar-weekday,
.calendar-day-head em,
.schedule-index-chip,
.staff-role-line b,
.quick-crew-editor>summary,
.quick-crew-editor-list button,
.password-toggle{
  font-family:var(--now-sans)!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
.brand strong{
  font-family:var(--now-sans)!important;
  font-weight:500!important;
  letter-spacing:.12em!important;
}
small,
td,
p,
dd,
.quick-cell small,
.address-line,
.party-details dd,
.customer-card-identity,
.customer-key-dates,
.customer-notification-card>p{
  font-weight:400;
}

/* V52: schedule service-type filter and tighter month picker arrows. */
.month-toolbar .month-jump{
  margin-right:0!important;
}
.month-toolbar.compact-month-toolbar{
  justify-content:flex-start;
}
.quick-filter-grid.schedule-filter-grid{
  grid-template-columns:minmax(280px,1.35fr) minmax(170px,.65fr) minmax(170px,.65fr) auto;
}
@media(max-width:1180px){
  .quick-filter-grid.schedule-filter-grid{
    grid-template-columns:1fr 1fr;
  }
  .quick-filter-grid.schedule-filter-grid .filter-actions{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .quick-filter-grid.schedule-filter-grid{
    grid-template-columns:1fr!important;
  }
}

/* V54: put schedule number/service summary beside date-time on mobile. */
.quick-service-summary{
  display:grid;
  align-content:start;
  gap:4px;
}
.quick-service-summary strong{
  display:flex!important;
  align-items:center;
  gap:7px;
  line-height:1.2!important;
}
.quick-service-summary small{
  margin-top:0!important;
}
@media(min-width:761px){
  .quick-service-summary{
    grid-column:auto;
  }
  .schedule-quick-card .quick-card-footer{
    grid-template-columns:minmax(310px,1.15fr) auto auto!important;
  }
}
@media(max-width:760px){
  .schedule-quick-card .quick-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .schedule-quick-card .quick-datetime,
  .schedule-quick-card .quick-service-summary{
    grid-column:auto!important;
    min-height:104px;
  }
  .schedule-quick-card .quick-service-summary{
    border-left:1px solid color-mix(in srgb,var(--schedule-border,#eadfd2) 70%,transparent 30%)!important;
    background:color-mix(in srgb,var(--schedule-bg,var(--panel)) 72%,#fff 28%)!important;
  }
  .schedule-quick-card .quick-service-summary>span{
    margin-bottom:2px;
  }
  .schedule-quick-card .quick-service-summary strong{
    gap:6px;
    font-size:12px!important;
  }
  .schedule-quick-card .quick-service-summary .schedule-index-chip{
    width:34px;
    height:28px;
    min-width:34px;
    border-radius:999px;
    display:inline-grid;
    place-items:center;
    background:#1f1d1a!important;
    color:#fff!important;
    font-size:13px;
    font-weight:800!important;
  }
  .schedule-quick-card.crew-shortage-card .quick-service-summary .schedule-index-chip{
    background:#1f1d1a!important;
  }
  .schedule-quick-card.photobooth-card .quick-service-summary .schedule-index-chip{
    background:#17689f!important;
  }
  .schedule-quick-card .quick-service-summary small{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    color:#4f463f!important;
    font-size:11px!important;
    line-height:1.24!important;
  }
  .schedule-quick-card .quick-card-footer{
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:8px!important;
  }
  .schedule-quick-card .quick-postproduction-editor{
    grid-column:1/-1;
    order:3;
  }
  .schedule-quick-card .quick-payment-form{
    grid-column:1;
    order:1;
  }
  .schedule-quick-card .quick-actions{
    grid-column:2;
    order:2;
    justify-self:end;
  }
}

/* V55: schedule index chips use NOW colors, never black. */
.schedule-index-chip,
.schedule-quick-card .quick-service-summary .schedule-index-chip,
.schedule-quick-card.crew-shortage-card .schedule-index-chip,
.schedule-quick-card.crew-shortage-card .quick-service-summary .schedule-index-chip{
  background:#c46b3d!important;
  color:#fff7ef!important;
  border:1px solid #d98a5f!important;
}
.schedule-quick-card.photobooth-card .schedule-index-chip,
.schedule-quick-card.photobooth-card .quick-service-summary .schedule-index-chip{
  background:#17689f!important;
  color:#f2f9ff!important;
  border-color:#4b9fca!important;
}

/* V57: service form required-field and time-order warnings. */
.field-invalid{
  border-color:#c93f3f!important;
  background:#fff1f1!important;
  box-shadow:0 0 0 3px rgba(201,63,63,.12)!important;
}
.field-invalid-wrap{
  color:#b93434!important;
}
.event-invalid-card{
  border-color:#d36b6b!important;
}
.event-validation-warning{
  grid-column:1/-1;
  display:block;
  padding:10px 12px;
  border-radius:10px;
  background:#fde7e7;
  color:#b93434;
  font-size:12px;
  font-weight:800;
}
.form-actions button[disabled]{
  opacity:.48;
  cursor:not-allowed;
  transform:none!important;
  box-shadow:none!important;
}

.mobile-source-schedule{
  display:none!important;
}
.quick-phone-link{
  color:var(--accent-dark);
  text-decoration:none;
  font-weight:700;
  overflow-wrap:anywhere;
}
.quick-phone-link:active{
  color:#c46b3d;
}

/* V58: compact mobile schedule cards with service summary beside source. */
.quick-mobile-row-actions{
  display:none;
}
.staff-role-line.is-photo-staff{
  display:block;
  padding:6px 8px;
  border:1px solid #e0a071;
  border-radius:9px;
  background:#fff1df;
  color:#873f20!important;
  font-weight:800!important;
}
.staff-role-line.is-photo-staff b{
  color:#723318!important;
}
@media(max-width:760px){
  .schedule-quick-card .quick-info-grid{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;
  }
  .schedule-quick-card .quick-info-grid>.quick-cell{
    border-right:0!important;
    border-bottom:1px solid color-mix(in srgb,var(--schedule-border,#eadfd2) 70%,transparent 30%)!important;
    min-height:0!important;
  }
  .schedule-quick-card .quick-info-grid>.quick-cell:first-child{
    order:1;
    grid-column:1!important;
    border-right:1px solid color-mix(in srgb,var(--schedule-border,#eadfd2) 70%,transparent 30%)!important;
  }
  .schedule-quick-card .quick-source-cell{
    display:grid;
    align-content:start;
    gap:4px;
  }
  .schedule-quick-card .mobile-source-schedule{
    display:flex!important;
    align-items:center;
    gap:6px;
    margin-top:1px!important;
    color:#7e4630!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1.2!important;
  }
  .schedule-quick-card .mobile-source-schedule .schedule-index-chip{
    width:32px;
    height:26px;
    min-width:32px;
    border-radius:999px;
    display:inline-grid;
    place-items:center;
    font-size:12px;
    font-weight:800!important;
  }
  .schedule-quick-card .quick-service-summary{
    order:2;
    grid-column:2!important;
    min-height:0!important;
    padding:10px 11px!important;
    border-left:0!important;
  }
  .schedule-quick-card .quick-service-summary>span{
    font-size:0!important;
    margin:0!important;
  }
  .schedule-quick-card .quick-service-summary>span::after{
    content:"Gói book";
    font-size:9px!important;
    color:var(--muted);
    text-transform:uppercase;
    font-weight:800;
  }
  .schedule-quick-card .quick-service-summary strong .schedule-index-chip,
  .schedule-quick-card .quick-service-summary strong .photobooth-label{
    display:none!important;
  }
  .schedule-quick-card .quick-service-summary strong{
    display:block!important;
    font-size:11.5px!important;
    color:#8f4928!important;
  }
  .schedule-quick-card .quick-customer-phone{
    order:3;
    grid-column:1!important;
    border-right:1px solid color-mix(in srgb,var(--schedule-border,#eadfd2) 70%,transparent 30%)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  .schedule-quick-card .quick-address{
    order:5;
    grid-column:1/-1!important;
  }
  .schedule-quick-card .quick-datetime{
    order:4;
    grid-column:2!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    align-items:center!important;
    min-height:0!important;
    padding:10px 11px!important;
  }
  .schedule-quick-card .quick-datetime>span{
    grid-column:1/-1!important;
    margin-bottom:0!important;
  }
  .schedule-quick-card .quick-datetime>strong{
    grid-column:1/-1!important;
    grid-row:2!important;
    font-size:13px!important;
    line-height:1.15!important;
  }
  .schedule-quick-card .quick-datetime .quick-time-line{
    grid-row:3!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    margin:0!important;
    white-space:nowrap!important;
    padding:6px 5px!important;
    border-radius:9px!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:800!important;
  }
  .schedule-quick-card .quick-datetime .quick-time-line b{
    font-size:9px!important;
    font-weight:700!important;
    margin-right:3px;
  }
  .schedule-quick-card .quick-time-event{
    background:#fff0df!important;
    border:1px solid #d6844f!important;
    color:#8d3e18!important;
  }
  .schedule-quick-card .quick-time-event b{
    color:#6f3015!important;
  }
  .schedule-quick-card .quick-time-arrival{
    background:#eaf4ff!important;
    border:1px solid #6aa4d8!important;
    color:#1d5b88!important;
  }
  .schedule-quick-card .quick-time-arrival b{
    color:#17496e!important;
  }
  .schedule-quick-card .quick-customer-lines{
    display:grid!important;
    gap:5px!important;
  }
  .schedule-quick-card .quick-person-line{
    display:grid!important;
    gap:2px!important;
  }
  .schedule-quick-card .quick-phone-link{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:3px 7px;
    border-radius:999px;
    background:#fff4e9;
    border:1px solid #e5c5ad;
    color:#8f4928!important;
    font-size:12px!important;
    line-height:1.1!important;
  }
  .schedule-quick-card .quick-crew{
    order:6;
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px 8px!important;
    align-items:start!important;
  }
  .schedule-quick-card .quick-crew>span,
  .schedule-quick-card .quick-crew>strong,
  .schedule-quick-card .quick-crew>.staff-role-line,
  .schedule-quick-card .quick-crew>.crew-requirement-warning,
  .schedule-quick-card .quick-crew>.quick-crew-editor{
    grid-column:1!important;
  }
  .schedule-quick-card .staff-role-line{
    font-size:12px!important;
    line-height:1.25!important;
  }
  .schedule-quick-card .staff-role-line.is-photo-staff{
    font-size:13px!important;
    box-shadow:0 6px 14px rgba(143,73,40,.12);
  }
  .quick-mobile-row-actions{
    display:grid;
    grid-column:2!important;
    grid-row:1 / span 5;
    grid-template-columns:1fr;
    gap:8px;
    align-items:stretch;
    align-self:start;
    min-width:118px;
    margin-top:0;
    padding-top:0;
    border-top:0;
    border-left:1px dashed color-mix(in srgb,var(--schedule-border,#d8c7b7) 75%,transparent 25%);
    padding-left:8px;
  }
  .quick-mobile-row-actions .quick-payment-form{
    display:block!important;
    margin:0!important;
  }
  .quick-mobile-row-actions .quick-payment-form label{
    display:grid;
    gap:4px;
    margin:0;
  }
  .quick-mobile-row-actions .schedule-payment-select{
    width:100%;
    min-height:36px;
    font-size:12px;
  }
  .quick-mobile-row-actions .quick-actions{
    justify-content:flex-start;
    align-self:end;
    gap:6px;
    margin-left:0!important;
    flex-wrap:wrap;
  }
  .quick-mobile-row-actions .quick-actions a,
  .quick-mobile-row-actions .delete-schedule-button{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .schedule-quick-card .quick-card-footer .desktop-payment-form,
  .schedule-quick-card .quick-card-footer .desktop-quick-actions{
    display:none!important;
  }
  .schedule-quick-card .quick-card-footer{
    grid-template-columns:1fr!important;
  }
  .schedule-quick-card .quick-postproduction-editor{
    grid-column:1/-1!important;
  }
}

/* V61: tighter mobile service summary with source index and crew in the book cell. */
.mobile-source-heading-index,
.mobile-service-line,
.mobile-service-crew{
  display:none!important;
}
.staff-role-line.is-video-staff{
  display:block;
  padding:6px 8px;
  border:1px solid #82b8d8;
  border-radius:9px;
  background:#edf7ff;
  color:#205d84!important;
  font-weight:800!important;
}
.staff-role-line.is-video-staff b{
  color:#164763!important;
}
@media(max-width:760px){
  .schedule-quick-card .quick-source-cell>span{
    display:flex!important;
    align-items:center;
    gap:6px;
    margin-bottom:4px!important;
  }
  .schedule-quick-card .mobile-source-heading-index{
    display:inline-grid!important;
    width:28px;
    height:24px;
    min-width:28px;
    border-radius:999px;
    place-items:center;
    font-size:12px!important;
    font-weight:900!important;
  }
  .schedule-quick-card .mobile-source-schedule{
    display:none!important;
  }
  .schedule-quick-card .quick-service-summary{
    gap:4px!important;
  }
  .schedule-quick-card .quick-service-summary>span{
    display:block!important;
    font-size:9px!important;
    margin-bottom:0!important;
  }
  .schedule-quick-card .quick-service-summary>span::after{
    content:"";
  }
  .schedule-quick-card .desktop-service-title,
  .schedule-quick-card .desktop-service-extra{
    display:none!important;
  }
  .schedule-quick-card .mobile-service-line{
    display:block!important;
    width:100%;
    white-space:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    color:#8f4928!important;
    font-size:11.5px!important;
    line-height:1.25!important;
    font-weight:800!important;
  }
  .schedule-quick-card .mobile-service-line::-webkit-scrollbar{
    display:none;
  }
  .schedule-quick-card .mobile-service-crew{
    display:grid!important;
    gap:4px;
    margin-top:2px;
  }
  .schedule-quick-card .mobile-service-crew .staff-role-line{
    display:block!important;
    padding:4px 6px!important;
    border:1px solid #dcc4b1;
    border-radius:8px;
    background:#fffaf4;
    color:#55483f!important;
    font-size:10px!important;
    line-height:1.18!important;
    font-weight:700!important;
    overflow-wrap:anywhere;
  }
  .schedule-quick-card .mobile-service-crew .staff-role-line b{
    font-size:9.5px!important;
    font-weight:800!important;
  }
  .schedule-quick-card .mobile-service-crew .staff-role-line.is-photo-staff{
    border-color:#e0a071!important;
    background:#fff1df!important;
    color:#873f20!important;
  }
  .schedule-quick-card .mobile-service-crew .staff-role-line.is-video-staff{
    border-color:#82b8d8!important;
    background:#edf7ff!important;
    color:#205d84!important;
  }
  .schedule-quick-card .mobile-service-crew .staff-role-line.is-empty{
    border-style:dashed!important;
    background:#fff!important;
    color:#8b8178!important;
  }
  .schedule-quick-card .quick-crew>.staff-role-line,
  .schedule-quick-card .quick-crew>strong{
    display:none!important;
  }
}

/* V62: move book details to source and keep crew edit beside crew names on mobile. */
.mobile-source-book-line,
.mobile-service-crew-editor{
  display:none!important;
}
@media(max-width:760px){
  .schedule-quick-card .mobile-source-book-line{
    display:block!important;
    white-space:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin-top:2px!important;
    color:#8f4928!important;
    font-size:11px!important;
    line-height:1.25!important;
    font-weight:800!important;
  }
  .schedule-quick-card .mobile-source-book-line::-webkit-scrollbar{
    display:none;
  }
  .schedule-quick-card .quick-service-summary>span{
    display:block!important;
    color:var(--muted)!important;
    font-size:0!important;
  }
  .schedule-quick-card .quick-service-summary>span::after{
    content:"Thợ";
    font-size:9px!important;
    color:var(--muted)!important;
    text-transform:uppercase;
    font-weight:800;
  }
  .schedule-quick-card .mobile-service-crew-editor{
    display:block!important;
    margin-top:5px!important;
  }
  .schedule-quick-card .mobile-service-crew-editor>summary{
    min-height:26px!important;
    padding:0 9px!important;
    font-size:10px!important;
  }
  .schedule-quick-card .quick-crew>.quick-crew-editor{
    display:none!important;
  }
}

/* V63: swap mobile crew/date cells and compress bottom action row. */
.mobile-detail-toggle{
  display:none;
}
@media(max-width:760px){
  .schedule-quick-card .quick-source-cell{
    order:1!important;
    grid-column:1!important;
  }
  .schedule-quick-card .quick-datetime{
    order:2!important;
    grid-column:2!important;
  }
  .schedule-quick-card .quick-customer-phone{
    order:3!important;
    grid-column:1!important;
  }
  .schedule-quick-card .quick-service-summary{
    order:4!important;
    grid-column:2!important;
  }
  .schedule-quick-card .quick-address{
    order:5!important;
    grid-column:1/-1!important;
  }
  .schedule-quick-card .quick-crew{
    order:6!important;
    grid-column:1/-1!important;
    display:block!important;
    padding:7px 8px!important;
    border-bottom:0!important;
  }
  .schedule-quick-card .mobile-source-book-line{
    white-space:normal!important;
    overflow:visible!important;
    scrollbar-width:auto!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
  .schedule-quick-card .quick-service-summary>span::after{
    content:"Thợ"!important;
  }
  .schedule-quick-card .quick-service-summary .desktop-service-title,
  .schedule-quick-card .quick-service-summary .desktop-service-extra{
    display:none!important;
  }
  .schedule-quick-card .quick-crew>span,
  .schedule-quick-card .quick-crew>strong,
  .schedule-quick-card .quick-crew>.staff-role-line,
  .schedule-quick-card .quick-crew>.crew-requirement-warning,
  .schedule-quick-card .quick-crew>.quick-crew-editor{
    display:none!important;
  }
  .quick-mobile-row-actions{
    display:grid!important;
    grid-template-columns:auto minmax(92px,1fr) auto!important;
    gap:5px!important;
    align-items:center!important;
    min-width:0!important;
    width:100%;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .mobile-detail-toggle{
    display:inline-flex!important;
    min-height:30px;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fffaf5;
    color:#8f4928;
    padding:0 8px;
    font-size:10px;
    font-weight:900;
    white-space:nowrap;
  }
  .mobile-detail-toggle.is-open{
    background:#8f4928;
    color:#fffaf5;
    border-color:#8f4928;
  }
  .quick-mobile-row-actions .quick-payment-form,
  .quick-mobile-row-actions .quick-payment-form label{
    min-width:0;
  }
  .quick-mobile-row-actions .quick-payment-form label>span{
    display:none;
  }
  .quick-mobile-row-actions .schedule-payment-select{
    min-height:30px!important;
    padding:0 6px!important;
    border-radius:9px!important;
    font-size:10px!important;
  }
  .quick-mobile-row-actions .quick-actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    justify-content:flex-end!important;
    align-items:center!important;
  }
  .quick-mobile-row-actions .quick-actions a,
  .quick-mobile-row-actions .delete-schedule-button{
    min-height:30px!important;
    padding:0 7px!important;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fffaf5;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap;
  }
  .quick-mobile-row-actions .delete-schedule-button{
    color:#b0392f!important;
  }
  .schedule-quick-card .quick-detail{
    border-top:0!important;
  }
  .schedule-quick-card .quick-detail>summary{
    display:none!important;
  }
}

/* V64: two-line mobile source book info and single-line compact action bar. */
@media(max-width:760px){
  .schedule-quick-card .mobile-source-book-line{
    display:grid!important;
    gap:2px!important;
    font-style:normal;
  }
  .schedule-quick-card .mobile-source-book-line b,
  .schedule-quick-card .mobile-source-book-line em{
    display:block;
    font-style:normal;
    line-height:1.22;
  }
  .schedule-quick-card .mobile-source-book-line b{
    color:#8f4928;
    font-size:11px;
    font-weight:900;
  }
  .schedule-quick-card .mobile-source-book-line em{
    color:#5b4b42;
    font-size:10.5px;
    font-weight:700;
    overflow-wrap:anywhere;
  }
  .quick-mobile-row-actions{
    grid-template-columns:auto minmax(78px,1fr) auto!important;
    gap:4px!important;
  }
  .mobile-detail-toggle,
  .quick-mobile-row-actions .schedule-payment-select,
  .quick-mobile-row-actions .quick-actions a,
  .quick-mobile-row-actions .delete-schedule-button{
    min-height:28px!important;
    border-radius:8px!important;
    font-size:9.5px!important;
  }
  .mobile-detail-toggle{
    padding:0 6px!important;
  }
  .quick-mobile-row-actions .schedule-payment-select{
    padding:0 4px!important;
  }
  .quick-mobile-row-actions .quick-actions{
    gap:4px!important;
  }
  .quick-mobile-row-actions .quick-actions a,
  .quick-mobile-row-actions .delete-schedule-button{
    padding:0 5px!important;
  }
  .quick-mobile-row-actions .quick-actions form{
    margin:0;
  }
}

/* V65: highlight customer Facebook links in schedule source cells. */
.quick-source-cell.has-customer-link{
  background:linear-gradient(180deg,#fff8ef 0%,#fffdf9 100%);
}
.quick-source-cell.has-customer-link>strong{
  color:#bf6334!important;
}
.source-customer-name{
  margin-top:5px!important;
}
.source-customer-link{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:3px 8px;
  border:1px solid #df9a6b;
  border-radius:999px;
  background:#fff1e5;
  color:#9d4723!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 5px 12px rgba(143,73,40,.12);
}
.source-customer-link:hover{
  background:#9d4723;
  color:#fff8ef!important;
}
@media(max-width:760px){
  .quick-source-cell.has-customer-link{
    background:#fff7ee!important;
  }
  .source-customer-link{
    padding:3px 7px;
    font-size:10.5px!important;
    line-height:1.1!important;
  }
}

/* V66: desktop schedule source holds order/book, service column holds crew edit. */
@media(min-width:761px){
  .schedule-quick-card .quick-info-grid{
    grid-template-columns:.98fr 1.08fr 1.08fr 1.18fr 1.55fr!important;
  }
  .schedule-quick-card .quick-source-cell>span{
    display:flex!important;
    align-items:center;
    gap:7px;
  }
  .schedule-quick-card .mobile-source-heading-index{
    display:inline-grid!important;
    width:30px;
    height:26px;
    min-width:30px;
    border-radius:999px;
    place-items:center;
    font-size:12px!important;
    font-weight:900!important;
  }
  .schedule-quick-card .mobile-source-book-line{
    display:grid!important;
    gap:2px!important;
    margin-top:5px!important;
    color:#8f4928!important;
    font-style:normal;
  }
  .schedule-quick-card .mobile-source-book-line b,
  .schedule-quick-card .mobile-source-book-line em{
    display:block;
    font-style:normal;
    line-height:1.22;
    overflow-wrap:anywhere;
  }
  .schedule-quick-card .mobile-source-book-line b{
    color:#8f4928;
    font-size:11px;
    font-weight:900;
  }
  .schedule-quick-card .mobile-source-book-line em{
    color:#5b4b42;
    font-size:10.5px;
    font-weight:700;
  }
  .schedule-quick-card .quick-service-summary>span{
    display:block!important;
    color:var(--muted)!important;
    font-size:0!important;
  }
  .schedule-quick-card .quick-service-summary>span::after{
    content:"Thợ";
    font-size:9px!important;
    color:var(--muted)!important;
    text-transform:uppercase;
    font-weight:800;
  }
  .schedule-quick-card .quick-service-summary .desktop-service-title,
  .schedule-quick-card .quick-service-summary .desktop-service-extra{
    display:none!important;
  }
  .schedule-quick-card .mobile-service-crew{
    display:grid!important;
    gap:5px;
  }
  .schedule-quick-card .mobile-service-crew .staff-role-line{
    display:block!important;
    padding:5px 7px;
    border:1px solid #dcc4b1;
    border-radius:8px;
    background:#fffaf4;
    color:#55483f!important;
    font-size:10.5px!important;
    line-height:1.2!important;
    font-weight:700!important;
  }
  .schedule-quick-card .mobile-service-crew .staff-role-line.is-photo-staff{
    border-color:#e0a071!important;
    background:#fff1df!important;
    color:#873f20!important;
  }
  .schedule-quick-card .mobile-service-crew .staff-role-line.is-video-staff{
    border-color:#82b8d8!important;
    background:#edf7ff!important;
    color:#205d84!important;
  }
  .schedule-quick-card .mobile-service-crew-editor{
    display:block!important;
    margin-top:6px!important;
  }
  .schedule-quick-card .mobile-service-crew-editor>summary{
    min-height:28px!important;
    padding:0 10px!important;
    font-size:10px!important;
  }
  .schedule-quick-card .quick-crew{
    display:none!important;
  }
}

/* V67: keep mobile service/payment/edit/delete actions on one line. */
@media(max-width:760px){
  .quick-mobile-row-actions{
    grid-template-columns:minmax(70px,.92fr) minmax(86px,1.12fr) auto auto!important;
    gap:3px!important;
  }
  .quick-mobile-row-actions .mobile-payment-form{
    grid-column:2!important;
  }
  .quick-mobile-row-actions .mobile-quick-actions{
    display:contents!important;
  }
  .quick-mobile-row-actions .mobile-quick-actions>a{
    grid-column:3!important;
  }
  .quick-mobile-row-actions .mobile-quick-actions>form{
    grid-column:4!important;
    margin:0!important;
  }
  .mobile-detail-toggle,
  .quick-mobile-row-actions .schedule-payment-select,
  .quick-mobile-row-actions .quick-actions a,
  .quick-mobile-row-actions .delete-schedule-button{
    width:100%!important;
    min-height:27px!important;
    padding:0 4px!important;
    font-size:8.8px!important;
    letter-spacing:0!important;
  }
  .mobile-detail-toggle{
    grid-column:1!important;
  }
}

/* V68: allow saving events without time, then flag only the affected schedule card. */
.schedule-quick-card.missing-time-card{
  position:relative;
}
.missing-time-badge{
  position:absolute;
  top:10px;
  right:10px;
  z-index:12;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  background:#17130f;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  box-shadow:0 10px 22px rgba(20,16,12,.18);
  white-space:nowrap;
}
@media(max-width:760px){
  .missing-time-badge{
    top:7px;
    right:7px;
    min-height:21px;
    padding:3px 7px;
    font-size:9px;
  }
}

/* V69: stronger time warnings and readable color chips on schedules/calendars. */
.missing-time-badge{
  background:#e00000!important;
  color:#fff!important;
  border:1px solid #b70000!important;
  text-shadow:0 1px 0 rgba(0,0,0,.28);
  box-shadow:0 10px 22px rgba(224,0,0,.28)!important;
}
@media(min-width:761px){
  .schedule-quick-card .quick-datetime .quick-time-line{
    display:inline-flex!important;
    align-items:center!important;
    width:max-content!important;
    max-width:100%;
    margin-top:5px!important;
    padding:5px 8px!important;
    border-radius:9px!important;
    font-size:10.5px!important;
    line-height:1.15!important;
    font-weight:850!important;
    white-space:nowrap;
  }
  .schedule-quick-card .quick-datetime .quick-time-line b{
    margin-right:4px;
    font-weight:900!important;
  }
  .schedule-quick-card .quick-time-event{
    background:#fff0df!important;
    border:1px solid #d6844f!important;
    color:#833714!important;
  }
  .schedule-quick-card .quick-time-event b{
    color:#5f260d!important;
  }
  .schedule-quick-card .quick-time-arrival{
    background:#eaf4ff!important;
    border:1px solid #5e9bd0!important;
    color:#164f7d!important;
  }
  .schedule-quick-card .quick-time-arrival b{
    color:#0d395c!important;
  }
}
.calendar-day-head em{
  background:#a34925!important;
  color:#fff!important;
  border:1px solid rgba(92,37,14,.2);
  text-shadow:0 1px 0 rgba(0,0,0,.22);
}
.calendar-day.has-photobooth .calendar-day-head em{
  background:#17689f!important;
  color:#fff!important;
}
.calendar-day-note small{
  background:#fff!important;
  color:#2c2722!important;
  border:1px solid rgba(151,104,56,.26);
  font-weight:800;
}
.photobooth-day-note{
  color:#0d4d79!important;
  border-color:rgba(23,104,159,.28)!important;
}
.schedule-index-chip{
  color:#fff!important;
  text-shadow:0 1px 0 rgba(0,0,0,.24);
}

/* V70: make every crew-shortage schedule card a single solid dark block. */
.schedule-quick-card.crew-shortage-card,
.schedule-quick-card.crew-shortage-card .quick-info-grid,
.schedule-quick-card.crew-shortage-card .quick-cell,
.schedule-quick-card.crew-shortage-card .quick-card-footer,
.schedule-quick-card.crew-shortage-card .quick-detail,
.schedule-quick-card.crew-shortage-card .quick-detail-grid>div,
.schedule-quick-card.crew-shortage-card .quick-postproduction-editor,
.schedule-quick-card.crew-shortage-card .quick-postproduction-summary,
.schedule-quick-card.crew-shortage-card .quick-edit-option summary,
.schedule-quick-card.crew-shortage-card .quick-postproduction-form,
.schedule-quick-card.crew-shortage-card .quick-crew-editor>summary,
.schedule-quick-card.crew-shortage-card .mobile-service-crew .staff-role-line,
.schedule-quick-card.crew-shortage-card .mobile-source-book-line,
.schedule-quick-card.crew-shortage-card .quick-payment-form,
.schedule-quick-card.crew-shortage-card .schedule-payment-select,
.schedule-quick-card.crew-shortage-card .mobile-detail-toggle,
.schedule-quick-card.crew-shortage-card .quick-actions a,
.schedule-quick-card.crew-shortage-card .delete-schedule-button{
  background:#17130f!important;
  color:#f8f1e9!important;
  border-color:#514941!important;
  box-shadow:none!important;
}
.schedule-quick-card.crew-shortage-card{
  border-color:#17130f!important;
  box-shadow:0 0 0 3px rgba(23,19,15,.38), 0 12px 28px rgba(23,19,15,.22)!important;
}
.schedule-quick-card.crew-shortage-card .quick-cell>span,
.schedule-quick-card.crew-shortage-card .quick-cell small,
.schedule-quick-card.crew-shortage-card .quick-service-label small,
.schedule-quick-card.crew-shortage-card .quick-detail-grid span,
.schedule-quick-card.crew-shortage-card .quick-postproduction-summary small,
.schedule-quick-card.crew-shortage-card .quick-edit-option summary small,
.schedule-quick-card.crew-shortage-card .mobile-source-book-line em,
.schedule-quick-card.crew-shortage-card .crew-requirement-warning{
  color:#ded4c8!important;
}
.schedule-quick-card.crew-shortage-card .quick-cell strong,
.schedule-quick-card.crew-shortage-card .quick-cell a,
.schedule-quick-card.crew-shortage-card .quick-service-label strong,
.schedule-quick-card.crew-shortage-card .quick-detail-grid strong,
.schedule-quick-card.crew-shortage-card .quick-postproduction-summary b,
.schedule-quick-card.crew-shortage-card .quick-edit-option summary span,
.schedule-quick-card.crew-shortage-card .staff-role-line,
.schedule-quick-card.crew-shortage-card .staff-role-line b,
.schedule-quick-card.crew-shortage-card .mobile-source-book-line b{
  color:#fffaf4!important;
}
.schedule-quick-card.crew-shortage-card .schedule-index-chip,
.schedule-quick-card.crew-shortage-card .quick-service-summary .schedule-index-chip{
  background:#ff9b4a!important;
  color:#17130f!important;
  border-color:#ffbd83!important;
  text-shadow:none!important;
}
.schedule-quick-card.crew-shortage-card .quick-time-event,
.schedule-quick-card.crew-shortage-card .quick-time-arrival{
  background:#241f1a!important;
  border-color:#6a5e53!important;
  color:#fff4e8!important;
}
.schedule-quick-card.crew-shortage-card .quick-time-event b{
  color:#ffbf8b!important;
}
.schedule-quick-card.crew-shortage-card .quick-time-arrival b{
  color:#9fd4ff!important;
}
.schedule-quick-card.crew-shortage-card input,
.schedule-quick-card.crew-shortage-card select,
.schedule-quick-card.crew-shortage-card textarea{
  background:#241f1a!important;
  color:#fffaf4!important;
  border-color:#62584e!important;
}
.schedule-quick-card.crew-shortage-card input::placeholder,
.schedule-quick-card.crew-shortage-card textarea::placeholder{
  color:#b8afa5!important;
}
.schedule-quick-card.crew-shortage-card .quick-actions a,
.schedule-quick-card.crew-shortage-card .delete-schedule-button,
.schedule-quick-card.crew-shortage-card .mobile-detail-toggle{
  border:1px solid #6b5f55!important;
}

/* V71: clickable finance cards with transparent calculation details. */
.finance-stat-button{
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.finance-stat-button:hover,
.finance-stat-button:focus{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(49,34,20,.12);
  outline:2px solid rgba(195,109,62,.18);
}
.finance-detail-modal[hidden],
.finance-detail-source[hidden]{
  display:none!important;
}
.finance-detail-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:22px;
}
.finance-detail-backdrop{
  position:absolute;
  inset:0;
  background:rgba(24,21,18,.58);
  backdrop-filter:blur(3px);
}
.finance-detail-card{
  position:relative;
  width:min(1040px,100%);
  max-height:min(760px,92vh);
  overflow:auto;
  background:#fffdf9;
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.finance-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.finance-detail-head h2{
  margin:0;
  font-size:28px;
}
.finance-detail-formula{
  display:grid;
  gap:6px;
  margin-bottom:12px;
  padding:13px 14px;
  border-radius:12px;
  background:#fff4e8;
  color:#5b3a25;
}
.finance-detail-formula strong{
  color:#9a4722;
  font-size:16px;
}
.finance-detail-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.finance-detail-total span{
  color:var(--muted);
  font-weight:800;
}
.finance-detail-total strong{
  font-size:22px;
  color:var(--text);
}
.finance-calculation-box{
  display:grid;
  gap:8px;
  margin-bottom:14px;
  padding:13px 14px;
  border:1px solid #e7d6c2;
  border-radius:12px;
  background:#fffaf4;
}
.finance-calculation-box p{
  margin:0 0 2px;
  color:#8f4b25;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:11px;
}
.finance-calculation-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:7px 0;
  border-bottom:1px dashed #eadccf;
}
.finance-calculation-row:last-child{
  border-bottom:0;
}
.finance-calculation-row span{
  color:#5f5549;
  font-weight:750;
}
.finance-calculation-row strong{
  white-space:nowrap;
  font-size:16px;
}
.finance-calculation-row.is-result{
  margin-top:2px;
  padding:11px 12px;
  border:1px solid #d8bea5;
  border-radius:10px;
  background:#fff;
}
.finance-calculation-row.is-result span,
.finance-calculation-row.is-result strong{
  color:#1c1a17;
  font-weight:900;
}
.finance-detail-table{
  min-width:860px;
}
.finance-detail-table td,
.finance-detail-table th{
  vertical-align:top;
}
.finance-detail-table td small{
  display:block;
  margin-top:3px;
  color:var(--muted);
}
.finance-extra-detail{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.finance-extra-detail summary{
  font-size:13px;
  color:var(--accent-dark);
}
@media(max-width:760px){
  .finance-detail-modal{
    padding:8px;
  }
  .finance-detail-card{
    max-height:94vh;
    padding:14px;
    border-radius:16px;
  }
  .finance-detail-head h2{
    font-size:22px;
  }
  .finance-detail-total{
    display:grid;
  }
  .finance-calculation-row{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
  .finance-detail-table{
    min-width:760px;
  }
}

/* V72: show actual money collected by transaction date as a separate finance metric. */
.actual-month-income-card:before{
  background:#2f8f73!important;
}
.actual-month-income-card{
  background:#f3fff9!important;
}

/* V73: show edit/postproduction controls above the mobile service action row. */
.mobile-postproduction-row{
  display:none;
}
@media(max-width:760px){
  .schedule-quick-card .mobile-postproduction-row{
    display:grid!important;
    grid-column:1/-1!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px;
    margin:7px 0 6px;
  }
  .schedule-quick-card .mobile-postproduction-row .quick-edit-option{
    min-width:0;
  }
  .schedule-quick-card .mobile-postproduction-row .quick-edit-option summary{
    min-height:34px!important;
    padding:5px 4px!important;
    border-radius:9px!important;
    display:grid!important;
    gap:1px!important;
    align-content:center;
    text-align:center;
  }
  .schedule-quick-card .mobile-postproduction-row .quick-edit-option summary::before{
    display:none!important;
  }
  .schedule-quick-card .mobile-postproduction-row .quick-edit-option summary span{
    font-size:8.7px!important;
    line-height:1!important;
    white-space:nowrap;
  }
  .schedule-quick-card .mobile-postproduction-row .quick-edit-option summary small{
    max-width:100%!important;
    font-size:8px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .schedule-quick-card .mobile-postproduction-row .quick-edit-option[open]{
    grid-column:1/-1;
  }
  .schedule-quick-card .mobile-postproduction-row .quick-edit-option[open] summary{
    text-align:left;
    justify-items:start;
    padding:7px 9px!important;
  }
  .schedule-quick-card .mobile-postproduction-row .quick-postproduction-form{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:6px;
    padding:8px;
  }
  .schedule-quick-card .mobile-postproduction-row .quick-postproduction-form button{
    grid-column:1/-1;
    min-height:30px;
  }
  .schedule-quick-card>.quick-card-footer .quick-postproduction-editor{
    display:none!important;
  }
}

/* V75: lock mobile postproduction row above service/payment actions. */
@media(max-width:760px){
  .schedule-quick-card .quick-crew .mobile-postproduction-row{
    display:grid!important;
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    margin:0 0 6px!important;
    padding:0!important;
    order:1!important;
  }
  .schedule-quick-card .quick-crew .quick-mobile-row-actions{
    order:2!important;
  }
  .schedule-quick-card .quick-crew .mobile-postproduction-row .quick-edit-option{
    display:block!important;
    min-width:0!important;
    margin:0!important;
  }
  .schedule-quick-card .quick-crew .mobile-postproduction-row .quick-edit-option summary{
    width:100%!important;
    min-height:29px!important;
    padding:4px 3px!important;
    border:1px solid var(--line)!important;
    border-radius:8px!important;
    background:#fffaf5!important;
    color:#8f4928!important;
  }
  .schedule-quick-card .quick-crew .mobile-postproduction-row .quick-edit-option.is-active summary{
    border-color:#c8743d!important;
    background:#fff1e4!important;
  }
  .schedule-quick-card .quick-crew .mobile-postproduction-row .quick-edit-option summary span{
    font-size:8.5px!important;
    font-weight:900!important;
    color:#8f4928!important;
  }
  .schedule-quick-card .quick-crew .mobile-postproduction-row .quick-edit-option summary small{
    font-size:7.8px!important;
    font-weight:750!important;
    color:#6f655c!important;
  }
}

/* V76: keep the schedule source cell readable on colored date cards. */
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell{
  background:#fffaf4!important;
  color:#1c1a17!important;
}
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell>span,
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell>strong,
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell small,
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell b,
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell em{
  color:#1c1a17!important;
  text-shadow:none!important;
}
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell>strong{
  font-weight:950!important;
}
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell .mobile-source-book-line{
  padding:4px 6px!important;
  border:1px solid #e5d4c2!important;
  border-radius:8px!important;
  background:#fff!important;
}
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell .mobile-source-book-line b{
  color:#7f3d1e!important;
}
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell .mobile-source-book-line em{
  color:#3a332d!important;
}
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell .schedule-index-chip{
  background:#7b3d20!important;
  color:#fffaf4!important;
  border:1px solid rgba(70,31,12,.16)!important;
}
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell.has-customer-link{
  background:#fff6ed!important;
}
.schedule-quick-card:not(.crew-shortage-card) .quick-source-cell .source-customer-link{
  background:#fff!important;
  color:#7f3d1e!important;
  border-color:#c8743d!important;
}
@media(max-width:760px){
  .schedule-quick-card:not(.crew-shortage-card) .quick-source-cell{
    box-shadow:inset 0 0 0 1px rgba(127,61,30,.1)!important;
  }
}

/* V77: readable customer link pill inside dark crew-shortage source cells. */
.schedule-quick-card.crew-shortage-card .quick-source-cell .source-customer-link{
  background:#ffefe2!important;
  color:#6f2f12!important;
  border:1px solid #ffb981!important;
  text-shadow:none!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 8px 18px rgba(0,0,0,.2)!important;
}
.schedule-quick-card.crew-shortage-card .quick-source-cell .source-customer-link:hover,
.schedule-quick-card.crew-shortage-card .quick-source-cell .source-customer-link:focus{
  background:#ff9b4a!important;
  color:#17130f!important;
  outline:2px solid #ffd2aa!important;
}
.schedule-quick-card.crew-shortage-card .quick-source-cell .source-customer-name{
  color:#f8d9c2!important;
}

/* V78: source value beside the label, customer name directly below it. */
.quick-source-cell>span{
  display:flex!important;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.source-inline-value{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border-radius:999px;
  background:#f3e0ce;
  color:#7f3d1e;
  font-style:normal;
  font-size:10px;
  font-weight:900;
  letter-spacing:0;
  text-transform:none;
}
.source-customer-title{
  margin-top:5px!important;
}
.source-customer-title .source-customer-link{
  display:inline-flex;
}
.schedule-quick-card.crew-shortage-card .source-inline-value{
  background:#ff9b4a!important;
  color:#17130f!important;
}
.schedule-quick-card.crew-shortage-card .source-customer-title,
.schedule-quick-card.crew-shortage-card .source-customer-title a{
  color:#fffaf4!important;
}
.schedule-quick-card.crew-shortage-card .source-customer-title .source-customer-link{
  background:#ffefe2!important;
  color:#6f2f12!important;
}

/* V82: compact staff job details and schedule popup in finance. */
.job-detail-card{
  grid-template-columns:1.35fr 1.55fr .72fr!important;
}
.job-customer-button{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border:0;
  background:transparent;
  color:var(--accent-dark);
  padding:0;
  font:inherit;
  font-size:12px;
  font-weight:900;
  text-align:left;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.job-customer-button:hover,
.job-customer-button:focus{
  color:#c26c38;
  outline:none;
}
.job-staff-line,
.job-popup-staff-line{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
  padding:9px 10px;
  border-radius:10px;
  background:hsl(var(--staff-hue) 78% 96%);
  border:1px solid hsl(var(--staff-hue) 42% 82%);
}
.job-staff-line strong,
.job-popup-staff-line strong{
  font-size:12px;
}
.job-staff-line span,
.job-popup-staff-line span,
.job-popup-staff-line em,
.job-popup-staff-line b{
  margin:0;
  color:#3b332d;
  font-size:11px;
  line-height:1.25;
  text-transform:none;
  letter-spacing:0;
  font-style:normal;
}
.job-staff-line b,
.job-popup-staff-line b{
  color:var(--accent-dark);
  font-weight:900;
}
.job-schedule-modal-card{
  max-width:760px;
}
.job-popup-summary{
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbf7f0;
  margin-bottom:12px;
}
.job-popup-summary strong{
  display:block;
  font-size:18px;
}
.job-popup-summary small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.job-popup-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:12px;
}
.job-popup-grid>div{
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  min-width:0;
}
.job-popup-grid span{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:5px;
}
.job-popup-grid strong{
  display:block;
  font-size:13px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.job-popup-wide{
  grid-column:1/-1;
}
@media(max-width:760px){
  .job-detail-card{
    grid-template-columns:1fr!important;
  }
  .job-staff-line,
  .job-popup-staff-line{
    gap:7px;
  }
  .job-popup-grid{
    grid-template-columns:1fr;
  }
}

/* V83: compact finance jobs and related schedules for each customer. */
.job-customer-name{
  display:block;
  color:var(--accent-dark);
  font-size:12px;
  font-weight:900;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.job-staff-line>span{
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.job-staff-line>b{
  font-size:13px;
}
.source-heading-line{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  min-width:0;
  white-space:nowrap;
}
.source-heading-line>b{
  flex:0 1 auto;
  min-width:0;
  font-size:9px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.source-heading-line .source-inline-value{
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
  padding-inline:5px;
  font-size:9px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.source-customer-title{
  display:block!important;
  margin-top:4px!important;
}
.quick-related-schedules>strong{
  color:var(--accent-dark);
  font-size:15px!important;
}
.related-schedule-links{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-top:6px;
}
.related-schedule-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 6px;
  border:1px solid color-mix(in srgb,var(--schedule-border,#d8c7b7) 80%,#fff 20%);
  border-radius:7px;
  background:#fff;
  color:#7f3d1e!important;
  font-size:9px;
  font-weight:900;
  line-height:1;
  text-decoration:none!important;
  white-space:nowrap;
}
.related-schedule-link.is-current{
  background:#c96f3d;
  border-color:#c96f3d;
  color:#fff!important;
}
.schedule-quick-card.crew-shortage-card .related-schedule-link:not(.is-current){
  background:#2a241f!important;
  border-color:#655b52!important;
  color:#fff4e8!important;
}
.schedule-quick-card.crew-shortage-card .related-schedule-link.is-current{
  background:#ff9b4a!important;
  border-color:#ffb981!important;
  color:#17130f!important;
}
@media(min-width:1101px){
  .schedule-quick-card .quick-info-grid{
    grid-template-columns:.98fr 1.08fr 1.08fr 1.18fr 1.45fr .95fr!important;
  }
}
@media(min-width:761px) and (max-width:1100px){
  .schedule-quick-card .quick-info-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .schedule-quick-card .quick-related-schedules{
    order:6;
    grid-column:1/-1!important;
    padding:8px 9px!important;
  }
  .schedule-quick-card .quick-crew{
    order:7;
  }
  .related-schedule-links{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:2px;
    -webkit-overflow-scrolling:touch;
  }
  .related-schedule-link{
    flex:0 0 auto;
    min-height:26px;
    font-size:10px;
  }
}

/* V84: stack related schedule dates vertically. */
.related-schedule-links{
  flex-direction:column;
  align-items:flex-start;
  flex-wrap:nowrap;
}
@media(max-width:760px){
  .related-schedule-links{
    overflow:visible;
    padding-bottom:0;
  }
  .related-schedule-link{
    width:max-content;
    max-width:100%;
  }
}

/* V87: replace each job status column with an editable advance amount. */
.job-advance-form{
  display:grid;
  gap:5px;
  min-width:0;
}
.job-advance-form>label{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.job-advance-control{
  display:grid;
  grid-template-columns:minmax(90px,1fr) auto;
  gap:6px;
  align-items:center;
}
.job-advance-control input{
  width:100%;
  min-width:0;
  height:36px;
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:11px;
  font-weight:900;
}
.job-advance-save{
  min-height:36px;
  padding:7px 11px!important;
  font-size:10px!important;
}
.job-advance-form>small{
  margin:0;
}
@media(max-width:760px){
  .job-advance-form{
    padding-top:8px;
    border-top:1px dashed var(--line);
  }
  .job-advance-control{
    grid-template-columns:minmax(0,1fr) auto;
  }
}
