/* V7 workstation shell: full-width calendar plus one reusable right-side detail surface. */
.mc-command-rail{position:fixed;z-index:80;inset:0 auto 0 0;width:78px;display:flex;flex-direction:column;align-items:center;gap:10px;border-right:1px solid #cfe0da;background:#e7f3ef;padding:12px 8px calc(12px + env(safe-area-inset-bottom));box-shadow:5px 0 18px rgba(35,75,63,.08)}
#admin-global-nav{display:none!important}
.mc-rail-brand{display:grid;width:50px;height:50px;place-items:center;border-radius:14px;background:#6fc4b4;color:#163f36;font-size:14px;font-weight:950;text-decoration:none;letter-spacing:.05em}
.mc-command-rail nav{display:grid;width:100%;gap:6px}
.mc-command-rail nav a,.mc-command-rail nav button,.mc-rail-login,.mc-rail-settings{display:grid;width:100%;min-height:54px;place-items:center;gap:1px;border:0;border-radius:12px;background:transparent;color:#25594e;padding:5px 2px;text-decoration:none;cursor:pointer}
.mc-command-rail nav a:hover,.mc-command-rail nav button:hover,.mc-command-rail nav button.active,.mc-rail-login:hover,.mc-rail-settings:hover{background:#bfe5dc;color:#123f35}
.mc-command-rail span{font-size:19px;font-weight:900;line-height:1}
.mc-command-rail b{font-size:12px;line-height:1.15;white-space:nowrap}
.mc-rail-login{margin-top:auto}
.mc-rail-login[data-session-active="true"]{background:#d5eee8;color:#174f43}
.mc-rail-settings{margin-top:0}
.mc-header{display:none!important}
.mc-shell{width:auto!important;max-width:none!important;margin:0 0 0 78px!important;padding:8px 10px 18px!important;background:#f4f6f4}
.mc-datebar{min-height:62px!important;border:1px solid #d9e1dd!important;border-radius:14px!important;background:#fff!important;padding:7px 12px!important}
.mc-datebar h1{font-family:inherit!important;font-size:22px!important}
.mc-datebar p{font-size:9px!important}
.mc-live-strip{display:block!important;min-height:56px!important;height:auto!important;overflow:visible!important}
.mc-live-strip>.capacity-card,.mc-live-strip>.booking-window{display:none!important}
.mc-live-strip>.quick-card{position:relative;z-index:40;height:auto!important;min-height:56px!important;display:flex!important;align-items:center!important;gap:8px!important;overflow:visible!important;border:1px solid #d9e1dd!important;border-radius:14px!important;background:#fff!important;padding:7px 10px!important}
.mc-live-strip>.quick-card>p{display:none!important}
.mc-live-strip .quick-action-buttons{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
.mc-live-strip .quick-action-buttons button,.mc-live-strip .quick-action-buttons a{min-height:42px!important}
.customer-checkin-action{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.today-control-section{border-radius:12px!important;background:#fff!important}
.staff-today-section,.rooms-section,.mc-workspace{border-color:#d9e1dd!important;border-radius:14px!important;background:#fff!important}
.mc-workspace{overflow:clip}
.mc-workspace-head{top:0!important;border-bottom:1px solid #d9e1dd!important;background:#fff!important}
.view-tabs button{font-size:17px!important}
.calendar-key{background:#fbfcfb!important}.calendar-key .key-item.group{border:2px solid #65412f;background:#fff;color:#65412f}
.capacity-calendar-main>header span{font-size:18px;font-weight:950}
.capacity-calendar-main>header small{font-size:13px}
.calendar-card{font-family:inherit}
.party-calendar-card{width:100%;height:100%;text-align:left;cursor:pointer}
.party-calendar-title{display:flex;align-items:baseline;gap:6px;min-width:0}
.party-calendar-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.party-visit-numbers{flex:none;color:#145f51;font-size:20px;line-height:1;font-weight:950;letter-spacing:.01em;white-space:nowrap}
.calendar-card .calendar-card-top>span:last-child{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.calendar-checkin-badge{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;background:#267a69;color:#fff;padding:4px 9px;font-size:16px;font-weight:950;line-height:1;white-space:nowrap;box-shadow:0 2px 0 rgba(19,68,58,.16)}
.calendar-preference{display:inline-flex;min-height:22px;align-items:center;border:1px solid #d49a5f;border-radius:999px;background:#fff6e8;color:#81470d;padding:2px 6px;font-size:11px;font-weight:900;white-space:nowrap}
.party-arrival-panel{display:grid;gap:14px;padding:4px}
.party-arrival-panel>header{display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid #d9e1dd;padding:8px 4px 14px}
.party-arrival-panel>header p{margin:0;color:#567069;font-size:12px;font-weight:850}
.party-arrival-panel>header h3{margin:3px 0 0;color:#172b25;font-size:25px;line-height:1.15}
.party-arrival-help{margin:0;border-radius:10px;background:#eaf4f0;color:#355f55;padding:10px 12px;font-size:14px;font-weight:750}
.party-arrival-list{display:grid;gap:9px}
.party-arrival-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid #d7dfdb;border-radius:13px;background:#fff;padding:12px}
.party-arrival-row.arrived{border-color:#81c7b8;background:#f1faf7}
.party-arrival-row>b{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:#dceee8;color:#1f6456;font-size:16px}
.party-arrival-row>div{display:grid;min-width:0;gap:3px}
.party-arrival-row>div strong{overflow:hidden;color:#1b302a;font-size:18px;text-overflow:ellipsis;white-space:nowrap}
.party-arrival-row>div span{overflow:hidden;color:#65736f;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.party-arrival-row .primary,.party-arrival-row .ghost{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border-radius:9px;padding:8px 12px;text-decoration:none;white-space:nowrap}
.party-future-note{color:#697772;font-size:13px;font-weight:800}
.party-arrival-panel>footer{border-top:1px solid #d9e1dd;padding:12px 4px;color:#65736f;font-size:13px}
.party-arrival-workspace{display:grid;height:100%;min-height:0;gap:12px}
.party-workspace-head{display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid #d9e1dd;padding:8px 4px 13px}
.party-workspace-head p{margin:0;color:#567069;font-size:12px;font-weight:850}
.party-workspace-head h3{margin:3px 0 0;color:#172b25;font-size:24px;line-height:1.15}
.party-workspace-head>span{border-radius:999px;background:#e1f2ec;color:#1f6859;padding:6px 9px;font-size:13px;font-weight:900;white-space:nowrap}
.party-workspace-help{margin:0;border-radius:10px;background:#eaf4f0;color:#355f55;padding:10px 12px;font-size:14px;font-weight:750}
.party-payment-strip{display:grid;gap:9px;border:1px solid #b9d6cc;border-radius:12px;background:#f3f9f6;padding:12px}
.party-payment-strip>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.party-payment-strip>header p{margin:0;color:#356d63;font-size:10px;font-weight:950;letter-spacing:.13em}
.party-payment-strip>header h3{margin:2px 0 3px;color:#1b302a;font-size:20px;line-height:1.1}
.party-payment-strip>header small{display:block;max-width:390px;color:#62746d;font-size:12px;font-weight:700;line-height:1.35}
.party-payment-totals{display:grid;grid-template-columns:repeat(3,minmax(78px,1fr));overflow:hidden;min-width:288px;border:1px solid #c7ddd5;border-radius:9px;background:#fff}
.party-payment-totals span{display:grid;gap:2px;padding:7px 9px;border-right:1px solid #d8e5df;color:#305d52}
.party-payment-totals span:last-child{border-right:0}.party-payment-totals small{color:#68766f;font-size:10px;font-weight:850}.party-payment-totals b{font-size:16px}.party-payment-totals .due{background:#fff7e8;color:#805315}
.party-payment-members{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:7px}
.party-payment-member{display:grid;gap:2px;min-width:0;border:1px solid #cbded6;border-radius:9px;background:#fff;color:#27483f;padding:8px 9px;text-align:left;cursor:pointer}
.party-payment-member:hover,.party-payment-member:focus-visible,.party-payment-member.selected{border-color:#267261;background:#e4f3ed;outline:none}.party-payment-member span,.party-payment-member small{overflow:hidden;color:#61736c;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.party-payment-member b{font-size:16px}
.party-merge-toggle{margin-top:8px;min-height:34px;padding:5px 10px;font-size:13px}.party-merge-payment{display:grid;gap:8px;border-top:1px solid #cbded6;padding-top:9px}.party-merge-members{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:6px}.party-merge-members label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;border:1px solid #cbded6;border-radius:8px;background:#fff;padding:8px;color:#31584e;font-size:12px;font-weight:800}.party-merge-members input{width:17px;height:17px;accent-color:#267261}.party-merge-members span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-merge-actions,.party-merge-tip,.party-merge-gift{display:grid;grid-template-columns:auto minmax(92px,.55fr) minmax(118px,.7fr) minmax(0,1fr);align-items:center;gap:8px}.party-merge-actions strong,.party-merge-tip strong,.party-merge-gift strong{color:#204d43;font-size:14px;white-space:nowrap}.party-merge-actions select,.party-merge-tip select{min-width:0;min-height:36px;border:1px solid #b9c9c1;border-radius:7px;background:#fff;padding:0 8px;color:#243c35;font:inherit}.party-merge-actions button{min-height:36px;padding:6px 14px}.party-merge-money{display:flex;align-items:center;min-width:0;height:36px;border:1px solid #b9c9c1;border-radius:7px;background:#fff;padding:0 8px;color:#52675f;font-weight:850}.party-merge-money input,.party-merge-gift>input{width:100%;min-width:0;height:36px;border:1px solid #b9c9c1;border-radius:7px;background:#fff;padding:0 8px;color:#243c35;font:inherit}.party-merge-money input{height:34px;border:0;padding:0}.party-merge-money input:focus,.party-merge-gift>input:focus{outline:0;border-color:#267261}.party-merge-tip-targets{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;border:0;padding:0;color:#47645b}.party-merge-tip-targets legend{padding:0 5px 0 0;color:#52675f;font-size:12px;font-weight:850}.party-merge-tip-targets label{display:inline-flex;align-items:center;gap:5px;border:1px solid #cbded6;border-radius:7px;background:#fff;padding:5px 7px;font-size:12px;font-weight:800}.party-merge-tip-targets input{width:15px;height:15px;accent-color:#267261}.party-merge-payment>small{color:#63766e;font-size:12px;line-height:1.35}
.couple-payment-strip{background:#f7faf8}.couple-split-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.couple-split-members>div{display:grid;gap:2px;border:1px solid #cbded6;border-radius:9px;background:#fff;padding:9px;color:#31584e}.couple-split-members span,.couple-split-members small{color:#61736c;font-size:12px;font-weight:750}.couple-split-members b{font-size:17px}.couple-tip-form{display:grid;grid-template-columns:minmax(84px,auto) minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid #cbded6;border-radius:9px;background:#fff;padding:8px}.couple-tip-form>strong{font-size:13px;white-space:nowrap}.couple-tip-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.couple-tip-members label{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:4px;align-items:center;border:1px solid #d7e2dc;border-radius:7px;padding:5px 7px}.couple-tip-members label>span{grid-column:1/-1;color:#52675f;font-size:11px;font-weight:850}.couple-tip-members input,.couple-tip-members select{width:100%;min-height:30px;border:0;background:transparent;color:#243c35;font:inherit}.couple-tip-members input:focus,.couple-tip-members select:focus{outline:0}.couple-tip-form button{min-height:36px;padding:6px 10px;white-space:nowrap}
.party-payment-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding-top:2px}
.party-payment-form,.party-tip-form{display:grid;grid-template-columns:auto minmax(80px,1fr) minmax(108px,1fr) auto;align-items:center;gap:7px;border:1px solid #cbded6;border-radius:9px;background:#fff;padding:8px}.party-payment-form strong,.party-tip-form strong{font-size:13px;white-space:nowrap}.party-payment-form label,.party-tip-form label{display:flex;align-items:center;gap:3px;border:1px solid #b9c9c1;border-radius:7px;padding:0 7px;color:#52675f;font-weight:850}.party-payment-form input,.party-tip-form input,.party-payment-form select,.party-tip-form select{width:100%;min-height:36px;border:0;background:transparent;color:#243c35;font:inherit}.party-payment-form input:focus,.party-tip-form input:focus,.party-payment-form select:focus,.party-tip-form select:focus{outline:0}.party-payment-form .primary,.party-tip-form .secondary{min-height:36px;padding:6px 10px;white-space:nowrap}.couple-payment-form{grid-template-columns:minmax(86px,.7fr) minmax(112px,1fr) auto auto}.couple-payment-form .secondary{min-height:36px;padding:6px 9px;white-space:nowrap}.party-payment-awaiting{margin:0;padding:10px 12px;border:1px dashed #c4d2cc;border-radius:8px;background:#fff;color:#62746d;font-size:13px}
.party-workspace-grid{display:grid;min-height:0;grid-template-columns:minmax(205px,30%) minmax(0,1fr);gap:12px;flex:1}
.party-workspace-sidebar{display:grid;align-content:start;gap:10px;min-width:0;min-height:0;overflow:auto;padding-right:2px}
.party-workspace-summary{display:grid;gap:3px;border:1px solid #b9d6cc;border-radius:12px;background:#f3f9f6;padding:12px;color:#244f45}
.party-workspace-summary p{margin:0;color:#356d63;font-size:10px;font-weight:950;letter-spacing:.13em}
.party-workspace-summary h3{margin:0;color:#1b302a;font-size:17px;line-height:1.2}
.party-workspace-summary>strong{font-size:25px;line-height:1.15}
.party-workspace-summary>div{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;margin-top:4px;border:1px solid #c7ddd5;border-radius:8px;background:#fff}
.party-workspace-summary>div span{display:grid;gap:2px;padding:7px;border-right:1px solid #d8e5df}.party-workspace-summary>div span:last-child{border-right:0;background:#fff7e8;color:#805315}
.party-workspace-summary small{font-size:11px;font-weight:800}.party-workspace-summary-note{margin-top:4px;color:#62746d;line-height:1.4}
.party-workspace-members{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto;padding-right:2px}
.party-workspace-member-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px}
.party-workspace-member{display:grid;width:100%;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;border:1px solid #d7dfdb;border-left:5px solid #d7dfdb;border-radius:11px;background:#fff;color:#1b302a;padding:11px;text-align:left;cursor:pointer}
.party-member-checkin{min-width:58px;border:1px solid #2b7666;border-radius:10px;background:#2b7666;color:#fff;font-weight:900;cursor:pointer}
.party-member-checkin:hover,.party-member-checkin:focus-visible{background:#1f6557;outline:2px solid #9ed5c9;outline-offset:1px}
.party-workspace-member:hover,.party-workspace-member:focus-visible{border-color:#63aa99;outline:none}
.party-workspace-member.selected{border-color:#226f60;border-left-color:#226f60;background:#edf8f4;box-shadow:0 0 0 2px rgba(34,111,96,.12)}
.party-workspace-member.arrived{border-left-color:#519e8d}
.party-member-number{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#dceee8;color:#1f6456;font-size:15px;font-weight:950}
.party-workspace-member>span:last-child{display:grid;min-width:0;gap:3px}
.party-workspace-member strong,.party-workspace-member small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.party-workspace-member strong{font-size:16px}
.party-workspace-member small{color:#65736f;font-size:12px;font-weight:750}
.party-workspace-detail{min-height:0;overflow:hidden;border:1px solid #d7dfdb;border-radius:12px;background:#fff}
.party-workspace-frame{display:block;width:100%;height:100%;min-height:calc(100dvh - 195px);border:0;background:#fff}
.party-workspace-empty{display:grid;min-height:280px;align-content:center;justify-items:start;gap:12px;padding:26px}
.party-workspace-empty p{margin:0;color:#356d63;font-size:11px;font-weight:950;letter-spacing:.13em}
.party-workspace-empty h3{margin:0;color:#1b302a;font-size:24px}
.party-workspace-empty span,.party-workspace-empty small{color:#65736f;font-size:14px;line-height:1.5}
.party-workspace-empty button{margin-top:4px}
.couple-arrangement{display:grid;gap:3px;border:1px solid #8bbdaf;border-radius:11px;background:#f0f8f4;padding:11px}
.couple-arrangement p{margin:0;color:#356d63;font-size:11px;font-weight:950;letter-spacing:.12em}
.couple-arrangement strong{overflow:hidden;color:#1c463d;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.couple-arrangement span{color:#5d716a;font-size:12px;font-weight:750;line-height:1.35}
.couple-match-action{width:100%;min-height:42px}
.view-tabs a{display:inline-flex;min-height:50px;align-items:center;border-radius:8px;background:#fff;color:#111b18;padding:10px 16px;font-size:19px;font-weight:900;text-decoration:none;white-space:nowrap}
.view-tabs a:hover,.view-tabs a:focus-visible{background:#edf5f1;color:#245e52;outline:none}
.quick-more-actions{position:relative;margin:0!important;color:inherit!important}
.quick-more-actions summary{display:flex;min-height:44px;align-items:center;border:1px solid #b6c7c0;border-radius:8px;background:#fff;color:#356d63;padding:8px 11px;font-weight:850;cursor:pointer;list-style:none}
.quick-more-actions summary::-webkit-details-marker{display:none}
.quick-more-actions>div{position:absolute;z-index:30;top:48px;right:0;min-width:190px;padding:8px;border:1px solid #d8dedb;border-radius:10px;background:#fff;box-shadow:0 14px 36px rgba(27,48,41,.2)}
.quick-more-actions button{width:100%;min-height:44px}
.quick-availability-action{min-height:42px;padding:7px 11px;font-size:15px;white-space:nowrap}
.important-alert-rail:not(.has-alerts){display:none!important}
.today-control-section{padding:0!important;overflow:visible}
.today-controls-fold{margin:0!important;color:inherit!important}
.today-controls-fold>summary{display:flex;min-height:46px;align-items:center;gap:10px;padding:8px 14px;color:#244c42;cursor:pointer;list-style:none}
.today-controls-fold>summary::-webkit-details-marker{display:none}
.today-controls-fold>summary strong{font-size:16px}
.today-controls-fold>summary span{color:#68746f;font-size:13px}
.today-controls-fold>summary:after{content:'展开';margin-left:auto;color:#356d63;font-size:13px;font-weight:850}
.today-controls-fold[open]>summary{border-bottom:1px solid #ded9d0;background:#f8fbf9}
.today-controls-fold[open]>summary:after{content:'收起'}
.today-controls-fold .control-matrix{padding:8px}

.mc-side-scrim{position:fixed;z-index:1090;inset:0;background:rgba(25,39,34,.32);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}
.mc-side-scrim[hidden]{display:none}
.mc-side-drawer{position:fixed;z-index:1100;top:0;right:0;width:min(780px,78vw);height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);background:#f8f8f6;box-shadow:-18px 0 56px rgba(20,40,33,.28);transform:translateX(105%);transition:transform .22s ease;visibility:hidden}
.mc-side-drawer.open{transform:translateX(0);visibility:visible}
.mc-side-drawer>header{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:16px;padding:13px 17px;border-bottom:1px solid #d9dedb;background:#fff}
.mc-side-drawer>header p{margin:0;color:#356d63;font-size:10px;font-weight:900;letter-spacing:.14em}
.mc-side-drawer>header h2{margin:2px 0 0;color:#172a25;font-size:24px;line-height:1.12}
.mc-side-drawer>header button{display:grid;width:48px;height:48px;place-items:center;border:1px solid #cbd5d0;border-radius:12px;background:#fff;color:#1f3a33;font-size:31px;line-height:1;cursor:pointer}
.mc-side-header-actions{display:flex;align-items:center;gap:7px}
.mc-side-drawer.compact-heading>header{min-height:54px;padding:6px 17px}
.mc-side-drawer.compact-heading>header h2{margin:0;font-size:22px}
.mc-side-drawer.compact-heading>header button{width:42px;height:42px;font-size:28px}
.mc-side-body{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:12px}
.mc-detail-frame{display:block;width:100%;height:100%;min-height:calc(100dvh - 100px);border:0;background:#fff}
.mc-side-body>.mc-view,.mc-side-body>.staff-drawer,.mc-side-body>.off-drawer{display:block!important;width:100%;min-height:100%;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;position:static!important;max-height:none!important;overflow:visible!important}
.mc-side-body #close-staff-drawer,.mc-side-body [data-close-off-drawer]{display:none!important}
.mc-side-body>#visits-view{height:calc(100dvh - 100px)}
.mc-side-body .visit-master-detail{height:100%;min-height:0;grid-template-columns:minmax(240px,290px) minmax(0,1fr)}
/* Visit 的收款、Add-on 与执行区需要比普通侧栏更宽的可用空间。 */
.mc-side-drawer:has(.visit-master-detail){width:min(1180px,100vw)}
html.mc-side-open,body.mc-side-open{height:100%;overflow:hidden!important;overscroll-behavior:none!important}
body.mc-side-open>.mc-shell,body.mc-side-open>#admin-global-nav{touch-action:none;user-select:none}
body.mc-side-open.visit-workspace-open #visits-view{position:static!important;width:100%!important;height:100%!important}

.staff-card-end-time{display:block;align-self:end;color:#8a470b!important;font-size:25px!important;font-weight:950!important;line-height:1!important;letter-spacing:-.02em}
.staff-card-end-time small{display:inline!important;margin:0 4px 0 0!important;color:#9b6b3c!important;font-size:11px!important;font-weight:850!important;letter-spacing:0}
.operation-snapshot{margin-bottom:14px;padding:14px;border:1px solid #cad8d2;border-radius:14px;background:#fff}
.operation-snapshot>header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}
.operation-snapshot>header p{margin:0;color:#347062;font-size:10px;font-weight:900;letter-spacing:.14em}
.operation-snapshot>header h3{margin:2px 0 0;color:#182d27;font-size:24px}
.operation-snapshot>header>span{color:#5e7069;font-size:13px;font-weight:800}
.operation-progress-list{display:grid;gap:7px}
.operation-progress-card{display:grid;width:100%;min-height:86px;grid-template-columns:minmax(100px,.75fr) minmax(160px,1.25fr) minmax(110px,.65fr);align-items:center;gap:10px;border:1px solid #d8dedb;border-left:6px solid #d28a45;border-radius:10px;background:linear-gradient(90deg,#f2d3b2 0 var(--work-progress,0%),#fff var(--work-progress,0%) 100%);padding:10px 12px;color:#213b33;text-align:left;cursor:pointer;transition:background .35s ease}
.operation-progress-card.queued{border-left-color:#80639a;background:#fbf8fd}
.operation-progress-card>span{display:grid;min-width:0;gap:2px}
.operation-progress-card strong,.operation-progress-card b{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}
.operation-progress-card small{overflow:hidden;color:#68766f;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.operation-guest{grid-template-rows:auto auto 8px auto}
.operation-meter{display:block;overflow:hidden;width:100%;height:8px;border-radius:999px;background:#f3e1cc;box-shadow:inset 0 0 0 1px #ead6bf}
.operation-meter i{display:block;height:100%;min-width:0;border-radius:inherit;background:linear-gradient(90deg,#d57b29,#e7a052);transition:width .35s ease}
.operation-guest em{overflow:hidden;color:#a35d20;font-size:11px;font-style:normal;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.operation-progress-card.queued .operation-meter{background:#ebe3f0;box-shadow:inset 0 0 0 1px #d9cce3}
.operation-progress-card.queued .operation-meter i{background:#8765a1}
.operation-progress-card.queued .operation-guest em{color:#725387}
.operation-time{text-align:right}
.operation-time b{color:#8a470b;font-size:20px}
.operation-progress-card.queued .operation-time b{color:#664a7b}
.operation-empty{margin:0;padding:18px;color:#67756f;text-align:center}

/* A tablet cannot fit a 290px queue beside a usable payment workspace. */
@media(max-width:1100px){
  .mc-side-body .visit-master-detail{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:170px minmax(0,1fr);height:100%!important}
  .mc-side-body .visit-queue-pane{height:auto!important;max-height:170px;overflow:auto;border-right:0;border-bottom:1px solid #d8d5cd}
  .mc-side-body .visit-workspace-pane{height:auto!important;min-height:0}
  .mc-side-body .visit-workspace-host{min-height:0}
}

@media (min-width:768px) and (max-width:1366px) and (orientation:landscape){
  .mc-shell{gap:5px!important;padding-top:5px!important}
  .mc-datebar{height:50px!important;min-height:50px!important}
  .mc-live-strip{height:auto!important;min-height:56px!important}
  .mc-live-strip .quick-card{height:auto!important;min-height:56px!important}
  .mc-live-strip .quick-card .primary,.mc-live-strip .quick-card .manual-lock-action,.quick-more-actions summary{min-height:42px!important;padding:7px 10px!important;font-size:15px!important}
  .important-alert-rail{max-height:56px}
  .compact-today-controls{min-height:44px!important;height:auto!important}
  .today-controls-fold>summary{min-height:42px;padding:6px 12px}
  .staff-today-section{min-height:112px!important;padding:6px 8px!important}
  .staff-strip{display:grid!important;grid-template-columns:minmax(0,1fr) 56px;gap:7px!important}
  .staff-today-section .staff-row{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px!important;overflow:visible!important}
  .staff-today-section .staff-card{width:auto!important;min-width:0!important;height:100px!important;grid-template-rows:auto auto minmax(0,1fr)!important;padding:8px 9px!important}
  .staff-card-name{font-size:20px!important}
  .staff-card-state{font-size:11px!important;white-space:normal!important}
  .staff-card-place{display:block!important;font-size:13px!important;white-space:normal!important}
  .staff-card-more{display:none!important}
  #toggle-off{min-height:100px!important}
  /* A live room needs two stable lines: room name, then Visit/status.
     The previous 62px container was shorter than the card itself and clipped
     the second line (for example, "#10 · 做工中"). */
  .rooms-section{height:auto!important;min-height:76px!important;padding:7px 10px!important}
  .room-row{padding:0 0 2px!important}
  .room-card{display:grid!important;align-content:start!important;gap:2px!important;min-height:58px!important;padding:6px 8px!important}
  .room-card strong{font-size:20px!important;line-height:1.05!important}
  .room-card span{display:block!important;overflow:hidden!important;font-size:13px!important;line-height:1.15!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .mc-workspace-head{position:sticky;z-index:8;top:42px;background:#fff}
  .mc-side-drawer{width:min(820px,80vw)}
  .mc-side-body{padding:10px}
  /* The dated-control drawer used to center across the full viewport.  That
     put its left column beneath the fixed command rail, so labels and fields
     looked cut off.  Keep it inside the same working column as Main Control. */
  .today-control-drawer:not([hidden]){z-index:90;left:88px;right:10px;width:auto;padding:14px;transform:none}
  .today-control-drawer .drawer-head{gap:12px}
  .today-control-drawer .drawer-head>div{min-width:0}
  .today-control-drawer .today-control-form label{min-width:0}
  .today-control-drawer .today-control-form input,.today-control-drawer .today-control-form select{width:100%;min-width:0}
}
@media(max-width:767px){
  .mc-command-rail{width:62px;padding-inline:5px}
  .mc-shell{margin-left:62px!important;padding-inline:6px!important}
  .mc-command-rail nav a,.mc-command-rail nav button,.mc-rail-login,.mc-rail-settings{min-height:48px}
  .mc-command-rail b{font-size:10px}
  .mc-side-drawer{width:100vw}
  .mc-side-body{padding:9px}
  .mc-side-body .visit-master-detail{display:block;height:auto}
  .quick-action-buttons{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .party-arrival-row{grid-template-columns:34px minmax(0,1fr)}
  .party-arrival-row .primary,.party-arrival-row .ghost,.party-future-note{grid-column:2}
  .party-workspace-grid{grid-template-columns:1fr}.couple-split-members{grid-template-columns:1fr}.couple-tip-form{grid-template-columns:1fr}.couple-tip-members{grid-template-columns:1fr 1fr}.couple-tip-form>button{width:100%}
  .party-payment-strip>header{display:grid}.party-payment-totals{min-width:0}.party-merge-actions,.party-merge-tip,.party-merge-gift{grid-template-columns:1fr 1fr}.party-merge-actions strong,.party-merge-tip strong,.party-merge-gift strong{grid-column:1/-1}.party-merge-actions button{width:100%}.party-payment-actions{grid-template-columns:1fr}.party-payment-form,.party-tip-form{grid-template-columns:1fr 1fr}.party-payment-form strong,.party-tip-form strong,.party-payment-form button,.party-tip-form button{grid-column:1/-1}.couple-payment-form{grid-template-columns:minmax(76px,.7fr) minmax(92px,1fr) auto auto;gap:5px}.couple-payment-form button{grid-column:auto}.couple-payment-form .primary,.couple-payment-form .secondary{padding:5px 7px;font-size:12px}
  .party-workspace-members{grid-auto-flow:column;grid-auto-columns:minmax(220px,78%);grid-template-columns:none;overflow-x:auto;overflow-y:hidden;padding-bottom:3px}
  .party-workspace-frame{min-height:calc(100dvh - 340px)}
}

/* Group Visit details receive their measured height from the embedded Visit, so no segment is clipped. */
.party-workspace-detail{overflow:visible}.party-workspace-frame{min-height:860px}
