:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#152b3b;background:#f4f7f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:254px;flex:none;background:#10283a;color:#d8e6e9;padding:27px 17px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:2px 12px 15px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#d3f47d;color:#183e30;font-size:24px;font-weight:800;line-height:1}.brand strong{display:block;color:#fff;font-size:17px;letter-spacing:-.04em}.brand small{display:block;color:#86a1a9;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}.switcher{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#0b2030;border:1px solid #274457;border-radius:11px}.switcher button{border:0;background:transparent;color:#9ab3bb;font-size:12px;font-weight:700;border-radius:8px;padding:10px 5px}.switcher button.active{background:#e4f7b9;color:#1b3d33}.nav-label{font-size:10px;color:#6d8b99;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:2px 12px 9px}.nav{display:flex;flex-direction:column;gap:3px}.nav button{width:100%;display:flex;align-items:center;gap:12px;color:#a7bec7;background:transparent;border:0;border-radius:9px;padding:11px 12px;text-align:left;font-size:13px;font-weight:600}.nav button:hover{background:#17384c;color:#fff}.nav button.active{background:#22465a;color:#fff}.icon{width:19px;text-align:center;display:inline-block;font-size:17px;line-height:1}.sidebar-footer{margin-top:auto;padding:15px 12px 4px;border-top:1px solid #284356}.sidebar-footer .avatar{width:30px;height:30px}.footer-user{display:flex;gap:10px;align-items:center}.footer-user strong{font-size:12px;color:#fff;display:block}.footer-user span{font-size:10px;color:#8babb4}.demo-badge{font-size:10px;display:inline-block;margin-top:16px;padding:5px 8px;border:1px solid #5f765a;color:#d5e5b1;background:#2a4639;border-radius:5px}.main{min-width:0;flex:1}.topbar{height:72px;background:#fff;border-bottom:1px solid #e5ebee;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:20px}.breadcrumbs{color:#8aa0a8;font-size:12px}.breadcrumbs b{color:#214154;font-weight:700}.top-actions{display:flex;align-items:center;gap:13px}.top-actions .hotel-select{min-width:178px}.select,.field input,.field select,.field textarea,.search{background:#fff;border:1px solid #dbe5e8;border-radius:9px;color:#254254;outline:none}.select:focus,.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:#44a795;box-shadow:0 0 0 3px #d9f2ec}.select{padding:9px 12px;font-size:12px;font-weight:700}.lang{display:flex;gap:3px;padding:3px;background:#f0f4f5;border-radius:8px}.lang button{border:0;background:transparent;color:#8da1a8;font-size:11px;font-weight:800;padding:6px 8px;border-radius:6px}.lang button.active{background:#fff;color:#234a51;box-shadow:0 1px 4px #b9c7cd70}.avatar{width:34px;height:34px;border-radius:50%;background:#d9e9e4;color:#206050;display:grid;place-items:center;font-size:12px;font-weight:800}.content{padding:31px 36px 50px;max-width:1640px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:25px}.eyebrow{font-size:11px;font-weight:800;color:#468d7e;text-transform:uppercase;letter-spacing:.12em;margin:0 0 7px}.page-head h1{font-size:27px;letter-spacing:-.045em;margin:0 0 6px;color:#153246;line-height:1.12}.subtle{color:#78909a;font-size:13px;margin:0;line-height:1.5}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{border:1px solid #d8e4e7;background:#fff;color:#274558;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:800;display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:38px}.btn:hover{background:#f4faf8}.btn.primary{background:#1e705f;color:#fff;border-color:#1e705f}.btn.primary:hover{background:#185a4d}.btn.dark{background:#173e4b;border-color:#173e4b;color:#fff}.btn.small{padding:6px 9px;min-height:29px;font-size:11px}.btn.ghost{border:0;background:transparent;color:#377b6c}.btn.danger{color:#bc534f;border-color:#efdad8}.grid{display:grid;gap:16px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:17px}.metric{background:#fff;border:1px solid #e7edef;border-radius:13px;padding:19px 20px;box-shadow:0 3px 15px #153a4b05}.metric .mini-icon{background:#e9f5e7;color:#48845c;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:16px}.metric-top{display:flex;justify-content:space-between;align-items:start}.metric strong{display:block;font-size:27px;letter-spacing:-.05em;color:#183649;margin:13px 0 0;line-height:1}.metric span{font-size:11px;color:#78939c;font-weight:600;display:block;margin-top:6px}.metric em{font-size:10px;color:#357d65;font-style:normal;font-weight:800;background:#e8f4ed;padding:5px 7px;border-radius:5px}.two-col{grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr)}.card{background:#fff;border:1px solid #e5ecee;border-radius:14px;box-shadow:0 3px 15px #153a4b05;min-width:0}.card-header{padding:20px 22px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-header h2{font-size:15px;letter-spacing:-.02em;margin:0;color:#19394a}.card-header p{font-size:11px;color:#8ca1a8;margin:5px 0 0}.card-body{padding:0 22px 20px}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}.table th{text-align:left;color:#90a3aa;font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding:12px 14px;border-bottom:1px solid #eaf0f1;font-weight:800}.table td{padding:13px 14px;border-bottom:1px solid #f0f3f4;color:#47616d;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table td strong{color:#203c4d;font-weight:750}.table td small{display:block;color:#97abb1;margin-top:3px}.table td:first-child,.table th:first-child{padding-left:22px}.table td:last-child,.table th:last-child{padding-right:22px}.table tbody tr:hover{background:#fafdfb}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:800;background:#edf3f4;color:#52707a}.badge:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}.badge.confirmed,.badge.ready,.badge.active,.badge.resolved{background:#e4f5ed;color:#308266}.badge.checked-in,.badge.occupied,.badge.in-progress{background:#e5f0fc;color:#4682ad}.badge.checked-out{background:#edf2f5;color:#8196a0}.badge.cancelled,.badge.maintenance,.badge.expired{background:#fbeeea;color:#b87357}.badge.cleaning,.badge.open,.badge.due{background:#fff2df;color:#bb8642}.link-btn{border:0;background:transparent;color:#237a67;font-size:11px;font-weight:800;padding:5px 0}.link-btn:hover{text-decoration:underline}.room-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.room-mini{border:1px solid #e2ebed;background:#fff;border-radius:10px;padding:13px;min-height:83px;text-align:left}.room-mini:hover{border-color:#70b7a2}.room-mini strong{display:block;font-size:14px;color:#234153}.room-mini span{font-size:10px;display:block;margin-top:9px;color:#748e99}.room-mini.ready{background:#f3faf4}.room-mini.occupied{background:#f1f6fc}.room-mini.cleaning{background:#fff9f0}.room-mini.maintenance{background:#fdf4f0}.activity{display:flex;flex-direction:column}.activity-item{display:flex;gap:11px;padding:13px 0;border-top:1px solid #edf1f2}.activity-item:first-child{border-top:0}.activity-dot{width:27px;height:27px;border-radius:8px;flex:none;background:#e8f3ed;color:#4d9877;display:grid;place-items:center;font-size:12px}.activity-item strong{font-size:11px;color:#284554;display:block}.activity-item span{font-size:11px;color:#8da1a9;display:block;margin-top:3px;line-height:1.4}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;flex-wrap:wrap}.search{padding:10px 12px;font-size:12px;min-width:235px}.filter-row{display:flex;gap:6px;flex-wrap:wrap}.filter{border:1px solid #dce6e8;background:#fff;border-radius:8px;color:#78909a;font-size:11px;font-weight:800;padding:9px 11px}.filter.active{color:#1f6e5e;border-color:#9ed6bd;background:#eaf7ed}.empty{padding:38px;text-align:center;color:#8ca2a9;font-size:12px}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:14px}.room-card{border:1px solid #e5ecee;background:#fff;border-radius:13px;padding:17px;display:flex;flex-direction:column;gap:10px;min-height:160px}.room-card-top{display:flex;align-items:center;justify-content:space-between}.room-number{font-size:20px;font-weight:800;color:#203e4f;letter-spacing:-.04em}.room-card .muted{color:#91a6ae;font-size:11px}.room-card .btn{margin-top:auto}.summary-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-item{background:#f6f9f9;border-radius:9px;padding:13px}.summary-item strong{display:block;color:#27475a;font-size:16px}.summary-item span{font-size:10px;color:#8aa0a8}.banner{border:1px solid #dce9df;background:#edf7eb;border-radius:12px;padding:16px 19px;margin-bottom:18px;display:flex;justify-content:space-between;gap:14px;align-items:center}.banner strong{color:#245a46;font-size:13px}.banner p{margin:4px 0 0;color:#638277;font-size:11px}.banner .btn{background:#fff}.calendar{display:grid;overflow:auto;grid-template-columns:100px repeat(7,minmax(100px,1fr));border:1px solid #e5edef;border-radius:12px;background:#fff}.cal-cell{padding:10px;border-right:1px solid #edf1f2;border-bottom:1px solid #edf1f2;min-height:66px;font-size:11px}.cal-head{min-height:44px;background:#f6f9f9;color:#708e98;font-weight:800}.cal-cell.room{color:#274858;font-weight:800}.cal-booking{display:block;background:#dff0e5;color:#2c7256;border-radius:5px;padding:5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:10px;cursor:pointer}.cal-booking.checked-in{background:#e2eefb;color:#3e78a5}.cal-booking.cancelled{display:none}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:16px}.folio-total{font-size:23px;color:#18394a;font-weight:800;letter-spacing:-.04em}.notice{padding:12px 14px;border-radius:9px;background:#f4f8f7;color:#557277;font-size:11px;line-height:1.5}.modal-backdrop{position:fixed;inset:0;background:#0c2437a8;display:flex;align-items:center;justify-content:center;z-index:30;padding:20px}.modal{width:min(620px,100%);max-height:min(90vh,900px);overflow:auto;border-radius:15px;background:#fff;box-shadow:0 25px 80px #0b263970}.modal-header{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:22px 24px;border-bottom:1px solid #eaf0f0}.modal-header h2{font-size:19px;color:#1d3b4c;letter-spacing:-.03em;margin:0}.modal-header p{font-size:11px;color:#8da1a9;margin:5px 0 0}.close{background:#f1f5f5;color:#55717d;border:0;border-radius:7px;font-size:20px;width:28px;height:28px;line-height:1}.modal-body{padding:22px 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.wide{grid-column:1/-1}.field label{font-size:11px;color:#597280;font-weight:800}.field input,.field select,.field textarea{padding:10px 11px;font-size:12px;width:100%}.field textarea{resize:vertical;min-height:78px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.form-error{color:#b8524f;font-size:11px;min-height:15px;margin:10px 0 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-grid dt{color:#8ca1a9;font-size:10px;font-weight:800;text-transform:uppercase;margin-bottom:5px}.detail-grid dd{color:#28495b;font-size:13px;font-weight:700;margin:0}.divider{height:1px;background:#edf1f2;margin:19px 0}.modal-actions{display:flex;flex-wrap:wrap;gap:7px}.toast{position:fixed;bottom:24px;right:24px;background:#173d3c;color:#fff;padding:12px 16px;font-size:12px;font-weight:700;border-radius:9px;box-shadow:0 8px 25px #183b3450;z-index:50;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.chart-bars{height:118px;display:flex;align-items:end;gap:10px;padding:5px 0 0}.chart-bars div{flex:1;background:#b9dcca;border-radius:5px 5px 0 0;min-width:8px}.chart-bars div:nth-child(3n){background:#61ad8d}.chart-labels{display:flex;gap:10px;color:#9bb0b7;font-size:9px;margin-top:7px}.chart-labels span{flex:1;text-align:center}.help-text{font-size:11px;color:#91a7ae;line-height:1.5}.row-actions{display:flex;gap:8px;align-items:center}.pill{font-size:10px;font-weight:800;color:#709099;background:#f1f5f5;padding:6px 8px;border-radius:6px}.settings{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings .card-body{padding-top:12px}.settings p{font-size:12px;color:#718c96;line-height:1.5}.settings strong{color:#214459;font-size:13px}.feature-list{margin:0;padding:0;list-style:none}.feature-list li{padding:11px 0;border-bottom:1px solid #edf1f2;color:#577582;font-size:12px;display:flex;justify-content:space-between;gap:10px}.feature-list li:last-child{border:0}.feature-list b{color:#305b52;font-size:11px}.feature-list b.future{color:#a38554}.mobile-menu{display:none}@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.split{grid-template-columns:1fr}.topbar{padding:0 24px}.content{padding:26px 24px}.sidebar{width:218px}.room-mini-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:12px;gap:10px}.brand{padding:0}.brand small,.sidebar-footer,.nav-label{display:none}.switcher{max-width:280px}.nav{display:flex;overflow:auto;flex-direction:row;padding-bottom:2px}.nav button{width:auto;white-space:nowrap;padding:8px 10px}.topbar{height:auto;min-height:58px;padding:10px 15px}.breadcrumbs{display:none}.top-actions{width:100%;justify-content:space-between}.top-actions .hotel-select{min-width:0;max-width:50%}.content{padding:20px 15px}.page-head{flex-wrap:wrap}.page-head h1{font-size:23px}.metrics{gap:9px}.metric{padding:14px}.metric strong{font-size:22px}.metric em{display:none}.room-mini-grid{grid-template-columns:repeat(2,1fr)}.summary-list,.settings{grid-template-columns:1fr}.banner{align-items:flex-start;flex-direction:column}.form-grid,.detail-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.modal{max-height:95vh}.search{min-width:0;width:100%}.toolbar{align-items:stretch}.filter-row{overflow:auto}.mobile-menu{display:block}}
[hidden]{display:none!important}.date-picker{display:flex;align-items:center;gap:9px;color:#5c7885;font-size:11px;font-weight:800}.date-picker input{border:1px solid #dbe5e8;border-radius:8px;padding:8px 10px;color:#254254;background:#fff;font:inherit}.payment-preview{grid-column:1/-1}.payment-preview strong{color:#214459}
.sidebar{overflow-y:auto}@media(max-width:760px){.sidebar{overflow-y:visible}}
.agency-list{margin-bottom:18px}.agency-list .card-header{align-items:center}.agency-list .search{min-width:240px;padding:9px 12px;font-size:12px}.agency-empty{padding:24px!important;text-align:center;color:#8299a2!important}.agency-editor .card-header{border-bottom:1px solid #e9eff0}.agency-layout{display:grid;grid-template-columns:minmax(250px,28%) minmax(0,1fr)}.agency-main-fields{padding:20px;border-right:1px solid #e9eff0}.agency-main-fields .form-grid{grid-template-columns:1fr;gap:11px}.agency-main-fields .field.wide{grid-column:auto}.agency-details{min-width:0;padding:0 20px 12px}.agency-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:3px;border-bottom:1px solid #dce6e9;margin-bottom:18px;scrollbar-width:thin}.agency-tabs button{flex:none;border:0;border-bottom:3px solid transparent;background:transparent;color:#718b97;padding:13px 12px 11px;font-size:11px;font-weight:800;white-space:nowrap}.agency-tabs button.active{color:#1e705f;border-color:#1e705f;background:#f3faf6}.agency-tabs button:hover{color:#1e705f}.agency-section{border:1px solid #e5edef;border-radius:10px;padding:16px;margin:0 0 13px}.agency-section h3{font-size:12px;color:#284a5c;margin:0 0 13px}.agency-checks{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0}.agency-check{display:inline-flex;align-items:center;gap:7px;color:#526d79;font-size:11px;font-weight:750;cursor:pointer}.agency-check input{accent-color:#1e705f;width:15px;height:15px;margin:0}.agency-hint{margin:4px 0 0}.agency-editor .form-error{margin:0 20px}.agency-save{display:flex;justify-content:flex-end;border-top:1px solid #e9eff0;padding:15px 20px}.agency-pane[hidden]{display:none}@media(max-width:1050px){.agency-layout{grid-template-columns:1fr}.agency-main-fields{border-right:0;border-bottom:1px solid #e9eff0}.agency-main-fields .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agency-main-fields .field.wide{grid-column:1/-1}}@media(max-width:760px){.agency-list .card-header{align-items:stretch;flex-direction:column}.agency-list .search{width:100%;min-width:0}.agency-main-fields .form-grid{grid-template-columns:1fr}.agency-main-fields .field.wide{grid-column:auto}.agency-details{padding:0 14px 12px}.agency-section{padding:13px}.agency-section .form-grid{grid-template-columns:1fr}}
.reservation-card-modal{width:min(1480px,96vw);max-height:95vh}.reservation-card-modal .modal-body{padding:0}.rc-actionbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#fff;border-bottom:1px solid #e5ecee}.rc-actionbar>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.rc-layout{display:grid;grid-template-columns:minmax(320px,31%) minmax(0,1fr);min-height:520px}.rc-left{background:#fbfcfc;border-right:1px solid #e4ebee;padding:18px}.rc-left-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rc-left-grid>.field:first-child,.rc-left-grid>.field:nth-child(2),.rc-left-grid>.field.wide,.rc-inline-stat{grid-column:1/-1}.rc-inline-stat{font-size:11px;color:#54747e;background:#eaf4ee;padding:8px 10px;border-radius:8px}.rc-right{min-width:0;background:#fff}.rc-tabs{position:sticky;top:62px;z-index:4;display:flex;overflow-x:auto;white-space:nowrap;background:#f7f9f9;border-bottom:1px solid #e3ebed}.rc-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#667f8a;padding:14px 18px;font-size:12px;font-weight:800}.rc-tabs button.active{border-color:#1e705f;color:#1e705f;background:#fff}.rc-pane{padding:18px}.rc-section{padding:16px 0;border-top:1px solid #e8eff0}.rc-section:first-child{border-top:0;padding-top:0}.rc-section h3,.rc-section-head h3{font-size:14px;color:#244355;margin:0 0 12px}.rc-section-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:12px}.rc-section-head p{font-size:11px;color:#879da5;margin:0}.rc-section .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rc-guest-scroll{overflow-x:auto;border:1px solid #e1e9ec;border-radius:9px;margin-bottom:18px}.rc-guest-table{border-collapse:collapse;min-width:1120px;width:100%;font-size:11px}.rc-guest-table th{text-align:left;padding:9px;background:#edf2f4;color:#5c7580;font-size:10px;white-space:nowrap}.rc-guest-table td{padding:7px;border-top:1px solid #edf1f2}.rc-guest-table input:not([type=checkbox]){width:100%;min-width:74px;padding:8px;border:1px solid #dce6e9;border-radius:6px;font-size:11px}.rc-guest-table td:nth-child(1),.rc-guest-table td:nth-child(2){min-width:140px}.rc-guest-table td:nth-child(5),.rc-guest-table td:nth-child(6){min-width:130px}.rc-guest-table td:last-child{text-align:center}.rc-room-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:7px;border:1px solid #dfe8ea;border-radius:8px;max-height:160px;overflow:auto}.rc-room-choice{display:flex;flex-direction:column;gap:2px;border:1px solid #dce8e4;border-radius:7px;padding:7px;background:#fff;font-size:11px;cursor:pointer}.rc-room-choice input{width:auto;margin:0 0 2px;accent-color:#1e705f}.rc-room-choice small{font-size:9px;color:#80969e}.rc-room-choice.busy{background:#fff4f0;border-color:#ecd7cb}.rc-room-choice:has(input:checked){background:#eaf6ee;border-color:#78b69d}.rc-age-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.rc-age-grid input{min-width:0}.rc-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.rc-summary div{padding:14px;background:#f3f8f6;border:1px solid #e3eeea;border-radius:9px}.rc-summary span{display:block;color:#718a94;font-size:11px}.rc-summary strong{display:block;color:#21495a;font-size:18px;margin-top:5px}.rc-bottom-actions{padding:0 18px 18px}.reservation-card-modal .form-error{padding:0 18px}.rc-pane[hidden],.rc-room-choice[hidden]{display:none!important}@media(max-width:1100px){.rc-layout{grid-template-columns:1fr}.rc-left{border-right:0;border-bottom:1px solid #e4ebee}.rc-left-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rc-left-grid>.field:first-child,.rc-left-grid>.field:nth-child(2){grid-column:auto}}@media(max-width:760px){.reservation-card-modal{width:100%;max-height:96vh}.rc-actionbar{align-items:flex-start;flex-direction:column}.rc-tabs{top:92px}.rc-left{padding:13px}.rc-left-grid,.rc-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-pane{padding:13px}.rc-room-list{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-actionbar .btn{padding:7px 9px;font-size:11px}.rc-section-head{flex-direction:column}}@media(max-width:520px){.rc-left-grid,.rc-section .form-grid{grid-template-columns:1fr}.rc-left-grid>.field:first-child,.rc-left-grid>.field:nth-child(2){grid-column:auto}}
#reservation-print{display:none}@media print{body>*{display:none!important}#reservation-print{display:block!important;padding:28px;font:14px/1.5 Arial,sans-serif;color:#111}#reservation-print h1{font-size:22px;margin:0 0 8px}#reservation-print h2{font-size:17px;margin:0 0 28px}#reservation-print dl{display:grid;grid-template-columns:1fr 1fr;gap:16px}#reservation-print dt{font-size:11px;color:#666}#reservation-print dd{font-weight:700;margin:2px 0 0}}

.overview-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-3px 0 20px}.shortcut{display:flex;align-items:center;gap:10px;min-width:0;min-height:58px;border:1px solid #dfe9e9;border-radius:11px;background:#fff;color:#244757;padding:11px 13px;text-align:left;font-size:12px;font-weight:800;box-shadow:0 3px 13px #153a4b05}.shortcut:hover,.shortcut:focus-visible{border-color:#70b7a2;background:#f3faf6;outline:none}.shortcut-icon{width:31px;height:31px;flex:none;display:grid;place-items:center;border-radius:8px;background:#e8f4ec;color:#2a8066;font-size:17px}.shortcut-arrow{margin-left:auto;color:#8da8a7;font-size:15px}.badge.blocked{background:#fff0e5;color:#b5723a}.room-mini.blocked{background:#fff5ec}.cal-booking.blocked{background:#ffeddc;color:#9b5c27;cursor:default}@media(max-width:1100px){.overview-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.overview-shortcuts{gap:8px;margin:0 0 16px}.shortcut{min-height:51px;padding:8px 9px;font-size:11px}.shortcut-icon{width:27px;height:27px;font-size:15px}}

.overview-shortcuts{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;position:sticky;top:0;z-index:20;overflow-x:auto;scrollbar-width:thin;background:#f4f7f8;padding:8px 0;margin:-7px 0 20px}.shortcut{flex:0 0 auto;min-height:40px;padding:9px 13px;white-space:nowrap;border-radius:9px;text-decoration:none;cursor:pointer}.shortcut-icon,.shortcut-arrow{display:none}.shortcut.active{border-color:#65b396;background:#e3f4e9;color:#17614c;box-shadow:inset 0 0 0 1px #a1d8bb}.shortcut.active:hover{background:#d9efdf}@media(max-width:760px){.overview-shortcuts{gap:6px;margin:-4px 0 17px;padding:7px 0}.shortcut{min-height:38px;padding:8px 11px;font-size:11px}}

.reservation-toolbar{margin-bottom:10px}.reservation-filters{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;padding:0 0 10px;margin-bottom:7px}.reservation-filters .filter{flex:0 0 auto}.badge.no-show{background:#fff1e1;color:#a76c30}

.reservation-grid{overflow:hidden}.reservation-grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;background:#fff;border-bottom:1px solid #e1e8eb}.reservation-grid-actions{display:flex;gap:6px;flex-wrap:wrap}.grid-action{display:inline-flex;align-items:center;gap:6px;border:1px solid #dce5e8;border-radius:7px;background:#f8fafb;color:#315469;padding:7px 10px;font-size:11px;font-weight:800;white-space:nowrap}.grid-action:hover{background:#edf5f3;border-color:#9fcec1}.grid-action.primary{background:#e6f4ee;color:#196d55;border-color:#badfcd}.grid-action span{font-size:15px;line-height:1}.reservation-grid-count{font-size:11px;font-weight:800;color:#79909b;white-space:nowrap}.reservation-grid-scroll{max-height:570px;overflow:auto}.reservation-data-table{min-width:1450px;font-size:11px}.reservation-data-table th{padding:9px 10px;background:#edf2f4;color:#526d78;border-bottom:1px solid #dce6e9;letter-spacing:0;font-size:10px;white-space:nowrap}.reservation-data-table td{padding:9px 10px;border-bottom:1px solid #e9eff1}.reservation-data-table tbody tr:nth-child(even){background:#f9fbfc}.reservation-data-table tbody tr:hover{background:#edf6f3}.reservation-data-table th:first-child,.reservation-data-table td:first-child{padding-left:13px}.reservation-data-table th:last-child,.reservation-data-table td:last-child{padding-right:13px}.reservation-data-table .badge{white-space:nowrap}.reservation-grid-filter-row th{background:#f8fafb;padding:6px 5px;border-bottom:1px solid #dce6e9}.reservation-grid-filter-row input{width:100%;min-width:65px;height:28px;border:1px solid #d7e2e7;border-radius:5px;padding:4px 7px;background:#fff;color:#244557;font-size:11px;outline:none}.reservation-grid-filter-row input:focus{border-color:#3f9f8a;box-shadow:0 0 0 2px #d8eee6}.reservation-grid-filter-row input::placeholder{color:#a5b6bd}.reservation-data-table .grid-index{width:36px;color:#879ca5;text-align:center}.reservation-data-table .grid-note{max-width:190px;overflow:hidden;text-overflow:ellipsis}.reservation-data-table .grid-id{font-variant-numeric:tabular-nums;color:#637c88}.reservation-data-table .grid-empty{text-align:center;padding:32px 12px;color:#849ba4}.reservation-data-table th:nth-child(2){min-width:76px}.reservation-data-table th:nth-child(3){min-width:125px}.reservation-data-table th:nth-child(4){min-width:115px}.reservation-data-table th:nth-child(5){min-width:175px}.reservation-data-table th:nth-child(6),.reservation-data-table th:nth-child(7){min-width:112px}.reservation-data-table th:nth-child(8){min-width:180px}.reservation-data-table th:nth-child(9){min-width:95px}.reservation-data-table th:nth-child(10){min-width:115px}.reservation-data-table th:nth-child(11){min-width:110px}.reservation-data-table th:nth-child(12){min-width:115px}@media(max-width:760px){.reservation-grid-toolbar{align-items:flex-start}.reservation-grid-actions{flex-wrap:nowrap;overflow-x:auto;min-width:0}.grid-action{padding:7px 8px}.reservation-grid-count{padding-top:8px}}
.reservation-data-table .grid-room-ordinal,.reservation-data-table .grid-booking-total{display:block;margin-top:3px;color:#78909b;font-size:10px;font-weight:600}.reservation-data-table tbody tr.reservation-group-start:not(:first-child) td{border-top:2px solid #d9e7e5}
.reservation-data-table .grid-group-lead,.reservation-data-table .grid-id small{display:block;margin-top:3px;color:#78909b;font-size:10px;font-weight:600}

.rc-payment-status{display:flex;flex-direction:column;gap:5px;justify-content:center;padding:7px 10px;border:1px solid #dce9e3;border-radius:8px;background:#f2f8f4;font-size:11px;color:#647d86}.rc-payment-status strong{color:#1e705f;font-size:12px}

.rc-guest-table{min-width:1120px}.rc-guest-table td:nth-child(3){min-width:190px}.rc-guest-table td:nth-child(4){min-width:86px}.rc-guest-table td:nth-child(6),.rc-guest-table td:nth-child(7){min-width:130px}.rc-birthdate{display:grid;grid-template-columns:48px 48px 68px;gap:4px}.rc-guest-table .rc-birthdate input{min-width:0;width:100%;text-align:center}.rc-guest-table input[readonly]{background:#f0f5f3;color:#2c5d50;cursor:default}

/* DirektOtel uses the exact approved DirektRez emblem from the shared brand asset. */
.brand-mark{width:44px;height:44px;flex:none;border-radius:11px;border:1px solid #e1e9ec;background-color:#fff;background-image:url("brand/direktrez-logo-approved.png");background-repeat:no-repeat;background-size:174px 58px;background-position:-3px -6px;box-shadow:0 3px 10px #041a2733}
.brand strong{font-size:18px;letter-spacing:-.035em}

.direktrez-panel-card{margin-bottom:18px}.direktrez-panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.direktrez-panel-header>div{min-width:0;flex:1}.direktrez-panel-header p{max-width:740px}.direktrez-panel-frame{height:min(74vh,800px);min-height:520px;background:#f6f9fa;border-top:1px solid #e2ebee;border-bottom:1px solid #e2ebee}.direktrez-panel-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}.direktrez-frame-help{padding:0 18px 16px;margin:12px 0 0}.direktrez-local-list{margin-top:18px}.direktrez-mapping-card{margin-top:16px}.direktrez-mapping-list{padding:4px 18px 14px}.direktrez-mapping-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(260px,2fr) auto auto;align-items:end;gap:12px;padding:14px 0;border-top:1px solid #e7eef0}.direktrez-mapping-form:first-child{border-top:0}.direktrez-mapping-form strong,.direktrez-mapping-form small{display:block}.direktrez-mapping-form small{margin-top:5px;color:#6c8993}.direktrez-mapping-form label{font-size:11px;font-weight:700;color:#59717b}.direktrez-mapping-form input{display:block;width:100%;padding:9px;margin-top:5px;border:1px solid #dbe5e8;border-radius:8px;color:#254254}.direktrez-mapping-form .link-btn{white-space:nowrap;padding-bottom:9px}@media(max-width:900px){.direktrez-mapping-form{grid-template-columns:1fr 1fr}.direktrez-mapping-form>div,.direktrez-mapping-form label{grid-column:1/-1}.direktrez-panel-frame{height:68vh;min-height:460px}}

.direktrez-launch{display:flex;align-items:center;gap:18px;padding:28px}.direktrez-launch-icon{width:54px;height:54px;display:grid;place-items:center;flex:none;border-radius:14px;background:#e8f5f1;color:#147968;font-size:28px}.direktrez-launch>div:nth-child(2){flex:1;min-width:0}.direktrez-launch strong{display:block;font-size:18px;color:#173b4a}.direktrez-launch p{max-width:700px;margin:7px 0 0;color:#5e7b84;line-height:1.5}@media(max-width:700px){.direktrez-launch{align-items:flex-start;flex-wrap:wrap;padding:20px}.direktrez-launch .btn{width:100%;justify-content:center}}


.room-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.room-card{min-height:178px;padding:12px;gap:6px}
.room-number{font-size:18px}
.room-card-type{font-size:12px;color:#254759}
.room-card-facts{display:flex;flex-wrap:wrap;gap:4px}
.room-card-facts span{font-size:10px;color:#55717c;background:#f1f6f6;border-radius:6px;padding:3px 5px}
.room-card-features{display:flex;flex-wrap:wrap;gap:4px}
.room-card-features span{font-size:10px;color:#25735c;background:#eaf5ef;padding:3px 5px;border-radius:5px}
.room-card .row-actions{margin-top:auto;flex-wrap:wrap;gap:5px}
.room-card .row-actions .btn{padding:5px 7px;min-height:27px}
.room-editor-modal{width:min(780px,96vw)}
.room-form-section{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #e6edef}
.room-form-section h3{font-size:14px;color:#234658;margin:0 0 13px}
.room-form-section .help-text{margin:9px 0 0}
.room-form-label{font-size:11px;font-weight:800;color:#597280;margin:0 0 8px}
.room-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 16px}
.room-feature-choice{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid #e0e9eb;border-radius:8px;color:#4b6977;font-size:11px;cursor:pointer}
.room-feature-choice:has(input:checked){background:#eaf5ef;border-color:#80bfa6;color:#225e4a}
.room-feature-choice input{accent-color:#1e705f;margin:0}
.room-form-actions{position:sticky;bottom:-22px;background:#fff;border-top:1px solid #e8eff0;padding-top:16px;padding-bottom:4px}
@media(max-width:640px){.room-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-editor-modal .form-grid{grid-template-columns:1fr}.room-editor-modal .field.wide{grid-column:auto}}


.room-form-actions{bottom:0;z-index:2;padding:14px 0 10px;margin-bottom:-2px}
.room-form:not(:has(select[name="bedType"] option[value="other"]:checked)) .field:has(input[name="bedTypeOther"]){display:none}
.room-form:not(:has(select[name="view"] option[value="other"]:checked)) .field:has(input[name="viewOther"]){display:none}

.room-form:not(:has(select[name="bathroom"] option[value="other"]:checked)) .field:has(input[name="bathroomOther"]){display:none}
.badge.closed{background:#edf0f2;color:#596b75}
.room-mini.closed{background:#f1f3f4}
.room-condition-section{background:#f7faf9;border:1px solid #e1ebea;border-radius:10px;padding:14px;margin-bottom:18px}
.room-condition-section h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:11px}
.room-condition-options{display:flex;gap:7px;flex-wrap:wrap}
.room-condition-option{border:1px solid #d6e2e3;border-radius:7px;background:#fff;color:#42606d;font-size:11px;font-weight:800;padding:8px 11px;cursor:pointer}
.room-condition-option:hover:not(:disabled){border-color:#72b49d;background:#f3faf6}
.room-condition-option.active{border-color:#4b9d80;background:#e8f5ec;color:#236c53}
.room-condition-option[data-value="maintenance"].active{border-color:#d49a79;background:#fff0e8;color:#a65f3a}
.room-condition-option[data-value="closed"].active{border-color:#9caab1;background:#e9edf0;color:#50616a}
.room-condition-option:disabled{opacity:.5;cursor:not-allowed}
.room-condition-warning{font-size:11px;line-height:1.45;color:#965b30;background:#fff3e7;border-radius:7px;padding:8px 10px;margin:10px 0 0}
.cal-booking.unavailable{background:#edf0f2;color:#5a6b73;cursor:default}

.exchange-panel,.exchange-current,.exchange-history{margin-bottom:18px}.exchange-settings{display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(180px,.8fr) auto;gap:14px;align-items:end}.exchange-settings .field,.exchange-manual .field{min-width:0}.exchange-settings select,.exchange-manual input{width:100%;padding:10px;border:1px solid #dbe5e8;border-radius:9px;color:#254254;background:#fff}.exchange-auto{display:flex;align-items:center;gap:9px;padding:9px 0;color:#294e55;min-height:40px}.exchange-auto input{accent-color:#1e705f}.exchange-auto strong,.exchange-auto small{display:block}.exchange-auto strong{font-size:12px}.exchange-auto small{font-size:10px;color:#829aa3;margin-top:3px}.exchange-source-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e5ecee;border-radius:10px;background:#f7fafb;margin:18px 0}.exchange-source-summary>div{padding:16px 18px;border-right:1px solid #e5ecee}.exchange-source-summary>div:last-child{border:0}.exchange-source-summary small,.exchange-source-summary strong,.exchange-rate-cards small,.exchange-rate-cards strong{display:block}.exchange-source-summary small,.exchange-rate-cards small{font-size:11px;color:#88a0aa;margin-bottom:7px}.exchange-source-summary strong{font-size:13px;color:#204258}.exchange-action{display:flex;justify-content:space-between;align-items:center;gap:14px}.exchange-manual{border-top:1px solid #e5ecee;padding-top:16px}.exchange-manual-fields,.exchange-rate-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.exchange-manual .btn{margin-top:14px}.exchange-rate-cards{padding:0 22px 22px}.exchange-rate-cards>div{border:1px solid #dfeae8;background:#f4faf7;border-radius:10px;padding:16px}.exchange-rate-cards strong{font-size:24px;color:#1d6957}.exchange-current .empty{padding:24px}.exchange-history .table td{font-variant-numeric:tabular-nums}@media(max-width:1050px){.exchange-settings{grid-template-columns:1fr 1fr}.exchange-settings .btn{justify-self:start}}@media(max-width:650px){.exchange-settings,.exchange-source-summary,.exchange-manual-fields,.exchange-rate-cards{grid-template-columns:1fr}.exchange-source-summary>div{border-right:0;border-bottom:1px solid #e5ecee}.exchange-source-summary>div:last-child{border-bottom:0}.exchange-action{align-items:flex-start;flex-direction:column}.exchange-rate-cards strong{font-size:20px}}

.license-room-note{margin:-8px 0 18px;padding:10px 13px;border:1px solid #dfeae8;border-radius:8px;background:#f6faf8;color:#416675;font-size:12px}.license-room-note strong{color:#235a4f}.license-room-note.limit-reached{border-color:#efddbd;background:#fff9ed;color:#8a6426}.badge.inactive{background:#fce9e8;color:#ac514d}.inactive-hotel-card{padding:42px 28px;text-align:center;max-width:650px;margin:auto}.inactive-hotel-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#fce9e8;color:#b45b55;font-size:28px;margin:0 auto 14px}.inactive-hotel-card h2{font-size:20px;color:#234457;margin:0 0 8px}.inactive-hotel-card p{font-size:13px;line-height:1.6;color:#6c8791;margin:0 auto 20px;max-width:520px}

.rc-guest-lookup{border:1px solid #dce9e6;background:#f7fbf9;border-radius:9px;padding:12px;margin:0 0 12px}.rc-guest-lookup-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;font-weight:800;color:#244b4b}.rc-guest-lookup-head span{font-size:10px;color:#63828a}.rc-guest-lookup input[type=search]{width:100%;border:1px solid #cddeda;border-radius:7px;padding:10px;margin-top:7px;background:#fff;color:#243f4a}.rc-guest-lookup .help-text{margin:6px 0;color:#779098}.rc-guest-results{display:grid;gap:5px;max-height:190px;overflow:auto}.rc-guest-result{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid #dce9e6;border-radius:7px;padding:8px 10px;cursor:pointer;color:#244351}.rc-guest-result:hover,.rc-guest-result:focus-visible{border-color:#67ad92;background:#f2faf5}.rc-guest-result strong{font-size:12px;min-width:130px}.rc-guest-result small{font-size:10px;color:#728992;flex:1}.rc-guest-result span{font-size:10px;font-weight:800;color:#1e705f}.rc-guest-lookup-status{font-size:11px;color:#647f86;margin:6px 0 0}.rc-guest-find{font-size:10px;display:block;white-space:nowrap}.rc-guest-table td:last-child{min-width:96px}
.rc-guest-table select[data-guest-field="nationality"]{width:100%;min-width:130px;padding:8px;border:1px solid #dce6e9;border-radius:6px;background:#fff;color:#244351;font-size:11px}
.rc-guest-stay-count{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid #d7e8dd;background:#fff;border-radius:8px;color:#245548}.rc-guest-stay-count span,.rc-guest-stay-count small{display:block}.rc-guest-stay-count span{font-size:12px;font-weight:800}.rc-guest-stay-count small{font-size:10px;color:#78928c;margin-top:3px}.rc-guest-stay-count strong{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border-radius:9px;background:#e4f5eb;color:#19634e;font-size:20px;font-variant-numeric:tabular-nums}.detail-grid .guest-visit-detail{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid #d7e8dd;background:#f4faf6;border-radius:9px}.detail-grid .guest-visit-detail dt{margin:0;color:#356d5c}.detail-grid .guest-visit-detail dd{font-size:22px;color:#19634e;font-variant-numeric:tabular-nums}
.rc-kbs-status{display:inline-block;color:#97654a;background:#fff4e9;border:1px solid #f0dfca;border-radius:6px;padding:6px;white-space:nowrap;font-size:10px}.rc-remove-guest{display:block;margin:5px auto 0;color:#a74747!important;font-size:10px;white-space:nowrap}.rc-remove-guest:disabled{color:#93a4a6!important;cursor:not-allowed}.rc-inhouse-occupancy{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;margin:12px 0}.rc-inhouse-occupancy input{width:100%}.rc-left[inert],.rc-pane[inert]{opacity:.58}.kbs-check-list{display:grid;gap:8px;margin:16px 0}.kbs-check-item{display:grid;gap:5px;padding:12px;border:1px solid #dce9e5;border-radius:8px}.kbs-check-item strong{color:#244c54}.kbs-check-item span{font-size:12px}.kbs-error{color:#aa4949}.kbs-ready{color:#1d7153}@media(max-width:700px){.rc-inhouse-occupancy{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rc-inhouse-departure{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid #cbdeda;border-radius:9px;background:#f1f8f5;color:#244c54;font-size:12px}.rc-inhouse-departure strong{font-size:14px}.rc-inhouse-departure .btn{flex:none}@media(max-width:520px){.rc-inhouse-departure{align-items:flex-start;flex-direction:column}}
.rc-bulk-rate{display:grid;gap:5px;max-width:430px;margin:13px 0 15px;padding:12px;border:1px solid #cbdeda;border-radius:9px;background:#f2f8f5}.rc-bulk-rate label{font-size:12px;font-weight:800;color:#254e54}.rc-bulk-rate input{width:100%;min-height:38px;padding:8px 10px;border:1px solid #b8cfca;border-radius:7px;background:#fff;font-size:15px;font-weight:700;color:#234c51}.rc-bulk-rate p{margin:0;color:#5b787e;font-size:11px;line-height:1.4}
.rc-bulk-rate .rc-bulk-error{color:#b42318;font-size:12px;font-weight:700}.rc-bulk-rate .rc-bulk-error:empty{display:none}
.nav button.subnav{margin-left:27px;width:calc(100% - 27px);padding:7px 10px;border-left:1px solid #456072;border-radius:0 7px 7px 0;font-size:11px}.nav button.subnav .icon{font-size:13px;width:15px}.room-type-overview{margin-top:18px}.room-type-overview .card-header{align-items:center}.room-type-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 22px 12px}.room-type-chips span{border:1px solid #dce9e5;background:#f5faf7;border-radius:8px;padding:8px 11px;color:#315b55;font-size:12px}.room-type-chips strong{font-size:15px;color:#1d705b;margin-left:7px}.room-type-overview-total{padding:0 22px 18px;margin:0;color:#6a858d;font-size:11px}.room-type-overview-total strong{color:#254858}.room-types-card .table input[type=number]{width:100px;padding:9px 10px;border:1px solid #dbe5e8;border-radius:8px;color:#244758;background:#fff}.room-types-card .table td{vertical-align:middle}.room-types-card .table td:nth-child(2){font-weight:700;color:#516d77}.room-type-warning{display:block;color:#ac743e!important;margin-top:5px}.room-type-footer{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #edf1f2}.room-type-footer p{margin:0;color:#477067;font-size:13px}.room-type-footer strong{font-size:18px;color:#1d705b;font-variant-numeric:tabular-nums}.room-type-footer.mismatch p,.room-type-footer.mismatch strong{color:#ae6545}.room-types-card .form-error{padding:0 22px 12px;margin:0}@media(max-width:760px){.nav button.subnav{margin-left:0;width:auto;border-left:0}.room-type-footer{align-items:stretch;flex-direction:column}.room-types-card .table{min-width:430px}}
.nav button[data-nav="rooms"]::after{content:"▸";margin-left:auto;color:#9ab3bb}.nav:has(button[data-nav="roomTypes"]) button[data-nav="rooms"]::after{content:"▾"}
.nav button[data-nav="settings"]::after{content:"▸";margin-left:auto;color:#9ab3bb}.nav:has(button[data-nav="rooms"]) button[data-nav="settings"]::after{content:"▾"}.nav button.nested-subnav{margin-left:44px;width:calc(100% - 44px)}@media(max-width:760px){.nav button.nested-subnav{margin-left:0;width:auto}}
.rc-daily-rate-table{overflow-x:auto;border:1px solid #dfe8e9;border-radius:10px;margin:14px 0}.rc-daily-rate-head,.rc-daily-rate-row{display:grid;grid-template-columns:minmax(120px,1.25fr) minmax(120px,1fr) minmax(115px,1fr) minmax(115px,1fr) minmax(125px,1fr);align-items:center;gap:12px;min-width:680px;padding:10px 12px}.rc-daily-rate-head{background:#edf3f3;color:#607d85;font-size:10px;font-weight:800;text-transform:uppercase}.rc-daily-rate-row{border-top:1px solid #e8eff0;color:#2e4d5b;font-size:12px}.rc-daily-rate-row:has([data-rate-enable]:checked){background:#f1faf5}.rc-daily-rate-row strong{font-size:12px}.rc-rate-toggle{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;cursor:pointer}.rc-rate-toggle input{accent-color:#1e705f}.rc-daily-rate-row input[data-rate-amount]{width:100%;padding:8px 9px;border:1px solid #c9dada;border-radius:7px;color:#23495a;background:#fff}.rc-daily-rate-row input[data-rate-amount]:disabled{border-color:#e0e8e9;background:#f5f8f8;color:#6d858e;cursor:not-allowed}.rc-daily-rate-row output{font-weight:700;color:#306b61}.rc-daily-total{display:flex;align-items:center;gap:18px;justify-content:flex-end;flex-wrap:wrap;padding:12px 2px 19px;color:#365a64;font-size:12px}.rc-daily-total strong{font-size:17px;color:#1d594b;font-variant-numeric:tabular-nums}.rc-daily-total strong:last-child{color:#476775}

.forecast-controls{padding:20px 22px;margin-bottom:17px}.forecast-presets,.forecast-view-tabs{display:flex;gap:8px;flex-wrap:wrap}.forecast-presets{margin-bottom:18px}.forecast-range{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.forecast-range>span{font-size:12px;font-weight:800;color:#325665;align-self:center;margin-right:5px}.forecast-range label{display:grid;gap:5px;color:#6d8993;font-size:11px;font-weight:700}.forecast-range input{border:1px solid #dbe5e8;border-radius:8px;background:#fff;color:#254254;padding:9px 10px;min-height:38px}.forecast-range input:focus{outline:none;border-color:#44a795;box-shadow:0 0 0 3px #d9f2ec}.forecast-controls .form-error{margin:9px 0 0;min-height:0}.forecast-controls .form-error:empty{display:none}.forecast-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.forecast-visual,.forecast-table-card{margin-bottom:17px}.forecast-view-tabs{padding:0 22px 12px;border-bottom:1px solid #edf1f2}.forecast-legend{display:flex;gap:17px;flex-wrap:wrap;padding:15px 22px 0;color:#69818d;font-size:11px;font-weight:700}.forecast-legend span{display:flex;align-items:center;gap:6px}.forecast-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.forecast-chart-scroll{overflow-x:auto;padding:14px 22px 22px}.forecast-chart{display:flex;gap:7px;min-width:max-content;border-bottom:1px solid #dfe9e8}.forecast-day{width:62px;text-align:center;flex:none;color:#55727b}.forecast-plot{height:180px;display:flex;align-items:flex-end;justify-content:center;background:repeating-linear-gradient(to top,#eef3f4 0,#eef3f4 1px,transparent 1px,transparent 36px)}.forecast-stack{height:155px;width:32px;display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden}.forecast-stack span{display:block;flex:none}.forecast-pair{height:155px;display:flex;align-items:flex-end;gap:3px}.forecast-pair span{display:block;width:17px;border-radius:4px 4px 0 0}.forecast-single{width:32px;border-radius:4px 4px 0 0}.forecast-day-label{display:block;margin:9px 0 3px;font-size:10px;font-weight:800;white-space:nowrap}.forecast-day small{display:block;font-size:10px;margin-bottom:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.forecast-legend .in-house,.forecast-stack .in-house{background:#348cab}.forecast-legend .reserved,.forecast-stack .reserved{background:#e7a562}.forecast-legend .closed,.forecast-stack .closed{background:#8f9ea6}.forecast-legend .available,.forecast-stack .available{background:#dceca1}.forecast-legend .arrivals,.forecast-pair .arrivals{background:#399f85}.forecast-legend .departures,.forecast-pair .departures{background:#d18d5f}.forecast-legend .occupied,.forecast-single.occupied{background:#328daa}.forecast-legend .revenue,.forecast-single.revenue{background:#806bad}.forecast-table{min-width:950px}.forecast-table td:not(:first-child){font-variant-numeric:tabular-nums}.forecast-table td:last-child{font-weight:800;color:#276a58}.forecast-table-card+.help-text{margin:0 2px 18px}@media(max-width:850px){.forecast-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.forecast-metrics{grid-template-columns:1fr 1fr;gap:9px}.forecast-metrics .metric{padding:14px}.forecast-metrics .metric strong{font-size:21px}.forecast-controls{padding:15px}.forecast-range label{flex:1;min-width:125px}.forecast-range input{width:100%}.forecast-range .btn{width:100%}.forecast-view-tabs{padding:0 15px 12px}.forecast-legend{padding:12px 15px 0;gap:10px}.forecast-chart-scroll{padding:12px 15px 18px}}

.folio-workspace-modal{width:min(1500px,98vw);max-height:96vh}.folio-workspace-modal .modal-body{padding:0}.folio-layout{display:grid;grid-template-columns:minmax(250px,285px) minmax(0,1fr);min-height:580px}.folio-side{background:#f7faf9;border-right:1px solid #dfebea;padding:20px;display:flex;flex-direction:column;gap:15px}.folio-side-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.folio-side-heading strong{color:#1b3c4b;font-size:18px}.folio-side dl{margin:0}.folio-side dl>div{padding:10px 0;border-bottom:1px solid #e4eceb}.folio-side dt{color:#8299a0;font-size:10px;font-weight:750}.folio-side dd{color:#244759;font-size:12px;font-weight:800;margin:4px 0 0}.folio-side-total{margin-top:auto;padding:14px;border:1px solid #cfe5d7;border-radius:10px;background:#eaf7ed}.folio-side-total span{display:block;font-size:11px;color:#5b7e6b}.folio-side-total strong{display:block;font-size:23px;margin-top:4px;color:#205f4d}.folio-main{min-width:0;background:#fff}.folio-card-tabs{display:flex;overflow-x:auto;background:#f3f6f7;border-bottom:1px solid #dfe8e9}.folio-card-tabs button{min-width:130px;padding:15px 20px;border:0;border-bottom:3px solid transparent;background:transparent;color:#708995;font-size:12px;font-weight:800;white-space:nowrap}.folio-card-tabs button.active{background:#fff;color:#1d6d5a;border-color:#1d6d5a}.folio-read-panel{padding:22px}.folio-read-panel h3,.folio-toolbar h3{font-size:15px;margin:0;color:#234654}.folio-snapshot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.folio-snapshot>div,.folio-guest-list>div{border:1px solid #e1eae9;border-radius:9px;padding:13px;background:#f9fcfb}.folio-snapshot span,.folio-guest-list span{display:block;color:#8199a0;font-size:11px}.folio-snapshot strong,.folio-guest-list strong{display:block;color:#24495a;font-size:15px;margin-top:5px}.folio-guest-list{display:grid;gap:10px;margin-top:16px}.folio-ledger-panel{padding:18px 20px 20px}.folio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.folio-toolbar small{display:block;color:#88a0a8;margin-top:5px}.folio-toolbar>div:last-child{display:flex;gap:6px;flex-wrap:wrap}.folio-filters{display:flex;overflow-x:auto;border:1px solid #dce7e9;border-radius:9px 9px 0 0;background:#f0f4f5}.folio-filters button{flex:1;min-width:95px;border:0;border-bottom:3px solid transparent;background:transparent;color:#718a94;padding:10px 13px;white-space:nowrap;font-size:11px;font-weight:800}.folio-filters button.active{background:#fff;color:#1e6c5a;border-bottom-color:#1e6c5a}.folio-search{padding:9px 10px;border:1px solid #dce7e9;border-top:0}.folio-search input{width:min(330px,100%);padding:8px 10px;border:1px solid #dce7e9;border-radius:7px;color:#244657;font-size:11px}.folio-table-wrap{overflow:auto;max-height:350px;border:1px solid #dce7e9;border-top:0}.folio-ledger{width:100%;min-width:1110px;border-collapse:collapse;white-space:nowrap;font-size:11px}.folio-ledger th{position:sticky;top:0;background:#f6f8f8;z-index:1;padding:10px;text-align:left;color:#738d98;font-size:10px;font-weight:800;border-bottom:1px solid #dfe9ea}.folio-ledger td{padding:10px;border-bottom:1px solid #edf2f1;color:#4c6a75}.folio-ledger td strong{color:#24495a}.folio-ledger .folio-amount{text-align:right;font-weight:850;color:#306a59}.folio-ledger .folio-amount.negative{color:#ab5b56}.folio-ledger .folio-payment{background:#f4fbf7}.folio-ledger .folio-refund,.folio-ledger .folio-adjustment{background:#fff8f4}.folio-ledger tfoot td{position:sticky;bottom:0;background:#eaf5ee;color:#245b4c;font-weight:800}.folio-ledger .folio-empty{text-align:center;padding:28px;color:#90a3aa}.folio-ledger [hidden]{display:none}.folio-balance-strip{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:20px;padding:12px 4px;color:#627f88;font-size:11px}.folio-balance-strip strong{font-size:14px;color:#1e614e}.folio-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.folio-action{border:1px solid transparent;border-radius:8px;padding:11px 8px;color:#fff;font-size:11px;font-weight:800;text-align:center}.folio-action.charge,.folio-action.cash{background:#245578}.folio-action.payment,.folio-action.credit{background:#286857}.folio-action.invoice{background:#b7574c}.folio-action.card{background:#536c9b}.folio-action.refund{background:#8a6f5b}.folio-action:hover:not(:disabled){filter:brightness(.92)}.folio-entry{margin-top:15px;border:1px solid #d4e8dc;background:#f7fbf8;border-radius:10px;padding:16px}.folio-entry-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:14px}.folio-entry-head h3{margin:0;font-size:15px;color:#234c3c}.folio-entry-head p{margin:4px 0 0;color:#759086;font-size:11px}.folio-entry .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.folio-entry-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.folio-notice{margin:12px 0 0}.rc-folio-preview .folio-table-wrap{max-height:280px}.rc-folio-preview>.btn{margin-top:13px}#folio-print{display:none}@media(max-width:1100px){.folio-layout{grid-template-columns:1fr}.folio-side{border-right:0;border-bottom:1px solid #dfebea}.folio-side dl{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.folio-side-total{margin-top:0}.folio-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.folio-workspace-modal{width:100%;max-height:96vh}.folio-side{padding:14px}.folio-side dl{grid-template-columns:repeat(2,1fr)}.folio-ledger-panel{padding:13px}.folio-toolbar{align-items:start;flex-direction:column}.folio-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.folio-entry .form-grid,.folio-snapshot{grid-template-columns:1fr}.folio-card-tabs button{min-width:105px;padding:13px 10px}}@media print{body:has(#folio-print)>#app,body:has(#folio-print)>#toast{display:none!important}body:has(#folio-print)>#folio-print{display:block!important;padding:20mm;font:11pt Arial,sans-serif;color:#111}#folio-print h1{font-size:20pt}#folio-print h2{font-size:15pt}#folio-print p{margin:7px 0}#folio-print table{width:100%;border-collapse:collapse;margin-top:20px}#folio-print th,#folio-print td{padding:8px;border-bottom:1px solid #bbb;text-align:left}#folio-print th:last-child,#folio-print td:last-child{text-align:right}#folio-print tfoot{font-weight:bold}}

.folio-workspace-modal .folio-table-wrap{max-height:clamp(180px,33vh,310px)}.folio-actions{position:sticky;bottom:0;background:#fff;padding:9px 0;z-index:3;box-shadow:0 -7px 15px #fffaf0}
.folio-action.checkout{background:#176d8f}
.metric-room-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.metric-room-values strong{margin:0}.metric-room-values>div+div{border-left:1px solid #e4ecee;padding-left:12px}.metric-room-values span{line-height:1.25}
.overview-metrics .metric{padding-top:10px;padding-bottom:10px}
.overview-metrics .metric>strong,.overview-metrics .metric-room-values{margin-top:6px}
.overview-metrics .metric>span{margin-top:3px}
@media(min-width:1151px){.overview-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}}
.overview-guest-primary{display:flex;align-items:baseline;gap:7px;margin-top:6px}.overview-guest-primary strong{margin:0}.overview-guest-primary span{color:#78909a;font-size:12px}.overview-guest-breakdown{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:3px;color:#78909a;font-size:11px}.overview-guest-breakdown b{color:#183649}
@media(max-width:1150px){.overview-guest-metric{grid-column:span 2}}

.day-end-run{margin-bottom:16px;border:1px solid #cce4dd;background:linear-gradient(110deg,#f2faf6,#fff)}.day-end-run .card-body{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px}.day-end-run small{font-size:11px;font-weight:800;color:#528474;text-transform:uppercase;letter-spacing:.06em}.day-end-run h2{font-size:26px;color:#205a4a;margin:4px 0}.day-end-run p{font-size:12px;color:#65817a;max-width:620px;margin:0}.day-end-run-total{text-align:right;white-space:nowrap}.day-end-run-total strong,.day-end-run-total span{display:block}.day-end-run-total strong{font-size:23px;color:#205a4a}.day-end-run-total span{font-size:11px;color:#708b83;margin-top:3px}.day-end-history{margin-top:26px}.day-end-history-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px}.day-end-history-head h2{font-size:20px;color:#244456;margin:0}.day-end-history-head label{font-size:11px;color:#67818b;font-weight:700}.day-end-history-head input{display:block;margin-top:5px;min-width:230px;border:1px solid #d9e5e7;background:#fff;border-radius:8px;padding:9px;color:#24475a}.day-end-report{margin:15px 0}.day-end-report .card-header{gap:12px}.day-end-report .card-header h2{display:flex;align-items:center;gap:8px}.day-end-report .table{min-width:660px}.day-end-report .grid.metrics{padding:16px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}@media(max-width:650px){.day-end-run .card-body,.day-end-history-head{align-items:flex-start;flex-direction:column}.day-end-run-total{text-align:left}.day-end-history-head input{width:100%}}

.day-end-dates{margin:0 0 14px;padding:12px 14px;border:1px solid #dbe8e8;border-radius:10px;background:#f8fbfa}.day-end-dates>strong{display:block;margin-bottom:9px;font-size:12px;color:#3c6871}.day-end-dates>div{display:flex;flex-wrap:wrap;gap:7px}.day-end-dates .btn{white-space:nowrap}
.day-end-history-picker{display:flex;justify-content:flex-end;margin:0 0 12px}.day-end-history-picker label{font-size:11px;color:#67818b;font-weight:700}.day-end-history-picker input{display:block;margin-top:5px;min-width:230px;border:1px solid #d9e5e7;background:#fff;border-radius:8px;padding:9px;color:#24475a}@media(max-width:650px){.day-end-history-picker{justify-content:stretch}.day-end-history-picker label,.day-end-history-picker input{width:100%}}@media print{.day-end-history-picker{display:none!important}}
.folio-price-save{display:flex;justify-content:flex-end;margin:12px 0 16px}.folio-price-save .btn{min-width:110px}.folio-read-panel .rc-daily-rate-row[data-rate-unlocked="true"]{background:#f4faf6}
.rc-daily-rate-row.closed-day{background:#f7f9fa}.rc-rate-closed{font-size:11px;font-weight:700;color:#6f858e}.rc-daily-rate-row.closed-day input[data-rate-amount]{background:#f0f3f4;color:#546b75}
.folio-date-lock{color:#607884;font-size:12px;margin-right:2px}
.day-end-print-title{margin:0 0 10px;color:#55717c;font-size:12px;font-weight:700}
.day-end-check{margin:16px 0}.day-end-check .card-body{padding:15px 20px}.day-end-ready,.day-end-blocked{font-size:13px;font-weight:700;margin:0}.day-end-ready{color:#247158}.day-end-blocked{color:#a05e2a}.day-end-check-list{list-style:none;margin:13px 0 0;padding:0;display:grid;gap:8px;max-height:260px;overflow:auto}.day-end-check-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e9e2d5;border-radius:8px;background:#fffaf1}.day-end-check-list li strong{font-size:12px;min-width:170px}.day-end-check-list li span{font-size:11px;color:#775f45;flex:1}.day-end-check-list .btn{white-space:nowrap}.day-end-history-warning{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-size:12px}.day-end-history-warning .btn{white-space:nowrap}@media(max-width:650px){.day-end-check-list li,.day-end-history-warning{align-items:flex-start;flex-direction:column}.day-end-check-list li strong{min-width:0}}
.day-end-check-list .day-end-step{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#e9bf78;color:#513b1d;font-size:12px}.day-end-failure{margin:12px 0 18px;padding:16px 18px;border:2px solid #cd463a;border-left-width:7px;border-radius:9px;background:#fff3f0;color:#71302b}.day-end-failure h3{margin:0 0 8px;font-size:17px}.day-end-failure p,.day-end-failure li{line-height:1.5}.day-end-failure ol{padding-left:22px}.day-end-failure details{margin:10px 0;overflow-wrap:anywhere}.day-end-failure .form-actions{justify-content:flex-start}.runtime-error-overlay{position:fixed;inset:0;z-index:100001;display:grid;place-items:center;padding:20px;background:#10263ad9}.runtime-error-card{width:min(620px,100%);max-height:90vh;overflow:auto;padding:24px;border-radius:13px;background:#fff;color:#183448;box-shadow:0 20px 60px #09213788}.runtime-error-card h2{margin:0 0 12px;font-size:23px}.runtime-error-card p,.runtime-error-card li{line-height:1.5}.runtime-error-card details{margin:12px 0;overflow-wrap:anywhere}.runtime-error-card .form-actions{justify-content:flex-start}
@media print{body:has(.day-end-history)>#app{display:block!important}body:has(.day-end-history) .shell{display:block!important}body:has(.day-end-history) .sidebar,body:has(.day-end-history) .topbar,body:has(.day-end-history) .content>:not(.day-end-history),body:has(.day-end-history) .day-end-history .btn,body:has(.day-end-history) .day-end-history-head label{display:none!important}body:has(.day-end-history) .main,body:has(.day-end-history) .content{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}body:has(.day-end-history) .day-end-history{display:block!important;margin:0!important;color:#111;font:9pt Arial,sans-serif}body:has(.day-end-history) .day-end-history .card{break-inside:avoid;box-shadow:none;border:1px solid #bbb}body:has(.day-end-history) .day-end-history .table-wrap{overflow:visible!important}body:has(.day-end-history) .day-end-history .table{min-width:0!important;width:100%;font-size:8pt}body:has(.day-end-history) .day-end-history .table th,body:has(.day-end-history) .day-end-history .table td{padding:4px 5px}body:has(.day-end-history) .day-end-history-head{margin-bottom:5px}body:has(.day-end-history) .day-end-history-head h2{font-size:18pt}body:has(.day-end-history) .day-end-print-title{font-size:11pt;margin-bottom:12px}@page{size:A4 landscape;margin:12mm}}
.cashier-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1100px){.cashier-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.cashier-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.day-end-report-tabs{display:flex;gap:6px;overflow-x:auto;margin:16px 0;padding:4px;border:1px solid #dce7e9;border-radius:10px;background:#f2f6f6}.day-end-report-tabs button{flex:0 0 auto;border:0;border-bottom:3px solid transparent;border-radius:7px;padding:10px 13px;background:transparent;color:#607c88;font-size:11px;font-weight:800;white-space:nowrap}.day-end-report-tabs button.active{background:#fff;color:#1e6c5a;border-bottom-color:#1e6c5a;box-shadow:0 1px 4px #d7e4e3}.day-end-tab-hidden{display:none}.day-end-tab-hint{margin:12px 0}
.day-end-cash-summary{border-top:1px solid #dce7e9;padding:18px 18px 12px}.day-end-cash-summary h3{margin:0 0 10px;font-size:14px;color:#244456}.day-end-cash-summary .grid.metrics{padding:0 0 16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.day-end-cash-summary .table-wrap{margin-bottom:8px}.day-end-cash-summary .table th:nth-child(n+4),.day-end-cash-summary .table td:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}.day-end-cash-summary .help-text{margin:7px 0 0}
@media print{body:has(.day-end-history) .day-end-report-tabs{display:none!important}body:has(.day-end-history) .day-end-tab-hidden{display:block!important}}
.folio-ledger .folio-correct-btn{white-space:nowrap;font-weight:800}.folio-ledger .folio-corrected-note{display:block;margin-top:4px;color:#237157;font-size:10px;font-weight:700}.folio-ledger .folio-correction-row td{padding:0;background:#f3faf6}.folio-table-wrap:has(#folio-correction-form){max-height:520px}.folio-inline-correction{padding:15px 18px;border-left:3px solid #238067;white-space:normal}.folio-inline-correction-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.folio-inline-correction-head strong,.folio-inline-correction-head small{display:block}.folio-inline-correction-head strong{font-size:13px;color:#234d41}.folio-inline-correction-head small{margin-top:4px;color:#698478}.folio-inline-correction-fields{display:grid;grid-template-columns:minmax(150px,220px) minmax(230px,1fr) auto;align-items:end;gap:12px;margin-top:12px}.folio-inline-correction-fields .btn{height:38px}.folio-inline-correction .help-text{margin:9px 0 0}.folio-inline-correction .form-error{margin:6px 0 0}@media(max-width:700px){.folio-inline-correction-fields{grid-template-columns:1fr}.folio-inline-correction-fields .btn{width:100%}}
.folio-edit-hint{margin:0;padding:7px 10px;border:1px solid #dce7e9;border-bottom:0;background:#f7fbf9;color:#527969;font-size:11px;font-weight:700}.folio-ledger .folio-edit-amount{border:0;border-bottom:1px dashed currentColor;padding:0;background:transparent;color:#146a57;font:inherit;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer}.folio-ledger .folio-edit-amount:hover,.folio-ledger .folio-edit-amount:focus-visible{color:#0c5946;border-bottom-style:solid;outline:2px solid #bce2d4;outline-offset:2px}.folio-ledger .folio-amount.negative .folio-edit-amount{color:#ab5b56}.folio-workspace-modal .folio-table-wrap:has(#folio-correction-form){max-height:clamp(320px,52vh,520px)}
.folio-ledger-panel:has(#folio-correction-form) .folio-actions{position:static;box-shadow:none}
.folio-ledger{min-width:1240px}.folio-ledger .folio-revenue-name{min-width:130px}.folio-ledger .folio-revenue-name small{display:block;margin-top:3px;color:#748b91;font-size:10px}.folio-ledger .folio-revenue-name strong{color:#235f51}
.folio-ledger .folio-category-warning{display:block;margin-top:3px;color:#a15311;font-size:10px;font-weight:700;white-space:normal}
.folio-inline-correction{max-width:min(760px,calc(100vw - 56px))}

/* Keep the agency selector and guest pane at their current size; compact the other reservation choices. */
.reservation-card-modal .rc-left-grid{gap:9px}
.reservation-card-modal .rc-left-grid>.field{min-width:0}
.reservation-card-modal .rc-left-grid>.field:nth-child(2){grid-column:auto}
.reservation-card-modal .rc-left-grid>.field:not(:first-child){gap:4px}
.reservation-card-modal .rc-left-grid>.field:not(:first-child)>:is(input,select,textarea){min-height:34px;padding:7px 9px;font-size:11px}
.reservation-card-modal .rc-left-grid>.field:first-child>:is(input,select,textarea){min-height:40px}
.reservation-card-modal .rc-age-grid input{min-height:34px;padding:7px 9px;font-size:11px}
.reservation-card-modal .rc-inline-stat{padding:6px 9px}
.reservation-card-modal .rc-room-list{max-height:132px;gap:5px;padding:6px}
.reservation-card-modal .rc-room-choice{display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:2px 5px;min-height:42px;padding:4px 6px}
.reservation-card-modal .rc-room-choice input{grid-column:1;margin:0}
.reservation-card-modal .rc-room-choice strong{grid-column:2}
.reservation-card-modal .rc-room-choice small{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reservation-card-modal .rc-left-grid>.agency-check.field.wide{display:inline-flex;flex-direction:row;align-items:center;justify-self:start;gap:7px;min-height:27px}
.reservation-card-modal .rc-left-grid>.agency-check.field.wide input{width:15px;height:15px;margin:0}
@media (min-width:761px) and (max-width:1100px){
  .reservation-card-modal .rc-left-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
  .reservation-card-modal .rc-left-grid>.field:not(.wide):not(:first-child){grid-column:span 1}
  .reservation-card-modal .rc-left-grid>.field:first-child{grid-column:span 2}
  .reservation-card-modal .rc-left-grid>.field.wide,.reservation-card-modal .rc-inline-stat{grid-column:1/-1}
  .reservation-card-modal .rc-room-list{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
}

/* Reservation card density: preserve the agency control and guest table. */
.reservation-card-modal .rc-left{padding:12px}
.reservation-card-modal .rc-left-grid{gap:6px}
.reservation-card-modal .rc-left-grid>.field:not(:first-child){gap:2px}
.reservation-card-modal .rc-left-grid>.field:not(:first-child)>:is(input,select,textarea),
.reservation-card-modal .rc-age-grid input{min-height:29px;padding:4px 6px;font-size:11px}
.reservation-card-modal .rc-left-grid>.field:first-child>:is(input,select,textarea){min-height:40px;padding:10px 11px;font-size:12px}
.reservation-card-modal .rc-left .help-text{margin:3px 0;font-size:10px}
.reservation-card-modal .rc-room-list{max-height:205px;gap:4px;padding:4px}
.reservation-card-modal .rc-room-choice{min-height:36px;padding:3px 5px}
.reservation-card-modal .rc-room-choice:has(input:disabled){cursor:not-allowed}
.reservation-card-modal .rc-room-list:not(:has(.rc-room-choice:not([hidden]))){display:none}
.reservation-card-modal .rc-overbook-warning{display:block;margin-top:5px;color:#a3422b;font-weight:700}
.reservation-card-modal .rc-overbook-warning[hidden]{display:none!important}
.reservation-card-modal .rc-inline-stat{padding:4px 7px}
.reservation-card-modal .rc-contact-section,.reservation-card-modal .rc-notes-section{padding:9px 0}
.reservation-card-modal .rc-contact-section h3,.reservation-card-modal .rc-notes-section h3{margin-bottom:7px}
.reservation-card-modal .rc-contact-section .form-grid,.reservation-card-modal .rc-notes-section .form-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:7px}
.reservation-card-modal .rc-contact-section .field,.reservation-card-modal .rc-notes-section .field{min-width:0;gap:3px}
.reservation-card-modal .rc-contact-section .field :is(input,select){min-height:30px;padding:5px 7px;font-size:11px}
.reservation-card-modal .rc-notes-section textarea{height:44px;min-height:44px;padding:5px 7px;font-size:11px}
.reservation-card-modal .rc-contact-section .help-text{margin:5px 0 0}
@media (min-width:1101px){
  .reservation-card-modal .rc-left-grid{grid-template-columns:repeat(auto-fit,minmax(126px,1fr))}
  .reservation-card-modal .rc-left-grid>.field:first-child{grid-column:span 2}
}
@media (min-width:761px) and (max-width:1100px){
  .reservation-card-modal .rc-left-grid{grid-template-columns:repeat(auto-fit,minmax(126px,1fr))}
  .reservation-card-modal .rc-left-grid>.field:first-child{grid-column:span 3;width:min(300px,100%)}
  .reservation-card-modal .rc-room-list{grid-template-columns:repeat(auto-fit,minmax(126px,1fr))}
}
@media (min-width:761px){
  .reservation-card-modal .rc-left-grid>.field:not(.wide):not(:first-child)>:is(input,select,textarea){max-width:124px}
}
@media (max-width:760px){
  .reservation-card-modal .rc-left{padding:13px}
}
@media (max-width:560px){
  .reservation-card-modal .rc-contact-section .form-grid,.reservation-card-modal .rc-notes-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.toast.prominent{top:24px;bottom:auto;left:50%;right:auto;width:max-content;max-width:min(560px,calc(100vw - 32px));padding:15px 20px;border:1px solid #a9d4bc;border-radius:12px;background:#17664d;box-shadow:0 14px 38px #102a3a45;text-align:center;font-size:14px;line-height:1.4;z-index:80;transform:translate(-50%,-12px)}
.toast.prominent.show{transform:translate(-50%,0)}
.toast.prominent.error{background:#9c3634;border-color:#e8aaa2;color:#fff}
.rc-save-feedback{flex:1;min-width:0;max-width:580px;padding:9px 11px;border-radius:8px;font-size:12px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.rc-save-feedback.success{background:#e6f5eb;border:1px solid #93cdaa;color:#176448}.rc-save-feedback.error{background:#fff0ed;border:1px solid #e7aaa2;color:#a33b36}.rc-save-feedback[hidden]{display:none}
@media(max-width:650px){.toast.prominent{top:12px;font-size:13px}}
.reservation-card-modal .rc-agency-picker{position:relative;z-index:4}
.reservation-card-modal .rc-agency-picker select[hidden],.reservation-card-modal .rc-agency-results[hidden]{display:none}
.reservation-card-modal .rc-agency-results{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:250px;overflow-y:auto;background:#fff;border:1px solid #cfdfe2;border-radius:10px;box-shadow:0 12px 28px #173b4a24;z-index:10;padding:4px}
.reservation-card-modal .rc-agency-results button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:7px;background:#fff;color:#244456;text-align:left;cursor:pointer}
.reservation-card-modal .rc-agency-results button:hover,.reservation-card-modal .rc-agency-results button:focus{background:#eaf5f1;outline:none}
.reservation-card-modal .rc-agency-results button strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reservation-card-modal .rc-agency-results button small{font-size:10px;color:#67818a;white-space:nowrap}
.reservation-card-modal .rc-agency-results-note{margin:0;padding:9px 10px;color:#67818a;font-size:11px}
.room-grid,.room-mini-grid{grid-template-columns:repeat(auto-fill,77px);gap:6px}
.room-card,.room-mini{box-sizing:border-box;width:77px;height:40px;min-height:40px;padding:3px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:9px;text-align:center;cursor:pointer;font:inherit}
.room-card .room-number,.room-mini strong{font-size:12px;line-height:1.1;font-weight:800}
.room-card-status,.room-mini span{display:block;max-width:100%;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.1}
.room-card.ready{background:#f3faf4}.room-card.occupied{background:#f1f6fc}.room-card.cleaning{background:#fff9f0}.room-card.maintenance{background:#fdf4f0}.room-card.closed{background:#f1f3f4}.room-card.blocked{background:#fff5ec}
.room-card:hover,.room-card:focus-visible,.room-mini:focus-visible{border-color:#70b7a2;outline:2px solid #b8dfd0;outline-offset:1px}

/* Keep the reservation card's three main sections easy to distinguish. */
.reservation-card-modal .rc-tabs,.folio-workspace-modal .folio-card-tabs{gap:4px;padding:6px;background:#fff0ed;border-bottom-color:#e9b4ad}
.reservation-card-modal .rc-tabs button,.folio-workspace-modal .folio-card-tabs button{border:1px solid #e4aaa2;border-radius:8px;background:#fbe0dc;color:#8f2524}
.reservation-card-modal .rc-tabs button:hover,.folio-workspace-modal .folio-card-tabs button:hover{background:#f7cbc5;color:#78201f}
.reservation-card-modal .rc-tabs button.active,.folio-workspace-modal .folio-card-tabs button.active{border-color:#a92f2c;background:#a92f2c;color:#fff;box-shadow:0 2px 6px #7a242429}
.reservation-card-modal .rc-tabs button:focus-visible,.folio-workspace-modal .folio-card-tabs button:focus-visible{outline:2px solid #842421;outline-offset:2px}

.forecast-plot{position:relative}
.forecast-overcapacity{position:absolute;top:2px;left:50%;z-index:1;transform:translateX(-50%);min-width:28px;padding:2px 5px;border-radius:5px;background:#aa302e;color:#fff;font-size:11px;font-weight:800;line-height:16px;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px #4620202b}

.reservation-card-modal .rc-actionbar .pill{border:1px solid #bdd7f3;background:#eaf4ff;color:#175a9c}
.rc-discount-details h3{margin:0 0 8px;font-size:15px;color:#1d5746}.rc-discount-details .table-wrap{max-height:240px;overflow:auto}.rc-discount-details .table{width:100%}.rc-discount-details .table th,.rc-discount-details .table td{white-space:nowrap}.rc-discount-rules{color:#607b74;font-size:12px}.rc-discount-rules p{margin:5px 0}.rc-discount-applied-row{background:#f0f8f2}.rc-discount-applied-badge{display:inline-block;padding:4px 7px;border-radius:6px;background:#dcefe2;color:#176247;font-size:11px;font-weight:700;white-space:nowrap}#rc-pane-agencyDiscounts .table-wrap{overflow-x:auto}#rc-pane-agencyDiscounts .table{min-width:650px}
.bulk-agency-discount .card-body{display:grid;gap:16px}.bulk-agency-discount .card-body>h2{margin:0}.bulk-agency-discount .form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bulk-agency-discount .field.wide{grid-column:1/-1}.bulk-agency-discount .field textarea{min-height:66px}.bulk-agency-discount-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bulk-agency-discount-head h3{margin:0;font-size:15px}.bulk-agency-discount-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bulk-agency-discount-item{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dbe6e3;border-radius:9px;background:#fff;cursor:pointer}.bulk-agency-discount-item:has(input:checked){border-color:#1e705f;background:#eff8f3}.bulk-agency-discount-item input{accent-color:#1e705f;width:17px;height:17px}.bulk-agency-discount-item strong,.bulk-agency-discount-item small{display:block}.bulk-agency-discount-item small{font-size:11px;color:#68818a;margin-top:2px}.bulk-agency-discount .form-actions{justify-content:flex-end}@media(max-width:760px){.bulk-agency-discount .form-grid,.bulk-agency-discount-list{grid-template-columns:1fr}.bulk-agency-discount-head{align-items:flex-start;flex-direction:column}}
.reservation-card-modal #reservation-form[data-readonly] :is(input,select,textarea):disabled{background:#f2f5f6;color:#58717e;opacity:1;cursor:not-allowed}
.reservation-card-modal .rc-readonly-notice{margin:10px 14px 0}
:is(.reservation-card-modal,.folio-workspace-modal) .rc-daily-rate-head{min-height:24px;padding:3px 10px;gap:8px;line-height:1.1}
:is(.reservation-card-modal,.folio-workspace-modal) .rc-daily-rate-row{min-height:24px;padding:1px 10px;gap:8px;line-height:1.1}
:is(.reservation-card-modal,.folio-workspace-modal) .rc-daily-rate-row input[data-rate-amount]{height:20px;min-height:20px;padding:0 5px;font-size:11px}
:is(.reservation-card-modal,.folio-workspace-modal) .rc-rate-toggle{gap:5px;line-height:1.2}
:is(.reservation-card-modal,.folio-workspace-modal) .rc-rate-toggle input{width:12px;height:12px;margin:0}

.folio-ledger td:has(> .folio-inline-correction){min-width:310px;padding:6px}
.folio-ledger .folio-inline-correction{width:300px;max-width:none;padding:10px;border:1px solid #c5e2d4;border-radius:8px;background:#f3faf6;text-align:left;white-space:normal}
.folio-ledger .folio-inline-correction>strong{display:block;margin-bottom:8px;font-size:11px;color:#234d41}
.folio-ledger .folio-inline-correction-fields{display:grid;grid-template-columns:1fr;gap:7px;margin:0}
.folio-ledger .folio-inline-correction-fields .field{min-width:0}
.folio-ledger .folio-inline-correction-fields input{width:100%}
.folio-ledger .folio-inline-correction-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}
.folio-ledger .folio-edit-row td{background:#f0faf5;vertical-align:top;padding:5px;min-width:95px;white-space:normal}.folio-ledger .folio-edit-row td:nth-child(3),.folio-ledger .folio-edit-row td:nth-child(5),.folio-ledger .folio-edit-row td:last-child{min-width:165px}.folio-ledger .folio-edit-row input,.folio-ledger .folio-edit-row select{width:100%;min-width:78px;height:30px;padding:3px 5px;border:1px solid #bfd8d1;border-radius:5px;background:#fff;color:#173e45;font-size:11px}.folio-ledger .folio-edit-row input[name="reason"]{margin-top:5px}.folio-ledger .folio-edit-row .folio-immutable-number{color:#607782;font-weight:700;white-space:nowrap}.folio-ledger .folio-edit-row .folio-row-actions{display:flex;gap:5px;margin-top:5px}.folio-ledger .folio-edit-row .folio-row-actions .btn{padding:5px 8px;font-size:11px}.folio-ledger .folio-edit-row .form-error{display:block;max-width:190px;margin:4px 0 0;white-space:normal}
.folio-ledger .folio-edit-row td:last-child{position:sticky;right:0;z-index:2;min-width:190px;box-shadow:-7px 0 14px #d9ebe4}
.folio-ledger[data-folio-layout-ready]{min-width:0;table-layout:fixed}.folio-ledger[data-folio-layout-ready] th,.folio-ledger[data-folio-layout-ready] td{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.folio-ledger[data-folio-layout-ready] th[data-folio-col]{padding-right:28px;user-select:none}.folio-ledger[data-folio-layout-ready] .folio-column-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folio-column-grip{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:grab;color:#7597a0;font-size:15px;line-height:20px;touch-action:none}.folio-column-grip:active{cursor:grabbing}.folio-column-resizer{position:absolute;right:0;top:2px;bottom:2px;width:10px;cursor:col-resize;border-right:2px solid transparent;touch-action:none}.folio-column-resizer:hover,.folio-column-resizer:focus-visible{border-right-color:#29856a;background:#d8eee5;outline:none}.folio-ledger th.folio-column-drop-target{box-shadow:inset 4px 0 #29856a;background:#e5f5ec}.folio-ledger th.folio-column-dragging{opacity:.55}.folio-resizing,.folio-resizing *{cursor:col-resize!important;user-select:none!important}.folio-ledger[data-folio-layout-ready] .folio-revenue-name{min-width:0}.folio-ledger[data-folio-layout-ready] .folio-edit-row td{min-width:0;position:static;box-shadow:none}.folio-ledger[data-folio-layout-ready] .folio-edit-row input,.folio-ledger[data-folio-layout-ready] .folio-edit-row select{min-width:0;box-sizing:border-box}.folio-ledger[data-folio-layout-ready] .folio-edit-row .folio-row-actions{flex-wrap:wrap}.folio-ledger[data-folio-layout-ready] tfoot td{white-space:normal}.folio-toolbar [data-folio-layout-status]{color:#ab6546;font-size:10px;font-weight:800}.folio-toolbar [data-folio-layout-status]:empty{display:none}

.folio-entry .payment-preview,#collection-form .payment-preview{grid-column:1/-1}

.folio-transfer-panel{margin:10px 0 14px;padding:14px;border:1px solid #c8dedb;border-radius:10px;background:#f3f9f7}
.folio-transfer-panel h4{margin:0 0 4px;color:#204c48;font-size:13px}
.folio-transfer-panel p{margin:0;color:#617d7b;font-size:11px;line-height:1.5}
.folio-transfer-controls{display:flex;align-items:end;flex-wrap:wrap;gap:9px;margin-top:12px}
.folio-transfer-controls .field{min-width:250px;flex:1 1 250px}
.folio-transfer-controls .select{width:100%}
.folio-transfer-count{font-size:11px;font-weight:700;color:#335d57;padding:9px 4px}
.folio-transfer-panel .form-error{margin:8px 0 0}
.folio-reversal-panel{margin:10px 0 14px;padding:14px;border:1px solid #e2cfc1;border-radius:10px;background:#fff9f3;color:#4c5f65}
.folio-reversal-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.folio-reversal-head h4{margin:0 0 4px;color:#704c35;font-size:13px}
.folio-reversal-head p{margin:0 0 12px;font-size:11px;line-height:1.5}
.folio-reversal-all,.folio-reversal-row{display:flex;align-items:center;gap:10px;font-size:11px}
.folio-reversal-all{font-weight:800;margin-bottom:8px}
.folio-reversal-list{max-height:220px;overflow:auto;border:1px solid #eaded2;border-radius:7px;background:white}
.folio-reversal-row{display:grid;grid-template-columns:18px 100px minmax(150px,1fr) minmax(110px,1fr) 100px;padding:8px 10px;border-bottom:1px solid #f0e8df}
.folio-reversal-row:last-child{border-bottom:0}
.folio-reversal-row small{color:#71848a}.folio-reversal-row b{text-align:right;color:#704c35}
.folio-reversal-bottom{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:12px}
.folio-reversal-bottom label{display:grid;gap:5px;flex:1 1 260px;font-size:11px;font-weight:750}
.folio-reversal-bottom input{width:100%;padding:8px;border:1px solid #d8d6d2;border-radius:6px}
.folio-reversal-bottom span{font-size:11px}.folio-reversal-bottom strong{color:#a14735}
.folio-reversal-panel .form-error{margin:8px 0 0}
@media(max-width:650px){.folio-reversal-row{grid-template-columns:18px 85px minmax(120px,1fr) 85px}.folio-reversal-row small{display:none}}
.folio-transfer-cell{width:44px;min-width:44px;text-align:center}
.folio-transfer-cell input{width:16px;height:16px;accent-color:#1e705f;cursor:pointer}

/* Check-in stays at the far right of the reservation tabs. */
.reservation-card-modal .rc-tabs .rc-checkin-button,.folio-workspace-modal .folio-card-tabs .rc-checkin-button{margin-left:auto;flex:0 0 auto;min-width:112px;border:1px solid #1769ad;border-radius:8px;background:#1769ad;color:#fff;font-size:12px;font-weight:800;cursor:pointer}
.reservation-card-modal .rc-tabs .rc-checkin-button:hover,.folio-workspace-modal .folio-card-tabs .rc-checkin-button:hover{border-color:#12568f;background:#12568f;color:#fff}
.reservation-card-modal .rc-tabs .rc-checkin-button:focus-visible,.folio-workspace-modal .folio-card-tabs .rc-checkin-button:focus-visible{outline:2px solid #12568f;outline-offset:2px}
.revenue-definition-tabs{display:flex;gap:6px;margin:0 0 14px;border-bottom:1px solid #dce6e9}.revenue-definition-tabs span{padding:9px 18px;border-bottom:3px solid #225d68;color:#174e5a;font-size:13px;font-weight:800}.revenue-definition-layout{align-items:start}.revenue-definition-layout .card{min-width:0}.revenue-definition-layout .table th:last-child,.revenue-definition-layout .table td:last-child{white-space:nowrap}.revenue-report-card{margin-top:16px}.revenue-report-filters{display:flex;flex-wrap:wrap;gap:12px;padding:14px 18px;border-bottom:1px solid #e5ebee}.revenue-report-filters label{display:flex;align-items:center;gap:8px;color:#526e79;font-size:12px;font-weight:700}.revenue-report-filters input{padding:7px 9px;border:1px solid #dbe5e8;border-radius:8px;color:#254254}.revenue-report-tables h3{font-size:14px;color:#254254;margin:18px 18px 8px}.revenue-report-tables .table-wrap{overflow-x:auto}.revenue-report-tables .table tfoot{background:#eef5f4}.revenue-report-tables .table tfoot th{text-align:left;padding:10px 14px}
.management-reports{margin-top:18px}.management-reports-head{padding:16px 18px;background:#f5f9f8;border:1px solid #dbe8e6;border-radius:12px 12px 0 0}.management-reports-head h2{margin:0}.management-reports-head p{margin:4px 0 0;color:#647e85}.management-reports>.revenue-report-filters{border:1px solid #dbe8e6;border-top:0}.management-reports .revenue-report-filters select{padding:7px 9px;border:1px solid #dbe5e8;border-radius:8px;background:#fff;color:#254254}.management-report-tabs{padding:12px 18px;background:#fff;border:1px solid #dbe8e6;border-top:0}.management-report-panel{border-radius:0 0 12px 12px}.management-report-panel .table-wrap{overflow-x:auto}.management-report-panel .table{min-width:700px}.management-report-panel .table tfoot{background:#eef5f4}.management-report-panel .table th,.management-report-panel .table td{padding:9px 12px}.management-report-panel>.notice,.management-report-panel>.help-text{margin:12px 18px}.aging-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;padding:14px 18px}.aging-buckets>div{display:grid;gap:4px;padding:10px;border:1px solid #dbe8e6;border-radius:8px;background:#f8fbfb}.aging-buckets span{font-size:12px;color:#56727c}.aging-buckets strong{color:#183d47}
.aging-unlinked-panel{margin-top:12px;border-radius:12px}.aging-unlinked-panel .table{min-width:520px}
.aging-summary-table{min-width:1200px!important;white-space:nowrap}.aging-summary-table .aging-amount{text-align:right;font-variant-numeric:tabular-nums}.aging-summary-table .aging-total{background:#f0f8f5}.aging-summary-table th:first-child,.aging-summary-table td:first-child{position:sticky;left:0;z-index:2;min-width:108px;background:#fff}.aging-summary-table th:nth-child(2),.aging-summary-table td:nth-child(2){position:sticky;left:108px;z-index:2;min-width:210px;background:#fff;box-shadow:2px 0 4px #1b414019}.aging-summary-table thead th:first-child,.aging-summary-table thead th:nth-child(2){z-index:3;background:#f5f9f8}.aging-summary-table tfoot th:first-child,.aging-summary-table tfoot th:nth-child(2){background:#eef5f4}
.aging-summary-table th:first-child,.aging-summary-table td:first-child{box-sizing:border-box;width:132px;min-width:132px;max-width:132px}.aging-summary-table th:nth-child(2),.aging-summary-table td:nth-child(2){left:132px}
.management-nationality-table{min-width:520px!important}.management-nationality-table th:nth-child(n+2),.management-nationality-table td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.management-nationality-table tfoot{font-weight:700}
.management-income-comparison{min-width:1900px!important;white-space:nowrap}.management-income-comparison .management-income-amount{text-align:right;font-variant-numeric:tabular-nums}.management-income-comparison .management-income-gross{font-weight:800;background:#f1f8f5}.management-income-comparison .management-income-period{text-align:center;background:#e8f3f0;border-left:2px solid #c8ded6}.management-income-comparison .management-income-period strong,.management-income-comparison .management-income-period small{display:block}.management-income-comparison .management-income-period small{margin-top:3px;font-size:11px;font-weight:500;color:#57777c}.management-income-comparison .management-income-department{position:sticky;left:0;z-index:2;box-sizing:border-box;min-width:195px;width:195px;max-width:195px;background:#fff;box-shadow:2px 0 4px #1b414019}.management-income-comparison thead .management-income-department{z-index:3;background:#f5f9f8}.management-income-comparison tfoot .management-income-department{background:#eef5f4}.management-income-detail{margin-top:20px;border-top:1px solid #dbe8e6;padding-top:14px}.management-income-detail h3,.management-income-detail p{margin:0 18px 6px}.management-income-detail p{color:#647e85;font-size:12px}.management-income-detail .table-wrap{margin-top:12px}
@page managementIncomeLandscape{size:A4 landscape;margin:10mm}@media print{#report-print:has(.management-income-comparison){page:managementIncomeLandscape}#report-print .management-income-comparison{font-size:6pt!important}#report-print .management-income-comparison .management-income-department{position:static!important;min-width:0!important;width:auto!important;max-width:none!important;box-shadow:none!important}#report-print .management-income-comparison .management-income-period small{font-size:6pt}}

.rc-agency-input-row{display:flex;align-items:stretch;gap:6px}
.reservation-card-modal .rc-agency-input-row input{min-width:0;flex:1}
.reservation-card-modal .rc-agency-add{flex:0 0 38px;border:1px solid #1769ad;border-radius:8px;background:#eaf4ff;color:#1769ad;font-size:22px;font-weight:700;line-height:1;cursor:pointer}
.reservation-card-modal .rc-agency-add:hover,.reservation-card-modal .rc-agency-add:focus-visible{background:#1769ad;color:#fff;outline:2px solid #9dc8ed;outline-offset:1px}
.reservation-card-modal .rc-agency-actions{position:relative;flex:0 0 38px}
.reservation-card-modal .rc-agency-more{width:38px;height:100%;min-height:36px;border:1px solid #cbdde3;border-radius:8px;background:#fff;color:#175a77;font-size:24px;font-weight:800;line-height:1;cursor:pointer}
.reservation-card-modal .rc-agency-more:hover,.reservation-card-modal .rc-agency-more:focus-visible{background:#eaf4ff;border-color:#1769ad;outline:2px solid #9dc8ed;outline-offset:1px}
.reservation-card-modal .rc-agency-menu[hidden]{display:none}
.reservation-card-modal .rc-agency-menu{position:absolute;top:calc(100% + 5px);right:0;min-width:216px;padding:5px;background:#fff;border:1px solid #cfdfe2;border-radius:9px;box-shadow:0 12px 28px #173b4a24;z-index:11}
.reservation-card-modal .rc-agency-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:#fff;color:#244456;font-size:12px;font-weight:700;text-align:left;white-space:nowrap}
.reservation-card-modal .rc-agency-menu button:hover,.reservation-card-modal .rc-agency-menu button:focus-visible{background:#eaf5f1;outline:none}
.rc-agency-drawer-backdrop{position:fixed;inset:0;z-index:45;background:#0c243779;display:flex;justify-content:flex-end}
.rc-agency-drawer{width:min(510px,100vw);height:100%;background:#fff;box-shadow:-16px 0 55px #0b26394d;display:flex;flex-direction:column;overflow:hidden}
.rc-agency-drawer-head{padding:21px 23px 17px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #e5ebee}
.rc-agency-drawer-head small{color:#61808c;font-size:11px;font-weight:800}.rc-agency-drawer-head h2{margin:5px 0 0;color:#173c52;font-size:18px;line-height:1.3}
.rc-agency-drawer form{display:flex;flex-direction:column;min-height:0;flex:1}.rc-agency-drawer-body{min-height:0;overflow-y:auto;padding:18px 23px}.rc-agency-drawer-body .notice{margin-bottom:18px}
.rc-agency-drawer-body .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rc-agency-drawer-body input:disabled,.rc-agency-drawer-body textarea:disabled{opacity:1;background:#f4f7f8;color:#264858}
.rc-agency-drawer-actions{display:flex;justify-content:flex-end;gap:8px;padding:15px 23px;border-top:1px solid #e5ebee;background:#fff}
@media(max-width:560px){.rc-agency-drawer-body .form-grid{grid-template-columns:1fr}.rc-agency-drawer-body .field.wide{grid-column:auto}}
.revenue-room-vat{margin-top:16px;max-width:690px}.revenue-room-vat .help-text{margin:0 0 14px}.revenue-room-vat .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-vat-custom-wrap][hidden]{display:none!important}
@media(max-width:650px){.revenue-room-vat .form-grid{grid-template-columns:1fr}}
@media print{#folio-print .invoice-tax-warning{padding:8px;border:1px solid #b7554a;color:#9a3025;font-weight:700}#folio-print h3{margin:18px 0 0;font-size:12pt}}
.invoice-draft-modal{width:min(1250px,98vw);max-height:96vh}
.invoice-draft-modal .modal-body{padding:18px 22px}
.invoice-draft-modal .help-text{margin:0 0 10px}
.invoice-draft-meta{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0;color:#5c7780;font-size:12px}
.invoice-draft-meta strong{color:#244b55}
.invoice-draft-scroll{border:1px solid #dfe9eb;border-radius:10px;max-height:45vh}
.invoice-draft-table{min-width:940px}
.invoice-draft-table th,.invoice-draft-table td{padding:8px 10px}
.invoice-draft-table input{width:100%;min-width:80px;padding:7px 8px;border:1px solid #d5e2e4;border-radius:7px;background:#fff;color:#244b55;font-size:12px}
.invoice-draft-table input[readonly]{background:#f0f5f4;color:#486b67;cursor:default}
.invoice-draft-table td:nth-child(2){min-width:230px}
.invoice-draft-table td:nth-child(3),.invoice-draft-table td:nth-child(4){width:130px}
.invoice-draft-table td:nth-child(5),.invoice-draft-table td:nth-child(6){white-space:nowrap}
.invoice-draft-table .invoice-remove{color:#b2544a;white-space:nowrap}
.invoice-draft-table td:last-child{min-width:150px}
.invoice-draft-table .invoice-split{display:block;margin-bottom:4px;color:#1769ad;white-space:nowrap}
.invoice-draft-empty{text-align:center}
.invoice-draft-add{margin:12px 0}
.invoice-draft-excluded{padding:12px;background:#f7f9f9;border-radius:9px}
.invoice-draft-excluded h3{margin:0 0 8px;font-size:12px}
.invoice-draft-excluded span{display:inline-flex;align-items:center;gap:7px;margin:4px 10px 4px 0;font-size:11px}
.invoice-draft-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}
.invoice-draft-summary div{padding:12px;border:1px solid #dbe9e2;background:#f4faf6;border-radius:9px}
.invoice-draft-summary small{display:block;color:#6a8790}
.invoice-draft-summary strong{display:block;color:#1c5d4e;font-size:18px;margin-top:5px}
.invoice-lodging-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:9px}
.invoice-lodging-summary div{background:#eef5ff;border-color:#d9e7fb}
.invoice-lodging-summary strong{color:#23538a}
.invoice-draft-groups{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;color:#496c72;font-size:11px}
.invoice-draft-groups span{padding:6px 8px;border:1px solid #e0e9e8;border-radius:6px}
.invoice-stale{padding:11px;border:1px solid #efcca2;background:#fff8ed;color:#965e20;border-radius:8px;font-size:12px}
.invoice-vat-warning .btn{margin:7px 0 0 10px;vertical-align:middle}
.invoice-ready{margin:8px 0 0;color:#1c5d4e;font-size:12px;font-weight:700}
.invoice-draft-actions{flex-wrap:wrap;position:sticky;bottom:-18px;background:#fff;padding:12px 0;z-index:2}
@media(max-width:650px){.invoice-draft-modal .modal-body{padding:14px}.invoice-draft-summary{gap:5px}.invoice-draft-summary div{padding:8px}.invoice-draft-summary strong{font-size:14px}.invoice-draft-actions{bottom:-14px}}
.nav button[data-nav="invoices"]::after{content:"▸";margin-left:auto;color:#9ab3bb}
.nav:has(button[data-nav="frontDeskInvoices"]) button[data-nav="invoices"]::after{content:"▾"}
.nav button[data-nav="incomingInvoices"]{margin-left:44px;width:calc(100% - 44px)}
.incoming-table th,.incoming-table td{padding-top:7px;padding-bottom:7px;vertical-align:top}
.incoming-table input[type="checkbox"]{width:16px;height:16px;accent-color:#176a5e;cursor:pointer}
.incoming-edit-table{min-width:1950px}.incoming-edit-table input,.incoming-edit-table select{width:100%;min-width:120px;border:1px solid #d4e0e4;border-radius:6px;padding:7px 8px;background:#fff;color:#193c4a;font-size:12px}.incoming-edit-table td:nth-child(2){min-width:220px}.incoming-edit-table td:nth-child(3){min-width:145px}.incoming-edit-table td:nth-child(4){min-width:220px}.incoming-edit-table td:nth-child(5){min-width:210px}.incoming-reconciliation{margin:12px 0;padding:14px;border-radius:9px}.incoming-reconciliation h3{margin:0 0 8px;font-size:14px}.incoming-reconciliation p{margin:6px 0}.incoming-reconciliation .accounting-fields{margin-top:12px}.purchase-line-table [data-purchase-account-code]{min-width:115px}.purchase-line-table [data-purchase-account-name]{min-width:190px}
.incoming-subtext{display:block;color:#6d8995;font-size:11px;margin-top:3px}
@media(max-width:760px){.nav button[data-nav="incomingInvoices"]{margin-left:0;width:auto}}
.reservation-data-table tbody tr.invoice-issued-row,.reservation-data-table tbody tr.invoice-issued-row:nth-child(even){background:#edf8f0}
.reservation-data-table tbody tr.invoice-missing-row,.reservation-data-table tbody tr.invoice-missing-row:nth-child(even){background:#fff0ee}
.reservation-data-table tbody tr.invoice-issued-row:hover{background:#e3f4e8}
.reservation-data-table tbody tr.invoice-missing-row:hover{background:#fde7e4}
.invoice-issued-row td:first-child{box-shadow:inset 3px 0 #64b985}
.invoice-missing-row td:first-child{box-shadow:inset 3px 0 #df8d83}
.invoice-row-label{display:block;margin-top:3px;font-size:10px;font-weight:800;color:#347956}
.invoice-missing-row .invoice-row-label{color:#a45e55}
.invoice-status-legend{margin:8px 0 12px;color:#59727b;font-size:12px}
.invoice-overview-card{margin-top:18px}
.invoice-overview-card h2{margin-top:0}
.invoice-list-table td small{display:block;color:#77909a;margin-top:3px}
.invoice-issued-table{min-width:680px}
.table.invoice-finalized-table tbody td{padding-top:3px;padding-bottom:3px}
.invoice-finalized-table td small{display:inline;margin:0 0 0 7px}
.invoice-finalized-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}
.invoice-line-date{display:block;margin-top:3px;font-size:10px;color:#748994}.invoice-document-table th:nth-child(n+3),.invoice-document-table td:nth-child(n+3){text-align:right;white-space:nowrap}
.invoice-document-brand .invoice-brand-icon{background-color:#fff;background-image:url("brand/direktrez-logo-approved.png");background-repeat:no-repeat;background-size:174px 58px;background-position:-3px -6px;border:1px solid #e1e9ec;font-size:0}
.invoice-settings-card{max-width:960px}.invoice-settings-card h3,.invoice-identity-editor h3{margin:22px 0 12px;color:#183b4f;font-size:15px}.invoice-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.invoice-settings-grid .field{display:flex;flex-direction:column;gap:5px}.invoice-settings-grid .field span{font-size:12px;font-weight:700;color:#3c5967}.invoice-settings-grid input,.invoice-settings-grid select{width:100%;min-height:38px;padding:8px 10px;border:1px solid #d3e1e5;border-radius:8px;background:white;color:#16374a;font-size:13px}.invoice-identity-editor{padding:13px 16px;margin:15px 0;background:#f7fafb;border:1px solid #dbe8ea;border-radius:11px}.invoice-identity-editor h3{margin:0 0 12px}.invoice-identity-editor .help-text{margin:12px 0 0}.invoice-document{position:relative;isolation:isolate;overflow:hidden;background:#fff;border:1px solid #d1d9dc;box-shadow:0 6px 26px #163e4714;margin:16px auto;padding:25px 28px 28px;max-width:1020px;color:#1d2d36;font-family:Arial,sans-serif;font-size:12px}.invoice-document-watermark{position:absolute;z-index:-1;top:44%;left:50%;transform:translate(-50%,-50%) rotate(-30deg);font-size:42px;font-weight:800;letter-spacing:.12em;color:#b5c3ca33;white-space:nowrap}.invoice-document-head{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:2px solid #1d4d5c;padding-bottom:20px}.invoice-document-brand{display:flex;align-items:center;gap:10px;color:#1d4d5c}.invoice-brand-icon{display:grid;place-items:center;background:#d3f47d;color:#183e30;width:44px;height:44px;border-radius:10px;font-size:26px;font-weight:900}.invoice-document-brand strong{display:block;font-size:21px}.invoice-document-brand small{display:block;font-size:9px;letter-spacing:.15em}.invoice-document-title{text-align:right}.invoice-document-title strong{display:block;font-size:22px;color:#213b4b}.invoice-document-title span{font-size:10px;color:#9b4b4b;font-weight:800}.invoice-document-parties{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:18px 0 20px}.invoice-document-party,.invoice-document-meta{border:1px solid #7d8d95;padding:10px 11px;min-height:140px;overflow-wrap:anywhere}.invoice-document-party h3{margin:0 0 10px;font-size:11px;text-transform:uppercase;color:#617985}.invoice-document-party>strong{display:block;margin-bottom:8px;font-size:13px}.invoice-document-party>div{line-height:1.5}.invoice-document-party>div span{color:#657982}.invoice-document-meta>div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid #e7ecee}.invoice-document-meta>div:last-child{border:0}.invoice-document-meta span{color:#657982}.invoice-document-meta strong{text-align:right}.invoice-document-table-wrap{overflow-x:auto}.invoice-document-table{width:100%;border-collapse:collapse;min-width:680px}.invoice-document-table th{border-top:2px solid #5e737d;border-bottom:2px solid #5e737d;background:#f4f7f8;text-align:left;font-size:10px;padding:8px 6px}.invoice-document-table td{border-bottom:1px solid #cfd9dd;padding:9px 6px;vertical-align:top}.invoice-document-table th:nth-child(n+4),.invoice-document-table td:nth-child(n+4){text-align:right;white-space:nowrap}.invoice-document-bottom{display:grid;grid-template-columns:1fr minmax(270px,38%);gap:24px;margin-top:28px}.invoice-document-note{border:1px solid #a6b5ba;padding:12px;line-height:1.5;color:#657982;align-self:end;min-height:75px}.invoice-document-totals{border:1px solid #647b83}.invoice-document-totals>div{display:flex;justify-content:space-between;gap:20px;padding:8px 10px;border-bottom:1px solid #cbd5d8}.invoice-document-totals>div:last-child{border:0}.invoice-document-totals .invoice-document-payable{background:#e7f4f1;color:#194d43;font-size:14px}.invoice-document-foot{border:1px solid #a6b5ba;margin-top:18px;height:48px;padding:10px;color:#748994}@media(max-width:760px){.invoice-settings-grid,.invoice-document-parties,.invoice-document-bottom{grid-template-columns:1fr}.invoice-document{padding:15px}.invoice-document-watermark{font-size:25px}}
@media print{body:has(.invoice-document) #app,body:has(.invoice-document) #toast,body:has(.invoice-document) .modal-header,body:has(.invoice-document) .invoice-outside-note,body:has(.invoice-document) .invoice-draft-actions{display:none!important}body:has(.invoice-document) .modal-backdrop{position:static!important;display:block!important;background:white!important;padding:0!important}body:has(.invoice-document) .modal{display:block!important;position:static!important;width:auto!important;max-width:none!important;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important}body:has(.invoice-document) .modal-body{padding:0!important;overflow:visible!important}body:has(.invoice-document) .invoice-document{border:0!important;box-shadow:none!important;margin:0!important;max-width:none!important;padding:0!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{size:A4 portrait;margin:13mm}}
.report-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}#report-print{display:none}
@page reportPortrait{size:A4 portrait;margin:12mm}
@media print{body:has(#report-print)>:not(#report-print){display:none!important}body:has(#report-print)>#report-print{display:block!important;page:reportPortrait;color:#111;background:#fff;font:9pt Arial,sans-serif}#report-print>header{margin-bottom:14px;border-bottom:1px solid #999;padding-bottom:9px}#report-print>header h1{font-size:16pt;margin:0 0 4px}#report-print>header h2{font-size:12pt;margin:0 0 4px}#report-print>header p{margin:0;color:#555}#report-print .card{box-shadow:none;border:1px solid #bbb;break-inside:auto;margin:9px 0}#report-print .card-header{break-after:avoid}#report-print .day-end-tab-hidden{display:block!important}#report-print .table-wrap{overflow:visible!important;max-height:none!important}#report-print .table{min-width:0!important;width:100%;table-layout:fixed;font-size:7pt}#report-print .table thead{display:table-header-group}#report-print .table tr{break-inside:avoid}#report-print .table th,#report-print .table td{padding:3px;white-space:normal;overflow-wrap:anywhere}#report-print .grid.metrics{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}#report-print .forecast-visual{overflow:visible!important}#report-print .report-actions{display:none!important}}
.overview-fx{margin:-6px 0 17px}
.overview-fx-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}
.overview-fx-heading h2{margin:0;color:#244456;font-size:13px}
.overview-fx-heading>span{color:#78909a;font-size:11px;text-align:right}
.overview-fx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.overview-fx-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 16px;border:1px solid #dfeae8;border-radius:11px;background:#fff;box-shadow:0 3px 15px #153a4b05}
.overview-fx-card>div strong,.overview-fx-card>div small{display:block}
.overview-fx-card>div strong{font-size:14px;color:#1d6957}
.overview-fx-card>div small{margin-top:2px;font-size:10px;color:#8299a2;white-space:nowrap}
.overview-fx-value{font-size:20px;font-weight:800;color:#193b4d;font-variant-numeric:tabular-nums;white-space:nowrap}
.overview-fx-value small{font-size:11px;color:#78909a}
@media(max-width:650px){.overview-fx-heading{align-items:flex-start;flex-direction:column;gap:3px}.overview-fx-heading>span{text-align:left}.overview-fx-grid{display:flex;overflow-x:auto;padding-bottom:3px;scroll-snap-type:x proximity}.overview-fx-card{flex:0 0 190px;scroll-snap-align:start}.overview-fx-value{font-size:17px}}
.workspace-controls{display:inline-flex;align-items:center;gap:3px;margin-left:7px;padding:3px;border:1px solid #dce6e8;border-radius:9px;background:#f6f9f9}
.workspace-controls button{display:grid;place-items:center;width:30px;height:29px;border:0;border-radius:6px;background:transparent;color:#536e79;font-size:18px;line-height:1}
.workspace-controls button:hover{background:#e5efef;color:#183d4b}
.workspace-controls button[data-workspace-close-active]:hover,.workspace-controls button[data-close]:hover{background:#fbe8e6;color:#b44742}
.workspace-modal-controls{margin-left:auto;flex:none}
.workspace-modal-controls .close{width:30px;height:29px;font-size:20px}
.workspace-maximized .sidebar{display:none}
.workspace-maximized .content{max-width:none}
.workspace-dialog-maximized{padding:0}
.workspace-dialog-maximized .modal{width:100%;height:100%;max-height:none;border-radius:0}
.workspace-dock{position:fixed;right:18px;bottom:18px;z-index:25;width:min(330px,calc(100vw - 28px));max-height:min(44vh,420px);overflow:hidden;display:flex;flex-direction:column;padding:10px;border:1px solid #c9dce0;border-radius:14px;background:#fff;box-shadow:0 15px 45px #13394938}
.workspace-dock-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 8px;color:#284b5a;font-size:11px;font-weight:800;cursor:grab;touch-action:none;user-select:none}
.workspace-dock-heading.is-dragging{cursor:grabbing}
.workspace-dock-heading:focus-visible{outline:2px solid #217e69;outline-offset:2px;border-radius:5px}
.workspace-dock-heading .workspace-dock-count{min-width:19px;text-align:center;padding:3px 5px;border-radius:6px;background:#eaf4ef;color:#216b59}
.workspace-dock-items{display:flex;flex-direction:column;gap:5px;overflow:auto}
.workspace-dock-item{display:flex;align-items:stretch;min-height:41px;border:1px solid #e2ebed;border-radius:8px;background:#f8fbfb}
.workspace-dock-item>button:first-child{flex:1;min-width:0;padding:6px 9px;border:0;background:transparent;text-align:left;color:#214554}
.workspace-dock-item>button:first-child span,.workspace-dock-item>button:first-child small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-dock-item>button:first-child span{font-size:11px;font-weight:800}
.workspace-dock-item>button:first-child small{margin-top:2px;font-size:9px;color:#829aa3}
.workspace-dock-item>button:first-child:hover{background:#edf7f2}
.workspace-dock-close{width:34px;border:0;border-left:1px solid #e2ebed;background:transparent;color:#738b94;font-size:19px}
.workspace-dock-close:hover{background:#fbe9e7;color:#b44742}
.workspace-empty{padding-top:22px;color:#667e87;font-size:13px}
body:has(.workspace-dock) .content{padding-bottom:calc(min(44vh,420px) + 56px)}
.daily-accounting-modal{width:min(1100px,100%)}
.daily-accounting-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.daily-accounting-comparison>section{min-width:0}
.daily-accounting-comparison h3{margin:0 0 10px;font-size:14px;color:#234a51}
.daily-accounting-comparison .table{font-size:11px}
.daily-accounting-fields th{width:135px;text-align:left}
@media(max-width:760px){.daily-accounting-comparison{grid-template-columns:1fr}}
@media(max-width:760px){.workspace-controls{margin-left:0}.workspace-dock{right:10px;bottom:10px;width:min(330px,calc(100vw - 20px))}}
@media print{.workspace-controls,.workspace-dock{display:none!important}}
.bulk-page-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 15px}
.bulk-reservation-modal{width:min(1060px,96vw)}
.bulk-selection-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 10px}
.bulk-selection-tools span{margin-left:auto;color:#55717d;font-size:12px;font-weight:700}
.bulk-room-list{border:1px solid #dce7e9;border-radius:10px;max-height:min(52vh,480px);overflow:auto}
.bulk-room-row{display:grid;grid-template-columns:20px minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid #e8eff0;cursor:pointer}
.bulk-room-row:last-child{border-bottom:0}.bulk-room-row:hover{background:#f6faf9}.bulk-room-row input{width:17px;height:17px;accent-color:#196d60}
.bulk-room-row strong,.bulk-room-row small{display:block}.bulk-room-row strong{color:#173f50}.bulk-room-row small{color:#69828b;font-size:11px;margin-top:3px}
.bulk-room-title{display:flex;gap:10px;align-items:baseline;color:#173f50;font-size:13px}.bulk-room-title strong{min-width:32px}.bulk-room-title b{overflow-wrap:anywhere}
.bulk-room-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px;margin-top:5px;color:#516e79;font-size:11px}.bulk-room-meta span{min-width:0;overflow-wrap:anywhere}.bulk-room-meta em{font-style:normal;color:#7b929a}
.bulk-room-state{font-size:12px;font-weight:700;color:#176d4f;text-align:right}.bulk-room-invalid{background:#fff9f7}.bulk-room-invalid .bulk-room-state{color:#ae4b3f}
.bulk-result{margin:14px 0;padding:12px 14px;border:1px solid #cddfe5;border-radius:10px;background:#f3f9fb;color:#214859;font-size:12px}.bulk-result ul{margin:7px 0 0;padding-left:18px}.bulk-result li{margin:3px 0}
@media(max-width:750px){.bulk-room-row{grid-template-columns:20px 1fr}.bulk-room-state{grid-column:2;text-align:left}.bulk-selection-tools span{width:100%;margin-left:0}}
@media(max-width:450px){.bulk-room-meta{grid-template-columns:1fr}}

/* Reservation grid: selectable Excel-style frozen columns. */
.reservation-grid-toolbar{flex-wrap:wrap}
.reservation-data-table thead{position:sticky;top:0;z-index:5}
.grid-freeze-toggle{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 9px;border:1px solid #d6e5e1;border-radius:7px;background:#f4faf7;color:#245d52;font-size:11px;font-weight:800;cursor:pointer}
.grid-freeze-toggle input,.grid-freeze-heading input{accent-color:#23765d;margin:0;cursor:pointer}
.grid-freeze-hint{margin:0;padding:6px 13px;background:#f5faf8;border-bottom:1px solid #e1e9e6;color:#52736b;font-size:11px}
.grid-freeze-heading{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:default}
.reservation-header-controls{display:flex;align-items:center;gap:3px;min-width:0;max-width:100%}
.reservation-header-controls .grid-freeze-heading{min-width:0;overflow:hidden;text-overflow:ellipsis}
.reservation-header-controls .grid-freeze-heading span{overflow:hidden;text-overflow:ellipsis}
.reservation-sort-button{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:22px;padding:0;border:0;border-radius:4px;background:transparent;color:#537982;font:inherit;font-size:14px;font-weight:800;line-height:1;cursor:pointer}
.reservation-sort-button:hover,.reservation-sort-button:focus-visible{background:#d7e9e3;color:#155b48;outline:2px solid transparent}
.reservation-sort-button.active{background:#d9efe5;color:#176449}
.grid-freeze-heading input{display:none}
.reservation-grid.freeze-picker-active .grid-freeze-heading input{display:block}
.reservation-data-table .grid-frozen{position:sticky;left:var(--grid-freeze-left);z-index:2;background:#fff}
.reservation-data-table thead .grid-frozen{z-index:4;background:#edf2f4}
.reservation-data-table .reservation-grid-filter-row .grid-frozen{background:#f8fafb}
.reservation-data-table tbody tr:nth-child(even) .grid-frozen{background:#f9fbfc}
.reservation-data-table tbody tr:hover .grid-frozen{background:#edf6f3}
.reservation-data-table tbody tr.invoice-issued-row .grid-frozen{background:#edf8f0}
.reservation-data-table tbody tr.invoice-missing-row .grid-frozen{background:#fff0ee}
.reservation-data-table .grid-frozen-edge{box-shadow:3px 0 5px -3px #71939e}
.grid-folio-summary-hint{margin:0;padding:6px 13px;border-bottom:1px solid #e7edf0;background:#fafcfc;color:#637d87;font-size:10px;line-height:1.4}
.reservation-data-table td.grid-money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.reservation-data-table th:nth-child(11),.reservation-data-table th:nth-child(12),.reservation-data-table th:nth-child(13){min-width:128px;text-align:right}
.reservation-data-table .reservation-grid-filter-row th:nth-child(12) input,.reservation-data-table .reservation-grid-filter-row th:nth-child(13) input,.reservation-data-table .reservation-grid-filter-row th:nth-child(14) input{text-align:right}
.grid-open-account{display:block;margin-top:3px;color:#a34835;font-size:10px;font-weight:800;white-space:normal}
.folio-open-account{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:10px 12px;border:1px solid #efcfbd;border-radius:9px;background:#fff6ef;color:#763e2a;font-size:11px;line-height:1.4}
.folio-open-account strong{font-size:12px}.folio-open-account .btn{margin-top:2px}
/* The invoice dialog lives inside #app; print that wrapper while hiding its normal shell. */
@media print{body:has(.invoice-document) #app{display:block!important}body:has(.invoice-document) #app>.shell{display:none!important}}
/* Present the invoice as a portrait page in the dialog. */
@media screen{.invoice-draft-modal .invoice-document{box-sizing:border-box;display:flex;flex-direction:column;width:min(794px,100%);min-height:1123px}.invoice-draft-modal .invoice-document-bottom{margin-top:auto}}
/* Print the same portrait document shown in the invoice dialog. */
@page invoiceDocumentPage{size:A4 portrait;margin:0}
@media print{body:has(.invoice-document) .invoice-document{page:invoiceDocumentPage;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;min-height:297mm!important;zoom:1!important;margin:0!important;padding:25px 28px 28px!important;border:1px solid #d1d9dc!important;box-shadow:0 6px 26px #163e4714!important;overflow:hidden!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}body:has(.invoice-document) .invoice-document-parties{grid-template-columns:repeat(3,minmax(0,1fr))!important}body:has(.invoice-document) .invoice-document-bottom{grid-template-columns:minmax(0,1fr) minmax(270px,38%)!important;margin-top:auto!important}body:has(.invoice-document) .invoice-document-watermark{font-size:42px!important}body:has(.invoice-document) .invoice-document-table-wrap{overflow:visible!important}}
@media print{html:has(.invoice-document),body:has(.invoice-document),body:has(.invoice-document) #app{background:#fff!important}}
.invoice-document-brand .invoice-brand-icon{position:relative;overflow:hidden;flex:none;background-image:none}.invoice-document-brand .invoice-brand-icon img{position:absolute;left:-3px;top:-6px;width:174px;height:58px;max-width:none;display:block}
/* Match the approved DirektRez wordmark colors in DirektOtel branding. */
.brand-name{white-space:nowrap}
.brand-name .wordmark-direkt{color:#011f43}
.brand-name .wordmark-otel{color:#02856a}
.sidebar .brand{gap:8px;padding:7px 8px;background:#fff;border-radius:11px;min-height:58px}
.sidebar .brand small{color:#496273}
.invoice-document-brand{gap:8px;padding:7px 8px;background:#fff;border:1px solid #e1e9ec;border-radius:11px}
.invoice-document-brand .invoice-brand-icon{border:0;box-shadow:none}
.sidebar{overflow-y:auto;overflow-x:hidden}
.nav-chevron{margin-left:auto;color:#9ab3bb;font-size:16px;line-height:1}
.accounting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.accounting-grid .card-body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:180px}
.accounting-grid .card-body h2,.accounting-grid .card-body p{margin:0}
.accounting-grid .card-body .btn{margin-top:auto}
.accounting-empty{min-height:180px;display:flex;align-items:center;color:#637d87}
.chart-card{overflow:hidden}
.chart-code-filter{margin-top:-8px}
.chart-code-filter input{min-width:190px}
.chart-range-error{align-self:center;color:#a3312a;font-size:12px;font-weight:700}
.detailed-chart-card{margin-top:16px}
.chart-detail-count{color:#315d67;font-size:12px;font-weight:700}
.chart-head{display:flex;align-items:end;justify-content:space-between;gap:16px}
.accounting-period-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border:1px solid #dbe8e8;border-radius:10px;background:#f3f9f8;color:#244c53}
.accounting-period-banner span{color:#66818a;font-size:12px}
.accounting-period-banner .btn{margin-left:auto}
.accounting-date-filter,.accounting-period-picker{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:14px;border:1px solid #e1e9ea;border-radius:10px;background:#fff}
.accounting-period-picker{margin:0;align-items:center}
.accounting-date-filter label,.accounting-period-picker label{display:grid;gap:5px;color:#456471;font-size:12px;font-weight:700}
.accounting-date-filter input,.accounting-period-picker select{min-width:160px;max-width:100%;height:36px;border:1px solid #d6e2e5;border-radius:8px;padding:6px 9px;background:#fff;color:#183b4a}
.accounting-date-year{align-self:center;border-radius:7px;background:#e5f4f0;padding:8px 12px;color:#1e5b51;font-weight:700}
.accounting-period-picker .help-text{margin:5px 0 0}
.trial-filter-card{margin-bottom:14px}
.trial-filter-card .card-body{padding-block:10px 14px}
.trial-filter-card .accounting-date-filter{margin:0;padding:0;border:0}
.trial-options{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px}
.trial-options label{display:inline-flex;align-items:center;gap:7px;color:#365767;font-size:12px;font-weight:700;cursor:pointer}
.trial-options input{width:16px;height:16px;accent-color:#197b70}
.trial-scroll{max-height:min(70vh,780px);overflow:auto}
.trial-table{min-width:1510px;border-collapse:collapse}
.trial-table th,.trial-table td{padding:5px 9px;height:29px;white-space:nowrap;font-size:11px}
.trial-table thead th{position:sticky;top:0;z-index:2;background:#eaf0f2;border-bottom:1px solid #bfccd0}
.trial-table tbody tr:nth-child(even){background:#f8fbfb}
.trial-table tbody tr:hover{background:#eef8f6}
.trial-table th:nth-child(n+4),.trial-table td:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}
.trial-table th:first-child,.trial-table td:first-child{min-width:115px}
.trial-table .trial-account-name{min-width:275px;max-width:400px;overflow:hidden;text-overflow:ellipsis}
.trial-table .trial-account-link{font-size:11px;font-weight:800}
.trial-table tfoot th{background:#edf5f4;border-top:1px solid #c9d9d8}
.trial-table .trial-currency-total th{background:#f8fbfa;color:#325962}
.chart-head h2,.chart-head p{margin:0}
.chart-head p{margin-top:4px;color:#637d87}
.chart-search{display:grid;gap:5px;min-width:235px;color:#476472;font-size:11px;font-weight:700}
.chart-search input{width:100%;padding:9px 11px;border:1px solid #cfdee2;border-radius:8px;color:#173a4a;background:#fff}
.chart-search input:focus{outline:2px solid #81c5b7;outline-offset:1px}
.chart-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 18px;background:#f5f8f9;border-block:1px solid #e3eaed;color:#5a7580;font-size:11px}
.chart-summary span:first-child{font-weight:800;color:#215464}
.chart-table-scroll{overflow:auto;max-height:min(68vh,750px)}
.chart-table{min-width:1370px;border-collapse:collapse}
.chart-table th,.chart-table td{padding:6px 10px;font-size:11px;white-space:nowrap;height:31px}
.chart-table th{position:sticky;top:0;z-index:2;background:#eaf0f2;border-bottom:1px solid #bccbd0;text-align:left}
.chart-table td:nth-child(n+4){color:#82959c;text-align:right}
.chart-table .chart-code{min-width:110px;white-space:nowrap}
.chart-table .chart-name{min-width:330px}
.chart-level-class{background:#e8f3f3}
.chart-level-group{background:#f4f8f9}
.chart-level-class .chart-code,.chart-level-class .chart-name{font-weight:800;color:#154958}
.chart-level-group .chart-code{padding-left:22px}
.chart-level-account .chart-code{padding-left:38px}
.chart-level-subaccount .chart-code{padding-left:56px}
.chart-level-subaccount{background:#fbfdfd}
.chart-toggle,.chart-toggle-spacer{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:5px;vertical-align:middle}
.chart-toggle{border:0;border-radius:5px;background:transparent;color:#1d6871;font-size:17px}
.chart-toggle:hover,.chart-toggle:focus-visible{background:#d2e9e8;outline:none}
.chart-row[data-chart-account]{cursor:context-menu}
.chart-row-menu{margin-left:10px;padding:0 6px;border:1px solid transparent;border-radius:5px;background:transparent;color:#3b6972;font-size:19px;line-height:19px;vertical-align:middle;cursor:pointer}
.chart-row-menu:hover,.chart-row-menu:focus-visible{border-color:#adcbd0;background:#e8f3f3;outline:none}
.chart-context-menu{position:fixed;z-index:10000;min-width:205px;padding:5px;border:1px solid #c9d9dd;border-radius:9px;background:#fff;box-shadow:0 10px 28px #0c354036}
.chart-context-title{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;color:#526d76;font-size:11px;font-weight:700;border-bottom:1px solid #e4ecee}
.chart-context-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;text-align:left;color:#123e4d;font-size:12px;font-weight:700;cursor:pointer}
.chart-context-menu button:hover,.chart-context-menu button:focus-visible{background:#e8f3f3;outline:none}
.chart-context-menu button:disabled{color:#91a2a8;cursor:not-allowed}
.chart-movements-modal{width:min(1120px,calc(100vw - 32px))}
.chart-movements-modal .modal-body{padding:18px 22px}
.chart-movement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:15px}
.chart-movement-summary>div{border:1px solid #e2ebed;border-radius:9px;background:#f7faf9;padding:11px 13px}
.chart-movement-summary span{display:block;color:#78929b;font-size:11px}
.chart-movement-summary strong{display:block;margin-top:4px;color:#193e4d;font-size:15px}
.chart-movement-scroll{max-height:60vh;overflow:auto;border:1px solid #e7eef0;border-radius:9px}
.chart-movement-table{min-width:850px}
.chart-movement-table .chart-movement-description{min-width:210px;max-width:390px;white-space:normal;overflow-wrap:anywhere}
.chart-movement-table td:nth-child(n+6),.chart-movement-table th:nth-child(n+6){text-align:right}
.chart-voucher-preview-backdrop{z-index:31;background:#0c243780}
.chart-voucher-preview-modal{width:min(1050px,calc(100vw - 32px))}
.chart-voucher-preview-modal .modal-header{align-items:center}
.chart-voucher-preview-modal .modal-body{padding:18px 22px}
.chart-voucher-preview-description{margin:0 0 14px;color:#365a68;font-size:13px}
.chart-voucher-preview-scroll{max-height:60vh;overflow:auto;border:1px solid #e7eef0;border-radius:9px}
.chart-voucher-preview-scroll table{min-width:850px}
.chart-voucher-preview-scroll th:nth-child(n+6),.chart-voucher-preview-scroll td:nth-child(n+6){text-align:right}
.chart-voucher-preview-total{background:#f1f7f5;font-weight:800}
@media(max-width:650px){.chart-voucher-preview-modal .modal-header{align-items:flex-start;flex-direction:column}.chart-voucher-preview-modal .modal-header .btn{align-self:flex-end}}
@media(max-width:700px){.chart-movement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chart-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:12px}
.chart-foot p{margin:0}
.chart-foot a{color:#17636b;font-size:11px;font-weight:700;white-space:nowrap}
.current-accounts-card,.purchase-editor,.purchase-detail{margin-bottom:16px}
.voucher-editor,.voucher-list{margin-bottom:16px}
.voucher-list{margin-bottom:110px}
.voucher-line-table{min-width:1250px}
.voucher-line-table th,.voucher-line-table td{padding:6px 7px;vertical-align:middle}
.voucher-line-table input,.voucher-line-table select{width:100%;min-width:80px;border:1px solid #d4e0e4;border-radius:6px;padding:7px 8px;background:#fff;color:#193c4a;font-size:12px}
.voucher-line-table td:first-child{min-width:260px}
.voucher-line-table td:nth-child(3){min-width:180px}
.voucher-line-table td:nth-child(4),.voucher-line-table td:nth-child(5){min-width:110px}
.purchase-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.purchase-editor .card-header{align-items:center}
.purchase-editor .card-header p{margin:4px 0 0;color:#617984;font-size:12px}
.purchase-invoice-list{margin-bottom:110px}
.purchase-number-link{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.accounting-entry-form{display:grid;gap:14px}
.accounting-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.instrument-info-heading{margin:18px 0 10px;font-size:14px;color:#183b4a;border-top:1px solid #d6e2e5;padding-top:14px}
.instrument-table tbody tr.instrument-held td,.instrument-table tbody tr.instrument-held:hover td{background:#fff1f0}
.instrument-table tbody tr.instrument-transferred td,.instrument-table tbody tr.instrument-transferred:hover td{background:#edf9f1}
.instrument-voucher-edit{margin-left:8px;font-weight:800;white-space:nowrap}
.instrument-delete-link{margin-left:8px;color:#b42318;font-weight:800;white-space:nowrap}
.calendar .cal-cell:not(.cal-head){min-height:42px;padding:5px 8px}
.calendar .cal-booking{padding:4px 5px;line-height:16px}
.agency-editor .agency-main-fields .form-grid,.agency-editor .agency-section .form-grid{row-gap:7px}
.agency-editor .field{gap:3px}
.agency-editor .field input,.agency-editor .field select{min-height:31px;padding:5px 8px;font-size:11px}
.agency-editor .field textarea{min-height:54px;padding:6px 8px;font-size:11px}
.agency-editor .agency-tabs button{padding:8px 10px 7px}
.instrument-due-alert{margin-bottom:18px;border:1px solid #f0c5c1}
.instrument-due-alert .card-header{background:#fff1f0}
.instrument-due-alert .card-header h2{color:#a52d2d}
.instrument-due-alert tbody td,.instrument-due-alert tbody tr:hover td{background:#fff7f6;color:#742827}
.accounting-fields label,.accounting-note{display:grid;gap:5px;color:#456471;font-size:12px;font-weight:700}
.accounting-fields label.wide{grid-column:span 2}
.accounting-fields input,.accounting-fields select,.accounting-note textarea{width:100%;min-width:0;border:1px solid #d6e2e5;border-radius:8px;padding:9px 10px;background:#fff;color:#183b4a}
.accounting-fields input:focus,.accounting-fields select:focus,.accounting-note textarea:focus{outline:2px solid #8ccfc0;outline-offset:1px}
.accounting-fields input[readonly]{background:#f1f6f7;color:#536c75}
.accounting-form-actions{display:flex;gap:8px}
.accounting-entry-form>.btn,.purchase-editor form>.btn{justify-self:start}
.purchase-line-scroll{margin:18px 0 12px;overflow-x:auto}
.purchase-line-table{min-width:1320px}
.service-sale-line-table{min-width:940px}
.service-sale-line-table th,.service-sale-line-table td{padding:6px 7px;vertical-align:middle}
.service-sale-line-table input,.service-sale-line-table select{width:100%;min-width:80px;border:1px solid #d4e0e4;border-radius:6px;padding:7px 8px;background:#fff;color:#193c4a;font-size:12px}
.service-sale-line-table td:first-child{min-width:230px}
.service-sale-line-table td:nth-child(2){min-width:220px}
.service-sale-line-table td:nth-child(3){min-width:90px}
.service-sale-line-table td:nth-child(4){min-width:175px}
.accounting-fields [hidden],.invoice-identity-editor [hidden]{display:none!important}
.invoice-workflow-card{margin:16px 0}
.invoice-workflow-picker{display:grid;grid-template-columns:minmax(230px,320px) minmax(260px,1fr) auto;gap:16px;align-items:end}
.invoice-workflow-picker>label{display:grid;gap:6px;color:#456471;font-size:12px;font-weight:700}
.invoice-workflow-picker select{width:100%;min-width:0;border:1px solid #d6e2e5;border-radius:8px;padding:10px;background:#fff;color:#183b4a}
.invoice-workflow-choice{min-height:72px;padding:8px 12px;border:1px solid #dce6e8;border-radius:8px;background:#f8fbfb}
.invoice-workflow-choice strong{display:block;color:#183b4a}
.invoice-workflow-choice p{margin:3px 0 6px;color:#607c86;font-size:12px}
.invoice-workflow-choice .pill{font-size:10px}
.invoice-workflow-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.invoice-flow-list{display:grid;gap:8px}
.invoice-flow-tile{display:grid;gap:4px;width:100%;text-align:left;padding:10px 12px;border:1px solid #d7e4e5;border-radius:8px;background:#fff;color:#183b4a;cursor:pointer}
.invoice-flow-tile:hover,.invoice-flow-tile.selected{border-color:#79b8aa;background:#f1faf6}
.invoice-flow-tile small{color:#617c85;line-height:1.4}
.invoice-flow-tile span{font-size:10px;font-weight:800;color:#23705b}
.invoice-flow-tile.pending span{color:#9c6a2e}
.invoice-flow-reservations{margin:16px 0}
@media(max-width:1100px){.invoice-workflow-groups{grid-template-columns:1fr 1fr}.invoice-workflow-picker{grid-template-columns:1fr 1fr}.invoice-workflow-picker>.btn{justify-self:start}}
@media(max-width:720px){.invoice-workflow-groups,.invoice-workflow-picker{grid-template-columns:1fr}}
.purchase-line-table th,.purchase-line-table td{padding:6px 7px;vertical-align:middle}
.purchase-line-table input,.purchase-line-table select{width:100%;min-width:74px;border:1px solid #d4e0e4;border-radius:6px;padding:7px 8px;background:#fff;color:#193c4a;font-size:12px}
.purchase-line-table td:first-child{min-width:210px}
.purchase-line-table td:nth-child(2){min-width:165px}
.purchase-line-table td:nth-child(3){min-width:75px}
.purchase-line-table td:nth-child(4),.purchase-line-table td:nth-child(5),.purchase-line-table td:nth-child(6),.purchase-line-table td:nth-child(7){min-width:104px}
.purchase-line-table td:nth-child(n+8){white-space:nowrap}
.purchase-summary{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:16px 0}
.purchase-cost-center-distribution{margin:12px 0 15px}
.cost-center-allocation-panel{margin-top:9px;padding:12px;border:1px solid #dce6e8;border-radius:8px;background:#f7faf9}
.cost-center-allocation-panel[hidden]{display:none}
.cost-center-allocation-panel .help-text{margin:0 0 9px}
.cost-center-allocation-row{display:grid;grid-template-columns:minmax(180px,1fr) 100px 16px 24px;align-items:center;gap:8px;margin-bottom:7px;max-width:620px}
.cost-center-allocation-row select,.cost-center-allocation-row input{min-width:0;width:100%;height:32px;padding:5px 8px;border:1px solid #d6e2e5;border-radius:6px;background:#fff;color:#183b4a}
.cost-center-allocation-total{margin-top:9px;font-size:12px;color:#496873}
.cost-center-allocation-total strong{color:#1b6d55}
.cost-center-allocation-total strong.cost-center-total-invalid{color:#b34f45}
[data-cost-allocation-preview]{margin-top:12px}
.cost-center-preview-table{min-width:650px}
.cost-center-preview-table th,.cost-center-preview-table td{padding:5px 8px}
.cost-center-form-actions{display:flex;align-items:end;gap:8px}
@media(max-width:600px){.cost-center-allocation-row{grid-template-columns:minmax(100px,1fr) 80px 12px 20px}}
.purchase-summary>div{min-width:165px;padding:10px 12px;border:1px solid #dce6e8;border-radius:9px;background:#f6f9fa;color:#526e79;font-size:12px}
.purchase-summary strong{display:block;margin-top:5px;color:#173f49;font-size:15px}
.purchase-summary>div:last-child{background:#e9f5f1;border-color:#b8ddd1}
.purchase-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-bottom:1px solid #e3eaed}
.purchase-meta>div{display:grid;align-content:start;gap:4px;padding:12px;border:1px solid #dce6e8;border-radius:8px;font-size:12px}
.purchase-meta small{color:#617984;font-weight:700;text-transform:uppercase}
.purchase-meta strong{color:#173e4b;font-size:13px}
.purchase-meta span{color:#526f7a;overflow-wrap:anywhere}
.accounting-note textarea{resize:vertical}
.stock-filter-card .card-body{padding-block:10px 14px}
.stock-filter-card .accounting-date-filter{margin:0;padding:0;border:0}
.cost-center-report-filter .accounting-date-filter{margin:0 0 12px;padding:0;border:0}
.cost-center-report-select{display:grid;gap:5px;max-width:360px;color:#456471;font-size:12px;font-weight:700}
.cost-center-report-select select{height:36px;border:1px solid #d6e2e5;border-radius:8px;padding:6px 9px;background:#fff;color:#183b4a}
.cost-center-report-filter .help-text{margin:12px 0 0}
.cost-center-report-summary,.cost-center-report-details{margin-top:14px}
.cost-center-report-summary .table,.cost-center-report-details .table{white-space:nowrap}
.cost-center-report-summary tfoot{background:#eaf5ee;color:#245b4c}
.cost-center-report-details .table-wrap{max-height:500px;overflow:auto}
.stock-filter-card .help-text{margin:7px 0 0}
.stock-items-table th:nth-child(n+5),.stock-items-table td:nth-child(n+5){text-align:right;font-variant-numeric:tabular-nums}
.stock-items-table .stock-vat-inline{width:72px;min-width:72px;padding:5px 6px;text-align:right;border:1px solid #d6e2e5;border-radius:6px;background:#fff;color:#183b4a}
.stock-items-table .stock-opening-cost-inline{width:100px;min-width:100px;padding:5px 6px;text-align:right;border:1px solid #d6e2e5;border-radius:6px;background:#fff;color:#183b4a}
.stock-transfer-lines{min-width:760px}
.stock-transfer-lines th:nth-child(n+3),.stock-transfer-lines td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}
.stock-transfer-lines [data-transfer-quantity]{width:110px;min-width:100px;text-align:right}
.stock-transfer-detail{margin-bottom:16px}
.stock-items-table [data-stock-vat-save]{margin-left:8px}
.stock-items-table tr[data-stock-item]{cursor:context-menu}
.stock-row-menu{margin-left:8px;padding:0 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:#3b6972;font-size:18px;line-height:18px;vertical-align:middle;cursor:pointer}
.stock-row-menu:hover,.stock-row-menu:focus-visible{border-color:#adcbd0;background:#e8f3f3;outline:none}
.stock-movements-modal{width:min(1120px,calc(100vw - 32px))}
.stock-movements-modal .modal-body{padding:18px 22px}
.stock-movements-modal .chart-movement-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.stock-movement-table{min-width:850px}
.stock-movement-table th:nth-child(n+6),.stock-movement-table td:nth-child(n+6){text-align:right;font-variant-numeric:tabular-nums}
.stock-opening-row{background:#f1f7f6;font-weight:700}
@media(max-width:850px){.stock-movements-modal .chart-movement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.accounting-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-meta{grid-template-columns:1fr}}
@media(max-width:600px){.accounting-fields{grid-template-columns:1fr}.accounting-fields label.wide{grid-column:auto}.purchase-summary>div{flex:1 1 140px}}
@media(max-width:760px){.chart-head{align-items:stretch;flex-direction:column}.chart-search{width:100%}.chart-foot{align-items:start;flex-direction:column}}
@media(max-width:1000px){.accounting-grid{grid-template-columns:1fr}}

.invoice-voucher-accounts{margin:16px 0;padding:14px;border:1px solid #d7e5e7;border-radius:10px;background:#f7fafb}.invoice-voucher-accounts h3{margin:0 0 4px;font-size:14px;color:#24495a}.invoice-voucher-accounts .help-text{margin:0 0 12px}.invoice-voucher-accounts select{width:100%;min-width:0}@media print{.invoice-voucher-accounts{display:none!important}}
.bank-import-panel,.bank-import-map,.bank-import-preview,.bank-import-history{margin-bottom:16px}
.bank-import-settings{grid-template-columns:repeat(4,minmax(0,1fr))}
.bank-import-paste{display:grid;gap:7px;margin-top:16px;color:#456471;font-size:12px;font-weight:700}
.bank-import-paste textarea{width:100%;min-height:125px;resize:vertical;border:1px solid #d6e2e5;border-radius:8px;padding:10px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#183b4a}
.bank-import-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.bank-import-actions label{margin-right:auto;font-size:12px;font-weight:700;color:#456471}
.bank-import-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bank-import-columns label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#456471}
.bank-import-columns select,.bank-import-table select,.bank-import-table input{width:100%;min-width:90px;border:1px solid #d6e2e5;border-radius:7px;padding:7px 8px;background:#fff;color:#183b4a;font-size:12px}
.bank-import-table{min-width:1120px}
.bank-import-table th,.bank-import-table td{padding:7px 8px;vertical-align:middle}
.bank-import-table td:nth-child(3){min-width:180px;max-width:280px;overflow-wrap:anywhere}
.bank-import-table td:nth-child(4){min-width:230px}
.bank-import-table td:nth-child(5){min-width:120px}
.bank-import-table [data-bank-row-name]{min-width:215px}
.bank-import-flow{display:inline-block;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;white-space:nowrap}
.bank-import-flow-in{background:#e3f5ec;color:#176849}
.bank-import-flow-out{background:#fce9e8;color:#a43d39}
.bank-import-table small{display:block;margin-top:3px;color:#607c86}
.bank-import-table .bank-import-invalid{background:#fff2f0}
.bank-import-table .bank-import-invalid small.form-error{color:#b33b3b}
.bank-import-footer{display:flex;justify-content:flex-end}
.bank-import-history .link-btn{margin-right:6px}
@media(max-width:1000px){.bank-import-settings{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.bank-import-settings,.bank-import-columns{grid-template-columns:1fr}}

/* Keep workspace data rows close to a standard spreadsheet row. Rows with
   secondary text or editors may grow so their content remains usable. */
@media screen {
  .table thead th,
  .table tbody td,
  .table tfoot th,
  .table tfoot td,
  .folio-ledger thead th,
  .folio-ledger tbody td,
  .folio-ledger tfoot td {
    height: 24px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 18px;
  }

  .table .btn {
    min-height: 24px;
    padding-top: 2px;
    padding-bottom: 2px;
  }

  .table .badge,
  .table .link-btn {
    padding-top: 2px;
    padding-bottom: 2px;
  }

  .table input:not([type="checkbox"]):not([type="radio"]),
  .table select {
    height: 24px;
    min-height: 24px;
    padding-top: 1px;
    padding-bottom: 1px;
  }
}

/* Keep the secondary code/date beside the main value in these two lists. */
@media screen {
  .instrument-table td small,
  .exchange-history .table td small {
    display: inline;
    margin: 0 0 0 6px;
    line-height: inherit;
  }
  .instrument-table td small::before,
  .exchange-history .table td small::before { content: "· "; }
}

.reservation-column-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.reservation-column-controls [data-reservation-layout-status]{color:#a65e3e;font-size:10px;font-weight:800;white-space:nowrap}
.reservation-column-controls [data-reservation-layout-status]:empty{display:none}
.reservation-data-table[data-reservation-layout-ready]{min-width:0;table-layout:fixed}
.reservation-data-table[data-reservation-layout-ready] th,.reservation-data-table[data-reservation-layout-ready] td{box-sizing:border-box;min-width:0;overflow:hidden;text-overflow:ellipsis}
.reservation-data-table[data-reservation-layout-ready] thead tr:first-child th[data-reservation-col]{position:relative;padding-right:28px;user-select:none;text-align:left}
.reservation-data-table[data-reservation-layout-ready] thead tr:first-child th.grid-frozen{position:sticky}
.reservation-data-table[data-reservation-layout-ready] thead tr:first-child .grid-freeze-heading{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.reservation-data-table[data-reservation-layout-ready] thead .reservation-grid-filter-row th input{text-align:left}
.reservation-data-table[data-reservation-layout-ready] thead .reservation-grid-filter-row th:is([data-reservation-col="total"],[data-reservation-col="settled"],[data-reservation-col="balance"]) input{text-align:right}
.reservation-column-grip{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:grab;color:#7597a0;font-size:15px;line-height:20px;touch-action:none}
.reservation-column-grip:active{cursor:grabbing}
.reservation-column-resizer{position:absolute;right:0;top:2px;bottom:2px;width:10px;cursor:col-resize;border-right:2px solid transparent;touch-action:none}
.reservation-column-resizer:hover,.reservation-column-resizer:focus-visible{border-right-color:#29856a;background:#d8eee5;outline:none}
.reservation-data-table th.reservation-column-drop-target{box-shadow:inset 4px 0 #29856a;background:#e5f5ec}
.reservation-data-table th.reservation-column-dragging{opacity:.55}
.reservation-resizing,.reservation-resizing *{cursor:col-resize!important;user-select:none!important}

.accounting-column-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;padding:7px 13px;border-top:1px solid #e3eaec;background:#f9fbfb}
.accounting-column-controls>span:first-child{margin-right:auto;color:#657d85;font-size:11px}
.accounting-column-controls .accounting-layout-status{color:#a65e3e;font-size:10px;font-weight:800;white-space:nowrap}
.accounting-column-controls .accounting-layout-status:empty{display:none}
.accounting-column-controls .invoice-freeze-help{color:#52736b;font-size:11px}
.invoice-freeze-heading{display:flex;align-items:center;gap:5px;min-width:0;cursor:default}
.invoice-freeze-heading>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.invoice-freeze-heading input{display:none;flex:none;margin:0;accent-color:#23765d;cursor:pointer}
.invoice-freeze-picker-active .invoice-freeze-heading input{display:block}
.chart-table[data-accounting-layout-ready],.trial-table[data-accounting-layout-ready]{min-width:0;table-layout:fixed}
.chart-table[data-accounting-layout-ready] th,.chart-table[data-accounting-layout-ready] td,.trial-table[data-accounting-layout-ready] th,.trial-table[data-accounting-layout-ready] td{box-sizing:border-box;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chart-table[data-accounting-layout-ready] .chart-code,.chart-table[data-accounting-layout-ready] .chart-name,.trial-table[data-accounting-layout-ready] .trial-account-name{min-width:0;max-width:none}
.chart-table[data-accounting-layout-ready] th[data-accounting-col],.trial-table[data-accounting-layout-ready] thead th[data-accounting-col]{padding-right:29px;user-select:none;text-align:left}
.chart-table[data-accounting-layout-ready] td[data-accounting-col],.trial-table[data-accounting-layout-ready] td[data-accounting-col],.trial-table[data-accounting-layout-ready] tfoot th[data-accounting-col]{text-align:left}
.chart-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="debit"],.chart-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="credit"],.chart-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="debitBalance"],.chart-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="fxDebit"],.chart-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="fxCredit"],.chart-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="fxBalance"],.trial-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="debit"],.trial-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="credit"],.trial-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="debitBalance"],.trial-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="creditBalance"],.trial-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="fxDebit"],.trial-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="fxCredit"],.trial-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="fxDebitBalance"],.trial-table[data-accounting-layout-ready] :is(th,td)[data-accounting-col="fxCreditBalance"]{text-align:right;font-variant-numeric:tabular-nums}
.accounting-column-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accounting-column-grip{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:grab;color:#7597a0;font-size:15px;line-height:20px;touch-action:none}
.accounting-column-grip::before{content:"⠿"}
.accounting-column-grip:active{cursor:grabbing}
.accounting-column-resizer{position:absolute;right:0;top:2px;bottom:2px;width:10px;cursor:col-resize;border-right:2px solid transparent;touch-action:none}
.accounting-column-resizer:hover,.accounting-column-resizer:focus-visible{border-right-color:#29856a;background:#d8eee5;outline:none}
.chart-table th.accounting-column-drop-target,.trial-table th.accounting-column-drop-target{box-shadow:inset 4px 0 #29856a;background:#e5f5ec}
.chart-table th.accounting-column-dragging,.trial-table th.accounting-column-dragging{opacity:.55}
.accounting-resizing,.accounting-resizing *{cursor:col-resize!important;user-select:none!important}
.control-reconciliation-detail { margin-top: 12px; padding: 0; }
.control-reconciliation-detail > summary { cursor: pointer; padding: 12px 16px; font-weight: 700; }
.control-reconciliation-detail > .table-wrap { margin: 0 12px 12px; }
#toast .toast-action{margin-left:10px;padding:3px 8px;border:1px solid currentColor;border-radius:5px;background:transparent;color:inherit;font-weight:700;text-decoration:underline}
.toast.show:has(.toast-action){pointer-events:auto}
#toast.prominent:has(.toast-action){top:84px;width:min(520px,calc(100vw - 32px));padding:17px 20px;border:2px solid #b4dfc6;border-left:8px solid #d9f2e3;border-radius:12px;box-shadow:0 18px 48px #092c3f70;text-align:left;font-size:16px;font-weight:800;line-height:1.45}
#toast.prominent.error:has(.toast-action){border-color:#f2b2aa;border-left-color:#ffd4ca}
#toast.prominent:has(.toast-action) .toast-action{display:block;margin:11px 0 0;padding:7px 12px;border:0;border-radius:6px;background:#fff;color:#175f49;text-decoration:none;font-size:13px;font-weight:800}
#toast.prominent.error:has(.toast-action) .toast-action{color:#8c2927}
#toast.prominent:has(.toast-action) .toast-action:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:650px){#toast.prominent:has(.toast-action){top:76px;font-size:15px}}
.kbs-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;padding:10px;border:1px solid #dbe4e8;border-radius:8px}
.kbs-result-row strong,.kbs-result-row span{display:block}
.kbs-result-row small{display:block;margin-top:4px;color:#526778}
.kbs-result-row.failed{background:#fff4f2;border-color:#efc6c0}
.kbs-result-row.sent{background:#eef8f2;border-color:#c2dfcc}
.kbs-issue-list{margin:8px 0 0;padding-left:18px;color:#9b3431;font-size:12px}
.kbs-issue-list li{margin:3px 0}
.kbs-issue-list button{border:0;background:none;padding:0;color:#9b3431;text-align:left;text-decoration:underline;font-size:12px;font-weight:700}
.kbs-issue-list button:hover,.kbs-issue-list button:focus-visible{color:#671c1a}
.edoc-invoice-table{min-width:1150px}
.edoc-invoice-table th,.edoc-invoice-table td{padding:7px 9px;vertical-align:middle}
.edoc-invoice-table td small{display:block;color:#637487}
.edoc-invoice-table .edoc-row-error{background:#fff3f1}
.front-desk-issued-table{min-width:1100px}
.front-desk-issued-table .edoc-row-error{background:#fff3f1}
.front-desk-issued-table .invoice-finalized-actions{gap:6px}
.invoice-table-scroll{max-height:min(65vh,680px);overflow:auto;position:relative}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table)[data-accounting-layout-ready]{min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table)[data-accounting-layout-ready] :is(th,td){box-sizing:border-box;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table) thead th{position:sticky;top:0;z-index:3;background:#edf2f4;border-bottom:1px solid #dbe5e8}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table) :is(th,td).invoice-frozen{position:sticky;z-index:4;background:#fff;border-right:1px solid #dbe5e8}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table) thead th.invoice-frozen{z-index:5;background:#edf2f4}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table) tr.edoc-row-error td.invoice-frozen{background:#fff3f1}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table)[data-accounting-layout-ready] thead th[data-accounting-col]{padding-right:29px;user-select:none}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table)[data-accounting-layout-ready] td[data-accounting-col="error"]{white-space:normal;overflow-wrap:anywhere}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table) td[data-accounting-col="error"] .edoc-error-link{white-space:normal;overflow-wrap:anywhere}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table) td[data-accounting-col="actions"]{overflow:auto}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table) th.accounting-column-drop-target{box-shadow:inset 4px 0 #29856a;background:#e5f5ec}
.invoice-table-scroll :is(.front-desk-issued-table,.edoc-invoice-table) th.accounting-column-dragging{opacity:.55}
.edoc-error-link{border:0;background:transparent;color:#a32c28;text-align:left;text-decoration:underline;font-weight:700;cursor:pointer}
.edoc-setup-notice{margin-top:14px;border-left:5px solid #bd5f24;background:#fff6ea;color:#693a13}
.edoc-tabs{margin-top:12px;flex-wrap:wrap}
.edoc-tabs .active{background:#e6f2f1;border-color:#21816f;color:#115449}
.edoc-detail{display:grid;gap:14px}
.edoc-detail>p{margin:0}
.edoc-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.edoc-status-grid span{padding:10px;border:1px solid #d9e2e8;border-radius:6px}
.edoc-status-grid strong{display:block;margin-top:4px}
.edoc-error{padding:14px;border:1px solid #e9aaa5;border-left:5px solid #bd3730;border-radius:6px;background:#fff3f1;color:#74231f}
.edoc-error p{margin:8px 0}
.edoc-error small{color:#6d3936}
@media(max-width:700px){.edoc-status-grid{grid-template-columns:1fr}}
.agency-account-control{display:flex;align-items:stretch;gap:6px;min-width:0}
.agency-account-control select{flex:1;min-width:0}
.agency-account-create{flex:none;min-width:34px;padding:0 7px;font-size:19px;line-height:1}
.invoice-settlement-panel{margin:16px 0;padding:16px;border:1px solid #cbd9df;border-radius:10px;background:#f7faf9}
.invoice-settlement-panel h3{margin:0 0 12px;color:#173b4b}
.invoice-settlement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px}
.invoice-settlement-grid>div{padding:9px 11px;background:white;border:1px solid #d9e4e8;border-radius:7px;display:flex;flex-direction:column;gap:4px}
.invoice-settlement-grid span{color:#55707d;font-size:.84rem}
.invoice-settlement-grid strong{font-variant-numeric:tabular-nums}
.invoice-settlement-warning{padding:9px 11px;background:#fff3e9;border-left:3px solid #c45d2f;color:#803616}
.invoice-agency-card-link{margin-left:10px;border-color:#e7bc9d;color:#803616;background:#fff;vertical-align:middle}
.invoice-settlement-legacy{display:grid;gap:8px;margin-top:14px}
.invoice-settlement-legacy>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #d9e4e8;border-radius:7px;background:#fff}
.invoice-local-key-setup{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:8px 0 12px;padding:12px;border:1px solid #e5bd88;border-radius:8px;background:#fff8ed}
.invoice-local-key-setup[hidden]{display:none}
.invoice-local-key-setup label{display:flex;flex:1 1 220px;flex-direction:column;gap:4px;font-weight:700;font-size:12px}
.invoice-local-key-setup input{width:100%;min-height:36px;padding:7px;border:1px solid #d3e1e5;border-radius:7px}
.invoice-local-key-setup small{flex-basis:100%;color:#785a35}
.edoc-legacy-audit{margin-bottom:14px}
.edoc-legacy-audit .card-body{padding-top:12px}
.edoc-legacy-audit .table{table-layout:fixed;white-space:normal}
.edoc-legacy-audit .table th:first-child{width:175px}
.edoc-legacy-audit .table th:last-child{width:130px}
.edoc-legacy-audit td{vertical-align:top}
.edoc-legacy-audit td:nth-child(2){line-height:1.4;overflow-wrap:anywhere}
.edoc-legacy-mismatch{color:#9e2f28}
.channel-status .card-body{padding:14px 18px}.channel-status p{margin:6px 0 0}.channel-status .notice{margin-top:9px;padding:9px 12px}
.channel-toolbar{align-items:center;gap:14px;flex-wrap:wrap}.channel-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.channel-controls input[type=date]{height:35px;min-width:145px;padding:5px 7px;border:1px solid #cedde2;border-radius:7px;background:#fff;color:#19394a}
.channel-calendar-scroll{overflow:auto;max-height:70vh;border-top:1px solid #dce6e8}.channel-calendar{min-width:900px;border-collapse:separate;border-spacing:0;table-layout:fixed}.channel-calendar th,.channel-calendar td{min-width:115px;padding:5px 7px;text-align:center;white-space:nowrap;font-size:12px}.channel-calendar thead th{position:sticky;top:0;z-index:3;background:#eaf0f3}.channel-calendar th:first-child{position:sticky;left:0;z-index:2;min-width:155px;text-align:left;background:#f4f7f8}.channel-calendar thead th:first-child{z-index:4;background:#eaf0f3}.channel-calendar .channel-type-row th{position:sticky;left:0;z-index:2;padding:8px 12px;background:#e9f3f0;color:#1b5d50;text-align:left;font-size:13px}.channel-calendar .channel-type-row small{font-weight:500}.channel-calendar td.channel-closed{background:#fff2ef;color:#9b3b32}.channel-calendar .channel-price-button{width:100%;padding:3px 4px;border:1px solid transparent;border-radius:5px;background:transparent;color:#175e6b;font-weight:800;cursor:pointer}.channel-calendar .channel-price-button:hover,.channel-calendar .channel-price-button:focus-visible{border-color:#7fbeb2;background:#eef8f4}.channel-calendar .channel-price-button span{font-weight:500}.channel-footnote{margin:10px 16px 14px}
.channel-calendar .channel-type-toggle{display:inline-flex;align-items:center;gap:6px;padding:2px 4px;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;cursor:pointer}.channel-calendar .channel-type-toggle:hover,.channel-calendar .channel-type-toggle:focus-visible{background:#d7e9e3;outline:2px solid transparent}.channel-calendar .channel-type-arrow{display:inline-block;min-width:12px;font-size:16px;line-height:1}.channel-calendar tr[hidden]{display:none!important}.channel-calendar .channel-summary-row th{font-weight:750}
.channel-calendar .channel-label-col{width:190px}.channel-calendar .channel-date-col{width:115px}.channel-calendar thead th:first-child,.channel-calendar tbody tr>th:first-child{width:190px;min-width:190px;max-width:190px;box-shadow:1px 0 0 #d7e2e5}.channel-calendar .channel-type-row td.channel-type-meta{min-width:0;padding:8px 12px;background:#e9f3f0;color:#1b5d50;text-align:left;font-size:13px}.channel-calendar thead th:not(:first-child){min-width:115px}
.channel-editor .card-body{padding:16px}.channel-editor .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.channel-editor .form-grid label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:12px}.channel-editor .form-grid :is(input,select){min-width:0;min-height:36px;padding:7px;border:1px solid #cddce1;border-radius:7px;background:#fff;color:#173446}.channel-editor .form-grid .channel-stop-sell{display:flex;flex-direction:row;align-items:center;gap:8px;align-self:end;min-height:36px}.channel-editor .channel-stop-sell input{min-height:auto}.channel-editor .form-actions{margin-top:10px}.channel-mapping-chip{display:inline-block;margin:0 6px 7px 0;padding:5px 8px;border:1px solid #cddedc;border-radius:15px;background:#f0f7f5;font-size:12px}
.channel-calendar .channel-price-button{user-select:none;touch-action:pan-x pan-y}.channel-calendar td.channel-price-selected{background:#d4eee8;box-shadow:inset 0 0 0 2px #16836e}.channel-inline-price-wrap{display:flex;align-items:center;gap:3px}.channel-inline-price{width:78px;min-width:0;padding:3px 4px;border:2px solid #16836e;border-radius:4px;background:#fff;color:#153c38;font:inherit;font-weight:800;text-align:right}.channel-inline-price-wrap small{font-size:10px;font-weight:700;color:#175e6b}
.room-guest-policy-card,.room-capacity-card,.channel-room-capacity{margin-top:16px}
.room-guest-policy-card .card-body{padding:16px 22px}.room-age-fields{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.room-age-fields label,.room-capacity-fields label{display:flex;flex-direction:column;gap:5px;color:#355665;font-size:12px;font-weight:700}.room-age-fields input,.room-capacity-fields input{width:100%;min-height:36px;padding:7px 9px;border:1px solid #cfdee2;border-radius:7px;background:#fff;color:#173b4c;font:inherit}.room-age-fields label{width:175px}.room-guest-policy-card .form-error{margin:8px 0;color:#a33b31}.room-guest-policy-card .form-actions{margin-top:8px}
.room-capacity-list{display:grid;gap:12px;padding:16px 22px}.room-capacity-item{padding:14px;border:1px solid #dae5e6;border-radius:9px;background:#fafcfb}.room-capacity-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.room-capacity-heading h3{margin:0;color:#214657}.room-capacity-heading small{color:#6b858e}.room-capacity-status{display:inline-flex;padding:5px 9px;border:1px solid #ecd6b9;border-radius:15px;background:#fff7e9;color:#965f2e;font-size:11px;font-weight:700;white-space:nowrap}.room-capacity-status.ready{border-color:#b8dbcd;background:#eaf7ee;color:#1b7353}.room-capacity-fields{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.room-capacity-actions{display:flex;justify-content:flex-end;margin-top:10px}.room-capacity-item .form-error{margin:8px 0 0;color:#a33b31}.channel-room-capacity .card-body{padding:14px 18px}.channel-room-capacity .help-text{margin:0 0 10px}.channel-capacity-list{display:grid;gap:6px;margin-bottom:10px}.channel-capacity-list>div{display:flex;gap:10px;flex-wrap:wrap;padding:7px 9px;border:1px solid #e0e8e9;border-radius:6px}.channel-capacity-list strong{min-width:110px;color:#1b5d50}.channel-capacity-list span{color:#405e68}
.room-capacity-detail .card-body{padding:18px 22px}.room-capacity-detail .form-error{margin:8px 0 0;color:#a33b31}.room-type-open{padding:0;border:0;background:none;color:#176955;font:inherit;font-weight:800;text-align:left;cursor:pointer}.room-type-open:hover,.room-type-open:focus-visible{text-decoration:underline}.room-type-capacity-summary{display:block;margin-top:4px;color:#965f2e;font-size:11px;font-weight:700}.room-type-capacity-summary.ready{color:#1b7353}
@media(max-width:720px){.room-capacity-fields{grid-template-columns:repeat(2,minmax(115px,1fr))}.room-capacity-heading{align-items:flex-start;flex-direction:column}}

.channel-editor .form-grid .channel-price-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;min-width:0;overflow-x:auto;padding-bottom:2px}

.channel-editor .channel-price-fields input:disabled{background:#edf2f3;color:#91a2a8;cursor:not-allowed}
.channel-connections,.channel-settings-list,.channel-settings-editor{margin-top:16px}
.channel-connection-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;padding:10px 22px 20px}
.channel-connection-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:72px;padding:14px;border:1px solid #d4e3e4;border-radius:9px;background:#f8fbfa;color:#1d4250;text-align:left}
.channel-connection-card:hover,.channel-connection-card.selected{border-color:#62aa95;background:#edf8f3}
.channel-connection-card span{font-size:11px;color:#397d69}
.channel-settings-editor .card-body{padding-top:12px}
.channel-settings-fields,.channel-settings-mapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.channel-settings-fields label,.channel-settings-mapping label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#254254}
.channel-settings-fields input,.channel-settings-mapping input{width:100%;min-height:36px;padding:7px 9px;border:1px solid #cddce1;border-radius:7px;background:#fff;color:#173446}
.channel-settings-fields input:read-only{background:#f0f4f4}
.channel-settings-editor h3{margin:20px 0 10px;font-size:13px;color:#214657}
.channel-settings-mappings{display:grid;gap:8px}
.channel-settings-mapping{grid-template-columns:minmax(120px,.7fr) repeat(2,minmax(0,1fr));align-items:center;padding:9px 10px;border:1px solid #e2ebeb;border-radius:8px}
.channel-settings-mapping strong{font-size:12px;color:#1e5b4d}
.channel-settings-editor .form-actions{margin-top:12px}
@media(max-width:700px){.channel-settings-fields,.channel-settings-mapping{grid-template-columns:1fr}}
.room-minimum-current{display:block;margin-top:5px;color:#a34737;font-size:11px;font-weight:800}
.room-minimum-inline{margin-top:8px;max-width:380px}
.room-minimum-inline-fields{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.room-types-card .table .room-minimum-inline input[type=number]{width:100px;min-height:34px;padding:6px 8px}
.room-minimum-inline select{width:74px;min-height:34px;padding:6px;border:1px solid #cfdee2;border-radius:7px;background:#fff;color:#173b4c}
.room-minimum-inline .btn{min-height:34px;padding:6px 9px}
.room-minimum-hint{display:block;max-width:340px;margin-top:5px;color:#6b858e;font-size:10px;line-height:1.35}
.room-types-card .room-minimum-inline .form-error{padding:0;margin:5px 0 0}
.channel-minimum-alert,.channel-editor-minimum-alert{margin:12px 16px;padding:12px 14px;border:2px solid #bd3c31;border-radius:8px;background:#fff0ed;color:#8e211b;font-size:13px;font-weight:800}
.channel-calendar td.channel-minimum-breach{background:#ffe1db;color:#8e211b;box-shadow:inset 0 0 0 2px #bd3c31}
.channel-calendar td.channel-minimum-breach .channel-price-button{color:#8e211b}
.channel-minimum-note{display:block;white-space:normal;color:#8e211b;font-size:10px;font-weight:800}
.channel-sale-note{display:block;white-space:normal;color:#8e211b;font-size:10px;font-weight:800;line-height:1.2}
.channel-fx-breakdown{display:grid;gap:.35rem;margin-top:.6rem}
.channel-fx-breakdown>div{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(8rem,1fr) minmax(8rem,1fr);gap:.5rem;align-items:center;padding:.35rem .5rem;background:rgba(255,255,255,.5);border-radius:.35rem}
.channel-fx-breakdown>div>span:last-child{text-align:right}
/* Hotel user accounts */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#edf4f5}
.auth-card{width:min(100%,460px);padding:32px;background:white;border:1px solid #d6e3e7;border-radius:18px;box-shadow:0 20px 60px #17344920}
.auth-card h1{margin:0 0 18px;color:#125d53}.auth-card h2{margin:0 0 8px}.auth-card form{display:grid;gap:16px;margin-top:20px}.auth-card .field{display:grid;gap:6px}.auth-card input,.auth-card select{width:100%;min-height:44px;padding:8px 12px;border:1px solid #c8d9df;border-radius:9px;background:white;color:#173449}
.user-permissions{margin:20px 0;padding:18px;border:1px solid #d6e3e7;border-radius:12px}.user-permissions legend{font-weight:700;padding:0 6px}.user-permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.user-permission-grid label,.user-active{display:flex;align-items:center;gap:8px}.user-permission-grid input,.user-active input{width:18px;height:18px}.auth-card .form-error:empty,#hotel-user-form .form-error:empty,#profile-password-form .form-error:empty,#profile-details-form .form-error:empty{display:none}
.hotel-ip-access{margin-bottom:16px}.hotel-ip-access .card-body{display:grid;gap:12px}.hotel-ip-access .field textarea{width:min(100%,620px);min-height:88px;resize:vertical}.hotel-ip-access .form-error:empty{display:none}
/* Compact hotel user management */
.content:has(.user-admin-layout)>.banner,.content:has(.user-admin-layout)>.overview-shortcuts{display:none}
.content:has(.user-admin-layout){padding-top:12px;padding-bottom:12px}
body:has(.workspace-dock) .content:has(.user-admin-layout){padding-bottom:12px}
.content:has(.user-admin-layout)>.page-head{margin-bottom:10px;min-height:0}
.content:has(.user-admin-layout)>.page-head .eyebrow,.content:has(.user-admin-layout)>.page-head .subtle{display:none}
.content:has(.user-admin-layout)>.page-head h1{font-size:22px;margin:0}
.hotel-ip-access{margin:0 0 10px}
.hotel-ip-access .card-header,.user-admin-layout .card-header{padding:9px 12px;gap:8px}
.hotel-ip-access .card-header h2,.user-admin-layout .card-header h2{font-size:15px;margin:0}
.hotel-ip-access .card-header .subtle{margin:0;font-size:11px}
.hotel-ip-access .card-body{display:block;padding:7px 12px 9px}
.hotel-ip-access form{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:9px;row-gap:2px;align-items:end}
.hotel-ip-access .field{display:grid;gap:2px}
.hotel-ip-access .field span,.user-admin-layout .field span{font-size:11px}
.hotel-ip-access .field input{width:100%;height:32px;min-height:32px;padding:4px 8px}
.hotel-ip-access .btn{height:32px;padding:4px 10px;white-space:nowrap}
.hotel-ip-access small{grid-column:1/-1;font-size:10px;line-height:1.2}
.hotel-ip-access .form-error{grid-column:1/-1;margin:1px 0}
.user-admin-layout{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.65fr);gap:10px;align-items:start}
.user-admin-layout .card{min-width:0}
.user-admin-side{display:grid;gap:10px;min-width:0}
.user-admin-layout .card-body{padding:9px 12px}
.user-admin-layout .table-wrap{max-height:205px;overflow:auto}
.user-admin-list{max-height:205px;overflow-y:auto;overflow-x:hidden;padding:0 10px 8px}
.user-admin-item{display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid #e9eff1;padding:7px 0}
.user-admin-item-main{min-width:0}
.user-admin-item-main strong,.user-admin-item-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-admin-item-main strong{font-size:12px;color:#19394a}
.user-admin-item-main span{font-size:10px;color:#718c96;margin-top:3px}
.user-admin-item-actions{display:grid;justify-items:end;gap:3px;flex:none}
.user-admin-item-actions small{font-size:10px;font-weight:700}
.user-admin-item-actions .is-active{color:#237a67}
.user-admin-item-actions .is-inactive{color:#ad514a}
.user-admin-empty{font-size:11px;color:#718c96;margin:8px 0}
.user-admin-side .table{font-size:10px}
.user-admin-side .table th,.user-admin-side .table td{padding:5px 4px}
.user-admin-side .table .btn{padding:3px 6px;font-size:10px}
.user-admin-side .card:last-child .card-body{max-height:115px;overflow:auto;font-size:11px}
.user-admin-side .card:last-child .card-body p{margin:2px 0}
.user-admin-layout #hotel-user-form>.grid.two-col{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 9px}
.user-admin-layout #hotel-user-form .field{display:grid;gap:2px;min-width:0}
.user-admin-layout #hotel-user-form .field input,.user-admin-layout #hotel-user-form .field select{width:100%;min-height:32px;height:32px;padding:4px 7px;font-size:12px}
.user-admin-layout .user-permissions{margin:8px 0;padding:7px 9px}
.user-admin-layout .user-permissions legend{font-size:12px}
.user-admin-layout .user-permission-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 8px}
.user-admin-layout .user-permission-grid label{font-size:11px;line-height:1.15;min-height:24px}
.user-admin-layout .user-permission-grid input,.user-admin-layout .user-active input{width:15px;height:15px;flex:none}
.user-admin-layout .user-active{font-size:11px;margin:4px 0}
.user-admin-layout .notice{margin:6px 0;padding:7px;font-size:11px}
.user-admin-layout .form-actions{margin-top:8px;gap:6px}
.user-admin-layout .form-actions .btn{padding:6px 11px;min-height:32px}
@media(max-width:860px){.user-admin-layout{grid-template-columns:1fr}.user-admin-layout #hotel-user-form>.grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.user-admin-layout .user-permission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
