*{box-sizing:border-box}html,body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#1d2935;background:#f4f6f8}a{text-decoration:none;color:#176089}.muted{color:#76818a}.small-text{font-size:12px;color:#7d8790}
.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:#153b54;color:#fff;padding:18px 12px;overflow:auto;z-index:100}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:3px 4px 20px}.logo-box{width:38px;height:38px;border-radius:9px;background:#245f82;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:bold}.logo-box.large{width:50px;height:50px}.sidebar-brand strong{font-size:15px}.nav-title{font-size:11px;color:#9bc0d2;margin:20px 10px 7px;text-transform:uppercase}.nav-link{display:block;color:#eaf3f7;padding:10px 12px;border-radius:8px;margin:2px 0;font-size:14px}.nav-link:hover,.nav-link.active{background:#275f80}
.main{margin-left:245px;padding:24px 28px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:4px 0 0}.mobile-menu{display:none;border:1px solid #d9e0e5;background:#fff;border-radius:8px;padding:8px 10px}.update-btn{border:1px solid #d7dee4;background:#fff;border-radius:8px;padding:9px 12px;cursor:pointer}.profile-wrap{position:relative}.profile-trigger{border:0;background:transparent;display:flex;align-items:center;gap:8px;cursor:pointer}.avatar{width:36px;height:36px;border-radius:9px;background:#e1edf4;color:#174d6b;display:flex;align-items:center;justify-content:center;font-weight:bold}.profile-name{font-weight:bold;font-size:13px}
.dropdown{display:none;position:fixed;background:#fff;border:1px solid #dfe5ea;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.12);z-index:500}.dropdown.open{display:block}.profile-wrap .dropdown{right:28px;top:68px;width:180px;padding:6px}.profile-wrap .dropdown a{display:block;padding:9px 10px;border-radius:7px;color:#26333d}.profile-wrap .dropdown a:hover{background:#f3f5f7}.updates-dropdown{right:220px;top:68px;width:300px;padding:12px}.dropdown-title{font-weight:bold;margin-bottom:10px}.update-row{border-top:1px solid #edf0f2;padding-top:10px}.update-row strong,.update-row span{display:block}.update-row span{font-size:12px;color:#74808a;margin-top:4px}
.cards{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}.stat{background:#fff;border:1px solid #e0e5e9;border-radius:12px;padding:18px;flex:1;min-width:180px}.stat span{display:block;color:#74808a;font-size:13px}.stat strong{display:block;font-size:28px;color:#173f5f;margin-top:8px}.panel{background:#fff;border:1px solid #e0e5e9;border-radius:12px;padding:18px;margin-bottom:18px}.panel h2{margin:0 0 12px}.panel-head,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.btn{display:inline-block;border:1px solid transparent;padding:9px 13px;border-radius:8px;font-weight:bold;font-size:13px;cursor:pointer}.btn-primary{background:#173f5f;color:#fff}.btn-light{background:#fff;border-color:#d7dee4;color:#223}.btn-gold{background:#b7761b;color:#fff}.btn-block{display:block;width:100%;text-align:center;margin-top:16px}.btn-small{padding:6px 9px}
input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d5dde3;border-radius:8px;background:#fff;font:inherit}label{display:block;font-size:12px;font-weight:bold;margin:11px 0 5px}.form-grid{display:flex;flex-wrap:wrap;gap:12px}.form-grid>div{flex:1 1 220px}.form-grid .span-2{flex-basis:460px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.search-form{display:flex;gap:8px;flex:1;max-width:650px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid #edf0f2;vertical-align:top}th{font-size:11px;color:#74808a;text-transform:uppercase}.empty{text-align:center;color:#7d8790;padding:26px}
.badge{display:inline-block;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:bold}.badge-success{background:#dff5e6;color:#176333}.badge-warning{background:#fff0c8;color:#8a5a00}.badge-danger{background:#fbe2e2;color:#8a2020}.badge-neutral{background:#e9edf0;color:#45515b}
.flash{padding:11px 13px;border-radius:8px;margin-bottom:14px}.flash.success{background:#e9f8ef;color:#176333}.flash.error{background:#fdeaea;color:#922}
.builder-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.builder-tab{border:1px solid #d6dee4;background:#fff;border-radius:20px;padding:8px 12px;font-weight:bold;cursor:pointer}.builder-tab.active{background:#173f5f;color:#fff}.builder-card{display:none}.builder-card.active{display:block}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-title>div:first-child{display:flex;align-items:center;gap:10px}.section-title h2{margin:0}.section-title p{margin:2px 0 0;color:#74808a;font-size:13px}.step-badge{width:30px;height:30px;border-radius:50%;background:#e8f1f6;color:#173f5f;display:flex;align-items:center;justify-content:center;font-weight:bold}.service-card{border:1px solid #dde4e9;border-radius:10px;padding:15px;margin:12px 0;background:#fbfcfd}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.service-chip{font-size:10px;background:#e8f1f6;color:#225d7e;border-radius:15px;padding:4px 7px}.link-danger{border:0;background:none;color:#a33;cursor:pointer}.sticky-actions{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.save-note{font-size:12px;color:#74808a}
.modal{display:none;position:fixed;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,.42);z-index:1000;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-dialog{width:100%;max-width:600px;background:#fff;border-radius:12px;padding:22px;position:relative}.modal-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:26px;cursor:pointer}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#eef2f5;padding:20px}.login-card{width:100%;max-width:390px;background:#fff;border:1px solid #e0e5e9;border-radius:14px;padding:30px}.login-card h1{margin:16px 0 4px}.two-col,.detail-grid{display:flex;gap:16px;flex-wrap:wrap}.two-col>.panel,.detail-grid>.panel{flex:1 1 360px}
@media(max-width:800px){.sidebar{transform:translateX(-100%)}.mobile-sidebar-open .sidebar{transform:translateX(0)}.main{margin-left:0;padding:18px}.mobile-menu{display:block}.profile-name{display:none}.updates-dropdown{right:15px;top:65px;width:280px}.profile-wrap .dropdown{right:15px}.topbar h1{font-size:23px}.toolbar,.panel-head,.section-title,.sticky-actions{align-items:stretch;flex-direction:column}.search-form{flex-direction:column;max-width:none}}

/* DEV 1.5 delivery UX */
.toast-area{position:fixed;top:18px;right:18px;z-index:2200}.toast{min-width:260px;max-width:390px;margin-bottom:8px;padding:12px 14px;border-radius:10px;color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.16);opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}.toast.show{opacity:1;transform:translateY(0)}.toast-success{background:#176333}.toast-error{background:#922}
.booking-number-preview{padding:12px;border:1px solid #cbdbe5;border-radius:9px;background:#eef6fa;color:#173f5f;font-size:18px;font-weight:800;letter-spacing:.02em}.field-hint{display:block;margin-top:5px;color:#77838d;font-size:11px;line-height:1.4}
.step-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #edf1f4}
.guide-panel{background:#fbfdff}.token-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.token-grid>div{flex:1 1 180px;padding:10px;border:1px solid #e1e7eb;border-radius:8px;background:#fff}.token-grid code{display:block;color:#173f5f;font-weight:800}.token-grid span{display:block;margin-top:4px;color:#6f7b84;font-size:11px}.example-box{margin-top:14px;padding:12px;border-radius:8px;background:#eef6fa}.check-line{display:flex;align-items:center;gap:8px;margin-top:10px}.check-line input{width:auto}.text-button{border:0;background:transparent;color:#176089;font-weight:700;cursor:pointer;padding:0}.text-button.danger{color:#922}.inline-form{display:inline-block;margin:0}
@media(max-width:800px){.toast-area{left:14px;right:14px}.toast{min-width:0;max-width:none;width:100%}.step-actions{align-items:stretch;flex-direction:column}.token-grid>div{flex-basis:100%}}

/* DEV 1.6 compact reservation workspace */
.reservation-main{height:100vh;overflow:hidden;padding-bottom:12px}.reservation-main .topbar{margin-bottom:10px}.reservation-workspace{height:calc(100vh - 88px);display:flex;flex-direction:column;gap:8px;overflow:hidden}.compact-card{background:#fff;border:1px solid #e0e5e9;border-radius:10px;padding:10px 12px}.booking-card{flex:0 0 auto}.compact-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr 1.25fr 1fr;gap:8px 10px;align-items:end}.booking-grid .guest-field{grid-column:span 2}.booking-grid .pax-field{grid-column:span 2}.compact-card label{margin:0 0 4px}.compact-card input,.compact-card select,.compact-card textarea{padding:7px 8px;font-size:12px;border-radius:7px}.readonly-value{min-height:32px;padding:8px 9px;border:1px solid #d8e2e8;border-radius:7px;background:#f7f9fb;font-size:12px;font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readonly-value.accent{background:#edf6fb;color:#173f5f}.inline-select{display:flex;gap:5px}.inline-select select{min-width:0}.mini-add{width:32px;flex:0 0 32px;border:1px solid #cad9e2;border-radius:7px;background:#eef6fa;color:#173f5f;font-size:18px;font-weight:bold;cursor:pointer}.pax-row{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:4px;align-items:center}.pax-row span{font-size:10px;font-weight:bold;color:#65727c}.pax-row input{min-width:0;text-align:center}.services-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.compact-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.compact-card-head h2{margin:0;font-size:15px}.btn-compact{padding:6px 9px;font-size:11px}.services-scroll{flex:1;min-height:0;overflow:auto;padding-right:2px}.service-row-card{border:1px solid #e2e8ec;border-radius:8px;margin-bottom:6px;background:#fbfcfd}.service-row-main{display:grid;grid-template-columns:28px 115px 1.05fr 1.35fr 115px 115px 105px 58px 28px;gap:5px;align-items:center;padding:6px}.service-row-main input,.service-row-main select{padding:6px 7px;font-size:11px;border-radius:6px}.service-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#eaf3f8;color:#173f5f;font-size:11px;font-weight:bold}.details-btn,.remove-btn{border:0;border-radius:6px;cursor:pointer}.details-btn{padding:6px;background:#eef3f6;color:#244b62;font-size:10px;font-weight:bold}.remove-btn{width:26px;height:26px;background:#fdecec;color:#9a2929;font-size:17px}.service-row-details{display:none;padding:0 6px 7px}.service-row-details.open{display:block}.detail-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.detail-grid input,.detail-grid textarea{padding:6px;font-size:10px}.detail-grid textarea{grid-column:span 2}.notes-card{flex:0 0 auto;padding-top:7px;padding-bottom:7px}.notes-card textarea{resize:none}.workspace-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:8px}.save-main{min-width:150px}.small-modal{max-width:520px}.release-badge{display:inline-block;padding:4px 7px;border-radius:999px;background:#e7f4ea;color:#176333;font-size:9px;font-weight:bold}.btn-danger{background:#962f2f;color:#fff}.update-modal p{color:#65727c;line-height:1.45}
@media(max-width:1250px){.compact-grid{grid-template-columns:repeat(4,1fr)}.booking-grid .guest-field,.booking-grid .pax-field{grid-column:span 2}.service-row-main{grid-template-columns:28px 105px 1fr 1.2fr 105px 105px 95px 54px 28px}.detail-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.reservation-main{height:auto;overflow:visible}.reservation-workspace{height:auto;overflow:visible}.compact-grid{grid-template-columns:repeat(2,1fr)}.services-scroll{max-height:none;overflow:visible}.service-row-main{grid-template-columns:28px 1fr 1fr}.service-row-main input,.service-row-main select{min-width:0}.service-row-main .details-btn,.service-row-main .remove-btn{width:auto}.detail-grid{grid-template-columns:repeat(2,1fr)}}

.admin-note{margin-top:14px;padding:11px 12px;border-radius:8px;background:#fff7df;color:#67521a;font-size:12px;border:1px solid #eedb9a}

.text-button{border:0;background:transparent;color:#176089;font-weight:bold;cursor:pointer;padding:2px 4px}.text-button.danger{color:#9b2d2d}.small-modal{max-width:440px}

/* DEV 2.0 Core Stable polish */
.reservation-main{padding-top:18px;padding-bottom:12px}.reservation-main .topbar{margin-bottom:10px}.reservation-workspace{display:flex;flex-direction:column;gap:8px;min-height:calc(100vh - 95px)}.compact-card{border:1px solid #dfe6eb;border-radius:10px;background:#fff;padding:9px 12px}.booking-card{flex:0 0 auto}.services-card{flex:1 1 auto;min-height:220px;display:flex;flex-direction:column}.notes-card{flex:0 0 auto;padding:6px 12px}.notes-card label{margin-top:0}.notes-card textarea{min-height:38px;max-height:58px}.services-scroll{flex:1 1 auto;overflow:auto;min-height:150px}.workspace-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:8px}.empty-hint{display:block;margin-top:3px;color:#9a5d00;font-size:10px}.btn-danger{background:#9b2d2d;color:#fff}.actions-cell{white-space:nowrap}.readonly-value.accent{background:#eef6fa;color:#174d6b}.compact-grid.booking-grid{gap:7px}.compact-grid.booking-grid .field label{margin-top:2px}.service-row-main{gap:5px}.service-row-card{margin-bottom:5px}.topbar h1{font-size:26px}.panel{box-shadow:none}.table-wrap table tbody tr:hover{background:#fafcfd}.modal-dialog{box-shadow:0 24px 60px rgba(0,0,0,.18)}
@media(min-width:1101px){.reservation-main{height:100vh;overflow:hidden}.reservation-main form{height:calc(100vh - 74px)}.reservation-workspace{height:100%}.services-card{overflow:hidden}.services-scroll{overflow:auto}.workspace-actions{padding-top:2px}}
/* DEV 2.1 professional reservation workspace */
.rv-card{background:#fff;border:1px solid #dbe3e8;border-radius:12px;padding:12px 14px;box-shadow:0 1px 2px rgba(18,45,64,.025)}
.booking-grid-v21{display:grid;grid-template-columns:1.35fr .95fr .95fr 1fr 1.15fr 1fr;gap:10px 12px;align-items:end}
.booking-grid-v21 .guest-field{grid-column:span 2}.booking-grid-v21 .pax-field{grid-column:span 2}.booking-grid-v21 .status-field{grid-column:span 2}
.booking-preview{font-size:13px;letter-spacing:.01em;color:#123f5b;background:#eef7fb;border-color:#cadfe9}
.rv-card input,.rv-card select,.rv-card textarea{height:34px;padding:7px 9px;font-size:12px}.rv-card textarea{height:auto}
.pax-row{grid-template-columns:auto 64px auto 64px auto 64px;justify-content:start}.pax-row span{font-size:9px;text-transform:uppercase;letter-spacing:.03em}
.compact-card-head small{display:block;margin-top:2px;color:#77838d;font-size:10px}.compact-card-head h2{font-size:16px}
.service-table-head,.service-row-main{display:grid;grid-template-columns:28px 112px 1.05fr 1.4fr 112px 112px 108px 58px 28px;gap:6px;align-items:center}
.service-table-head{padding:0 7px 5px;color:#7b8790;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.service-row-main{padding:7px}.service-row-main input,.service-row-main select{height:32px;padding:6px 7px;font-size:11px}
.service-row-card{border-color:#dfe6ea;background:#fff}.service-row-card:hover{border-color:#cbdbe4}
.detail-grid-v21{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.detail-grid-v21 .field label{font-size:9px;color:#65727c}.detail-grid-v21 .remarks-field{grid-column:span 2}.detail-grid-v21 textarea{min-height:34px}
.workspace-actions{padding-top:2px}.workspace-actions .btn{min-width:128px}.workspace-actions .btn-primary{min-width:180px}
@media(max-width:1260px){.booking-grid-v21{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-grid-v21 .guest-field,.booking-grid-v21 .pax-field,.booking-grid-v21 .status-field{grid-column:span 2}.service-table-head{display:none}.service-row-main{grid-template-columns:28px 105px 1fr 1.25fr 105px 105px 100px 56px 28px}.detail-grid-v21{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.booking-grid-v21{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-grid-v21 .guest-field,.booking-grid-v21 .pax-field,.booking-grid-v21 .status-field{grid-column:span 2}.service-row-main{grid-template-columns:28px 1fr 1fr}.detail-grid-v21{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-actions{flex-wrap:wrap}.workspace-actions .btn{flex:1 1 auto}}
/* DEV 2.1 voucher output, based on supplied Experiential Journeys sample */
.voucher-preview{overflow:auto;padding:8px 0 24px}.voucher-sheet{width:794px;min-height:1123px;margin:0 auto;padding:58px 56px 34px;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.voucher-brand{display:flex;align-items:center;justify-content:center;gap:22px;margin:4px 0 30px}.exj-wordmark{color:#123f5b;font-family:Georgia,'Times New Roman',serif;font-size:44px;line-height:.72;letter-spacing:.5px;text-align:left}.exj-wordmark span{padding-left:46px}.exj-mark{display:flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,#e9cf8f,#a97828);color:#fff;font-size:0}.exj-mark:after{content:'EXJ';font-size:17px;font-family:Georgia,serif;font-weight:bold}
.voucher-title{margin:0 0 34px;color:#123f5b;font-size:20px;text-align:center;text-decoration:underline;text-underline-offset:4px}.inquired{margin:0 0 17px;font-size:12px}.inquired strong,.info-grid span,.hotel-name,.rate,.invoice-note{color:#b36f17}.voucher-sheet h3{margin:13px 0 7px;color:#123f5b;font-size:11px}.voucher-grid{display:grid}.info-grid{grid-template-columns:1fr 1fr;gap:6px 38px;margin-bottom:16px}.info-grid>div{display:grid;grid-template-columns:130px 1fr;gap:6px;font-size:11px}.info-grid b{font-weight:700}.info-grid span{font-weight:700}
.date-table{display:grid;grid-template-columns:1fr 1.16fr 1.16fr;border:1px solid #333;margin:18px 0 32px}.date-table>*{border-right:1px solid #333}.date-table>*:nth-child(3n){border-right:0}.date-head{padding:2px 5px;border-bottom:1px solid #333;background:#f4f4f4;color:#123f5b;font-size:10px;font-weight:700;text-align:center}.hotel-name{display:flex;align-items:center;justify-content:center;min-height:88px;font-size:13px;font-weight:700;text-align:center}.date-cell{display:flex;min-height:88px;flex-direction:column;align-items:center;justify-content:center}.date-cell strong{font-size:34px;font-weight:400;line-height:1}.date-cell span{margin-top:7px;font-size:11px}.date-cell small{margin-top:4px;font-size:10px}
.pax-line{display:grid;grid-template-columns:1fr 1fr;margin:0 0 7px;font-size:11px}.pax-line strong{font-weight:400}.remarks-box{display:grid;grid-template-columns:36% 64%;min-height:145px;border:1px solid #333;background:#efefef}.remarks-label{display:flex;align-items:center;justify-content:center;border-right:1px solid #333;color:#b36f17;font-size:12px;font-weight:700}.remarks-content{padding:8px 10px;background:#efefef;font-size:11px;line-height:1.45}.remark-service+ .remark-service{margin-top:9px;padding-top:8px;border-top:1px dotted #aaa}.remark-service strong{display:block;margin-bottom:2px}.rate{margin-top:10px;font-weight:700}.invoice-note{margin-top:14px;font-size:10px;font-weight:700;text-decoration:underline}.voucher-footer{margin-top:120px;padding-top:12px;border-top:1px solid #777;font-size:9px;line-height:1.55;text-align:center}.voucher-footer>div{margin-top:28px;color:#b36f17;font-weight:700}
@media print{body{background:#fff!important}.sidebar,.topbar,.toolbar,.toast-area{display:none!important}.main{margin:0!important;padding:0!important}.voucher-preview{padding:0!important}.voucher-sheet{width:auto;min-height:0;margin:0;padding:8mm 10mm;box-shadow:none}.voucher-footer{margin-top:80px}@page{size:A4;margin:0}}

.sync-alert{margin-bottom:10px;padding:9px 12px;border:1px solid #f0c36d;border-radius:8px;background:#fff8e5;color:#6b4d00;font-size:12px}.sync-alert a{font-weight:bold}

/* DEV 2.3.0 UX refinements */
.topbar-right{margin-left:auto}
.profile-button{min-width:0;padding:5px 8px;border:1px solid #d8e1e7;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.profile-button:hover{background:#f8fbfc}
.profile-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}
.profile-copy strong{font-size:12px;color:#20323d}
.profile-copy small{margin-top:3px;color:#7a8790;font-size:10px;font-weight:normal}
.profile-chevron{color:#73818a;font-size:13px}
.profile-dropdown{top:48px;min-width:165px}
.compact-panel .compact-grid{align-items:end}
.compact-panel .field{min-width:0}
.compact-panel select,.compact-panel input{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-panel .field:nth-child(4){flex:1.05 1 145px}
.compact-panel .field:nth-child(5){flex:1.05 1 145px}
.compact-panel .field:nth-child(6){flex:1.05 1 145px}
.service-hidden-fields{display:none!important}
.service-details-modal{max-width:760px;padding:24px}
.modal-heading h2{margin:0 0 4px}
.modal-heading p{margin:0;color:#7b8790;font-size:12px}
.details-section{margin-top:18px;padding-top:16px;border-top:1px solid #e8edf0}
.details-section h3{margin:0 0 10px;color:#173f5f;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.muted{margin:3px 0 0;color:#7b8790;font-size:12px}
.actions-cell{white-space:nowrap}

/* DEV 2.4.0 Core Stable UI */
.service-hidden-fields{display:none!important}
.service-details-modal{width:min(760px,calc(100vw - 32px));max-height:88vh;overflow:auto;padding:24px}
.modal-heading h2{margin:0;color:#183d58}.modal-heading p{margin:5px 0 0;color:#7b8790;font-size:12px}
.details-section{margin-top:18px;padding-top:15px;border-top:1px solid #e7edf1}
.details-section h3{margin:0 0 10px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#55707f}
.detail-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.detail-modal-grid .detail-wide{grid-column:1/-1}
.detail-modal-grid small{display:block;margin-top:4px;color:#7c8992;font-size:10px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.workspace-actions{position:sticky;bottom:0;z-index:8;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid #e5ebef;padding:10px 0}
.save-main.is-saving{opacity:.65;cursor:wait}
.service-row-main{align-items:center}
.details-btn{white-space:nowrap}
.profile-button{max-width:190px}
.profile-copy{min-width:0}.profile-copy strong,.profile-copy small{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){
  .detail-modal-grid{grid-template-columns:1fr}
  .detail-modal-grid .detail-wide{grid-column:auto}
}

.voucher-service-table{margin:12px 0 18px}.voucher-service-table table{width:100%;border-collapse:collapse;font-size:11px}.voucher-service-table th,.voucher-service-table td{padding:7px 8px;border:1px solid #dfe5e9;text-align:left}.voucher-service-table th{background:#f4f7f9;color:#365466}

/* DEV 2.5.0 Voucher Designer */
.designer-intro,.designer-toolbar,.preview-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.designer-intro{margin-bottom:16px}.designer-intro h2{margin:3px 0 4px;font-size:26px}.designer-intro p{margin:0;color:#74818a}
.template-logo-mini{max-width:80px;max-height:35px;object-fit:contain}
.voucher-designer-grid{display:grid;grid-template-columns:minmax(430px,1fr) minmax(520px,1.05fr);gap:18px;align-items:start}
.designer-controls{display:flex;flex-direction:column;gap:12px}
.designer-card{background:#fff;border:1px solid #dfe6ea;border-radius:12px;padding:16px}
.designer-card h3{margin:0 0 12px;font-size:15px;color:#173f5f}
.designer-toolbar{margin-bottom:12px}
.designer-toolbar-actions{display:flex;gap:8px}
.logo-upload-row{display:flex;gap:14px;align-items:center;margin-bottom:10px}.logo-preview-box{width:130px;height:80px;border:1px dashed #c8d3da;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#fafcfd;color:#82909a}.logo-preview-box img{max-width:115px;max-height:65px;object-fit:contain}.grow{flex:1}
.visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toggle-line{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #e4eaee;border-radius:8px;background:#fafcfd}.toggle-line input{width:auto}
.preview-sticky{position:sticky;top:14px}.preview-header{padding:8px 2px}.preview-header span{font-size:11px;color:#7c8991}
.designer-paper{background:#e7ebee;padding:18px;border-radius:12px;overflow:auto}
.vd-sheet{width:100%;max-width:720px;min-height:960px;margin:auto;background:#fff;padding:48px;box-shadow:0 8px 25px rgba(0,0,0,.08);color:#1d2830}
.vd-brand{display:flex;align-items:center;justify-content:center;gap:16px;text-align:center}.vd-logo{max-height:75px;object-fit:contain}.vd-brand strong{display:block;font-size:26px;color:var(--vd-primary)}.vd-brand small{display:block;margin-top:3px;color:var(--vd-accent)}
.vd-sheet h1{text-align:center;color:var(--vd-primary);font-size:20px;margin:24px 0;border-bottom:2px solid var(--vd-primary);padding-bottom:5px}
.vd-sheet h3{color:var(--vd-primary);font-size:11px;margin:20px 0 8px}
.vd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.vd-grid div{display:flex;gap:8px;font-size:11px}.vd-grid span{min-width:105px;font-weight:bold}.vd-grid b{color:var(--vd-accent)}
.vd-table{width:100%;border-collapse:collapse;font-size:10px}.vd-table th,.vd-table td{border:1px solid #cfd7dc;padding:7px;text-align:left}.vd-table th{background:#f2f5f7;color:var(--vd-primary)}
.vd-remarks{display:grid;grid-template-columns:28% 72%;min-height:90px;border:1px solid #cfd7dc;margin-top:18px}.vd-remarks>strong{display:flex;align-items:center;justify-content:center;background:#f4f5f6;color:var(--vd-accent)}.vd-remarks>div{padding:12px}
.vd-invoice{margin-top:14px;color:var(--vd-accent);font-size:10px;font-weight:bold}.vd-footer{margin-top:80px;padding-top:10px;border-top:1px solid #aeb9c0;text-align:center;font-size:9px}.vd-footer div{margin-top:5px;color:#7a8790}
.vd-modern .vd-brand{justify-content:flex-start;text-align:left;border-bottom:3px solid var(--vd-primary);padding-bottom:12px}.vd-modern h1{text-align:left;border:0}.vd-compact{padding:34px}.vd-compact .vd-footer{margin-top:40px}
.dynamic-voucher-brand{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:24px;text-align:center}.dynamic-voucher-brand img{max-height:95px;object-fit:contain}.dynamic-brand-copy strong{display:block;color:var(--voucher-primary);font-size:28px}.dynamic-brand-copy span{display:block;margin-top:3px;color:var(--voucher-accent);font-size:12px}
.dynamic-voucher-section{margin-top:18px}.dynamic-voucher-section h3{color:var(--voucher-primary);font-size:11px;margin:0 0 8px}.dynamic-voucher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.dynamic-voucher-grid>div{display:flex;gap:8px;font-size:11px}.dynamic-voucher-grid span{min-width:115px;font-weight:bold}.dynamic-voucher-grid strong{color:var(--voucher-accent)}
.dynamic-voucher-table{width:100%;border-collapse:collapse;font-size:10px}.dynamic-voucher-table th,.dynamic-voucher-table td{border:1px solid #cfd7dc;padding:7px;text-align:left}.dynamic-voucher-table th{background:#f3f6f8;color:var(--voucher-primary)}
.dynamic-remarks{display:grid;grid-template-columns:28% 72%;border:1px solid #cfd7dc;min-height:100px;margin-top:20px}.dynamic-remarks-title{display:flex;align-items:center;justify-content:center;background:#f3f4f5;color:var(--voucher-accent);font-weight:bold}.dynamic-remarks>div:last-child{padding:12px}.dynamic-remark-item{margin-bottom:8px}.dynamic-remark-item span{display:block;font-size:10px}
.dynamic-voucher-footer{margin-top:75px;border-top:1px solid #aeb7bd;padding-top:10px;text-align:center;font-size:9px}.dynamic-voucher-footer span,.dynamic-voucher-footer small{display:block;margin-top:3px}
.voucher-template-modern .dynamic-voucher-brand{justify-content:flex-start;text-align:left;border-bottom:3px solid var(--voucher-primary);padding-bottom:12px}.voucher-template-modern .voucher-title{text-align:left}.voucher-template-compact{padding:35px!important}.voucher-template-compact .dynamic-voucher-footer{margin-top:35px}
.btn-disabled{background:#e8ecef!important;color:#7a858d!important;border-color:#dbe1e5!important;cursor:not-allowed}
.reservation-actionbar{align-items:center}
@media(max-width:1100px){.voucher-designer-grid{grid-template-columns:1fr}.preview-sticky{position:static}.designer-paper{max-height:none}.vd-sheet{min-height:820px}}
@media(max-width:650px){.visibility-grid,.vd-grid,.dynamic-voucher-grid{grid-template-columns:1fr}.vd-sheet{padding:28px}.designer-intro,.designer-toolbar{align-items:stretch;flex-direction:column}}

/* DEV 2.5.1 workflow / UX stabilisation */
.reservation-main{padding-bottom:92px}
.booking-grid-v251{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}
.booking-grid-v251 .guest-field{grid-column:span 2}.booking-grid-v251 .pax-field{grid-column:span 2}
.section-heading-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-heading-row h2{margin:2px 0 0}.section-heading-row small{color:#7e8b94}
.booking-number-chip{padding:7px 11px;background:#eaf4fa;color:#174866;border-radius:8px;font-size:12px;font-weight:bold}
.reservation-savebar{position:fixed;left:240px;right:0;bottom:0;z-index:70;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;background:rgba(255,255,255,.98);border-top:1px solid #dbe3e8;box-shadow:0 -8px 22px rgba(27,53,69,.07)}
.savebar-copy{display:flex;flex-direction:column}.savebar-copy strong{font-size:12px}.savebar-copy span{font-size:10px;color:#7b8891}.savebar-actions{display:flex;gap:8px;align-items:center}
.modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-details-modal,.small-modal{max-height:88vh;overflow:auto}
.services-card{min-height:230px}.services-scroll{max-height:280px;overflow:auto}
.page-actions-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.reservation-stats{display:flex;gap:8px}.mini-stat{min-width:105px;padding:11px 14px;border:1px solid #dfe6ea;background:#fff;border-radius:10px}.mini-stat strong{display:block;font-size:19px;color:#173f5f}.mini-stat span{font-size:10px;color:#78858e}
.reservation-list-panel{padding:0;overflow:hidden}.reservation-filterbar{display:flex;gap:8px;padding:14px;border-bottom:1px solid #e5ebef}.filter-search{position:relative;flex:1}.filter-search span{position:absolute;left:12px;top:10px;color:#89959d}.filter-search input{padding-left:34px;width:100%}.reservation-filterbar select{max-width:190px}
.reservation-table-wrap{overflow:auto}.reservation-table{margin:0}.reservation-table td{vertical-align:middle;padding:14px 12px}.booking-link{font-weight:800;color:#173f5f;text-decoration:none}.booking-link:hover{text-decoration:underline}.row-subtext{display:block;margin-top:3px;color:#89959d;font-size:10px}.data-missing{color:#a97516;font-size:11px}.row-open-button{display:inline-flex;padding:7px 11px;border-radius:7px;background:#edf5f9;color:#174c69;font-weight:bold;text-decoration:none;font-size:11px}
.empty-state{padding:28px;text-align:center;color:#7d8a92}.empty-state strong,.empty-state span{display:block}.empty-state strong{color:#53636d;margin-bottom:4px}
.reservation-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding:4px 0 10px}.hero-kicker{font-size:10px;letter-spacing:.08em;color:#7a8891;font-weight:bold}.reservation-hero h1{margin:2px 0 7px;font-size:28px}.hero-meta{display:flex;align-items:center;gap:8px;color:#65747d;font-size:12px}.reservation-primary-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.completion-alert{display:flex;align-items:center;gap:8px;padding:11px 14px;margin-bottom:14px;border:1px solid #efd18b;border-radius:9px;background:#fff9e9;color:#735315;font-size:11px}.completion-alert strong{color:#61460f}.completion-alert a{margin-left:auto;font-weight:bold;color:#174c69}
.reservation-summary-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;margin-bottom:12px}.summary-card{background:#fff;border:1px solid #dde5ea;border-radius:12px;padding:16px}.summary-card-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid #edf1f3}.summary-card-head span{font-size:12px;font-weight:800;color:#173f5f}.summary-card-head a{font-size:10px;font-weight:bold}.summary-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.summary-fields label{display:block;color:#839099;font-size:9px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.summary-fields strong{display:block;font-size:12px;overflow-wrap:anywhere}.summary-fields.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.guest-profile{display:flex;gap:10px;align-items:center;margin-top:13px}.guest-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8f3f8;color:#174c69;font-weight:800}.guest-profile strong,.guest-profile span{display:block}.guest-profile span{font-size:10px;color:#7f8c94;margin-top:2px}.empty-mini{padding:20px 2px;color:#7c8992}.empty-mini strong,.empty-mini span{display:block}.empty-mini strong{color:#5d6d76;margin-bottom:4px}
.reservation-services-panel,.voucher-history-panel{margin-top:12px}.pro-services-table td{vertical-align:top}.history-note{font-size:10px;color:#7b8891}
.toast{position:fixed;right:22px;top:22px;z-index:5000;padding:12px 16px;border-radius:9px;color:#fff;opacity:0;transform:translateY(-8px);transition:.2s;box-shadow:0 8px 24px rgba(0,0,0,.15);max-width:420px}.toast.show{opacity:1;transform:none}.toast-success{background:#16724b}.toast-error{background:#b72d2d}
@media(max-width:1180px){.booking-grid-v251{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-grid-v251 .guest-field,.booking-grid-v251 .pax-field{grid-column:span 2}}
@media(max-width:900px){.reservation-savebar{left:0}.reservation-summary-grid{grid-template-columns:1fr}.reservation-hero,.page-actions-head{flex-direction:column;align-items:stretch}.reservation-primary-actions{justify-content:flex-start}.booking-grid-v251{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.booking-grid-v251,.modal-form-grid{grid-template-columns:1fr}.booking-grid-v251 .guest-field,.booking-grid-v251 .pax-field{grid-column:auto}.reservation-savebar{position:sticky;padding:9px 12px;flex-direction:column;align-items:stretch}.savebar-actions{display:grid;grid-template-columns:1fr}.savebar-copy{display:none}.reservation-main{padding-bottom:20px}.reservation-stats{overflow:auto}.reservation-filterbar{flex-wrap:wrap}.filter-search{flex-basis:100%}.reservation-filterbar select{max-width:none;flex:1}.summary-fields,.summary-fields.compact{grid-template-columns:1fr}.completion-alert{align-items:flex-start;flex-direction:column}.completion-alert a{margin-left:0}}

/* DEV 2.5.2 compact navigation and layout */
:root{--sidebar-expanded:240px;--sidebar-collapsed:64px}
.sidebar{width:var(--sidebar-expanded);transition:width .2s ease}
.main{margin-left:var(--sidebar-expanded);transition:margin-left .2s ease;padding-top:14px}
.topbar{min-height:54px;padding:6px 0 12px;margin-bottom:8px}
.topbar h1{font-size:24px;margin:0}.page-subtitle{margin-top:2px}
.sidebar-brand{position:relative;min-height:54px;padding-right:34px}
.sidebar-collapse{position:absolute;right:7px;top:14px;width:24px;height:24px;padding:0;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:6px;cursor:pointer;font-size:14px}
.sidebar-user{display:flex;align-items:center;gap:5px;padding:0 14px 12px;margin-top:-3px;font-size:10px;color:#b8d1df;white-space:nowrap;overflow:hidden}
.sidebar-user a{color:#fff;text-decoration:none;font-weight:700}.sidebar-user a:hover{text-decoration:underline}
.nav-icon{display:none;width:25px;text-align:center;font-size:11px;font-weight:800}
body.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed)}
body.sidebar-collapsed .main{margin-left:var(--sidebar-collapsed)}
body.sidebar-collapsed .reservation-savebar{left:var(--sidebar-collapsed)}
body.sidebar-collapsed .sidebar-brand{padding:10px 8px;justify-content:center}
body.sidebar-collapsed .sidebar-brand .brand-text,body.sidebar-collapsed .sidebar-user,body.sidebar-collapsed .nav-title,body.sidebar-collapsed .nav-text{display:none}
body.sidebar-collapsed .sidebar-collapse{right:-11px;top:16px;background:#174866;border-color:#3d6b86;z-index:20}
body.sidebar-collapsed .nav-link{justify-content:center;padding-left:7px;padding-right:7px}
body.sidebar-collapsed .nav-icon{display:inline-flex;align-items:center;justify-content:center}
body.sidebar-collapsed .logo-box{margin:0}
.voucher-list-head h2{margin:3px 0}.page-help{margin:0;color:#7b8891;font-size:11px}
.reservation-hero{margin-top:0}.reservation-main .topbar{margin-bottom:5px}
@media(max-width:900px){
 .main{margin-left:0}
 .sidebar{width:var(--sidebar-expanded)}
 body.sidebar-collapsed .sidebar{width:var(--sidebar-expanded)}
 body.sidebar-collapsed .sidebar-brand .brand-text,body.sidebar-collapsed .sidebar-user,body.sidebar-collapsed .nav-title,body.sidebar-collapsed .nav-text{display:initial}
 body.sidebar-collapsed .nav-icon{display:none}
 .sidebar-collapse{display:none}
}

/* DEV 2.5.3 itinerary modal + print parity */
.compact-itinerary-card{min-height:auto}.compact-itinerary-card .section-heading-row{margin-bottom:8px}
.itinerary-list{display:flex;flex-direction:column;gap:7px}.itinerary-item{border:1px solid #e0e7eb;border-radius:9px;background:#fbfcfd;overflow:hidden}
.itinerary-main{display:grid;grid-template-columns:34px minmax(220px,1.5fr) minmax(190px,.9fr) auto;gap:10px;align-items:center;padding:9px 10px}
.itinerary-copy strong,.itinerary-copy span{display:block}.itinerary-copy strong{font-size:12px;color:#1d3443}.itinerary-copy span{font-size:10px;color:#7c8991;margin-top:2px}
.itinerary-meta{display:flex;gap:10px;align-items:center;font-size:10px;color:#62737d}.itinerary-actions{display:flex;gap:6px}
.empty-itinerary{padding:24px;text-align:center;color:#849099;border:1px dashed #cfdae0;border-radius:9px}.empty-itinerary strong,.empty-itinerary span{display:block}.empty-itinerary strong{color:#52636d;margin-bottom:4px}
.service-entry-modal{width:min(820px,calc(100vw - 28px));max-height:90vh;overflow:auto}
.type-check-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.check-chip{position:relative}.check-chip input{position:absolute;opacity:0;pointer-events:none}.check-chip span{display:inline-flex;padding:7px 10px;border:1px solid #d5dfe5;border-radius:999px;background:#fff;font-size:10px;cursor:pointer}.check-chip input:checked+span{background:#e7f3fa;border-color:#6e9fbb;color:#164b69;font-weight:800}
@media(max-width:900px){.itinerary-main{grid-template-columns:30px 1fr auto}.itinerary-meta{grid-column:2/3}.itinerary-actions{grid-column:3/4;grid-row:1/3}}
@media print{.voucher-sheet{box-shadow:none!important;border:0!important}.dynamic-voucher-brand,.voucher-title,.dynamic-voucher-section,.dynamic-remarks,.invoice-note,.dynamic-voucher-footer{break-inside:avoid}}

/* DEV 2.5.4 Supplier Master */
.supplier-searchbar{padding:0;border:0;flex:1;max-width:720px}.supplier-actions{white-space:nowrap}.row-delete-button{border:0;background:transparent;color:#b52222;font-weight:700;font-size:11px;cursor:pointer;padding:7px 6px}.row-delete-button:hover{text-decoration:underline}
.type-pill-row{display:flex;gap:5px;flex-wrap:wrap}.type-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf5f9;color:#174c69;font-size:9px;font-weight:800}
.duplicate-warning{display:inline-flex;margin-left:7px;padding:3px 6px;border-radius:999px;background:#fff0e8;color:#a44517;font-size:9px;font-weight:800}
.supplier-editor-panel{max-width:1100px}.supplier-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.supplier-name-field{grid-column:span 1}.supplier-types-field{grid-column:span 2}.supplier-form-grid .detail-wide{grid-column:1/-1}.sticky-form-actions{position:sticky;bottom:0;background:#fff;padding-top:14px;margin-top:10px;border-top:1px solid #edf1f3;z-index:2}
@media(max-width:850px){.supplier-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-types-field{grid-column:1/-1}}
@media(max-width:600px){.supplier-form-grid{grid-template-columns:1fr}.supplier-name-field,.supplier-types-field{grid-column:auto}}

/* DEV 2.6.0 Management + Workflow */
.management-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}
.management-stats .stat{position:relative;min-height:104px;padding:16px;border:1px solid #dbe4e9;background:#fff;border-radius:12px}
.management-stats .stat span{display:block;color:#71808a;font-size:11px}.management-stats .stat strong{display:block;margin:7px 0 5px;font-size:26px;color:#143f5e}.management-stats .stat small{font-size:9px;color:#8b979e}
.stat-with-popover{cursor:default}.stat-popover{display:none;position:absolute;z-index:100;top:calc(100% - 4px);left:10px;right:10px;min-width:190px;background:#173f5f;color:#fff;padding:12px;border-radius:10px;box-shadow:0 12px 30px rgba(17,50,72,.25)}
.stat-with-popover:hover .stat-popover{display:block}.stat-popover>b{display:block;margin-bottom:6px}.stat-popover>span{display:flex!important;justify-content:space-between;color:#d9e8f0!important;padding:3px 0}.stat-popover>span strong{font-size:11px!important;color:#fff!important;margin:0!important}

.calendar-panel{padding:16px;overflow:visible}.calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.calendar-head h2{margin:2px 0}.calendar-nav{display:flex;gap:6px;flex-wrap:wrap}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#edf4f7;border:1px solid #d9e3e8;border-bottom:0;border-radius:9px 9px 0 0;overflow:hidden}.calendar-weekdays div{padding:8px;text-align:center;font-size:9px;font-weight:800;color:#62737e;text-transform:uppercase}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #dce5ea;border-top:1px solid #dce5ea}
.calendar-day{min-height:116px;padding:7px;border-right:1px solid #dce5ea;border-bottom:1px solid #dce5ea;background:#fff}.calendar-day.outside-month{background:#f8fafb}.calendar-day.today{box-shadow:inset 0 0 0 2px #5f95b3}
.calendar-date{font-size:10px;font-weight:800;color:#61727c;margin-bottom:5px}.calendar-day.today .calendar-date{display:inline-flex;width:23px;height:23px;border-radius:50%;align-items:center;justify-content:center;background:#174866;color:#fff}
.calendar-events{display:flex;flex-direction:column;gap:4px}.calendar-event{width:100%;text-align:left;border:0;border-radius:6px;padding:5px 6px;background:#eaf4f8;color:#194d68;cursor:pointer;overflow:hidden}.calendar-event:hover{filter:brightness(.97)}.calendar-event strong,.calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event strong{font-size:9px}.calendar-event span{font-size:8px;opacity:.78;margin-top:1px}.calendar-event.confirmed{background:#e7f5ec;color:#20633d}.calendar-event.cancelled{background:#fdecec;color:#9a3333}.calendar-more{font-size:8px;color:#71828d;padding:2px 5px}
.calendar-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.calendar-detail-grid label{display:block;font-size:9px;color:#7d8a92;text-transform:uppercase;margin-bottom:3px}.calendar-detail-grid strong{font-size:12px}.calendar-event-dialog{max-width:620px}

.voucher-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}

.country-summary-strip,.supplier-category-strip{display:flex;gap:8px;overflow:auto;padding-bottom:10px}.country-summary,.category-tile{min-width:105px;display:flex;flex-direction:column;padding:10px 12px;background:#fff;border:1px solid #dce5ea;border-radius:10px;text-decoration:none}.country-summary strong,.category-tile strong{font-size:18px;color:#174866}.country-summary span,.category-tile span{font-size:9px;color:#72808a;margin-top:2px}.country-summary.active,.category-tile.active{border-color:#5d91ad;background:#edf6fa}

.journey-panel{margin-bottom:12px}.journey-scroll{overflow-x:auto;padding:8px 2px 6px}.journey-track{display:flex;align-items:flex-start;min-width:max-content;padding:6px 8px 18px;position:relative}.journey-track:before{content:"";position:absolute;left:28px;right:28px;top:21px;height:3px;background:#d8e4ea}
.journey-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:170px;text-decoration:none;color:inherit}.journey-dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#174866;color:#fff;font-weight:800;border:4px solid #fff;box-shadow:0 0 0 2px #a9c5d4}
.journey-card{width:150px;margin-top:8px;padding:9px;background:#fff;border:1px solid #dce5ea;border-radius:9px;text-align:center}.journey-card strong,.journey-card span,.journey-card small{display:block}.journey-card strong{font-size:10px;color:#173f5f}.journey-card span{font-size:9px;margin-top:2px}.journey-card small{font-size:8px;color:#849099;margin-top:3px}.journey-amendment .journey-dot{background:#c78312;box-shadow:0 0 0 2px #edc87d}.journey-current .journey-dot{background:#24744b;box-shadow:0 0 0 2px #95c9ae}
.journey-node:hover .journey-card{border-color:#78a4bb;box-shadow:0 6px 18px rgba(23,72,102,.10)}

.danger-intro{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.danger-intro h2{margin:3px 0}.danger-intro p{margin:0;color:#71808a}
.data-count-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.data-count{padding:14px;background:#fff;border:1px solid #dce5ea;border-radius:10px}.data-count span{display:block;color:#7b8891;font-size:9px;text-transform:uppercase}.data-count strong{display:block;margin-top:5px;font-size:22px;color:#173f5f}
.danger-zone{border-color:#efc2c2}.danger-zone-head{display:flex;justify-content:space-between;gap:12px}.danger-zone-head h2{color:#932c2c}.danger-zone-head p{color:#765f5f}.danger-pill{display:inline-flex;height:25px;padding:0 9px;align-items:center;background:#fdeaea;color:#a72d2d;border-radius:999px;font-size:9px;font-weight:800}
.keep-note{margin:14px 0;padding:10px 12px;background:#f4f7f8;border-radius:8px;font-size:10px}.danger-confirm-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;max-width:650px}.danger-confirm-form label{grid-column:1/-1;font-size:10px}.btn-danger-solid{background:#b72f2f;color:#fff;border:1px solid #b72f2f}.btn-danger-outline{background:#fff;color:#a62929;border:1px solid #e3aaaa}.btn-danger-outline:hover{background:#fff4f4}

@media(max-width:1200px){.management-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.data-count-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.calendar-grid{min-width:850px}.calendar-weekdays{min-width:850px}.calendar-panel{overflow:auto}.voucher-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.data-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.management-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-head{flex-direction:column}.calendar-detail-grid{grid-template-columns:1fr}.danger-confirm-form{grid-template-columns:1fr}.data-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* DEV 2.6.1 UI sync + branding */
.company-sidebar-logo{width:34px;height:34px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:7px;background:rgba(255,255,255,.08);flex:0 0 auto}
.company-sidebar-logo img{max-width:100%;max-height:100%;object-fit:contain}
body.sidebar-collapsed .company-sidebar-logo{width:36px;height:36px}
body.sidebar-collapsed .sidebar-brand:not(:has(.company-sidebar-logo)){min-height:48px}
.settings-section+.settings-section{margin-top:20px;padding-top:20px;border-top:1px solid #e5ebef}.settings-section-head{margin-bottom:12px}.settings-section-head h2{margin:0}.settings-section-head p{margin:4px 0 0}
.company-logo-setting{display:flex;gap:18px;align-items:center}.company-logo-preview{width:160px;height:86px;border:1px dashed #cbd8df;background:#fafcfd;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#81909a;font-size:10px;overflow:hidden}.company-logo-preview img{max-width:145px;max-height:72px;object-fit:contain}

.guest-toolbar{margin-bottom:12px}.guest-search-form{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,240px) auto auto;gap:8px;flex:1;max-width:900px}.guest-search-form select{width:100%}

.dashboard-scopebar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-4px 0 10px}.dashboard-scopebar>span{font-size:9px;color:#77858e;text-transform:uppercase;font-weight:800}.scope-segment{display:flex;padding:3px;background:#eaf0f3;border-radius:9px}.scope-segment a{padding:6px 11px;border-radius:7px;text-decoration:none;color:#536773;font-size:10px;font-weight:700}.scope-segment a.active{background:#fff;color:#174866;box-shadow:0 1px 4px rgba(20,56,77,.12)}
.stat-popover>em{display:block;color:#9fc0d1;font-size:8px;font-style:normal;margin:-3px 0 7px}

@media(max-width:760px){
 .company-logo-setting{align-items:flex-start;flex-direction:column}
 .guest-search-form{grid-template-columns:1fr 1fr}.guest-search-form input{grid-column:1/-1}
 .dashboard-scopebar{justify-content:space-between}
}

/* DEV 2.6.2 professional period, calendar and role control */
.dashboard-period-card{display:grid;grid-template-columns:auto auto 1fr;align-items:end;gap:18px;padding:13px 15px;margin-bottom:12px;background:#fff;border:1px solid #dbe4e9;border-radius:12px}
.period-title{min-width:135px}.period-title span,.period-title strong{display:block}.period-title strong{margin-top:4px;color:#173f5f;font-size:12px}
.scope-segment.professional{align-self:center}.scope-segment.professional a{min-width:55px;text-align:center}
.period-picker-form{display:flex;justify-content:flex-end;align-items:end;gap:8px}.period-picker-form label span{display:block;font-size:8px;font-weight:800;text-transform:uppercase;color:#7a8891;margin-bottom:3px}.period-picker-form input,.period-picker-form select{height:33px;min-width:150px}.all-time-label{height:33px;display:flex;align-items:center;color:#74838c;font-size:10px}

.professional-calendar .calendar-head{align-items:center}.calendar-controls{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.calendar-jump-form{display:flex;align-items:end;gap:6px;padding:5px 6px;background:#f1f5f7;border-radius:8px}.calendar-jump-form label span{display:block;font-size:7px;font-weight:800;text-transform:uppercase;color:#78868e;margin-bottom:2px}.calendar-jump-form select{height:30px;min-width:105px;font-size:10px}

.role-security-note{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;padding:13px 15px;background:#edf5f9;border:1px solid #d2e3ec;border-radius:11px}.role-security-note div strong,.role-security-note div span{display:block}.role-security-note div strong{color:#174866}.role-security-note div span{font-size:10px;color:#637681;margin-top:3px}.scope-badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase;white-space:nowrap}.scope-badge.saas{background:#173f5f;color:#fff}.scope-badge.company{background:#dff0e7;color:#246645}

.roles-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px;align-items:start}.role-list-panel{background:#fff;border:1px solid #dce5ea;border-radius:11px;overflow:hidden}.role-list-head{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid #e7edf0}.role-list-head h2{margin:2px 0 0}.role-list{max-height:70vh;overflow:auto}.role-list-item{display:flex;justify-content:space-between;gap:10px;padding:12px 13px;border-bottom:1px solid #edf1f3;text-decoration:none;color:inherit}.role-list-item:hover{background:#f7fafb}.role-list-item.active{background:#edf6fa;border-left:3px solid #2c759c;padding-left:10px}.role-list-copy strong,.role-list-copy span{display:block}.role-list-copy strong{font-size:11px;color:#1d3443}.role-list-copy span{margin-top:3px;font-size:8px;color:#849099}.role-counts{display:flex;gap:7px}.role-counts span{text-align:center}.role-counts b,.role-counts small{display:block}.role-counts b{font-size:12px;color:#174866}.role-counts small{font-size:7px;color:#87939a}

.role-editor-panel{padding:16px}.role-editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid #e4ebef}.role-name-editor{border:0!important;padding:0!important;font-size:22px!important;font-weight:800!important;color:#172f41!important;background:transparent!important;height:auto!important;max-width:420px}.role-editor-head small{display:block;color:#849099;margin-top:3px}.role-head-actions{display:flex;align-items:center;gap:10px}.read-only-banner{margin-top:12px;padding:9px 11px;border-radius:8px;background:#fff3d8;color:#785918;font-size:9px}
.permission-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 10px}.permission-toolbar strong,.permission-toolbar span{display:block}.permission-toolbar strong{font-size:12px}.permission-toolbar span{font-size:9px;color:#849099;margin-top:2px}.permission-toolbar>div:last-child{display:flex;gap:6px}
.permission-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-module{border:1px solid #dfe7eb;border-radius:9px;overflow:hidden;background:#fbfcfd}.permission-module-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;background:#f2f6f8}.permission-module-head strong,.permission-module-head span{display:block}.permission-module-head strong{font-size:10px;color:#1c425b}.permission-module-head span{font-size:7px;color:#849099;margin-top:2px}.module-toggle{border:0;background:transparent;color:#17628d;font-size:8px;font-weight:800;cursor:pointer}
.permission-chip-grid{display:grid;grid-template-columns:1fr;gap:0}.permission-chip{position:relative;display:flex;align-items:center;gap:9px;padding:9px 10px;border-top:1px solid #edf1f3;cursor:pointer;background:#fff}.permission-chip:first-child{border-top:0}.permission-chip input{width:15px;height:15px;flex:0 0 auto}.permission-chip span b,.permission-chip span small{display:block}.permission-chip span b{font-size:9px;color:#253d4d}.permission-chip span small{font-size:7px;color:#87939b;margin-top:2px}.permission-chip em{margin-left:auto;font-size:7px;font-style:normal;background:#173f5f;color:#fff;padding:3px 5px;border-radius:999px}.permission-chip:has(input:checked){background:#eef7fb}
.role-delete-zone{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid #e7ecef;color:#89949a;font-size:9px}.role-delete-zone form{margin:0}
.role-create-modal{width:min(900px,calc(100vw - 30px));max-height:90vh;overflow:auto}.permission-create-scroll{margin-top:12px;max-height:52vh;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.permission-module.compact .permission-chip-grid{display:grid}.info-box{padding:9px 10px;border-radius:8px;background:#eef6fa;color:#466572;font-size:9px;margin:8px 0}

@media(max-width:1050px){
 .dashboard-period-card{grid-template-columns:1fr 1fr}.period-picker-form{grid-column:1/-1;justify-content:flex-start}
 .roles-layout{grid-template-columns:230px minmax(0,1fr)}.permission-modules{grid-template-columns:1fr}
}
@media(max-width:760px){
 .dashboard-period-card{grid-template-columns:1fr}.period-picker-form{grid-column:auto;justify-content:flex-start;flex-wrap:wrap}
 .scope-segment.professional{overflow:auto}
 .professional-calendar .calendar-head{align-items:flex-start}.calendar-controls{justify-content:flex-start}
 .roles-layout{grid-template-columns:1fr}.role-list{max-height:280px}.permission-create-scroll{grid-template-columns:1fr}
}

/* DEV 2.6.3 dashboard + login polish */
.dashboard-period-card{grid-template-columns:170px auto 1fr;padding:12px 14px;min-height:74px}
.period-title strong{font-size:11px}.auto-period-picker{justify-self:end}
.auto-period-picker input,.auto-period-picker select{height:34px;min-width:150px;border-radius:8px}
.management-stats .stat{min-height:96px;padding:15px}.management-stats .stat strong{font-size:25px;margin:7px 0 0}.management-stats .stat small.kpi-context{display:none}
.stat-popover{top:calc(100% - 2px)}
.clean-calendar-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.clean-calendar-controls .calendar-nav{display:flex;align-items:center;gap:6px}
.calendar-arrow{width:31px;height:31px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #d7e1e6;border-radius:8px;background:#fff;color:#174866;font-size:18px;line-height:1}
.calendar-current{height:31px;padding:0 11px;border:1px solid #d7e1e6;border-radius:8px;background:#fff;color:#294554;font-size:9px;font-weight:800;cursor:pointer}
.calendar-filter-group{display:flex;gap:6px;padding:5px 7px;background:#f1f5f7;border-radius:9px}
.calendar-filter-group label span{display:block;font-size:7px;font-weight:800;text-transform:uppercase;color:#839099;margin:0 0 2px 2px}
.calendar-filter-group select{height:30px;border:1px solid #d3dfe5;border-radius:7px;background:#fff;font-size:10px;min-width:92px;padding:0 25px 0 8px}
.calendar-filter-group label:first-child select{min-width:118px}
.professional-calendar .calendar-head{gap:18px}

.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#edf4f7 0%,#f7fafb 100%);padding:24px}
.login-shell{width:min(440px,100%)}.professional-login-card{width:100%;margin:0;padding:34px 36px;border:1px solid #e0e7eb;border-radius:18px;box-shadow:0 18px 50px rgba(21,54,72,.08);background:#fff}
.login-brand{display:flex;align-items:center;gap:15px;margin-bottom:7px}.login-company-logo{width:72px;max-height:62px;object-fit:contain}.login-brand h1{margin:0;font-size:27px;line-height:1.15}.login-company-name{display:block;color:#71808a;font-size:10px;margin-top:5px}.login-subtitle{margin:0 0 22px;color:#75838c;font-size:12px}.login-form{display:flex;flex-direction:column;gap:14px}.login-form .field{margin:0}.login-form .field label{margin-bottom:6px}.login-form input{height:44px;border-radius:9px}.login-form .btn{height:44px;margin-top:2px;border-radius:9px}.login-footer{text-align:center;margin-top:14px;color:#8b979e;font-size:9px;letter-spacing:.02em}

@media(max-width:900px){
 .dashboard-period-card{grid-template-columns:1fr auto}.auto-period-picker{grid-column:1/-1;justify-self:start}
 .professional-calendar .calendar-head{align-items:flex-start}.clean-calendar-controls{justify-content:flex-start}
}
@media(max-width:600px){
 .dashboard-period-card{grid-template-columns:1fr}.scope-segment.professional{width:100%}.scope-segment.professional a{flex:1;min-width:auto}
 .auto-period-picker{grid-column:auto;width:100%}.auto-period-picker label{width:100%}.auto-period-picker input,.auto-period-picker select{width:100%}
 .clean-calendar-controls{width:100%}.calendar-filter-group{width:100%}.calendar-filter-group label{flex:1}.calendar-filter-group select,.calendar-filter-group label:first-child select{width:100%;min-width:0}
 .professional-login-card{padding:28px 24px}.login-brand{align-items:flex-start;flex-direction:column}.login-company-logo{width:90px;max-height:65px}
}

/* DEV 2.6.4 Dashboard UI polish */
.fixed-period-card{
  display:grid;
  grid-template-columns:170px auto minmax(190px,1fr);
  align-items:center;
  gap:18px;
  min-height:88px;
  padding:12px 14px;
}
.fixed-period-card .period-title{align-self:center}
.fixed-period-card .scope-segment{align-self:center}
.period-picker-slot{
  justify-self:end;
  width:100%;
  max-width:230px;
  min-height:48px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
}
.period-picker-slot label{
  width:100%;
  margin:0;
}
.period-picker-slot label span{
  display:block;
  min-height:12px;
  margin:0 0 3px 2px;
  font-size:7px;
  line-height:12px;
  font-weight:800;
  text-transform:uppercase;
  color:#7e8c95;
}
.period-picker-slot input,
.period-picker-slot select{
  width:100%;
  height:34px;
  margin:0;
  border-radius:8px;
}
.period-static-placeholder{
  width:100%;
  height:48px;
  visibility:hidden;
}
.scope-segment.professional{
  display:flex;
  align-items:center;
  height:34px;
}
.scope-segment.professional a{
  display:flex;
  align-items:center;
  justify-content:center;
  height:28px;
  padding-top:0;
  padding-bottom:0;
}

.clean-calendar-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.unified-calendar-nav{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0;
  background:transparent;
  border:0;
}
.calendar-inline-select{
  height:31px;
  border:1px solid #d7e1e6;
  border-radius:8px;
  background:#fff;
  color:#294554;
  font-size:9px;
  font-weight:700;
  padding:0 26px 0 9px;
  margin:0;
}
.calendar-inline-select.month-select{min-width:112px}
.calendar-inline-select.year-select{min-width:82px}
.calendar-current{
  height:31px;
  padding:0 12px;
  border:1px solid #d7e1e6;
  border-radius:8px;
  background:#fff;
  color:#294554;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.calendar-arrow{
  width:31px;
  height:31px;
  flex:0 0 31px;
}
.professional-calendar .calendar-head{
  align-items:center;
}
.professional-calendar .calendar-head > div:first-child{
  min-width:0;
  flex:1;
}
.professional-calendar .calendar-controls{
  flex:0 0 auto;
}

@media(max-width:900px){
  .fixed-period-card{
    grid-template-columns:1fr;
    gap:10px;
  }
  .period-picker-slot{
    justify-self:start;
    max-width:none;
  }
  .period-static-placeholder{display:none}
  .professional-calendar .calendar-head{
    align-items:flex-start;
  }
  .clean-calendar-controls{
    justify-content:flex-start;
  }
}
@media(max-width:620px){
  .unified-calendar-nav{
    flex-wrap:wrap;
  }
  .calendar-inline-select.month-select,
  .calendar-inline-select.year-select{
    min-width:0;
    flex:1 1 120px;
  }
}

/* DEV 2.7.0 Production workflow */
.itinerary-live-summary{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:8px;color:#849099}
.dot-sep{opacity:.6}
.itinerary-actions{display:flex;align-items:center;gap:4px}
.icon-action{width:26px;height:26px;border:1px solid #dce5ea;border-radius:6px;background:#fff;color:#45606f;font-size:10px;cursor:pointer;padding:0}
.icon-action:hover{background:#eef5f8;color:#174866}
.workflow-readiness{display:flex;align-items:center;gap:14px;padding:11px 13px;margin-bottom:12px;border:1px solid #dce5ea;background:#fff;border-radius:11px}
.readiness-copy{min-width:160px}.readiness-copy span,.readiness-copy strong{display:block}.readiness-copy strong{margin-top:2px;font-size:11px;color:#193f59}
.readiness-items{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.readiness-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:800}
.readiness-chip.done{background:#e8f5ed;color:#236542}.readiness-chip.missing{background:#fff0e8;color:#9a4a1b}
.workflow-readiness>a{font-size:9px;font-weight:800;color:#17628d;text-decoration:none;white-space:nowrap}
.production-hero .reservation-primary-actions button:disabled{opacity:.48;cursor:not-allowed}
.itinerary-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.service-total-pills{display:flex;gap:5px;flex-wrap:wrap}.service-total-pills span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef5f8;color:#315365;font-size:8px}.service-total-pills b{margin-right:4px}
.pro-services-table td:first-child{width:34px;color:#75858e;font-weight:800}
.voucher-history-panel .history-note{font-size:8px;color:#7b8891}
@media(max-width:800px){
 .workflow-readiness{align-items:flex-start;flex-direction:column}.readiness-copy{min-width:0}.workflow-readiness>a{white-space:normal}
 .itinerary-main{grid-template-columns:30px minmax(0,1fr)}.itinerary-meta,.itinerary-actions{grid-column:2}.itinerary-actions{justify-content:flex-start}
}

/* DEV 2.7.1 Dashboard alignment + logo control */
.floating-mobile-menu{display:none}

/* Dashboard starts cleanly without the redundant Dashboard / Management overview heading */
body:not(.sidebar-collapsed) .main > .dashboard-period-card:first-of-type{margin-top:0}

/* Keep every period selector visually identical and prevent clipped values */
.period-picker-slot{
  min-width:220px;
  height:48px;
  min-height:48px;
  align-items:flex-end;
}
.period-picker-slot label{
  display:grid;
  grid-template-rows:12px 36px;
  gap:2px;
  width:100%;
  height:48px;
}
.period-picker-slot label span{
  height:12px;
  min-height:12px;
  line-height:12px;
  margin:0 0 0 2px;
}
.period-picker-slot input,
.period-picker-slot select{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:36px!important;
  min-height:36px!important;
  line-height:normal!important;
  padding:0 34px 0 12px!important;
  font-size:11px!important;
  font-weight:700;
  vertical-align:middle;
  overflow:visible;
}
.period-picker-slot select option{font-size:11px;line-height:normal}

/* Event Calendar controls must be a single horizontal toolbar on normal laptop/desktop widths */
.professional-calendar .calendar-head{
  display:grid;
  grid-template-columns:minmax(300px,1fr) auto;
  align-items:center;
  gap:16px;
}
.clean-calendar-controls{
  display:block;
  min-width:max-content;
}
.unified-calendar-nav{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:6px!important;
  padding:0!important;
  background:transparent!important;
}
.unified-calendar-nav .calendar-arrow,
.unified-calendar-nav .calendar-current,
.unified-calendar-nav .calendar-inline-select{
  flex:0 0 auto;
  margin:0;
}
.calendar-inline-select.month-select{width:108px;min-width:108px}
.calendar-inline-select.year-select{width:78px;min-width:78px}
.calendar-inline-select{
  height:31px!important;
  min-height:31px!important;
  padding:0 24px 0 8px!important;
  line-height:normal!important;
}

/* Voucher logo controls */
.logo-option-row{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:10px;padding:9px 10px;background:#f6f9fa;border:1px solid #e1e8ec;border-radius:8px}
.logo-option-row .check-line{margin:0;font-size:9px}
.logo-option-row .danger-option{color:#a13434}
.logo-hide-option{color:#244f67}

@media(max-width:900px){
  .floating-mobile-menu{display:inline-flex;position:fixed;z-index:120;top:10px;left:10px}
  .professional-calendar .calendar-head{grid-template-columns:1fr}
  .clean-calendar-controls{min-width:0;overflow-x:auto;padding-bottom:3px}
  .unified-calendar-nav{width:max-content}
  .period-picker-slot{min-width:0;max-width:100%}
}
