/* Scoped refinement of availability and order dialogs. */
.order-modal{width:min(1220px,95vw);max-width:1220px;padding:30px;background:#fffdfa;color:#3f2b20}
.order-modal #modal-body,.availability-drawer #modal-body{padding:0}
.order-modal .modal-heading,.availability-drawer .modal-heading{padding:0 0 22px}
.order-modal .error:empty,.availability-drawer .error:empty{display:none}
.order-modal .modal-heading{display:flex;gap:20px;align-items:center;padding-bottom:22px;border-bottom:1px solid #e9e1d9;margin-bottom:0}
.order-modal .modal-heading h2{font-size:27px;white-space:nowrap;margin:0}
.order-modal .modal-extra{display:flex;align-items:center;gap:18px;flex:1;flex-wrap:wrap}
.order-modal .badge{border-radius:30px;padding:9px 20px;font-size:13px;white-space:nowrap}
.order-status-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.order-modal .status-action{background:#efe0d2;color:#603c27;border:1px solid transparent;padding:12px 15px;border-radius:6px;font-weight:600}
.order-modal .cancel-status{background:#fbe3e3;color:#a62e35}
.order-meta{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:22px;padding:24px 0;border-bottom:1px solid #e9e1d9;margin-bottom:24px}
.order-meta>div{display:flex;flex-direction:column;gap:5px}
.order-meta small,.pricing-note{color:#8a776a;font-size:12px;line-height:1.5}
.order-meta strong{font-size:15px;font-weight:600}
.order-columns{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}
.order-columns>section,.order-columns>aside{min-width:0}
.order-modal h3{font-size:18px;margin:0 0 16px}
.order-items{border:1px solid #e9e1d9;border-radius:9px;overflow:auto;background:#fffdfb}
.order-items table{width:100%;margin:0;font-size:13px}
.order-items th{background:#f4f0eb;white-space:nowrap;font-size:10px;letter-spacing:.06em;padding:15px 12px}
.order-items td{padding:18px 12px;vertical-align:middle}
.order-items td:first-child{min-width:155px}
.order-items td:not(:first-child){white-space:nowrap}
.order-items .sub{margin-top:6px;color:#8a776a}
.order-summary,.order-columns aside .order-history{border:1px solid #e9e1d9;padding:20px;border-radius:9px;background:#fdfbf8}
.order-summary>div{display:flex;justify-content:space-between;gap:16px;margin-top:18px;font-size:14px}
.order-summary .summary-total{border-top:1px solid #dfd3c8;padding-top:18px;font-size:20px}
.order-remarks{margin-top:26px;margin-bottom:26px}
.order-remarks>p{padding:18px 22px;border:1px solid #e9e1d9;border-radius:8px;background:#f7f3ef;min-height:64px;margin:0}
.order-remarks textarea{min-height:120px;margin-top:10px;width:100%}
.order-timeline{list-style:none;margin:22px 0 0;padding:0 0 0 9px}
.order-timeline li{position:relative;border-left:2px solid #c5af94;padding:0 0 25px 27px;min-height:55px;font-size:14px}
.order-timeline li::before{content:'';position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:#b39877}
.order-timeline li:last-child{border-color:transparent;padding-bottom:0}
.order-timeline li:last-child::before{background:#694327}
.order-timeline strong{display:block;font-weight:500;line-height:1.45}
.order-timeline li:last-child strong{font-weight:650}
.order-timeline time{display:block;color:#998477;margin-top:5px;font-size:12px}
.order-modal fieldset{border:0;padding:0;margin:0;min-width:0}
.order-modal fieldset:disabled{opacity:.7}
.order-modal .edit-meta{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;border:0}
.edit-meta label{background:#f6f2ed;padding:12px;border-radius:6px;min-width:0;font-size:12px;display:flex;flex-direction:column;gap:8px}
.edit-meta input,.edit-meta select{width:100%;min-width:0;background:#fffdfb;font-size:13px;padding:10px 8px}
.order-items select{max-width:140px;min-width:95px;padding:9px 7px;font-size:12px}
.order-items .item-quantity{width:66px;padding:9px 6px;font-size:13px;text-align:center}
.order-items .delete-item{color:#cb4141;border:0;background:transparent;padding:6px}
.order-items .delete-item svg{width:20px;height:20px}
.add-item-footer{padding:12px;background:#faf6f1}
.add-item-footer>button{background:#efe0d2;border:0;color:#603c27}
#new-item:not([hidden]){display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:14px}
#new-item label{display:grid;gap:5px;font-size:12px}
#new-item input{width:65px}
.pricing-note{display:block;margin-top:9px}
.order-columns aside .order-history{margin-top:18px}
.order-save-actions{display:flex;gap:14px;margin-top:34px}
.order-save-actions button{padding:13px 22px}
.availability-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px;flex-wrap:wrap}
.availability-toolbar .calendar-toolbar{margin:0;gap:8px}
.category-tabs{display:flex;gap:10px;flex-wrap:wrap}
.category-tabs button{border:0;border-radius:8px;padding:12px 20px;background:#eee6dd;color:#77533a}
.category-tabs button[aria-selected=true]{background:#705039;color:white}
.calendar-month-label{display:block}
.calendar-month-label input{padding:10px;background:#fffdfa;border:1px solid #e8ddd3;border-radius:7px}
.refined-calendar{gap:8px}
.calendar-scroll{overflow-x:auto;padding:3px}
.refined-calendar .availability-date{padding:10px;min-height:126px;border:1px solid #e9e1d9;border-radius:10px;background:#fffdfa;display:block;overflow:hidden}
.refined-calendar .calendar-blank{border:1px solid #ece6df;border-radius:10px;background:#faf7f3}
.refined-calendar .availability-date.is-today{outline:1px solid #805b3b;outline-offset:2px}
.date-number{padding:0 3px 8px;border:0;background:transparent;color:#533821;font-size:13px;font-weight:650}
.refined-calendar .calendar-chip{width:100%;display:flex;align-items:center;gap:7px;text-align:left;border:0;border-radius:7px;background:#f4efe8;padding:9px 7px;margin:0 0 4px;font-size:11px;color:#634936;line-height:1.4}
.calendar-chip>span:last-child{min-width:0;overflow-wrap:anywhere}
.refined-calendar .calendar-chip small{display:block;font-size:10px;margin-top:3px}
.category-picture{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:27px;height:27px;overflow:hidden;border-radius:6px}
.category-picture img{width:100%;height:100%;object-fit:contain}
.category-picture.neutral{background:#ddd4c8;width:18px;height:18px;border-radius:50%;margin:4px}
dialog.availability-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(580px,96vw);max-width:96vw;height:100dvh;max-height:100dvh;border-radius:10px 0 0 10px;padding:26px 24px;background:#fffdfa;color:#4b3022;overflow:auto}
.availability-drawer .modal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.availability-drawer .modal-heading h2{font-size:22px;margin:0}
.availability-drawer[open]{display:flex;flex-direction:column;overflow:hidden}
.availability-drawer #modal-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}
.drawer-category{display:flex;gap:12px;align-items:center;font-size:16px;color:#806a59;margin:5px 0 24px}
.drawer-category .category-picture{width:34px;height:34px}
.slot-stats{display:grid;grid-template-columns:1fr 1fr;padding:20px 22px;background:#f3eee7;border-radius:9px}
.slot-stats>div{display:grid;gap:6px}.slot-stats>div+div{border-left:1px solid #ded2c5;padding-left:24px}
.slot-stats small{color:#8a7665;font-size:12px}.slot-stats strong{font-size:24px;font-weight:550}
.capacity-hint{font-size:11px;color:#968272;margin:12px 0 18px}
.compact-slots{display:grid;gap:8px}
.compact-slot{display:grid;grid-template-columns:48px 85px minmax(55px,1fr) auto;gap:9px;align-items:center;padding:15px 11px;border:1px solid #e6dbcf;border-radius:8px;font-size:12px;min-height:65px}
.compact-slot>div:first-child>small{display:block;font-size:10px;margin-top:3px}.compact-slot strong{font-size:14px}
.slot-state{border-radius:20px;padding:7px 9px;text-align:center;font-size:11px;background:#ece9e5;color:#76695f}
.slot-state.available{background:#e8f0e5;color:#486d3f}.slot-state.full{background:#fff0ca;color:#966618}
.slot-remaining{color:#8c7665;font-size:11px}
.slot-actions{display:flex;gap:5px;align-items:center}.slot-actions button{border:0;background:transparent;font-size:11px;color:#6b4b31;padding:6px 3px}.slot-actions .delete-slot{color:#b34b42}
.drawer-footer{display:flex;gap:14px;margin-top:auto;padding-top:26px}.drawer-footer>button{flex:1;padding:13px}
#slot-add-panel:not([hidden]){border:1px solid #e9e1d9;background:#f8f3ed;border-radius:9px;padding:18px;margin:15px 0}
#add-slot-form{display:grid;gap:14px}#add-slot-form label{display:grid;gap:7px}#add-slot-form input,#add-slot-form select{width:100%}#slot-add-note{color:#887260;line-height:1.5}
@media(max-width:1050px){.order-modal .modal-heading{flex-wrap:wrap}.order-modal .modal-extra{flex-basis:100%}.order-modal #close-modal{position:absolute;right:20px;top:20px}.order-columns{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.order-modal .edit-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.refined-calendar .availability-date{padding:7px;min-height:115px}.refined-calendar .calendar-chip{font-size:10px;padding:6px 4px;gap:4px}.calendar-chip .category-picture{width:18px;height:18px}}
@media(max-width:760px){.order-modal{padding:22px 16px;width:96vw}.order-modal .modal-heading h2{font-size:21px;padding-right:25px}.order-columns{grid-template-columns:1fr}.order-meta{grid-template-columns:1fr 1fr;gap:16px}.order-modal .edit-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.order-status-actions{margin-left:0}.order-modal .modal-extra{gap:12px}.order-modal .status-action{padding:10px;font-size:12px}.order-summary{margin-top:6px}.order-remarks{margin-top:22px}.order-timeline li{padding-bottom:20px}.refined-calendar{min-width:620px}.availability-calendar.refined-calendar{overflow:visible}.availability-toolbar{min-width:0}.category-tabs button{padding:10px 12px}.order-save-actions{margin-top:22px}.order-items table{min-width:550px}}
@media(max-width:420px){dialog.availability-drawer{padding:20px 14px}.compact-slot{grid-template-columns:43px 75px 1fr;gap:7px}.slot-actions{grid-column:2/4;justify-content:flex-end}.availability-drawer .modal-heading h2{font-size:18px}}
