/* Compact desktop staff calendar; client page remains unchanged. */
body.staff-mode main,body.staff-mode>header{max-width:1400px}
body.staff-mode main{padding:20px 28px}
body.staff-mode>header{padding-top:12px;padding-bottom:12px}
.work-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}
.work-heading h1{font-size:28px;margin-bottom:3px}
.work-heading span{font-size:12px;color:var(--muted)}
.work-heading>div:last-child{display:flex;gap:8px}
.work-heading button,.group-actions button,.row-actions button{font-size:12px;padding:8px 12px}
.work-routes{display:flex;gap:7px;margin-bottom:15px}
.work-routes button{padding:9px 18px;background:#e7ede7;color:#46635f;font-size:13px}
.work-routes button.active{background:var(--ink);color:white}
.work-routes small{margin-left:14px;font-size:11px;font-weight:400;opacity:.8}
.work-calendar{padding:14px 18px 16px;background:#fff;border:1px solid var(--line);border-radius:15px}
.work-month{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:8px}
.work-month>div{display:flex;align-items:center;gap:14px}
.work-month h2{font:600 16px system-ui;text-transform:capitalize;margin:0;min-width:150px;text-align:center}
.work-month button{padding:2px 12px;font-size:23px}
.work-month p{font-size:11px;color:#687a71;display:flex;align-items:center;gap:7px}
.legend-ready{color:#78ad89}.legend-confirmed{color:#226257}.legend-full{color:#be6555}.legend-warning{color:#956319;background:#fff0d3;border-radius:5px;padding:0 4px}
.work-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.work-weekday{font-size:10px;color:var(--muted);text-align:center}
.work-date{height:48px;padding:5px 10px;display:flex;align-items:center;gap:12px;text-align:left;background:#f0f3ef;color:#62726b;border:1px solid transparent;border-radius:7px;font-size:13px;position:relative}
.work-date b{font-size:16px;font-weight:600;min-width:20px}
.work-date>span{font-size:11px;font-weight:400;line-height:1.3}
.work-date small{display:block;font-size:10px}
.work-date i{font-size:10px;font-style:normal;background:#fff0d3;color:#815315;border-radius:5px;padding:2px 4px;margin-left:auto;white-space:nowrap}
.work-date.past{background:#fafbf9;color:#abb4ae}
.work-date.ready{background:#e1eee3;color:#396440}
.work-date.confirmed{background:#d5eae2;color:#245849;border-color:#88b5a1}
.work-date.full{background:#f8e6e1;color:#964b40}
.work-date.selected{outline:2px solid var(--teal);outline-offset:0}
.work-register{background:#fff;border:1px solid var(--line);border-radius:15px;margin-top:16px;overflow:hidden}
.register-heading{padding:15px 18px 11px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.register-heading h2{font:600 17px system-ui;margin:0 0 5px}
.register-heading p{font-size:12px;color:#657b6e;margin:0}
.group-actions{display:flex;align-items:center;gap:7px}
.group-actions input{font-size:12px;padding:8px 10px;width:180px}
.group-actions select{font-size:12px;padding:8px;width:140px}
.row-actions{min-height:47px;display:flex;align-items:center;justify-content:space-between;padding:7px 18px;background:#f3f6f1;border-top:1px solid #e4eae1;gap:12px}
.row-actions>span{font-size:11px;color:var(--muted)}
.row-actions>strong{font-size:12px}
.row-actions>div{display:flex;align-items:center;gap:6px}
.compact-table-wrap{overflow:auto}
.compact-table{table-layout:fixed;width:100%;font-size:12px}
.compact-table th{padding:7px 12px;font-size:10px;background:#fff;color:#7b8b80;font-weight:500}
.compact-table td{padding:8px 12px;vertical-align:middle;height:55px;border-bottom:1px solid #edf0e9;line-height:1.4}
.compact-table th:first-child{width:40px}.compact-table th:nth-child(2){width:25%}.compact-table th:nth-child(3){width:55px}.compact-table th:nth-child(4){width:19%}.compact-table th:nth-child(5){width:13%}
.compact-table td strong{font-size:13px}
.row-grip{display:inline-block;cursor:grab;user-select:none;-webkit-user-drag:element;color:#79917f;padding:0 8px 0 0;font-size:16px;line-height:16px}
.compact-table td small{font-size:10px;margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.compact-table tr[data-client-card]{cursor:pointer}
.compact-table tr[data-client-card]:hover{background:#f7f9f4}
.compact-table tr.selected-row{background:#e7f0e7!important;box-shadow:inset 3px 0 #407a66}
.compact-table td.seat-cell{font-size:17px;font-weight:600}
.compact-table .phone-contact{color:#946c35}
.compact-table .account-contact{color:#5d7d6a}
.row-status{font-size:11px;color:#637867}
.row-status.warning{color:#8b5b22}
.row-status.paid{color:#30794f}
.compact-table .table-empty{text-align:center;color:var(--muted);height:70px}
.table-hint{font-size:10px;color:#7d8b80;margin:9px 18px}
.client-context{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:20px;border:1px solid var(--line);border-radius:15px;padding:20px;background:white}
.client-context .chat{position:static}
.client-context .thread{height:240px}
.context-summary>button{float:right;font-size:12px;padding:7px 12px}
.context-summary h2{font-size:22px}
.context-summary p{font-size:12px}
.context-summary h3{margin-top:18px}
.context-history{max-height:240px;overflow:auto}
.context-history p{border-bottom:1px solid var(--line);padding:9px 0}
.desk-offline{font-size:10px;color:#859083;margin-top:12px}
.transfer-preview{background:#eff4e9;padding:17px;border-radius:12px;margin:15px 0}
.transfer-preview>div{display:flex;justify-content:space-between;font-size:20px;color:#3f6f58}
.transfer-preview p{font-size:12px;margin:5px 0!important}
.desk-divider{border:0;border-top:1px solid #e0e7d9;margin:22px 0}
.payment-review>strong{display:block;font-size:32px;margin:14px 0}
.payment-review>span,.payment-review p{font-size:12px}
.payment-review img{display:block;width:100%;max-height:300px;object-fit:contain;background:#f3f5ef;margin-bottom:15px}
.review-release{margin-top:14px;width:100%;font-size:12px}
.dragging{opacity:.4}.work-date.can-drop{border:1px dashed #528f6a}.work-date.drop-over{background:#bbdfc9;outline:2px solid #377a53}
/* On narrow screens, only the register scrolls horizontally. */
@media(max-width:900px){body.staff-mode main{padding:16px}.work-heading{flex-wrap:wrap;gap:10px}.work-heading>div:last-child{flex-wrap:wrap}.work-heading h1{font-size:26px}.work-heading button{min-height:42px}.work-routes{flex-wrap:wrap}.work-routes button{min-height:42px;padding:9px 12px}.work-month{flex-wrap:wrap;gap:8px}.work-month p{flex-wrap:wrap;margin:0}.work-month h2{min-width:135px}.work-month button{min-width:42px;min-height:42px}.work-calendar{padding:12px 10px}.work-days{gap:4px}.work-date{height:70px;flex-direction:column;justify-content:center;gap:0;padding:4px 1px;text-align:center}.work-date b{font-size:16px}.work-date>span{font-size:10px}.work-date small{font-size:9px}.work-date i{position:absolute;right:1px;top:1px;padding:0 2px;font-size:9px}.register-heading{flex-wrap:wrap;padding:14px 12px;gap:10px}.group-actions{flex-wrap:wrap;width:100%;gap:7px}.group-actions input{flex:1;min-width:120px;width:auto;min-height:42px;font-size:16px}.group-actions select{min-height:42px}.group-actions button{min-height:42px}.row-actions{flex-wrap:wrap;padding:10px 12px}.row-actions>div{flex-wrap:wrap}.row-actions button{min-height:42px}.compact-table{min-width:690px}.compact-table th:nth-child(2),.compact-table td:nth-child(2){position:sticky;left:0;background:#fff;z-index:1}.compact-table tr.selected-row td:nth-child(2){background:#e7f0e7}.compact-table th:nth-child(2){z-index:2}.client-context{grid-template-columns:minmax(0,1fr);padding:15px;gap:15px}.context-summary>button{min-height:42px}.transfer-preview>div{font-size:18px;flex-wrap:wrap}}
