/* The shared brand skin intentionally overrides legacy module button colors. */
/* Chiniu logo: sky blue to cobalt. One treatment for every interactive button. */
:root{--brand:#2351e4;--brand-strong:#1839c6;--brand-blue:#2351e4;--brand-deep:#1839c6;--brand-sky:#54b4dd;--brand-soft:#eef4ff;--brand-line:#c7d6f7;--brand-gradient:linear-gradient(125deg,#419fdd 0%,#3271e2 42%,#1839e3 100%)}
body button,body .btn,body input[type=submit],body input[type=button],body a[role=button]{box-sizing:border-box;border:1px solid var(--brand-line);border-radius:9px;background:linear-gradient(135deg,#fff,#edf4ff)!important;color:#254fa5!important;min-height:36px;padding:8px 13px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;box-shadow:0 2px 5px #193f8f0d;transition:background .16s,box-shadow .16s,border-color .16s,transform .16s;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;vertical-align:middle}
body button:hover,body .btn:hover,body input[type=submit]:hover{background:linear-gradient(135deg,#edf7ff,#dfeaff)!important;color:#173c9c!important;border-color:#88afea!important;box-shadow:0 4px 10px #214fb31a;transform:translateY(-1px)}
body .btn-primary,body .btn-brand,body button.on,body button[type=submit],body input[type=submit],body button.active,body button[aria-pressed=true]{background:var(--brand-gradient)!important;border-color:#3271e2!important;color:#fff!important;box-shadow:0 4px 10px #2351e429}
body .btn-primary:hover,body .btn-brand:hover,body button.on:hover,body button[type=submit]:hover,body button[aria-pressed=true]:hover{background:linear-gradient(125deg,#328ccc,#245ed7,#132dbb)!important;color:#fff!important;box-shadow:0 5px 14px #2351e440}
body button:active,body .btn:active{transform:translateY(0);box-shadow:inset 0 1px 4px #1839e326}
body button:focus-visible,body .btn:focus-visible,body input[type=submit]:focus-visible{outline:3px solid #58ade6;outline-offset:3px}
body button:disabled,body .btn:disabled,body input[type=submit]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:saturate(.4)}
body .btn-danger,body button.danger-text{color:#ad3039!important;background:#fff3f3!important;border-color:#edc3c7!important}
body .btn-danger:hover,body button.danger-text:hover{color:#90202c!important;background:#ffe5e8!important;border-color:#d58d97!important}
body td button,body td .btn{margin:3px 4px 3px 0;white-space:nowrap}
body .icon-btn,body .modal-close{min-width:34px;min-height:34px;padding:6px}
body .me{border-radius:24px}
.billing-actions{gap:12px;margin:8px 0 22px;flex-wrap:wrap}
.billing-actions .btn{min-height:43px;padding:10px 21px}
.billing-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:10px;background:#eaf0fb!important;border:1px solid #dce5f5;border-radius:13px;margin-bottom:22px}
.billing-tabs .btn{min-width:100px;flex:1 1 110px;min-height:42px}
.billing-panel{margin:0 0 24px;padding:20px;background:#fff!important;border:1px solid #dce5f5;border-radius:13px}
.billing-panel h3{margin-top:0}.billing-panel .action-row{margin-bottom:16px}
.billing-panel .action-row>.input{max-width:360px}
.agent-reserve-detail-row td{background:#f7faff;padding:16px 18px!important}
.agent-reserve-entry-list{display:grid;gap:8px}
.agent-reserve-entry{display:grid;grid-template-columns:minmax(210px,2fr) minmax(180px,2fr) minmax(110px,1fr);gap:16px;align-items:start;padding:10px 12px;background:#fff;border:1px solid #e5ebf5;border-radius:8px}
.agent-reserve-entry>*{min-width:0;overflow-wrap:anywhere}
.agent-reserve-entry>b{text-align:right;white-space:nowrap}
@media(max-width:760px){.agent-reserve-entry{grid-template-columns:1fr}.agent-reserve-entry>b{text-align:left}}
.permission-help{font-size:13px;line-height:1.7;color:#52627b!important;margin:8px 0 16px}
.reserve-queue.has-pending{border:1px solid #edbe70;border-left:5px solid #d88b20;background:#fffcf4!important}
.reserve-count{border-radius:20px;padding:6px 12px;background:#edf4ff!important;color:#254fa5!important;font-weight:700}
.has-pending .reserve-count{background:#ffedc4!important;color:#865009!important}
.reserve-pending{background:#fff1d6!important}.reserve-pending td:first-child{border-left:3px solid #d88b20}
.reserve-pending .btn{background:#fff8e8!important;border-color:#d7a459!important;color:#80500f!important}
.permission-card:has(input:checked){border-color:#3271e2!important;background:#eef4ff!important}
.permission-card input:checked{background:#3271e2!important}.permission-card:has(input:checked) .permission-state{color:#254fa5!important}
@media(max-width:700px){.billing-panel{padding:14px 10px}.billing-actions .btn{flex:1 1 120px}.billing-tabs{padding:7px;gap:6px}.billing-tabs .btn{min-width:0;flex-basis:40%}.billing-panel .section-head{gap:10px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){body button,body .btn{transition:none;transform:none!important}}

/* Approval actions form one toolbar; configuration and history are secondary. */
.approval-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:18px 20px;margin:0 0 26px;background:#fff;border:1px solid #dce5f5;border-radius:13px}
.approval-toolbar-actions,.approval-toolbar-secondary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.approval-toolbar .btn{min-height:42px;margin:0;padding:10px 18px;white-space:normal}
.approval-toolbar-secondary{gap:16px}.approval-toolbar-secondary label{margin:0;line-height:1.6}
#reserve-review{margin-top:22px;gap:18px 20px}#reserve-review .field{min-width:0}#reserve-review .field>span{display:block;margin-bottom:8px}
#reserve-review .full{grid-column:1 / -1}#reserve-review select{max-width:100%;width:100%}
.reserve-review-check{display:flex;align-items:flex-start;gap:9px;line-height:1.7}.reserve-review-check input{margin-top:6px;flex-shrink:0}
@media(max-width:700px){.approval-toolbar{padding:14px;gap:18px}.approval-toolbar-actions,.approval-toolbar-secondary{width:100%}.approval-toolbar-actions .btn{flex:1}.approval-toolbar-secondary{padding-top:14px;border-top:1px solid #e3eaf5}.approval-toolbar-secondary label{width:100%}#reserve-review{grid-template-columns:minmax(0,1fr)}}

.receipt-next-step{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px}.receipt-next-step small{line-height:1.6;color:#52627b}.receipt-destination-highlight{background:#fff2d8!important;outline:2px solid #d99b35;outline-offset:-2px}#reserve-next-step:not(:empty){padding:16px;margin-top:16px;background:#eef4ff;border-radius:10px}
