/* The status label carries meaning as well as colour. */
:is(.admin-item,.request-card)>.request-top{align-items:center;flex-wrap:wrap;gap:12px}
:is(.admin-item,.request-card)>.request-top>h3{flex:1 1 180px;margin:0;min-width:0}
:is(.admin-item,.request-card)>.request-top>.badge,
.admin-item form[data-id] select[name=status]{
 --status-bg:#1d4ed8;--status-ink:#fff;--status-border:#173fae;
 background:var(--status-bg);color:var(--status-ink);border:2px solid var(--status-border);
 font-size:17px;font-weight:800;line-height:1.35;letter-spacing:0;text-transform:none;
 border-radius:10px;box-shadow:0 3px 9px #14263822;text-shadow:none;
}
:is(.admin-item,.request-card)>.request-top>.badge{padding:9px 15px;min-height:42px;display:inline-flex;align-items:center;white-space:normal;max-width:100%}
:is(.admin-item,.request-card)>.request-top>.badge.confirmed,.admin-item form[data-id] select[name=status][data-status=confirmed]{--status-bg:#087f8c;--status-border:#086873}
:is(.admin-item,.request-card)>.request-top>.badge.working,.admin-item form[data-id] select[name=status][data-status=working]{--status-bg:#ffc400;--status-ink:#201900;--status-border:#926f00}
:is(.admin-item,.request-card)>.request-top>.badge.waiting,.admin-item form[data-id] select[name=status][data-status=waiting]{--status-bg:#6d28d9;--status-border:#5420a5}
:is(.admin-item,.request-card)>.request-top>.badge.completed,.admin-item form[data-id] select[name=status][data-status=completed]{--status-bg:#16703b;--status-border:#105b2e}
:is(.admin-item,.request-card)>.request-top>.badge.cancelled,.admin-item form[data-id] select[name=status][data-status=cancelled]{--status-bg:#bd2029;--status-border:#971921}
.admin-item form[data-id] select[name=status]{min-height:52px;padding:12px;cursor:pointer}
.admin-item select[name=status] option{background:#fff;color:#20252b;font-weight:600}
.booking-passed-note{border:2px solid #a96700;background:#fff1ca;color:#422900;padding:14px 16px;border-radius:10px;font-size:16px;line-height:1.55}
.request-save-notice,.request-save-result{--save-bg:#e5f6eb;--save-border:#14793f;--save-ink:#12482b;background:var(--save-bg);border:3px solid var(--save-border);color:var(--save-ink);border-radius:14px;line-height:1.5;font-size:16px;font-weight:600}
:is(.request-save-notice,.request-save-result)[data-state=error]{--save-bg:#fff0f0;--save-border:#c21f2f;--save-ink:#841421}
:is(.request-save-notice,.request-save-result)[data-state=saving]{--save-bg:#eaf1ff;--save-border:#2455c3;--save-ink:#173a86}
.request-save-notice{position:fixed;bottom:24px;right:24px;z-index:1100;display:flex;align-items:start;gap:18px;width:min(520px,calc(100vw - 32px));padding:18px 20px;box-shadow:0 8px 32px #15223840;overflow-wrap:anywhere}
.request-save-notice>div{flex:1;min-width:0}.request-save-notice strong{font-size:20px;line-height:1.3}.request-save-notice p{margin:6px 0 0}
.request-save-notice>button{background:transparent;border:2px solid currentColor;color:inherit;border-radius:8px;min-width:44px;min-height:44px;font-size:26px;line-height:1;cursor:pointer}
.admin-item .request-save-result{padding:14px 16px;margin:16px 0;overflow-wrap:anywhere}
.request-save-notice[hidden],.request-save-result[hidden]{display:none!important}
@media(max-width:600px){.request-save-notice{bottom:calc(12px + env(safe-area-inset-bottom));right:16px;padding:14px;gap:12px}.request-save-notice strong{font-size:18px}:is(.admin-item,.request-card)>.request-top>.badge{font-size:17px;min-height:44px}.admin-item form[data-id]>.button[type=submit]{width:100%;min-height:52px}}
