:root{--bg:#f4f7f6;--panel:#fff;--panel-soft:#f8fbfa;--line:#e5ebe8;--line-strong:#d8e2de;--text:#111827;--muted:#6b7280;--brand:#07a85a;--brand-dark:#035d3f;--brand-soft:#e8f7ef;--danger:#d7463f;--warning:#b7791f;--sidebar:#101816;--sidebar-2:#16221f;--shadow:0 12px 34px #0f172a14;--shadow-soft:0 6px 18px #0f172a0d}html,body,#root{background:var(--bg);height:100%;margin:0}body{color:var(--text);font-size:14px}.app-shell{background:linear-gradient(180deg, #07a85a0d, #07a85a00 260px), var(--bg);min-height:100vh}.app-sider{border-right:1px solid #ffffff14;height:100vh;top:0;overflow-y:auto;background:linear-gradient(180deg, #07a85a29, #07a85a00 220px), linear-gradient(180deg, var(--sidebar), var(--sidebar-2))!important;position:sticky!important}.brand{border-bottom:1px solid #ffffff14;flex-direction:column;align-items:flex-start;gap:10px;min-height:118px;padding:18px 18px 16px;display:flex}.brand-logo{object-fit:contain;opacity:.98;filter:drop-shadow(0 8px 16px #0000002e);flex:none;width:188px;height:auto;max-height:48px}.brand h5{color:#fff;letter-spacing:0;margin:0;font-size:15px;font-weight:650}.brand .ant-typography-secondary{font-size:12px;color:#ffffff9e!important}.vendor-box{background:#ffffff0e;border:1px solid #ffffff17;border-radius:8px;flex-direction:column;gap:5px;margin:16px 14px;padding:13px 14px;display:flex}.vendor-box .ant-typography{color:#ffffffc7;font-size:12px}.app-sider .ant-menu-dark{background:0 0}.app-sider .ant-menu-item{color:#ffffffc7;border-radius:8px;width:calc(100% - 20px);height:38px;margin:3px 10px;line-height:38px}.app-sider .ant-menu-item:hover{color:#fff!important;background:#ffffff14!important}.app-sider .ant-menu-item-selected{box-shadow:0 8px 18px #07a85a47;color:#fff!important;background:linear-gradient(135deg, var(--brand), #0b7f58)!important}.app-sider .ant-menu-item-group-title{color:#ffffff6b;padding:18px 22px 7px;font-size:11px;font-weight:700}.app-header{z-index:9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border-bottom:1px solid #e5ebe8e6;align-items:center;gap:14px;height:auto;min-height:68px;padding:12px 24px;display:flex;position:sticky;top:0}.header-main{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.header-main .ant-typography:first-child{color:#101827;font-size:16px}.user-strip{border:1px solid var(--line);background:#f8fbfacc;border-radius:8px;flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;min-width:0;padding:6px 8px}.mobile-menu-button{flex:none;display:none}.hotel-scope-text{text-overflow:ellipsis;white-space:nowrap;max-width:320px;display:inline-block;overflow:hidden}.app-content{min-width:0;padding:24px}.app-footer{color:#8a9590;text-align:center;margin-top:18px;padding:12px 0 4px;font-size:12px}.page-stack{width:100%}.page-title-row{justify-content:space-between;align-items:center;gap:18px;padding:4px 0 2px;display:flex}.page-title-row h3,.page-stack h3{margin-bottom:4px;font-weight:680}.ant-card{box-shadow:var(--shadow-soft);border-radius:8px;border-color:var(--line)!important}.ant-card-head{min-height:48px;border-bottom-color:var(--line)!important}.ant-card-head-title{font-weight:650}.ant-card-body{padding:18px}.kpi-card{background:linear-gradient(135deg, #07a85a14, #fff0 48%), var(--panel);min-height:136px;overflow:hidden}.kpi-card .ant-statistic-title{color:var(--muted);font-size:13px}.kpi-card .ant-statistic-content{color:var(--text);font-weight:720}.kpi-hint{margin-top:10px;line-height:1.45;display:block}.action-hero{background:linear-gradient(135deg, #07a85a1f, #07a85a05 42%, #fffffff2), var(--panel);overflow:hidden;border-color:#cfe9dc!important}.overview-hero{background:linear-gradient(135deg, #07a85a1f, #ffffffc7 42%), var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:flex-end;gap:20px;padding:24px;display:flex}.overview-hero h2{margin:5px 0 8px;font-size:26px;font-weight:730;line-height:1.28}.eyebrow{color:var(--brand-dark);font-size:12px;font-weight:760}.hero-stat{text-align:center;background:#ffffffc7;border:1px solid #d9ebe2;border-radius:8px;min-width:132px;padding:15px 18px}.hero-stat strong{color:var(--text);font-size:34px;font-weight:760;line-height:1;display:block}.hero-stat span{color:var(--muted)}.ant-table{color:#1f2937}.ant-table-wrapper{overflow-x:auto}.ant-table-thead>tr>th{font-size:12px;color:#5f6f68!important;border-bottom-color:var(--line)!important;background:#f7faf9!important;font-weight:680!important}.ant-table-tbody>tr>td{border-bottom-color:#edf2f0!important}.ant-table-tbody>tr:hover>td{background:#f6fbf8!important}.ant-tag{border-radius:6px;font-weight:560}.ant-btn{box-shadow:none;border-radius:7px}.ant-btn-primary{background:linear-gradient(135deg, var(--brand), #0a7a55);border-color:#0000;box-shadow:0 8px 18px #07a85a33}.ant-alert{border-radius:8px}.ant-segmented{background:#eef5f1;border-radius:8px;padding:4px}.login-shell{background:linear-gradient(90deg,#053125f5 0%,#07583aeb 38%,#f4f7f6f5 38%,#f7faf9 100%),#f7faf9;align-items:center;min-height:100vh;padding:56px;display:flex}.login-stage{background:#fff;border:1px solid #d8e2dee0;border-radius:8px;grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr);width:min(1220px,100%);min-height:680px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 34px 90px #0f172a29}.login-copy{color:#fff;background:linear-gradient(145deg,#053125fa,#065d3ff0),#053125;flex-direction:column;justify-content:center;padding:58px;display:flex;position:relative}.login-copy:after{content:"";opacity:.16;pointer-events:none;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.login-copy>*{z-index:1;position:relative}.login-brand-mark{color:#ffffffc7;align-items:center;gap:16px;width:fit-content;margin-bottom:72px;padding:0;display:inline-flex}.login-brand-mark img{object-fit:contain;filter:drop-shadow(0 14px 28px #0000002e);width:320px;height:auto;max-height:78px}.login-brand-mark span{white-space:nowrap;font-size:13px}.login-eyebrow,.login-panel-kicker{color:#0b7a53;letter-spacing:0;font-size:12px;font-weight:760}.login-copy .login-eyebrow{color:#8df0bd}.login-copy h1{color:#fff;max-width:720px;margin:12px 0 20px;font-size:50px;font-weight:760;line-height:1.12}.login-copy .ant-typography{color:#ffffffc7}.login-copy p.ant-typography{max-width:650px;margin-bottom:0;font-size:17px;line-height:1.85}.login-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:44px;display:grid}.login-metrics div{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;padding:18px}.login-metrics strong,.login-metrics span{display:block}.login-metrics strong{color:#fff;font-size:18px;font-weight:720}.login-metrics span{color:#ffffffad;margin-top:8px;font-size:13px}.login-capabilities{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.login-capabilities span{color:#ffffffdb;background:#ffffff12;border:1px solid #ffffff29;border-radius:8px;padding:8px 12px}.login-panel{box-shadow:none;align-items:center;padding:64px;display:flex;border-radius:0!important}.login-panel .ant-card-body{width:100%;padding:0}.login-panel h3{margin:8px 0;font-size:28px;font-weight:720}.login-panel .ant-form-item-label>label{color:#24342d;font-weight:650}.login-panel .ant-input,.login-panel .ant-input-affix-wrapper{background:#fbfdfc;border-color:#dce7e2;border-radius:8px;min-height:46px}.login-panel .ant-btn-primary{height:48px;margin-top:6px;font-size:16px;font-weight:680}.login-note{color:#60706a;background:#f6faf8;border:1px solid #e2ece7;border-radius:8px;padding:16px}.login-note strong,.login-note span{display:block}.login-note strong{color:#17231f;margin-bottom:6px}.demo-account-panel{background:#fff;border:1px solid #e4ece8;border-radius:8px;gap:14px;max-height:360px;padding:14px;display:grid;overflow:auto}.demo-account-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.demo-account-heading .ant-typography-secondary{text-align:right;font-size:12px}.demo-account-group{gap:8px;display:grid}.demo-account-group-title{background:#f6faf8;border:1px solid #e2ece7;border-radius:8px;gap:3px;padding:10px 12px;display:grid}.demo-account-group-title strong{color:#17231f;font-size:13px}.demo-account-group-title span{color:#64726d;font-size:12px;line-height:1.55}.demo-account-list{gap:6px;display:grid}.demo-account-row{color:#52615c;grid-template-columns:minmax(120px,1.1fr) minmax(132px,1.2fr) 72px 46px;align-items:center;gap:8px;font-size:12px;display:grid}.demo-account-row code{color:#12372a;white-space:nowrap;background:#f2f7f4;border:1px solid #dfebe5;border-radius:6px;padding:3px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.demo-account-row button{color:#0a7a4e;cursor:pointer;background:#effaf4;border:1px solid #cfe8dc;border-radius:6px;height:26px}.demo-account-row button:hover{color:#075e3f;border-color:#8fceb3}@media (width<=860px){.app-sider{display:none}.mobile-menu-button{display:inline-flex}.page-title-row{flex-direction:column;align-items:flex-start}.app-header{flex-wrap:wrap;align-items:flex-start;padding:10px 12px}.header-main{flex-basis:calc(100% - 64px)}.user-strip{flex-wrap:wrap;justify-content:flex-start;width:100%}.hotel-scope-text{max-width:100%}.app-content{padding:14px}.overview-hero{flex-direction:column;align-items:stretch;padding:18px}.overview-hero h2{font-size:21px}.hero-stat{text-align:left;justify-content:space-between;align-items:center;display:flex}.login-shell{background:#f7faf9;align-items:stretch;padding:16px}.login-stage{grid-template-columns:1fr;min-height:auto}.login-copy{padding:30px 24px}.login-brand-mark{flex-direction:column;align-items:flex-start;margin-bottom:34px}.login-copy h1{font-size:34px}.login-copy p.ant-typography{font-size:15px}.login-metrics{grid-template-columns:1fr}.login-panel{padding:28px 24px}.demo-account-panel{max-height:420px}.demo-account-heading{display:grid}.demo-account-heading .ant-typography-secondary{text-align:left}.demo-account-row{border-bottom:1px solid #edf3f0;grid-template-columns:1fr;padding:8px 0}}.mobile-menu-drawer .ant-drawer-body{background:var(--sidebar);padding:0}.mobile-menu-drawer .brand{border-top:1px solid #ffffff14}
