:root{--ink:#202b3c;--muted:#8490a2;--line:#e9edf2;--paper:#f7f8fa;--blue:#3978d4;--nav:#17253a;--green:#25a878;--shadow:0 1px 3px rgba(20,34,53,.04)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px 'DM Sans',sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{width:258px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#d5deea;padding:20px 14px 14px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;color:white;padding:0 10px 25px}.brand-mark{height:34px;width:34px;border-radius:10px;background:#3275ce;display:grid;place-items:center;font:800 24px Manrope,sans-serif;color:white}.brand strong{font:800 20px Manrope,sans-serif;letter-spacing:-.8px;display:block;line-height:21px}.brand small{font-size:8px;letter-spacing:1.5px;color:#8fa1b8}.workspace-label,.nav-group>p{color:#7d8da3;font-size:9px;font-weight:700;letter-spacing:1.05px;margin:0 10px 9px}.workspace-switch{display:flex;align-items:center;gap:9px;background:#22334b;border:1px solid #33445b;color:#edf4fd;padding:9px;border-radius:8px;text-align:left;width:100%;cursor:pointer}.workspace-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:#dce8f8;color:#31517d;font-weight:700}.workspace-switch strong,.workspace-switch small{display:block}.workspace-switch strong{font-size:11px}.workspace-switch small{font-size:10px;color:#97a9bf;margin-top:2px}.chevron{margin-left:auto;color:#98a9be}.navigation{overflow-y:auto;margin-top:20px;scrollbar-width:thin}.nav-group{margin-bottom:20px}.nav-group>p{margin-bottom:6px}.nav-link{display:flex;align-items:center;gap:11px;height:34px;padding:0 10px;border-radius:6px;color:#aebacd;font-size:12px;margin:1px 0}.nav-link:hover{color:white;background:#23364f}.nav-link.active{background:#2a4160;color:white;font-weight:600}.nav-icon{width:16px;text-align:center;font-size:15px;color:#8ea3bd}.nav-link.active .nav-icon{color:#8bbcff}.nav-count{margin-left:auto;background:#344b6b;color:#dce8f7;font-size:10px;padding:2px 7px;border-radius:10px}.sidebar-bottom{margin-top:auto}.sidebar-help{display:flex;align-items:center;gap:9px;border:1px solid #33445b;padding:10px 9px;border-radius:8px;font-size:10px}.help-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:6px;background:#2a4160;color:#9cc2f6}.sidebar-help strong,.sidebar-help small{display:block}.sidebar-help strong{font-size:10px;color:#e3ebf6}.sidebar-help small{font-size:9px;color:#8d9db3;margin-top:3px}.sidebar-help>span:last-child{margin-left:auto;color:#90a2b8}.sidebar-foot{font-size:9px;color:#788aa2;padding:14px 5px 0}.sidebar-foot span{float:right}.main-area{margin-left:258px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:62px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:4}.breadcrumbs{display:flex;gap:10px;color:#8994a3;font-size:12px}.breadcrumbs strong{color:#283448;font-weight:600}.crumb-sep{color:#cad0d8}.top-actions{display:flex;align-items:center;gap:17px}.icon-button{height:32px;width:32px;background:transparent;border:0;color:#6d788a;font-size:18px;cursor:pointer;position:relative;border-radius:6px}.icon-button:hover{background:#f2f5f9}.notification-button i{width:6px;height:6px;background:#e65d5d;border:1px solid white;border-radius:50%;position:absolute;right:6px;top:5px}.top-divider{height:25px;width:1px;background:var(--line);margin:0 1px}.user-menu{display:flex;align-items:center;gap:9px;background:none;border:0;text-align:left;cursor:pointer}.user-avatar{height:32px;width:32px;border-radius:50%;background:#dce9f9;color:#416c9c;display:grid;place-items:center;font-weight:700}.user-copy strong,.user-copy small{display:block}.user-copy strong{font-size:11px;color:#303b4d}.user-copy small{font-size:9px;color:#8994a3;margin-top:3px}.logout-button{border:0;background:none;color:#8b96a5;cursor:pointer;font-size:16px}.page-content{padding:31px 36px 26px;flex:1;max-width:1600px;width:100%;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.eyebrow{font-size:9px;letter-spacing:1.1px;color:#8390a2;font-weight:700;margin:0 0 8px}.page-heading h1{font:700 23px Manrope,sans-serif;letter-spacing:-.7px;margin:0;color:#202c3d}.wave{font-size:17px;color:#d69c49;vertical-align:middle}.page-subtitle{color:#8490a2;font-size:12px;margin:6px 0 0}.heading-actions{display:flex;gap:9px}.button{height:35px;padding:0 13px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:11px;cursor:pointer;border:1px solid transparent}.button-primary{color:white;background:#3678d3;box-shadow:0 1px 2px #1b4d8c1c}.button-primary:hover{background:#2b69bf}.button-secondary{background:white;color:#455166;border-color:#e2e7ed}.button-secondary:hover{background:#f9fafb}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:white;border:1px solid #eaedf1;border-radius:8px;box-shadow:var(--shadow)}.kpi-card{padding:16px 17px 14px;min-height:119px}.kpi-top{display:flex;justify-content:space-between;align-items:center;color:#738094;font-size:11px;font-weight:500}.kpi-icon{height:28px;width:28px;border-radius:7px;background:#eef4fc;color:#4581ce;display:grid;place-items:center;font-size:15px}.kpi-card:nth-child(2) .kpi-icon{background:#eef8f3;color:#36a87b}.kpi-card:nth-child(3) .kpi-icon{background:#f3effb;color:#8464c1}.kpi-card:nth-child(4) .kpi-icon{background:#fcf2eb;color:#cb8051}.kpi-value{font:700 25px Manrope,sans-serif;color:#263246;margin-top:7px;letter-spacing:-.6px}.kpi-change{color:#8c97a6;font-size:10px;margin-top:5px}.trend-up{color:#26a477;font-weight:700;margin-right:2px}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:15px}.channel-card,.system-card,.businesses-card,.activity-card{padding:16px 17px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between}.card-heading h2{font:700 13px Manrope,sans-serif;margin:0;color:#283447}.card-heading p{font-size:10px;color:#909aaa;margin:5px 0 0}.select-button{padding:6px 8px;border:1px solid #e8ebf0;background:#fff;border-radius:5px;color:#596579;font-size:10px}.select-button span{margin-left:12px;color:#919baa}.channel-total{margin:19px 0 14px}.channel-total strong{font:700 21px Manrope,sans-serif;display:block}.channel-total span{font-size:10px;color:#909aaa}.channel-row{margin:11px 0}.channel-label{display:flex;align-items:center;color:#566274;font-size:10px;margin-bottom:6px}.channel-label strong{margin-left:auto;font-size:10px;color:#344054}.legend-dot{height:7px;width:7px;border-radius:50%;margin-right:7px}.blue{background:#4b88df}.green{background:#37b387}.violet{background:#9270d2}.progress{height:5px;background:#f0f2f5;border-radius:6px;overflow:hidden}.progress span{height:100%;display:block;border-radius:6px}.chart-caption{font-size:9px;color:#939dac;margin-top:14px}.chart-caption span{font-weight:700;color:#28a477}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:20px;font-size:9px;font-weight:600;white-space:nowrap}.status-pill i,.online-dot{height:6px;width:6px;border-radius:50%;background:#27a878;display:inline-block}.status-good{color:#268962;background:#eaf7f1}.status-pending{color:#a97b27;background:#fbf4e6}.status-pending i{background:#d6a23e}.system-card .card-heading{align-items:center}.system-list{margin-top:19px;border-top:1px solid #edf0f3}.system-row{height:38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f2f5;font-size:10px;color:#647084}.system-row span:last-child{display:flex;align-items:center;gap:7px;color:#268962;font-size:9px}.text-link{display:inline-flex;align-items:center;gap:8px;color:#3979ce;font-size:10px;font-weight:600;margin-top:13px}.lower-grid{grid-template-columns:1.15fr .85fr}.businesses-card{padding-bottom:5px}.businesses-card .card-heading,.activity-card .card-heading{margin-bottom:13px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;font-size:8px;letter-spacing:.6px;color:#98a1ae;font-weight:700;padding:9px 8px;border-bottom:1px solid #edf0f3}td{font-size:10px;color:#7e8999;padding:10px 8px;border-bottom:1px solid #f0f2f4}tbody tr:last-child td{border-bottom:0}td:first-child{color:#354154;display:flex;align-items:center;gap:8px}td:first-child strong{font-size:10px}.business-avatar{height:24px;width:24px;border-radius:6px;display:grid;place-items:center;font-size:9px;font-weight:700;color:#497ab3;background:#eaf1fa}.avatar-1{background:#e9f5f1;color:#3c9674}.avatar-2{background:#f5edf9;color:#9566aa}.avatar-3{background:#fff2e8;color:#b87845}.row-more{background:none;border:0;color:#929dad;font-size:15px;letter-spacing:1px}.activity-list{border-top:1px solid #eff1f4}.activity-item{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #f0f2f5;min-width:0}.activity-item:last-child{border-bottom:0}.activity-icon{height:27px;width:27px;flex:0 0 27px;border-radius:7px;display:grid;place-items:center;background:#eef5fc;color:#5286c8;font-size:12px}.activity-1{background:#f2eef9;color:#876ab9}.activity-2{background:#eaf7f2;color:#36a47a}.activity-3{background:#fdf2e9;color:#c38753}.activity-item>div{min-width:0}.activity-item strong{display:block;font-size:9px;font-weight:600;color:#465266}.activity-item p{margin:3px 0 0;color:#929caa;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item time{font-size:8px;color:#a0a8b4;white-space:nowrap;margin-left:auto}.app-footer{border-top:1px solid #e9edf1;padding:13px 36px;color:#9aa3af;font-size:9px;display:flex;justify-content:space-between}.app-footer>span:last-child{display:flex;align-items:center;gap:6px;color:#647489}.app-footer .online-dot{height:6px;width:6px}.mobile-menu,.mobile-overlay{display:none}.toast{position:fixed;right:24px;bottom:24px;padding:12px 16px;border-radius:7px;color:white;background:#26364c;box-shadow:0 8px 30px #17253a30;font-size:12px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:10}.toast.show{opacity:1;transform:translateY(0)}.placeholder-card{text-align:center;max-width:560px;margin:45px auto;padding:38px}.placeholder-card h2{font:700 17px Manrope,sans-serif;margin:14px 0 7px}.placeholder-card p{max-width:390px;margin:0 auto 22px;color:#8792a1;font-size:12px;line-height:1.65}.empty-illustration{margin:0 auto 17px;width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:#eef4fc;color:#467fc8;font-size:24px}.login-page{min-height:100vh;background:#f7f8fa;display:flex;align-items:center;justify-content:center;position:relative;padding:30px}.login-brand{position:absolute;top:32px;left:40px}.login-brand .brand{color:#233146;padding:0}.login-brand .brand small{color:#8290a2}.login-card{width:100%;max-width:390px;background:white;border:1px solid #eaedf1;border-radius:10px;padding:32px;box-shadow:0 10px 40px #20334d0a}.login-icon{width:39px;height:39px;border-radius:10px;background:#eef4fc;color:#3877ca;display:grid;place-items:center;font-size:19px;margin-bottom:23px}.login-card h1{font:700 23px Manrope,sans-serif;margin:0;color:#233146;letter-spacing:-.6px}.login-subtitle{font-size:12px;color:#8a95a4;margin:8px 0 23px}.login-card form>label:not(.remember-row){display:block;font-size:10px;color:#495568;font-weight:600;margin:14px 0 6px}.login-card input[type=email],.login-card input[type=password]{width:100%;height:39px;border:1px solid #e1e6ec;border-radius:6px;padding:0 11px;outline:0;color:#344054;font-size:11px}.login-card input:focus{border-color:#75a4e1;box-shadow:0 0 0 3px #3978d415}.remember-row{display:flex;align-items:center;gap:7px;font-size:10px;color:#727e90;margin:14px 0 18px}.remember-row input{accent-color:#3978d4}.button-wide{width:100%;height:39px;justify-content:space-between;padding:0 12px}.field-error{display:block;color:#d14b4b;font-size:10px;margin-top:4px}.login-note{font-size:9px;line-height:1.55;color:#9aa3af;text-align:center;margin:17px 0 0}.login-footer{position:absolute;bottom:20px;color:#9aa3af;font-size:9px}
@media(max-width:1120px){.sidebar{width:230px}.main-area{margin-left:230px}.page-content{padding-left:24px;padding-right:24px}.topbar{padding:0 24px}.kpi-grid{gap:10px}.dashboard-grid{gap:10px}.activity-item time{font-size:8px}}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .22s ease;width:260px}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.topbar{height:58px;padding:0 18px}.mobile-menu{display:block;margin-right:9px}.breadcrumbs{margin-right:auto}.mobile-overlay{position:fixed;inset:0;background:#17253a66;z-index:4}.mobile-overlay.show{display:block}.page-content{padding:24px 18px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.app-footer{padding:12px 18px}.user-copy,.user-menu>.chevron,.logout-button,.top-divider{display:none}.top-actions{gap:8px}}
@media(max-width:520px){.page-content{padding:19px 13px}.page-heading{align-items:flex-start;gap:14px;flex-direction:column}.page-heading h1{font-size:21px}.heading-actions{width:100%}.heading-actions .button{flex:1;padding:0 8px;font-size:10px}.kpi-grid{gap:8px}.kpi-card{padding:12px;min-height:108px}.kpi-value{font-size:22px}.kpi-change{font-size:9px}.kpi-top{font-size:10px}.dashboard-grid{margin-top:10px}.channel-card,.system-card,.businesses-card,.activity-card{padding:14px 12px}.status-pill{font-size:8px}.table-wrap{margin:0 -5px}.app-footer{font-size:8px}.search-shortcut{display:none}.login-brand{left:20px;top:22px}.login-card{padding:25px 21px}.login-page{padding:20px}}

/* Role-specific dashboard presentation. */
.role-dashboard { --dashboard-muted: #6f7d90; display: grid; gap: 24px; min-width: 0; }
.role-dashboard .dashboard-heading { margin: 2px 0 4px; gap: 24px; }
.role-dashboard .dashboard-heading h1 { font-size: 28px; letter-spacing: -.65px; line-height: 1.25; margin: 0; }
.role-dashboard .eyebrow { font-size: 11px; letter-spacing: .4px; margin-bottom: 10px; }
.role-dashboard .page-subtitle { font-size: 14px; line-height: 1.6; margin-top: 9px; }
.role-dashboard .button { min-height: 40px; font-size: 13px; padding: 0 17px; flex-shrink: 0; }
.role-dashboard .text-link { font-size: 12px; line-height: 1.5; white-space: normal; }
.role-dashboard .dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.role-dashboard .dashboard-metric { padding: 22px; border: 0; border-radius: 10px; min-width: 0; box-shadow: 0 2px 8px rgba(20,34,53,.035); }
.role-dashboard .dashboard-metric h2 { font-size: 13px; color: var(--dashboard-muted); margin: 0 0 15px; font-weight: 500; line-height: 1.4; }
.role-dashboard .dashboard-metric-value { display: block; font-size: 30px; font-weight: 650; letter-spacing: -.8px; line-height: 1.2; overflow-wrap: anywhere; }
.role-dashboard .dashboard-metric p { font-size: 12px; color: var(--dashboard-muted); margin: 12px 0 0; line-height: 1.5; }
.role-dashboard .dashboard-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.role-dashboard .dashboard-section-heading h2 { font-size: 16px; font-weight: 650; letter-spacing: -.2px; margin: 0; line-height: 1.4; }
.role-dashboard .dashboard-section-heading > span { color: var(--dashboard-muted); font-size: 12px; }
.role-dashboard .dashboard-description { margin: 6px 0 0; font-size: 12px; color: var(--dashboard-muted); line-height: 1.6; }
.role-dashboard .dashboard-overview { padding: 6px 0 2px; }
.role-dashboard .dashboard-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; }
.role-dashboard .dashboard-summary > div { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.role-dashboard .dashboard-summary dt { color: var(--dashboard-muted); font-size: 13px; line-height: 1.5; }
.role-dashboard .dashboard-summary dt small { display: block; font-size: 11px; margin-top: 3px; }
.role-dashboard .dashboard-summary dd { font-size: 24px; font-weight: 600; margin: 0; }
.role-dashboard .dashboard-daily-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.role-dashboard .dashboard-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.role-dashboard .dashboard-platform-columns { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
.role-dashboard .dashboard-panel { padding: 24px; border: 0; border-radius: 10px; min-width: 0; }
.role-dashboard .dashboard-activity-list, .role-dashboard .dashboard-stay-list, .role-dashboard .dashboard-customer-list { list-style: none; padding: 0; margin: 0; }
.role-dashboard .dashboard-activity-list li, .role-dashboard .dashboard-stay-list li { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 15px 0; border-bottom: 1px solid #f0f3f7; }
.role-dashboard .dashboard-activity-list li:first-child, .role-dashboard .dashboard-stay-list li:first-child { padding-top: 0; }
.role-dashboard .dashboard-activity-list li:last-child, .role-dashboard .dashboard-stay-list li:last-child { border: 0; padding-bottom: 0; }
.role-dashboard .dashboard-activity-list li > div, .role-dashboard .dashboard-stay-list li > div { min-width: 0; }
.role-dashboard .dashboard-activity-list a, .role-dashboard .dashboard-stay-list a, .role-dashboard .dashboard-assistant-row a { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.role-dashboard .dashboard-activity-list p, .role-dashboard .dashboard-stay-list p { color: var(--dashboard-muted); font-size: 12px; margin: 6px 0 0; line-height: 1.5; overflow-wrap: anywhere; }
.role-dashboard .dashboard-activity-list time { font-size: 11px; color: var(--dashboard-muted); white-space: nowrap; flex-shrink: 0; line-height: 1.6; }
.role-dashboard .dashboard-stay-list li > span { text-align: right; font-size: 12px; line-height: 1.5; flex-shrink: 0; }
.role-dashboard .dashboard-stay-list small { display: block; color: var(--dashboard-muted); font-size: 11px; margin-top: 6px; }
.role-dashboard .dashboard-empty { color: var(--dashboard-muted); font-size: 13px; line-height: 1.7; padding: 12px 0; }
.role-dashboard .dashboard-system-list { margin: 20px 0; font-size: 12px; }
.role-dashboard .dashboard-system-list > div { display: grid; gap: 5px; padding: 13px 0; }
.role-dashboard .dashboard-system-list dt { font-weight: 600; line-height: 1.5; }
.role-dashboard .dashboard-system-list dd { margin: 0; color: var(--dashboard-muted); line-height: 1.5; }
.role-dashboard .dashboard-customer-preview { padding-top: 4px; }
.role-dashboard .dashboard-customer-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.role-dashboard .dashboard-customer-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.role-dashboard .dashboard-customer-list a { font-weight: 600; overflow-wrap: anywhere; }
.role-dashboard .dashboard-customer-list li > span { color: var(--dashboard-muted); }
.role-dashboard .dashboard-operation-line { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }
.role-dashboard .dashboard-operation-line p { margin: 0; color: var(--dashboard-muted); font-size: 13px; }
.role-dashboard .dashboard-operation-line strong { color: var(--ink); font-size: 17px; margin-right: 5px; }
.role-dashboard .dashboard-operation-line .text-link { margin-left: auto; }
.role-dashboard .dashboard-hotels { border: 0; border-radius: 10px; overflow: hidden; min-width: 0; }
.role-dashboard .dashboard-hotels .dashboard-section-heading { padding: 24px 24px 0; }
.role-dashboard .dashboard-hotel-table { min-width: 640px; width: 100%; }
.role-dashboard .dashboard-hotel-table th { font-size: 11px; padding: 13px 20px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.role-dashboard .dashboard-hotel-table td { font-size: 12px; padding: 16px 20px; }
.role-dashboard .dashboard-hotel-table td:first-child { display: table-cell; white-space: normal; min-width: 175px; }
.role-dashboard .dashboard-hotel-table td a { font-weight: 600; overflow-wrap: anywhere; }
.role-dashboard .dashboard-hotel-table td small { display: block; color: var(--dashboard-muted); font-size: 11px; margin-top: 5px; }
.role-dashboard .dashboard-hotel-filter { min-width: 0; max-width: 350px; }
.role-dashboard .dashboard-hotel-filter label { display: block; color: var(--dashboard-muted); font-size: 11px; margin-bottom: 7px; }
.role-dashboard .dashboard-hotel-filter > div { display: flex; gap: 8px; }
.role-dashboard .dashboard-hotel-filter select { min-width: 0; width: 100%; height: 40px; padding: 0 12px; border: 1px solid #dce3ec; border-radius: 6px; background: white; color: var(--ink); font: inherit; font-size: 12px; }
.role-dashboard .dashboard-assistant-row { display: flex; align-items: center; gap: 18px; padding: 15px 0; border-bottom: 1px solid #f0f3f7; flex-wrap: wrap; }
.role-dashboard .dashboard-assistant-row > div { min-width: 0; flex: 1; }
.role-dashboard .dashboard-assistant-row > span:last-child { margin-left: auto; }
.role-dashboard .dashboard-assistant-last { font-size: 12px; color: var(--dashboard-muted); margin: 18px 0 0; line-height: 1.6; }
.role-dashboard .dashboard-assistant-last a { color: var(--blue); }
.role-dashboard a:hover { color: var(--blue); }
.role-dashboard .button-primary:hover { color: white; }
.role-dashboard a:focus-visible, .role-dashboard button:focus-visible, .role-dashboard select:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
@media (max-width: 1200px) {
    .role-dashboard .dashboard-metric { padding: 18px; }
    .role-dashboard .dashboard-metric-value { font-size: 27px; }
    .role-dashboard .dashboard-metrics { gap: 12px; }
    .role-dashboard .dashboard-customer-list { grid-template-columns: 1fr; }
    .role-dashboard .dashboard-heading { flex-wrap: wrap; }
}
@media (max-width: 1000px) {
    .role-dashboard .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .role-dashboard .dashboard-columns { grid-template-columns: 1fr; }
    .role-dashboard .dashboard-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .role-dashboard .dashboard-daily-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .role-dashboard { gap: 22px; }
    .role-dashboard .dashboard-heading { align-items: flex-start; }
    .role-dashboard .dashboard-heading h1 { font-size: 24px; }
    .role-dashboard .page-subtitle { font-size: 13px; }
    .role-dashboard .dashboard-panel { padding: 20px; }
    .role-dashboard .dashboard-section-heading { gap: 12px; align-items: flex-start; }
    .role-dashboard .dashboard-section-heading h2 { font-size: 15px; }
    .role-dashboard .dashboard-section-heading .text-link { max-width: 145px; text-align: right; }
    .role-dashboard .dashboard-hotel-filter { width: 100%; max-width: none; }
    .role-dashboard .dashboard-operation-line { gap: 14px 22px; }
    .role-dashboard .dashboard-operation-line .text-link { margin-left: 0; width: 100%; }
    .role-dashboard .dashboard-hotel-table { min-width: 0; table-layout: fixed; }
    .role-dashboard .dashboard-hotel-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .role-dashboard .dashboard-hotel-table tbody, .role-dashboard .dashboard-hotel-table tr, .role-dashboard .dashboard-hotel-table td { display: block; width: 100%; }
    .role-dashboard .dashboard-hotel-table tr { padding: 15px 20px; border-top: 1px solid var(--line); }
    .role-dashboard .dashboard-hotel-table td { border: 0; padding: 7px 0; white-space: normal; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .role-dashboard .dashboard-hotel-table td[data-label]::before { content: attr(data-label); color: var(--dashboard-muted); font-size: 11px; }
    .role-dashboard .dashboard-hotel-table td:first-child { display: block; min-width: 0; margin-bottom: 7px; }
    .role-dashboard .dashboard-hotel-table td:first-child::before { content: none; }
    .role-dashboard .dashboard-hotel-table td.dashboard-empty { padding: 0; }
    .role-dashboard .dashboard-assistant-row { gap: 12px; }
    .role-dashboard .dashboard-assistant-row > span:last-child { margin: 0; width: 100%; }
}
@media (max-width: 380px) {
    .role-dashboard .dashboard-metrics { grid-template-columns: 1fr; }
    .role-dashboard .dashboard-daily-summary { grid-template-columns: 1fr; gap: 16px; }
    .role-dashboard .dashboard-daily-summary > div { flex-direction: row; align-items: center; justify-content: space-between; }
    .role-dashboard .dashboard-stay-list li { flex-direction: column; gap: 8px; }
    .role-dashboard .dashboard-stay-list li > span { text-align: left; }
    .role-dashboard .dashboard-customer-list li { grid-template-columns: minmax(0, 1fr) auto; }
    .role-dashboard .dashboard-customer-list li > span { grid-row: 2; }
}

.sidebar .brand-image { justify-content: center; padding: 0 8px 12px; flex-shrink: 0; }
.sidebar .brand-image img { display: block; width: auto; max-width: 100%; max-height: 100px; height: auto; object-fit: contain; }
.sidebar .sidebar-logo-foot { display: flex; align-items: center; justify-content: space-between; }
.sidebar .sidebar-logo-foot img { width: auto; max-width: 80px; max-height: 45px; height: auto; object-fit: contain; }
.hotel-breadcrumb-bar { flex: 1; min-width: 0; overflow: hidden; margin-right: 18px; align-items: center; }
.hotel-breadcrumb-bar > span { flex-shrink: 0; }
.hotel-breadcrumb-bar > strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hotel-breadcrumb-bar a:hover { color: var(--blue); }
