:root{
  --brand:#e86f9a;
  --brand-dark:#c94e7c;
  --brand-soft:#fff1f6;
  --ink:#2b2b35;
  --muted:#7f7f8c;
  --line:#d7d7df;
  --grid-line:#777;
  --checked-in:#F4A33C;
  --reserved:#FFF8C6;
  --buffer:#F8D7DA;
  --admitted:#DCEBF7;
  --available:#EAF5E6;
  --month-jun:#eaf2ff;
  --month-jul:#fff0de;
  --month-aug:#fff8c8;
  --month-other:#ecf7e8;
}

/* 客资分析：沿用系统粉色系，表格结构对齐客户跟进统计表 */
.crm-analysis-card{background:#fff;border:1px solid #efdce5;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(86,42,63,.06)}
.crm-sheet-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #eee}.crm-sheet-title h3{margin:0 0 5px;font-size:22px;color:#24171d}.crm-sheet-title span{font-size:13px;color:#88747d}.crm-filter{display:flex;gap:10px;align-items:center}.crm-summary{display:flex;align-items:stretch;border-bottom:1px solid #d7d7d7;background:#fff}.crm-summary span{min-width:125px;padding:10px 16px;border-right:1px solid #d7d7d7;text-align:center;font-size:13px}.crm-summary b{font-size:19px;margin-left:7px}.crm-summary .won{background:#f8b47e}.crm-summary .key{background:#f5df62}.crm-summary .deposit{background:#b8d98f}.crm-summary .lost{background:#c9c9c9}.crm-sheet-wrap{overflow:auto;max-height:calc(100vh - 285px)}
.crm-sheet{border-collapse:separate;border-spacing:0;min-width:3100px;width:100%;font-size:12px;color:#252525}.crm-sheet th,.crm-sheet td{border-right:1px solid #999;border-bottom:1px solid #999;padding:7px 6px;text-align:center;vertical-align:middle;min-width:88px;max-width:190px;word-break:break-word;background:#fff}.crm-sheet thead th{position:sticky;top:0;z-index:3;background:#fff;font-weight:800;border-top:1px solid #777}.crm-sheet thead tr:nth-child(2) th{top:35px}.crm-sheet th:first-child,.crm-sheet td:first-child{border-left:1px solid #777;min-width:48px}.crm-sheet .group-info{background:#fff4ee}.crm-sheet .group-follow{background:#fff9dc}.crm-sheet .group-result{background:#eef8e7}.crm-sheet tbody tr:nth-child(even) td{background:#fffafb}.crm-sheet .name-cell{font-weight:800}.crm-sheet .empty-sheet{padding:45px;color:#999;text-align:center}
@media(max-width:768px){.customer-stage-tabs{overflow-x:auto;flex-wrap:nowrap}.customer-stage-tabs button{flex:0 0 auto;min-width:105px}.crm-sheet-title{align-items:flex-start;flex-direction:column;padding:12px}.crm-sheet-title h3{font-size:18px}.crm-filter{width:100%;display:grid;grid-template-columns:1fr auto}.crm-filter .el-date-editor{width:100%!important}.crm-summary{overflow-x:auto}.crm-summary span{min-width:105px;padding:8px}.crm-sheet-wrap{max-height:calc(100vh - 300px)}}
*{box-sizing:border-box}
html,body,#app{height:100%;margin:0;font-family:"Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:#fbf8fa}
[v-cloak]{display:none}
.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 15%,#ffe1ec 0,#fff7fb 35%,#f7fbff 100%)}
.login-card{width:420px;background:rgba(255,255,255,.92);border:1px solid #fff;border-radius:26px;padding:38px 34px;box-shadow:0 24px 80px rgba(232,111,154,.24);text-align:center}
.brand-mark{width:82px;height:82px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(145deg,#fca9c5,#e86f9a);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:24px;box-shadow:0 12px 28px rgba(232,111,154,.35)}
.login-card h1{margin:0 0 8px;font-size:28px}
.login-card p{margin:0 0 28px;color:var(--muted)}
.full-btn{width:100%}
.layout{height:100%;display:flex;overflow:hidden}
.sidebar{width:230px;background:linear-gradient(180deg,#fff,#fff4f8);border-right:1px solid #f0d8e1;display:flex;flex-direction:column;z-index:20}
.side-logo{height:76px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #f4dce5}
.logo-flower{width:42px;height:42px;border-radius:16px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;box-shadow:0 10px 20px rgba(232,111,154,.25)}
.side-logo b{display:block;font-size:17px}.side-logo span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.menu-list{padding:12px;overflow:auto}
.menu-item{width:100%;border:0;background:transparent;border-radius:14px;height:42px;text-align:left;padding:0 14px;margin-bottom:5px;color:#545464;cursor:pointer;font-size:14px;transition:.15s;display:flex;align-items:center;gap:10px}
.menu-item:hover{background:#fff0f6;color:var(--brand-dark)}
.menu-item.active{background:linear-gradient(90deg,#e86f9a,#f5a1bd);color:#fff;box-shadow:0 10px 22px rgba(232,111,154,.22)}
.menu-group{margin-bottom:5px}.menu-group .menu-parent{margin-bottom:2px}.menu-parent b{margin-left:auto;font-size:15px}.menu-group.active-group>.menu-parent{background:#fff0f6;color:var(--brand-dark);font-weight:800}.submenu-list{display:grid;gap:2px;padding:0 0 4px 38px}.submenu-item{height:32px;border:0;border-radius:10px;background:transparent;color:#777080;text-align:left;padding:0 10px;cursor:pointer;font-size:12px}.submenu-item:hover{background:#fff0f6;color:var(--brand-dark)}.submenu-item.active{background:linear-gradient(90deg,#ed82a8,#f4abc3);color:#fff;font-weight:800}
.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.topbar{height:76px;background:rgba(255,255,255,.92);border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 22px;backdrop-filter:blur(10px);z-index:10}
.topbar h2{font-size:22px;margin:0 0 5px}.topbar small{color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px}
.content{flex:1;overflow:auto;padding:18px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.toolbar .el-input{width:280px}.sticky-toolbar{position:sticky;top:0;z-index:5;background:#fbf8fa;padding:0 0 10px}
.panel{background:#fff;border:1px solid #eee;border-radius:18px;padding:14px;box-shadow:0 10px 30px rgba(44,44,70,.05)}.panel-title{font-weight:800;margin-bottom:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{background:#fff;border:1px solid #f0e6ea;border-radius:18px;padding:18px;min-height:98px;box-shadow:0 10px 30px rgba(44,44,70,.05);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-28px;top:-28px;width:90px;height:90px;border-radius:50%;background:#fff1f6}.stat-card span{display:block;color:var(--muted);font-size:13px;margin-bottom:12px}.stat-card b{font-size:30px;position:relative;z-index:1}
.legend{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #eee;border-radius:12px;padding:8px 10px;margin-left:auto;font-size:13px}.legend span{display:flex;align-items:center;gap:5px}.lg{width:18px;height:14px;border:1px solid #999;display:inline-block}.lg.checked_in{background:var(--checked-in)}.lg.reserved{background:var(--reserved)}.lg.buffer{background:var(--buffer)}.lg.admitted{background:var(--admitted)}.lg.available{background:var(--available)}
.room-chart-controls{background:#fff;border:1px solid #f0e1e7;border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 10px 30px rgba(44,44,70,.05)}
.room-chart-filter-grid{display:grid;grid-template-columns:minmax(150px,.7fr) repeat(2,minmax(210px,1fr));gap:14px}
.chart-filter-field{display:flex;flex-direction:column;gap:7px;color:#454550;font-size:13px;font-weight:700}.chart-filter-field .el-select,.chart-filter-field .el-date-editor{width:100%}
.chart-control-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:14px}
.chart-layout-field{display:flex;flex-direction:column;gap:7px;color:#454550;font-size:13px;font-weight:700;min-width:250px}
.chart-layout-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid #efcada;border-radius:12px;background:var(--brand-soft);padding:3px}
.chart-layout-switch button{height:34px;border:0;border-radius:9px;background:transparent;color:var(--brand-dark);font:inherit;font-size:13px;cursor:pointer;transition:.16s}
.chart-layout-switch button:hover{background:#fff}.chart-layout-switch button.active{background:var(--brand);color:#fff;box-shadow:0 5px 14px rgba(232,111,154,.24)}
.chart-action-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.chart-action-row .el-button+.el-button{margin-left:0}
.room-chart-legend{width:max-content;max-width:100%;margin:0 0 12px auto;overflow-x:auto}
.chart-shell{height:calc(100vh - 168px);overflow:auto;border:1px solid #a0a0a0;background:#fff;position:relative}.room-chart-grid{display:grid;position:relative;width:max-content;min-width:100%}.grid-cell{border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;min-width:0;overflow:hidden;white-space:nowrap;background:#fff}.month-head{font-weight:800;font-size:14px;border-top:1px solid var(--grid-line);height:30px;position:sticky;top:0;z-index:8}.month-jun{background:var(--month-jun)}.month-jul{background:var(--month-jul)}.month-aug{background:var(--month-aug)}.month-other{background:var(--month-other)}.day-head{height:28px;position:sticky;top:30px;z-index:8;background:#fff}.day-head.weekend{background:#f4f4f4}.day-head.today-head{box-shadow:inset 0 0 0 2px #e24e4e;background:#fff0f0}.fixed-head{position:sticky!important;top:0;z-index:13;font-weight:800;background:#fff;height:58px}.fixed-left{position:sticky!important;z-index:9;background:#fff}.room-head{left:0}.orient-head{left:90px}.room-cell{left:0;font-weight:700}.orient-cell{left:90px;font-weight:700}.room-cell,.orient-cell{background:#fff;z-index:7}.day-cell{height:30px;background:#fbfff9;cursor:pointer}.day-cell:hover{background:#fff4cc}.day-cell.weekend{background:#f7f7f7}.day-cell.today-col{box-shadow:inset 0 0 0 1.5px #e24e4e;background:#fff9f9}
.event-block{border-right:1px solid #555;border-bottom:1px solid #555;height:30px;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:6;cursor:pointer;position:relative;color:#222;font-size:12px}.event-block:hover{outline:2px solid var(--brand);z-index:20}.event-block.checked_in{background:var(--checked-in);font-weight:800}.event-block.reserved{background:var(--reserved)}.event-block.buffer{background:var(--buffer);font-weight:700}.event-block.admitted{background:var(--admitted);font-weight:700}.event-text{padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;width:100%}.center-text{text-align:center}.reserved-cells{height:100%;width:100%;display:grid;align-items:center}.reserved-cells span{height:100%;display:flex;align-items:center;justify-content:center;border-right:1px solid #c8bd7a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reserved-cells span:last-child{border-right:0}.reserved-name{background:var(--buffer);font-weight:700;padding:0 2px}.el-table{border-radius:12px;overflow:hidden}.el-dialog{border-radius:18px}.el-button--primary{--el-button-bg-color:var(--brand);--el-button-border-color:var(--brand);--el-button-hover-bg-color:#f08bae;--el-button-hover-border-color:#f08bae}.el-input__wrapper.is-focus,.el-select .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--brand) inset!important}
.vertical-chart-shell{height:calc(100vh - 310px);min-height:360px;overflow:auto;border:1px solid #a0a0a0;border-radius:12px;background:#fff;position:relative;-webkit-overflow-scrolling:touch}
.vertical-room-chart{display:grid;position:relative;width:max-content;min-width:100%}
.vertical-grid-cell{border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);display:flex;align-items:center;justify-content:center;min-width:0;background:#fff;color:#333;font-size:12px}
.vertical-corner{position:sticky;top:0;left:0;z-index:14;background:var(--brand-soft);font-weight:800}
.vertical-room-head{position:sticky;top:0;z-index:10;flex-direction:column;gap:4px;background:#fff8fb;font-weight:800}.vertical-room-head span{font-size:10px;color:var(--muted);font-weight:400}
.vertical-date-cell{position:sticky;left:0;z-index:9;flex-direction:column;gap:3px;background:#fff;font-weight:700}.vertical-date-cell span{font-size:10px;color:var(--muted)}
.vertical-date-cell.is-weekend{background:#f5f5f5}.vertical-date-cell.is-today{background:#fff1f1;box-shadow:inset 0 0 0 2px #e24e4e}
.vertical-day-cell{background:var(--available);cursor:pointer}.vertical-day-cell:hover{background:#fff4cc}.vertical-day-cell.is-weekend{background:#f7f7f7}.vertical-day-cell.is-today{background:#fff9f9;box-shadow:inset 0 0 0 1.5px #e24e4e}
.vertical-event-block{z-index:5;margin:0 3px;border:1px solid #666;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:7px 5px;color:#222;font-size:11px;line-height:1.3;text-align:center;overflow:hidden;cursor:pointer}
.vertical-event-block:hover{outline:2px solid var(--brand);z-index:20}.vertical-event-block.checked_in{background:var(--checked-in);font-weight:800}.vertical-event-block.reserved{background:var(--reserved)}.vertical-event-block.buffer{background:var(--buffer);font-weight:700}.vertical-event-block.admitted{background:var(--admitted);font-weight:700}.vertical-event-block span,.vertical-event-block small{max-width:100%;overflow:hidden;text-overflow:ellipsis}.vertical-event-block small{white-space:nowrap;font-size:10px;font-weight:400}
.mobile-vertical-room-header{display:none}
@media(max-width:1200px){.card-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.sidebar{width:205px}.toolbar .el-input{width:220px}}

/* H5 手机适配版：20260618_mobile_h5_fix5 删除提示 + 补齐表格线 */
.mobile-chart-panel{display:none}
.mobile-chart-tips{display:none!important}
.mobile-chart-scroll{border:1px solid #999;background:#fff;overflow:auto;border-radius:12px;max-height:calc(100vh - 170px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.mobile-date-row{display:flex;position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #777;height:42px}
.mobile-room-title{position:sticky;left:0;z-index:7;width:108px;min-width:108px;height:42px;display:flex;align-items:center;justify-content:center;background:#fff;font-weight:800;border-right:1px solid #777;font-size:13px}
.mobile-date-cell{width:34px;min-width:34px;height:42px;display:flex;align-items:center;justify-content:center;font-size:11px;border-right:1px solid #999;background:#fff;color:#333}.mobile-date-cell b{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;font-weight:800}
.mobile-date-cell.is-weekend{background:#f4f4f4}.mobile-date-cell.is-today{background:#fff1f1;box-shadow:inset 0 0 0 2px #e24e4e}
.mobile-room-row{display:flex;height:32px;border-bottom:1px solid #777;position:relative;background:#fbfff9}
.mobile-room-row:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#777;z-index:9;pointer-events:none}
.mobile-room-info{position:sticky;left:0;z-index:6;width:108px;min-width:108px;height:32px;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:row;gap:6px;border-right:1px solid #777;border-bottom:1px solid #ddd;font-size:12px;line-height:1;white-space:nowrap}
.mobile-room-info span{font-size:12px;color:#555;margin-top:0}
.mobile-days{position:relative;height:32px;display:flex;flex:0 0 auto}.mobile-day-dot{width:34px;min-width:34px;height:32px;border-right:1px solid #999;border-bottom:1px solid #999;background:var(--available);box-sizing:border-box}.mobile-day-dot.is-weekend{background:#f7f7f7}.mobile-day-dot.is-today{box-shadow:inset 0 0 0 1.5px #e24e4e;background:#fff9f9}
.mobile-event-bar{position:absolute;top:0;height:32px;border:1px solid #555;border-radius:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px;z-index:3;box-sizing:border-box;background-image:repeating-linear-gradient(to right, transparent 0, transparent 33px, rgba(85,85,85,.34) 33px, rgba(85,85,85,.34) 34px);background-size:34px 100%;background-blend-mode:multiply}
.mobile-event-bar.checked_in{background-color:var(--checked-in);font-weight:800}.mobile-event-bar.reserved{background-color:var(--reserved)}.mobile-event-bar.buffer{background-color:var(--buffer);font-weight:700}.mobile-event-bar.admitted{background-color:var(--admitted);font-weight:700}

@media(max-width:768px){
  html,body,#app{height:100%;overflow:hidden}
  .login-card{width:92vw;padding:28px 20px;border-radius:20px}.brand-mark{width:68px;height:68px;font-size:20px}.login-card h1{font-size:24px}
  .layout{display:block;height:100%;overflow:hidden;padding-bottom:58px}.sidebar{position:fixed;left:0;right:0;bottom:0;width:100%;height:58px;border-right:0;border-top:1px solid #f0d8e1;background:rgba(255,255,255,.96);z-index:50}.side-logo{display:none}.menu-list{height:58px;padding:5px 6px;display:flex;overflow-x:auto;gap:4px}.menu-item{min-width:74px;height:48px;margin:0;border-radius:12px;padding:0 6px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;white-space:nowrap}.menu-item span{font-size:16px}.menu-group{min-width:74px;margin:0}.menu-group .menu-parent{margin:0}.menu-parent b,.submenu-list{display:none}.menu-group.active-group>.menu-parent{background:linear-gradient(90deg,#e86f9a,#f5a1bd);color:#fff}
  .main{height:calc(100vh - 58px);overflow:hidden}.topbar{height:56px;padding:0 12px}.topbar h2{font-size:17px;margin:0}.topbar small{display:none}.top-actions .el-tag{display:none}.content{height:calc(100vh - 114px);padding:10px;overflow:auto}.panel{border-radius:14px;padding:10px}.card-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{min-height:78px;padding:12px}.stat-card b{font-size:22px}.two-col{grid-template-columns:1fr;gap:10px;margin-top:10px}
  .toolbar{gap:6px;margin-bottom:8px}.sticky-toolbar{position:sticky;top:0;z-index:20;background:#fbf8fa;padding-bottom:8px}.toolbar .el-input{width:100%}.toolbar .el-date-editor.el-input{width:calc(50% - 4px)}.toolbar .el-button{min-height:32px;padding:7px 9px;font-size:12px}.legend{order:10;margin-left:0;width:100%;overflow-x:auto;gap:8px;font-size:12px;padding:7px}.lg{width:15px;height:12px}
  .room-chart-controls{position:relative;top:auto;z-index:1;padding:12px;border-radius:16px;margin-bottom:10px;background:#fff}.room-chart-filter-grid{grid-template-columns:1fr;gap:12px}.chart-filter-field{gap:5px}.chart-control-bottom{display:block;margin-top:13px}.chart-layout-field{min-width:0;width:100%;gap:6px}.chart-layout-switch button{height:40px;font-size:14px}.chart-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.chart-action-row .el-button{width:100%;margin:0;min-height:38px}.chart-action-row .el-button:first-child{grid-column:1/-1}.room-chart-legend{margin:0 0 10px;width:100%;white-space:nowrap;border:0;background:transparent;padding:6px 2px}
  .room-chart-legend.vertical-sticky-boundary{position:sticky;top:0;z-index:24;margin-bottom:0;padding:8px 2px;background:#fbf8fa;border-bottom:1px solid #f0d8e1;box-shadow:0 5px 12px rgba(44,44,70,.05)}
  .mobile-chart-panel{display:block}.chart-shell{display:none}.mobile-chart-scroll{height:45vh;min-height:280px;max-height:520px}
  .mobile-vertical-room-header{--vertical-date-width:68px;--vertical-room-width:42px;display:block;position:sticky;top:31px;z-index:23;width:100%;overflow-x:auto;overflow-y:hidden;background:#fff8fb;border:1px solid #777;border-bottom:0;border-radius:10px 10px 0 0;scrollbar-width:none;touch-action:pan-x}
  .mobile-vertical-room-header::-webkit-scrollbar{display:none}
  .mobile-vertical-header-grid{display:grid;width:max-content;min-width:100%;height:34px}
  .mobile-vertical-corner,.mobile-vertical-room-name{height:34px;display:flex;align-items:center;justify-content:center;border-right:1px solid #777;border-bottom:1px solid #777;background:#fff8fb;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-vertical-corner{background:var(--brand-soft);font-size:11px}
  .vertical-chart-shell{--vertical-date-width:68px;--vertical-room-width:42px;--vertical-header-height:0px;--vertical-row-height:36px;height:auto;min-height:0;max-height:none;overflow-x:auto;overflow-y:hidden;border-radius:0 0 10px 10px;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
  .vertical-room-chart>.vertical-corner,.vertical-room-chart>.vertical-room-head{display:none}
  .vertical-room-head{gap:2px;padding:0 3px}.vertical-room-head b{font-size:12px;white-space:nowrap}.vertical-room-head span{font-size:9px;white-space:nowrap}
  .vertical-date-cell{gap:2px}.vertical-date-cell b{font-size:12px}.vertical-date-cell span{font-size:9px}
  .vertical-event-block{margin:0 1px;padding:4px 1px;gap:2px;font-size:8.5px;line-height:1.2;word-break:break-all}.vertical-event-block small{font-size:8px;white-space:normal}
  .el-dialog{width:94vw!important;margin-top:5vh!important}.el-form-item{margin-bottom:13px}.el-table{font-size:12px}.el-table .cell{padding:0 6px}
}

@media(min-width:769px){
  .mobile-chart-panel{display:none!important}
}

/* H5 手机表单弹窗修复：20260618_mobile_h5_fix4
   手机端把弹窗里的两列/三列/四列字段全部改成单列竖排，避免选择框、日期框、金额框被挤到显示不全。 */
@media(max-width:768px){
  .el-overlay-dialog{padding:0 8px;overflow:hidden!important}
  .el-dialog{width:94vw!important;max-width:94vw!important;margin:4vh auto!important;border-radius:18px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
  .el-dialog__header{padding:16px 16px 8px;font-size:17px;flex:0 0 auto}
  .el-dialog__title{font-size:18px;font-weight:800;color:#333}
  .el-dialog__body{padding:8px 14px 12px;overflow:auto;flex:1 1 auto;-webkit-overflow-scrolling:touch}
  .el-dialog__footer{padding:10px 14px 14px;flex:0 0 auto;border-top:1px solid #f2e6ec;background:#fff}

  .el-dialog .el-row{display:block!important;margin-left:0!important;margin-right:0!important}
  .el-dialog .el-col,
  .el-dialog .el-col-6,
  .el-dialog .el-col-8,
  .el-dialog .el-col-12,
  .el-dialog .el-col-24{
    display:block!important;
    max-width:100%!important;
    flex:0 0 100%!important;
    width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .el-dialog .el-form-item{display:block!important;margin-bottom:12px!important}
  .el-dialog .el-form-item__label{display:block!important;width:100%!important;height:auto!important;line-height:20px!important;text-align:left!important;padding:0 0 5px 2px!important;font-size:13px;color:#555;font-weight:700}
  .el-dialog .el-form-item__content{display:block!important;margin-left:0!important;width:100%!important;line-height:normal!important}
  .el-dialog .el-input,
  .el-dialog .el-select,
  .el-dialog .el-date-editor,
  .el-dialog .el-input-number,
  .el-dialog .el-textarea{width:100%!important;max-width:100%!important}
  .el-dialog .el-input__wrapper,
  .el-dialog .el-select__wrapper{min-height:38px!important}
  .el-dialog .el-input-number .el-input__wrapper{padding-left:36px!important;padding-right:36px!important}
  .el-dialog textarea.el-textarea__inner{min-height:72px!important}

  .el-dialog__footer .dialog-footer,
  .el-dialog__footer span{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
  .el-dialog__footer .el-button{min-width:76px;margin-left:0!important}
}

/* 入住档案：淡粉色系，表格内容不填充颜色 */
.checkin-toolbar{background:#fff7fa;border:1px solid #f5d9e5;border-radius:14px;padding:12px}
.checkin-toolbar .el-input{width:380px}
.checkin-sheet-table{border:1px solid #f2cbd9;border-radius:14px;overflow:hidden}
.checkin-sheet-table .el-table__header th{
  background:#fff1f6!important;
  color:#38202a!important;
  font-weight:800!important;
  text-align:center!important;
  border-color:#f1cddd!important;
}
.checkin-sheet-table .el-table__body td{
  background:#fff!important;
  color:#222;
  border-color:#f4dbe5!important;
  text-align:center;
}
.checkin-sheet-table .el-table__body tr:nth-child(even)>td{background:#fff!important}
.checkin-sheet-table .el-table__body tr:hover>td{background:#fff7fa!important}
.checkin-sheet-table .el-table__cell .cell{line-height:18px;font-size:12px}
.checkin-dialog .el-dialog__header{border-bottom:1px solid #f5d9e5;background:#fff7fa;border-radius:18px 18px 0 0}
.checkin-dialog .el-dialog__body{padding-top:12px}
.checkin-dialog .el-form-item__label{font-weight:700;color:#555}
.checkin-stage-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;background:#fff;border:1px solid #f2d7e2;border-radius:14px;padding:6px;margin-bottom:12px}.checkin-stage-tabs button{height:38px;border:0;border-radius:10px;background:transparent;color:#6d5a62;font-weight:700;cursor:pointer}.checkin-stage-tabs button:hover{background:#fff3f7}.checkin-stage-tabs button.active{background:linear-gradient(90deg,#e86f9a,#f59fbd);color:#fff;box-shadow:0 5px 14px rgba(232,111,154,.2)}

@media(max-width:768px){
  .checkin-toolbar .el-input{width:100%}
  .checkin-stage-tabs{grid-template-columns:repeat(4,max-content);overflow-x:auto;justify-content:start;padding:5px;gap:5px}.checkin-stage-tabs button{height:34px;padding:0 12px;white-space:nowrap;font-size:12px}
  .checkin-sheet-table{font-size:12px}
  .checkin-sheet-table .el-table__cell .cell{font-size:11px;padding:0 4px}
}

/* 员工档案：淡粉色系表格，参考员工档案管理列表 */
.employee-panel{background:#fff;border:1px solid #f3dbe4;border-radius:18px;padding:14px;box-shadow:0 10px 30px rgba(232,111,154,.07)}
.employee-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.employee-title-row h3{margin:0;font-size:18px;color:#2b2b35;font-weight:800}
.employee-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.employee-toolbar{background:#fff7fa;border:1px solid #f5d9e5;border-radius:14px;padding:12px;margin-bottom:12px}
.employee-toolbar .el-input{width:240px}
.employee-toolbar .el-select{width:170px}
.employee-table .el-table__header th{background:#fff1f6!important;color:#2b2b35!important;font-weight:800!important;text-align:center!important;border-color:#f1cddd!important}
.employee-table .el-table__body td{background:#fffafd;color:#222;border-color:#f1d7e2!important;text-align:center}
.employee-table .el-table__body tr:nth-child(even)>td{background:#fff5f9}
.employee-table .el-table__body tr:hover>td{background:#ffeaf3!important}
.employee-table .el-table__cell .cell{line-height:20px;font-size:13px}
.employee-dialog .el-dialog__header{border-bottom:1px solid #f5d9e5;background:#fff7fa;border-radius:18px 18px 0 0}
.employee-dialog .el-form-item__label{font-weight:700;color:#555}
@media(max-width:768px){
  .employee-panel{padding:10px;border-radius:14px}
  .employee-title-row{display:block}
  .employee-title-row h3{font-size:16px;margin-bottom:10px}
  .employee-actions{gap:6px}
  .employee-actions .el-button{padding:7px 9px;font-size:12px}
  .employee-toolbar .el-input,.employee-toolbar .el-select{width:100%}
  .employee-table .el-table__cell .cell{font-size:12px;padding:0 5px}
}

/* 客房保洁：布草消毒&更换保洁记录表 */
.housekeeping-page{color:#0f1f33}
.housekeeping-blue-title{background:#0987c5;color:#fff;height:64px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;margin-bottom:14px;letter-spacing:.5px}
.housekeeping-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:14px}
.housekeeping-legend{display:flex;align-items:center;gap:18px;font-size:13px;color:#111;font-weight:700}.housekeeping-legend span{display:flex;align-items:center;gap:6px}.housekeeping-legend i{width:15px;height:15px;display:inline-block}.todo-soon{background:#fff08a}.todo-today{background:#f44747}.todo-overdue{background:#df1b24}
.housekeeping-card{background:#fff;border:1px solid #dfe4ec;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:16px 18px;margin-bottom:16px}.housekeeping-card h3{margin:0 0 14px;color:#0076b6;font-size:18px}.housekeeping-quick-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.quick-field{display:flex;flex-direction:column;gap:6px}.quick-field label{font-size:13px;color:#1d2b3b}.quick-items{min-width:420px;border:1px solid #cfd6df;border-radius:7px;padding:10px 12px;background:#fff}.quick-items .el-checkbox{margin-right:14px;height:26px}.housekeeping-actions{margin-left:auto;display:flex;gap:10px;align-items:center}
.housekeeping-table{border-radius:7px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);margin-bottom:16px}.housekeeping-table .el-table__header th{background:#f0f2f5!important;color:#000!important;font-weight:900!important;text-align:center!important;border-color:#d9dfe8!important}.housekeeping-table .el-table__body td{text-align:center;border-color:#dfe4ec!important;background:#fff!important;color:#000}.housekeeping-table .el-table__cell .cell{padding:0 8px}.housekeeping-table .el-input.is-disabled .el-input__wrapper{background:#fff!important;box-shadow:0 0 0 1px #dcdfe6 inset!important}.housekeeping-table .el-input.is-disabled .el-input__inner{color:#000!important;-webkit-text-fill-color:#000!important}.hk-status-cell{height:42px;display:flex;align-items:center;justify-content:center;font-weight:800;margin:-1px -8px}.hk-status-cell.normal{background:#fff;color:#000}.hk-status-cell.soon{background:#fff08a;color:#000}.hk-status-cell.today{background:#f44747;color:#fff}.hk-status-cell.overdue{background:#df1b24;color:#fff}.hk-status-cell.done{background:#cfd4da;color:#394454}.rule-card{padding:14px 18px}.rule-card h3{color:#0076b6}.rule-card ul{margin:0;padding-left:20px;line-height:2;color:#24354b}
.housekeeping-todo-dialog .el-dialog__header{border-bottom:0}.housekeeping-todo-dialog .el-dialog__title{color:#0076b6;font-size:22px;font-weight:900}.todo-date{font-size:14px;color:#4d5a6a;margin-bottom:16px}.todo-list{display:flex;flex-direction:column;gap:8px}.todo-head,.todo-row{display:grid;grid-template-columns:1fr 1.2fr 1.3fr;align-items:center;gap:10px}.todo-head{font-weight:900;color:#25334a;border-bottom:1px solid #d7dde8;padding:0 12px 10px}.todo-row{background:#f8fafc;border:1px solid #e2e7f0;border-radius:8px;min-height:50px;padding:0 12px}.todo-row b{color:#0076b6;text-align:right}.todo-empty{height:120px;display:flex;align-items:center;justify-content:center;color:#7f8b9a;background:#f8fafc;border-radius:10px}

@media(max-width:768px){
  .housekeeping-blue-title{height:auto;min-height:48px;font-size:17px;padding:10px 8px;text-align:center;border-radius:8px;margin-bottom:10px}.housekeeping-topline{display:block;font-size:13px}.housekeeping-legend{margin-top:8px;gap:10px;overflow-x:auto;white-space:nowrap;font-size:12px}.housekeeping-card{padding:12px;border-radius:12px}.housekeeping-card h3{font-size:16px}.housekeeping-quick-row{display:block}.quick-field{margin-bottom:10px}.quick-field .el-select,.quick-field .el-date-editor{width:100%!important}.quick-items{min-width:0;width:100%;padding:10px}.quick-items .el-checkbox{margin-right:10px}.housekeeping-actions{margin-left:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.housekeeping-actions .el-button{margin-left:0!important;width:100%}.housekeeping-table{font-size:12px}.housekeeping-table .el-table__cell .cell{padding:0 5px}.hk-status-cell{height:38px;margin:-1px -5px;font-size:12px}.rule-card ul{font-size:13px;line-height:1.8}.housekeeping-todo-dialog .el-dialog__title{font-size:18px}.todo-head,.todo-row{grid-template-columns:1fr 1.15fr 1.45fr;font-size:13px}.todo-row{min-height:44px}.todo-row b{text-align:right}
}

.hk-date-text{font-weight:800;color:#111;line-height:36px;white-space:nowrap}
.hk-record-history{max-height:74px;overflow:auto;text-align:left;line-height:1.65;padding:4px 6px;font-size:13px;color:#111;background:#fff}
.hk-record-history.muted{color:#8a93a2;text-align:center}
.hk-record-line{border-bottom:1px dashed #e3e7ee;padding:1px 0}.hk-record-line:last-child{border-bottom:0}
.hk-op-buttons{display:flex;gap:6px;justify-content:center;align-items:center;flex-wrap:wrap}.hk-op-buttons .el-button{margin-left:0!important}
.quick-items .el-checkbox-group{display:grid;grid-template-rows:repeat(2,28px);grid-auto-flow:column;grid-auto-columns:max-content;column-gap:14px;row-gap:2px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.quick-items .el-checkbox{margin-right:0!important;height:26px}


/* v3 客房保洁调整：顶部蓝色合并、记录横向显示 */
.topbar.housekeeping-main-titlebar{background:#0987c5!important;color:#fff!important;border-bottom:0!important;box-shadow:none!important}
.topbar.housekeeping-main-titlebar h2{color:#fff!important;font-size:26px;font-weight:900;letter-spacing:.5px}
.topbar.housekeeping-main-titlebar .top-actions .el-tag{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important}
.topbar.housekeeping-main-titlebar .top-actions .el-button{background:#fff!important;color:#0987c5!important;border-color:#fff!important;font-weight:700}
.housekeeping-page{margin-top:0}
.hk-record-history{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-start;text-align:left;min-height:32px}
.hk-record-line{display:inline-flex;align-items:center;max-width:100%;border:1px solid #dfe4ec!important;background:#f8fafc;border-radius:5px;padding:4px 8px!important;margin:2px 0;font-size:12px;line-height:1.25;white-space:nowrap}
.hk-record-history.muted{justify-content:center;color:#8a94a6;background:#f8fafc;border:1px dashed #dfe4ec;border-radius:5px;padding:5px 8px}
@media (max-width: 768px){
  .topbar.housekeeping-main-titlebar{height:56px;padding:0 12px}
  .topbar.housekeeping-main-titlebar h2{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar.housekeeping-main-titlebar .top-actions .el-tag{display:none}
  .hk-record-history{gap:4px}
  .hk-record-line{font-size:11px;padding:3px 6px!important}
}

/* 20260815 暖棕奶油主题：参考万合玺悦品牌视觉 */
:root{
  --brand:#9b7b65;
  --brand-dark:#745744;
  --brand-soft:#f3ece5;
  --ink:#342820;
  --muted:#887b70;
  --line:#ded5cc;
}
html,body,#app{background:#f7f4ef;color:var(--ink)}
.login-page{background:linear-gradient(90deg,#9b7b65 0,#9b7b65 55%,#f7f4ef 55%,#f7f4ef 100%)}
.login-card{background:#fbf9f5;border-color:#eee7df;box-shadow:0 24px 70px rgba(84,61,46,.18)}
.brand-mark,.logo-flower{background:linear-gradient(145deg,#b69a84,#8e6d57);box-shadow:0 10px 25px rgba(88,61,44,.25)}
.sidebar{background:linear-gradient(180deg,#fbf9f5,#f2ebe3);border-color:#ddd2c7}.side-logo{border-color:#e5ddd5}
.menu-item:hover,.menu-group.active-group>.menu-parent,.submenu-item:hover{background:#eee4da;color:var(--brand-dark)}
.menu-item.active,.submenu-item.active,.menu-group.active-group>.menu-parent,.checkin-stage-tabs button.active{background:linear-gradient(90deg,#8e6d57,#ad8d76);color:#fff;box-shadow:0 8px 20px rgba(103,75,57,.2)}
.topbar{background:rgba(251,249,245,.94);border-color:#e7e0d8}.content,.sticky-toolbar{background:#f7f4ef}
.panel,.stat-card,.room-chart-controls,.module-panel,.crm-analysis-card{border-color:#e4dbd2;box-shadow:0 9px 28px rgba(74,52,39,.06)}
.stat-card:after{background:#eee5dc}.chart-layout-switch{border-color:#cdbbab;background:#f2ebe4}.chart-layout-switch button.active{background:var(--brand);box-shadow:0 5px 14px rgba(103,75,57,.22)}
.el-button--primary{--el-button-bg-color:#9b7b65;--el-button-border-color:#9b7b65;--el-button-hover-bg-color:#846550;--el-button-hover-border-color:#846550;--el-button-active-bg-color:#745744;--el-button-active-border-color:#745744}
.el-input__wrapper.is-focus,.el-select .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px #9b7b65 inset!important}
.el-tabs__item.is-active,.el-tabs__item:hover{color:#745744!important}.el-tabs__active-bar{background:#9b7b65!important}
.checkin-stage-tabs,.checkin-toolbar,.employee-toolbar{border-color:#e1d5ca;background:#f5f0ea}.checkin-stage-tabs button:hover{background:#eee4da}
.checkin-sheet-table,.employee-panel{border-color:#dfd1c5}.checkin-sheet-table .el-table__header th,.employee-table .el-table__header th{background:#eee7df!important;border-color:#d8cbc0!important}.checkin-sheet-table .el-table__body tr:hover>td,.employee-table .el-table__body tr:hover>td{background:#f5efe9!important}
.module-title-row h3,.dish-pick-info b{color:#3f3027}.order-items span{background:#f3ece5;border-color:#d9c8b9;color:#6b5140}.dish-pick-card.is-selected{border-color:#9b7b65;background:#f4eee8;box-shadow:0 0 0 2px rgba(103,75,57,.1)}.dish-picker-title span,.order-total b{color:#80604b}
.crm-analysis-card{border-color:#dfd4c9}.crm-sheet-title h3{color:#342820}.crm-sheet-title span{color:#887b70}.crm-sheet tbody tr:nth-child(even) td{background:#faf7f3}.crm-sheet .group-info{background:#f1e8df}.crm-sheet .group-follow{background:#f5efe4}.crm-sheet .group-result{background:#edf1e8}
.topbar.housekeeping-main-titlebar{background:#8e6d57!important}.topbar.housekeeping-main-titlebar .top-actions .el-button{color:#745744!important}.housekeeping-card h3,.rule-card h3,.housekeeping-todo-dialog .el-dialog__title,.todo-row b{color:#80604b}
@media(max-width:768px){.login-page{background:linear-gradient(180deg,#9b7b65 0,#9b7b65 28%,#f7f4ef 28%,#f7f4ef 100%)}.sidebar{background:rgba(251,249,245,.98);border-color:#ddd2c7}.menu-group.active-group>.menu-parent{background:linear-gradient(90deg,#8e6d57,#ad8d76)}.sticky-toolbar,.room-chart-legend.vertical-sticky-boundary{background:#f7f4ef;border-color:#ded5cc}}

/* 月嫂管理、厨房菜品 */
.module-panel{background:#fff;border:1px solid #f0d9e4;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(86,42,63,.06)}
.module-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.module-title-row h3{margin:0;color:#472f3a;font-size:20px}.module-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.module-toolbar .el-input{width:280px}.module-toolbar .el-select{width:165px}.record-tag{margin:2px 4px 2px 0}.kitchen-tabs>.el-tabs__header{margin-bottom:14px}.kitchen-tabs .el-tabs__item{font-weight:800;font-size:15px}.order-items{display:flex;gap:10px;flex-wrap:wrap;padding:8px 36px}.order-items span{background:#fff4f8;border:1px solid #f1cada;border-radius:8px;padding:7px 10px;color:#65404f}.dish-picker-title{display:flex;justify-content:space-between;align-items:center;margin:4px 0 12px;padding-top:12px;border-top:1px solid #eee}.dish-picker-title span{color:#d84e83;font-weight:800}.dish-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:360px;overflow:auto;padding:2px}.dish-pick-card{border:1px solid #e5dce0;border-radius:12px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff;transition:.15s}.dish-pick-card.is-selected{border-color:#e36596;background:#fff5f9;box-shadow:0 0 0 2px rgba(227,101,150,.12)}.dish-pick-info{min-width:0;display:flex;flex-direction:column;gap:5px}.dish-pick-info b{font-size:15px;color:#34242b}.dish-pick-info small{color:#8b747e}.dish-pick-info .el-tag{margin:0 3px 2px 0}.dish-pick-card .el-input-number{width:92px;flex:0 0 auto}.order-total{margin-right:18px;color:#666}.order-total b{font-size:20px;color:#d84e83}
.menu-date-hint{margin:0 0 14px}
@media(max-width:768px){
  .module-panel{padding:10px;border-radius:13px}.module-title-row{align-items:flex-start}.module-title-row h3{font-size:17px}.module-title-row .el-button{padding:8px 10px}.module-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.module-toolbar .el-input,.module-toolbar .el-select,.module-toolbar .el-date-editor{width:100%!important}.module-toolbar .el-button{margin-left:0!important;width:100%}.kitchen-toolbar{grid-template-columns:1fr 1fr}.module-dialog,.order-dialog{--el-dialog-width:calc(100vw - 20px)!important}.module-dialog .el-col,.order-dialog .el-col{max-width:100%!important;flex:0 0 100%!important}.module-dialog .el-dialog__body,.order-dialog .el-dialog__body{padding:14px 12px}.dish-picker{grid-template-columns:1fr;max-height:350px}.dish-pick-card{padding:10px}.dish-picker-title{font-size:13px}.order-total{display:block;margin:0 0 8px}.order-dialog .el-dialog__footer{display:block}.order-dialog .el-dialog__footer .el-button{margin-top:6px}
}


/* v4 客房保洁：蓝色标题移到页面最上方，房间号文本化，保洁记录横向不换行 */
.topbar.housekeeping-main-titlebar{background:#0987c5!important;color:#fff!important;border-bottom:0!important;box-shadow:none!important;border-radius:0!important}
.topbar.housekeeping-main-titlebar h2{color:#fff!important;font-size:26px!important;font-weight:900!important;letter-spacing:.5px;margin:0!important;width:100%;text-align:center}
.topbar.housekeeping-main-titlebar>div:first-child{flex:1;display:flex;justify-content:center}
.topbar.housekeeping-main-titlebar .top-actions{position:absolute;right:22px}
.topbar.housekeeping-main-titlebar .top-actions .el-tag{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important}
.topbar.housekeeping-main-titlebar .top-actions .el-button{background:#fff!important;color:#0987c5!important;border-color:#fff!important;font-weight:700}
.housekeeping-blue-title{display:none!important}
.housekeeping-page{margin-top:0!important}
.hk-room-text{font-weight:800;color:#111;line-height:34px;white-space:nowrap;text-align:center;font-size:14px}
.hk-record-history{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:nowrap!important;justify-content:flex-start!important;text-align:left!important;min-height:32px!important;max-height:none!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;padding:4px 6px!important}
.hk-record-line{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;width:auto!important;max-width:none!important;border:1px solid #dfe4ec!important;background:#f8fafc!important;border-radius:5px!important;padding:4px 8px!important;margin:2px 0!important;font-size:12px!important;line-height:1.25!important;white-space:nowrap!important}
.hk-record-history.muted{justify-content:center!important;color:#8a94a6!important;background:#f8fafc!important;border:1px dashed #dfe4ec!important;border-radius:5px!important;padding:5px 8px!important;overflow:hidden!important}

@media (max-width: 768px){
  .topbar.housekeeping-main-titlebar{height:56px!important;padding:0 12px!important}
  .topbar.housekeeping-main-titlebar h2{font-size:17px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar.housekeeping-main-titlebar .top-actions{right:12px}
  .topbar.housekeeping-main-titlebar .top-actions .el-tag{display:none!important}
  .hk-room-text{font-size:12px;line-height:32px}
  .hk-record-history{gap:4px!important}
  .hk-record-line{font-size:11px!important;padding:3px 6px!important}
}


/* v5 客房保洁：左上角恢复页面说明，中间标题改为“客房布草更换&消毒 保洁记录” */
.topbar.housekeeping-main-titlebar{
  position:relative!important;
  min-height:76px!important;
  height:auto!important;
  padding:0 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#0987c5!important;
  color:#fff!important;
  border-bottom:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.topbar.housekeeping-main-titlebar .topbar-title-wrap{
  position:relative!important;
  flex:1!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:76px!important;
}
.topbar.housekeeping-main-titlebar .housekeeping-left-title{
  position:absolute!important;
  left:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  text-align:left!important;
  color:#fff!important;
  line-height:1.25!important;
  max-width:360px!important;
}
.topbar.housekeeping-main-titlebar .housekeeping-left-title b{
  display:block!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:900!important;
  margin-bottom:6px!important;
}
.topbar.housekeeping-main-titlebar .housekeeping-left-title span{
  display:block!important;
  color:rgba(255,255,255,.88)!important;
  font-size:13px!important;
  font-weight:500!important;
  white-space:nowrap!important;
}
.topbar.housekeeping-main-titlebar h2{
  color:#fff!important;
  font-size:26px!important;
  font-weight:900!important;
  letter-spacing:.5px!important;
  margin:0!important;
  width:auto!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.topbar.housekeeping-main-titlebar>div:first-child{
  flex:1!important;
  display:flex!important;
  justify-content:center!important;
}
.topbar.housekeeping-main-titlebar .top-actions{
  position:absolute!important;
  right:22px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}

@media (max-width: 1180px){
  .topbar.housekeeping-main-titlebar .housekeeping-left-title span{display:none!important}
  .topbar.housekeeping-main-titlebar .housekeeping-left-title b{font-size:18px!important;margin-bottom:0!important}
  .topbar.housekeeping-main-titlebar h2{font-size:22px!important}
}

@media (max-width: 768px){
  .topbar.housekeeping-main-titlebar{
    min-height:64px!important;
    padding:0 12px!important;
  }
  .topbar.housekeeping-main-titlebar .topbar-title-wrap{min-height:64px!important}
  .topbar.housekeeping-main-titlebar .housekeeping-left-title{
    left:0!important;
    max-width:88px!important;
  }
  .topbar.housekeeping-main-titlebar .housekeeping-left-title b{
    font-size:15px!important;
    line-height:1.1!important;
  }
  .topbar.housekeeping-main-titlebar .housekeeping-left-title span{display:none!important}
  .topbar.housekeeping-main-titlebar h2{
    font-size:16px!important;
    max-width:calc(100vw - 190px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .topbar.housekeeping-main-titlebar .top-actions{right:10px!important}
  .topbar.housekeeping-main-titlebar .top-actions .el-tag{display:none!important}
  .topbar.housekeeping-main-titlebar .top-actions .el-button{padding:6px 8px!important;font-size:12px!important}
}

/* 暖棕主题最终覆盖：放在文件末尾，统一旧模块遗留的粉色/蓝色强调色 */
.menu-item.active,.submenu-item.active,.menu-group.active-group>.menu-parent,.checkin-stage-tabs button.active{background:linear-gradient(90deg,#8e6d57,#ad8d76)!important;color:#fff!important;box-shadow:0 8px 20px rgba(103,75,57,.2)!important}
.menu-item:hover,.menu-group.active-group>.menu-parent:not(.active),.submenu-item:hover{background:#eee4da;color:#745744}
.checkin-toolbar,.employee-toolbar{background:#f5f0ea!important;border-color:#e1d5ca!important}.checkin-stage-tabs{border-color:#e1d5ca!important}.checkin-stage-tabs button:hover{background:#eee4da!important}
.checkin-sheet-table .el-table__header th,.employee-table .el-table__header th{background:#eee7df!important;border-color:#d8cbc0!important}.checkin-sheet-table .el-table__body tr:hover>td,.employee-table .el-table__body tr:hover>td{background:#f5efe9!important}
.topbar.housekeeping-main-titlebar{background:#8e6d57!important}.topbar.housekeeping-main-titlebar .top-actions .el-button{color:#745744!important}.housekeeping-card h3,.rule-card h3,.housekeeping-todo-dialog .el-dialog__title,.todo-row b{color:#80604b!important}
.module-panel{border-color:#e4dbd2!important}.order-items span{background:#f3ece5!important;border-color:#d9c8b9!important;color:#6b5140!important}.dish-pick-card.is-selected{border-color:#9b7b65!important;background:#f4eee8!important}.dish-picker-title span,.order-total b{color:#80604b!important}
@media(max-width:768px){.menu-group.active-group>.menu-parent{background:linear-gradient(90deg,#8e6d57,#ad8d76)!important}.sidebar{border-color:#ddd2c7!important}.room-chart-legend.vertical-sticky-boundary{background:#f7f4ef!important;border-color:#ded5cc!important}}

/* 客资跟进详情时间轴 */
.followup-customer-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;margin-bottom:18px;border:1px solid #e2d7cd;border-radius:12px;background:#f6f1eb}.followup-customer-head>div{display:flex;flex-direction:column;gap:5px}.followup-customer-head b{font-size:19px;color:#3b2d24}.followup-customer-head span{font-size:12px;color:#89786b}.followup-timeline{max-height:58vh;overflow:auto;padding:6px 10px 4px 8px}.followup-detail-dialog .el-timeline-item__timestamp{color:#e77a19;font-size:14px}.followup-detail-dialog .el-timeline-item__node{background:#f58220!important}.followup-detail-dialog .el-timeline-item__tail{border-left-color:#d6e0e8}.followup-timeline-card{background:#fff;border:1px solid #ece6df;border-radius:8px;padding:13px 15px;box-shadow:0 3px 12px rgba(70,48,34,.05)}.followup-timeline-card h4{margin:0 0 8px;color:#1677d2;font-size:15px}.followup-timeline-card p{margin:5px 0;color:#7c7772;line-height:1.55}.followup-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;margin-top:8px;color:#7c7772}.followup-timeline-card small{display:block;margin-top:9px;color:#aaa}
@media(max-width:768px){.followup-detail-dialog{--el-dialog-width:calc(100vw - 16px)!important}.followup-detail-dialog .el-dialog__body{padding:10px}.followup-timeline{max-height:68vh;padding-left:2px}.followup-profile{grid-template-columns:1fr}.followup-timeline-card{padding:11px}}

/* 客资签约 */
.sign-section-title{display:flex;align-items:center;justify-content:space-between;margin:4px 0 10px;padding-top:10px;border-top:1px solid #e7ded5;color:#49382d}.sign-gift-row{display:grid;grid-template-columns:1.3fr 110px 1.5fr auto;gap:8px;margin-bottom:8px}.contract-file-field{margin-top:16px}.contract-file-field input[type=file]{width:100%;padding:10px;border:1px dashed #c9b6a7;border-radius:8px;background:#f7f2ed}.contract-file-field small{display:block;color:#8c7b6f;line-height:1.6;margin-top:5px}.selected-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.selected-files span{padding:4px 8px;border-radius:6px;background:#eee5dc;color:#6d5241;font-size:12px}
.sign-section-title>div{display:flex;flex-direction:column;gap:3px}.sign-section-title small{color:#8e7c70;font-weight:400}.sign-gift-select-row{grid-template-columns:minmax(220px,1.35fr) 100px 145px minmax(150px,1fr) auto;align-items:center}.gift-line-value{padding:8px 10px;border-radius:7px;background:#f7f2ed;color:#735a49;font-size:12px}.gift-catalog-empty{margin:8px 0 12px;padding:12px;border:1px dashed #d6c6b9;border-radius:8px;background:#faf7f3;color:#8a7769}.sign-gift-total{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 0 14px;padding:11px 13px;border-radius:8px;background:#f3ece5;color:#765c4a}.sign-gift-total span{font-size:12px}.sign-gift-total b{white-space:nowrap;color:#9b6644}
@media(max-width:768px){.customer-sign-dialog{--el-dialog-width:calc(100vw - 16px)!important}.customer-sign-dialog .el-dialog__body{padding:12px}.customer-sign-dialog .el-col{max-width:100%!important;flex:0 0 100%!important}.sign-gift-row,.sign-gift-select-row{grid-template-columns:1fr 90px}.sign-gift-select-row>*:nth-child(n+3){grid-column:1/-1}.sign-gift-total{align-items:flex-start;flex-direction:column}}

/* 已签约客户修改记录 */
.contract-change-panel{margin-top:12px;padding:14px 16px;border:1px solid #e1d6cc;border-radius:13px;background:#fff}.contract-change-panel h3{margin:0 0 10px;color:#49382d;font-size:16px}.contract-change-empty{color:#9a8b80;padding:12px;text-align:center;background:#f8f5f1;border-radius:8px}.contract-change-item{display:grid;grid-template-columns:180px 1fr 185px;gap:12px;align-items:center;padding:10px 12px;border-top:1px solid #eee6df;font-size:13px}.contract-change-item:first-of-type{border-top:0}.contract-change-item b{color:#5d4637}.contract-change-item span{color:#6f6259}.contract-change-item small{color:#9b8d83;text-align:right}
@media(max-width:768px){.contract-change-panel{padding:10px}.contract-change-item{grid-template-columns:1fr;gap:4px}.contract-change-item small{text-align:left}}
/* 多房间预定使用箭头串联房间，窄列内允许自动换行完整展示 */
.el-table td .el-tag{max-width:100%;height:auto;min-height:24px;white-space:normal;line-height:1.35;padding-top:3px;padding-bottom:3px}
.el-table td .cell{white-space:pre-line}
.nurse-round-dialog .el-dialog__body{padding:10px 18px 16px;max-height:82vh;overflow:auto;background:#faf9f7}.round-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;background:#fff;border:1px solid #e6dfd8;border-radius:8px;margin-bottom:10px}.round-header .el-form-item{margin-bottom:0}.round-meta{display:flex;gap:18px;padding:0 14px;color:#67594f;border-left:1px solid #e6dfd8;border-right:1px solid #e6dfd8}.round-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.round-panel,.round-rehab,.round-note{background:#fff;border:1px solid #e6dfd8;border-radius:8px;padding:10px 16px;margin-bottom:10px}.round-panel h3,.round-rehab h3,.round-note h3{margin:0 0 12px;padding-left:10px;border-left:4px solid #9d806a;color:#5a483b;font-size:16px}.round-panel .el-form-item{margin-bottom:12px}.round-rehab .el-empty{padding:4px 0 8px}.round-note{margin-bottom:0}@media(max-width:900px){.round-columns{grid-template-columns:1fr}.round-meta{width:100%;border:0;padding:0;flex-wrap:wrap}.nurse-round-dialog{width:98%!important}.round-header{align-items:flex-start}}
.nurse-today-tip{padding:10px 14px;margin-bottom:10px;border-radius:7px;background:#f3ede8;color:#765f4e}.nurse-room-list{display:flex;flex-direction:column;gap:9px}.nurse-room-row{position:relative;display:grid;grid-template-columns:240px 110px 180px 150px minmax(220px,1fr) 150px;align-items:center;gap:14px;padding:15px 64px 15px 18px;background:#fff;border:1px solid #e5ddd6;border-radius:9px;cursor:pointer;transition:.18s}.nurse-room-row:hover{border-color:#a98870;box-shadow:0 5px 16px rgba(116,88,68,.12);transform:translateY(-1px)}.nurse-room-row.done{background:#fbfdf9}.room-main{display:flex;align-items:center;gap:16px;font-size:16px}.room-main>b{font-size:19px;color:#604939}.round-state{position:absolute;right:14px}.handover-note{white-space:pre-wrap;line-height:1.6;color:#574c45}@media(max-width:1100px){.nurse-room-row{grid-template-columns:1fr 1fr;padding-right:18px}.round-state{position:static;justify-self:start}}
