
/* v0.7: integrated scheduling & scoped order chat */
.schedule-panel{margin:28px 0 38px;padding:30px;background:#fff;border:1px solid #e9e6df;border-radius:22px;box-shadow:0 14px 50px #20291b08}
.schedule-panel .section-title-row{margin:0 0 12px}.schedule-panel .overline{color:#b16d40}.schedule-panel h2{margin:4px 0;font-size:26px;letter-spacing:-.7px}
.schedule-panel .muted{max-width:750px;line-height:1.6}.schedule-form{margin-top:20px;display:grid;gap:18px;justify-items:start}
.schedule-table-wrap{width:100%;overflow-x:auto}.schedule-table{width:100%;border-collapse:separate;border-spacing:0;min-width:475px}
.schedule-table th,.schedule-table td{text-align:center;padding:9px 5px;border-bottom:1px solid #ecebe7}.schedule-table thead th{color:#7d807a;font-weight:700;font-size:13px}
.schedule-table th:first-child{text-align:left;padding-left:12px}.schedule-table tbody th{font-size:14px}.schedule-table tbody tr:hover{background:#faf8f3}
.slot-check{display:inline-flex;width:35px;height:35px;align-items:center;justify-content:center;position:relative;cursor:pointer}
.slot-check input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.slot-check span{display:grid;place-items:center;width:29px;height:29px;border:1px solid #d8dbd6;border-radius:9px;color:transparent;background:#f7f7f3;transition:.12s}
.slot-check input:checked+span{background:#345a41;border-color:#345a41;color:#fff}.slot-check input:focus-visible+span{outline:3px solid #e9a566;outline-offset:2px}
.schedule-exceptions{margin-top:24px;border-top:1px solid #eaeae5;padding-top:22px}.schedule-exceptions h3{margin:0 0 6px;font-size:18px}.days-off-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.days-off-form input{border:1px solid #dcded6;background:#fff;border-radius:10px;padding:10px 13px;font-size:14px}.days-off-tags{display:flex;flex-wrap:wrap;gap:9px}.days-off-tags button{background:#fbeadf;color:#8d543e;border:0;padding:9px 13px;border-radius:999px;cursor:pointer;font-weight:650}
.order-chat{padding:25px}.order-chat .detail-card-top{margin-bottom:18px}.chat-thread{background:#fbfaf7;border:1px solid #efede6;border-radius:18px;min-height:175px;max-height:520px;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.chat-empty{padding:25px 12px;text-align:center;margin:auto;max-width:340px}.chat-empty span{display:block;font-size:32px;color:#a9ad9b;margin-bottom:12px}.chat-empty strong{font-size:17px;display:block}.chat-empty p{color:#878983;font-size:14px;line-height:1.5;margin-top:8px}
.chat-line{display:flex}.chat-line.mine{justify-content:flex-end}.chat-line.theirs{justify-content:flex-start}.chat-bubble{max-width:min(85%,520px);padding:11px 15px;border-radius:17px 17px 17px 5px;background:#fff;border:1px solid #e4e7df;box-shadow:0 2px 10px #1e312408}.chat-line.mine .chat-bubble{background:#e3efe5;border-color:#cee4d3;border-radius:17px 17px 5px 17px}
.chat-bubble strong{font-size:12px;color:#436b4e}.chat-bubble p{margin:5px 0 6px;color:#1c3026;white-space:normal;overflow-wrap:anywhere;line-height:1.5;font-size:14px}.chat-bubble time{display:block;font-size:11px;color:#7d9386;text-align:right}
.chat-compose{display:grid;gap:10px;margin-top:19px}.chat-compose label{font-size:14px;font-weight:700}.chat-compose textarea{width:100%;border:1px solid #d7dcd4;background:#fff;border-radius:13px;padding:13px;font:inherit;resize:vertical;min-height:92px;box-sizing:border-box}.chat-compose textarea:focus{outline:2px solid #669979}.chat-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-compose-foot span,.schedule-help{font-size:12px;color:#80867e}.chat-closed{margin-top:14px;padding:12px;border-radius:11px;background:#f4f2ed;color:#787771;font-size:14px}
@media(max-width:680px){.schedule-panel{padding:18px;border-radius:17px;margin:18px 0}.schedule-panel h2{font-size:23px}.schedule-table th,.schedule-table td{padding:6px 4px}.order-chat{padding:17px}.chat-thread{padding:10px;min-height:150px}.chat-compose-foot{align-items:stretch;flex-direction:column}.chat-compose-foot .btn{align-self:flex-end}.chat-bubble{max-width:89%}}
