/* Daily operator controls. Scoped to the menu table; TV/QR/public layouts are untouched. */
.sm-compact #vsmOperatorTable{min-width:0!important;width:100%!important}
.sm-compact #vsmOperatorTable thead{display:none!important}
.sm-compact #vsmOperatorTable .operator-row-form{position:relative;margin:0!important;min-width:0!important}
.sm-compact #vsmOperatorTable .operator-row-grid{display:grid!important;grid-template-columns:22px 26px minmax(170px,1.3fr) 108px 88px minmax(230px,1.7fr) 30px!important;grid-template-areas:none!important;gap:7px!important;align-items:center!important;padding:9px!important;min-width:0!important}
.sm-compact #vsmOperatorTable .operator-row-grid>div{grid-area:auto!important;min-height:34px!important;padding:0!important;min-width:0!important;border:0!important;width:auto!important;order:initial!important}
.sm-compact #vsmOperatorTable .cell-category{display:none!important}
.sm-compact #vsmOperatorTable .sm-identity{gap:8px!important}
.sm-compact #vsmOperatorTable .sm-thumb{width:34px!important;height:34px!important;flex-basis:34px!important;border-radius:6px!important}
.sm-compact #vsmOperatorTable .sm-identity strong{font-size:13px!important;line-height:1.25!important}
.sm-compact #vsmOperatorTable .sm-identity small{font-size:11px!important;line-height:1.3!important;margin:2px 0 0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.sm-compact #vsmOperatorTable .sm-identity .sm-category-inline{font-size:10px!important;color:#65748a!important}
.sm-compact #vsmOperatorTable .dish-drag-handle,.sm-compact #vsmOperatorTable .icon-action{height:30px!important;width:28px!important;min-height:30px!important;padding:3px!important;border-radius:6px!important}
.sm-compact #vsmOperatorTable .cell-show input{height:17px!important;width:17px!important;min-height:0!important;margin:0!important}
.sm-compact #vsmOperatorTable .cell-type select,.sm-compact #vsmOperatorTable .cell-price input{height:32px!important;min-height:32px!important;padding:4px 6px!important;font-size:12px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
.sm-compact #vsmOperatorTable .cell-type:before,.sm-compact #vsmOperatorTable .cell-price:before{display:none!important}
.sm-compact #vsmOperatorTable [hidden]{display:none!important}
.sm-compact #vsmOperatorTable .cell-price{position:relative!important;display:block!important}
.sm-compact #vsmOperatorTable .price-panel-clean{width:100%;margin:0!important;gap:3px!important}
.sm-compact #vsmOperatorTable .price-split{display:flex!important}
.sm-compact #vsmOperatorTable .price-split[hidden]{display:none!important}
.sm-compact #vsmOperatorTable .price-split input{min-width:0!important;width:calc(50% - 5px)!important}
.sm-compact #vsmOperatorTable .vsm-row-save-state{position:absolute!important;top:100%!important;right:0!important;bottom:auto!important;display:block!important;width:auto!important;height:auto!important;font-size:9px!important;line-height:12px!important;white-space:nowrap;color:#15803d;background:#fff;z-index:2}
.sm-compact #vsmOperatorTable .vsm-row-save-state.error{position:relative!important;top:auto!important;white-space:normal;color:#b42318;line-height:1.3}
.sm-compact #vsmOperatorTable .sm-auto-retry{font-size:11px;padding:3px 6px;color:#b42318;background:#fff;border:1px solid #f3a8a8;border-radius:5px;cursor:pointer}
.sm-compact #vsmOperatorTable .cell-channels{display:block!important;position:relative}
.sm-compact #vsmOperatorTable .sm-channels{display:flex!important;flex-wrap:wrap;gap:4px!important;padding:0!important;margin:0!important}
.sm-compact #vsmOperatorTable .sm-channel{flex:0 0 auto!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;border:1px solid #e4e8ee!important;border-radius:6px!important;background:#fff!important}
.sm-compact #vsmOperatorTable .sm-channel summary{display:flex!important;gap:4px!important;flex-wrap:nowrap!important;padding:5px 6px!important;min-height:28px!important;font-size:11px!important;border:0!important;border-radius:5px!important;line-height:1.2!important}
.sm-compact #vsmOperatorTable .sm-channel summary b{font-size:11px!important}
.sm-compact #vsmOperatorTable .sm-direct-toggle{gap:4px!important}
.sm-compact #vsmOperatorTable .sm-direct-toggle input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important}
.sm-compact #vsmOperatorTable .sm-expand-hint,.sm-compact #vsmOperatorTable summary [data-sm-price],.sm-compact #vsmOperatorTable summary [data-sm-label]{display:none!important}
.sm-compact #vsmOperatorTable summary[data-sm-state=out] [data-sm-label]{display:inline!important;font-size:10px}
.sm-compact #vsmOperatorTable .sm-channel summary:after{font-size:10px;margin-left:2px!important}
.sm-compact #vsmOperatorTable .sm-mode{font-size:8px;padding:1px 3px}
.sm-compact #vsmOperatorTable .sm-channel[open]{z-index:20!important}
.sm-compact #vsmOperatorTable .sm-channel-fields{position:absolute;z-index:30;top:calc(100% + 4px);right:0;width:290px;max-width:calc(100vw - 45px);box-sizing:border-box;background:#fff;border:1px solid #d8deea;border-radius:8px;box-shadow:0 8px 24px #1e293b20;padding:12px!important}
.sm-compact #vsmOperatorTable .sm-save-state{font-size:10px!important;padding:0!important;position:absolute;top:100%;right:0;z-index:3;background:#fff}
.sm-edit-save-state{font-size:12px;color:#475569;margin-right:auto;max-width:75%;line-height:1.4}
.sm-compact #vsmOperatorTable .operator-row-main>td{padding:0!important;overflow:visible!important}
/* Let the whole list determine container height; popovers may remain visible. */
.operator-table-wrap.sm-compact{height:auto!important;max-height:none!important;overflow:visible!important}
@media(max-width:1150px) and (min-width:781px){
 .sm-compact #vsmOperatorTable .operator-row-grid{grid-template-columns:20px 24px minmax(160px,1fr) 104px 88px 30px!important;gap:6px!important}
 .sm-compact #vsmOperatorTable .cell-channels{grid-row:2!important;grid-column:3/6!important}
 .sm-compact #vsmOperatorTable .cell-actions{grid-row:1!important;grid-column:6!important}
}
@media(max-width:780px){
 .sm-compact #vsmOperatorTable .operator-row-grid{grid-template-columns:18px 24px minmax(100px,1fr) 88px!important;gap:7px!important;padding:8px!important;flex-wrap:initial!important}
 .sm-compact #vsmOperatorTable .cell-show,.sm-compact #vsmOperatorTable .cell-sort,.sm-compact #vsmOperatorTable .cell-dish,.sm-compact #vsmOperatorTable .cell-actions{flex:none!important;grid-row:1!important}
 .sm-compact #vsmOperatorTable .cell-actions{grid-column:4!important}
 .sm-compact #vsmOperatorTable .cell-type{grid-row:2!important;grid-column:2/4!important;max-width:140px}
 .sm-compact #vsmOperatorTable .cell-price{grid-row:2!important;grid-column:4!important;max-width:88px}
 .sm-compact #vsmOperatorTable .cell-channels{grid-row:3!important;grid-column:2/5!important;padding-top:2px!important}
 .sm-compact #vsmOperatorTable .sm-identity small{max-width:190px}
 .sm-compact #vsmOperatorTable .sm-channel-fields{right:0}
 .sm-compact #vsmOperatorTable .operator-row-main{margin-bottom:5px!important;border-radius:8px!important}
}

.sm-choice-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid #e3e8ef;border-radius:10px;background:#fafbfc}
.sm-choice-entry>div:first-child{display:grid;gap:3px;flex:1 1 240px}.sm-choice-entry small{color:#667085;font-size:12px;line-height:1.4}
.sm-choice-panel-host{flex:1 1 100%;min-width:0}.sm-cg-panel{display:grid;gap:12px;padding-top:10px}.sm-cg-intro,.sm-cg-empty,.sm-cg-note,.sm-cg-loading,.sm-cg-error{margin:0;color:#596579;font-size:12px;line-height:1.45}.sm-cg-error{color:#b42318}
.sm-cg-existing{display:grid;gap:7px}.sm-cg-existing>strong{font-size:12px}.sm-cg-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid #e5e8ed;border-radius:8px;background:#fff}.sm-cg-card label{display:flex;align-items:center;gap:6px;margin:0;font-size:12px}.sm-cg-card small{color:#667085;font-size:11px}.sm-cg-card button{padding:5px 9px!important;min-height:29px!important;font-size:11px!important}
.sm-cg-create{border:1px solid #e1e5eb;border-radius:9px;background:#fff}.sm-cg-create>summary{padding:10px 12px;font-weight:700;font-size:12px;cursor:pointer}.sm-cg-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border-top:1px solid #eceef1}.sm-cg-form>label{display:grid;gap:5px;margin:0;font-size:11px;font-weight:600}.sm-cg-form input:not([type=checkbox]),.sm-cg-form select{width:100%;box-sizing:border-box;min-height:34px;padding:6px 8px;font-size:12px}.sm-cg-form [data-cg-options]{min-height:150px}.sm-cg-option-prices{grid-column:1/-1;display:grid;gap:6px}.sm-cg-price-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(125px,180px) auto;align-items:center;gap:8px;padding:6px 8px;border:1px solid #eceef1;border-radius:7px;font-size:12px}.sm-cg-price-row input:not([type=checkbox]){min-height:30px}.sm-cg-stock{display:flex!important;align-items:center;gap:4px!important;white-space:nowrap;font-weight:500!important}.sm-cg-stock input{width:15px;height:15px}.sm-cg-note,.sm-cg-actions{grid-column:1/-1}.sm-cg-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.sm-cg-actions [role=status]{font-size:12px;color:#475569}.sm-cg-actions button{font-size:12px!important}
@media(max-width:600px){.sm-cg-card{grid-template-columns:1fr auto}.sm-cg-card small{grid-column:1/-1;grid-row:2}.sm-cg-card button{grid-column:2;grid-row:1}.sm-cg-form{grid-template-columns:1fr}.sm-cg-option-prices,.sm-cg-note,.sm-cg-actions{grid-column:1}.sm-cg-price-row{grid-template-columns:minmax(0,1fr) 130px}.sm-cg-stock{grid-column:1/-1}}

.sm-compact #vsmOperatorTable .sm-channel-fields{padding-top:30px!important;font-size:12px!important}
.sm-compact #vsmOperatorTable .sm-close-channel{position:absolute;right:6px;top:3px;border:0;background:transparent;cursor:pointer;color:#475569;font-size:22px;line-height:24px;padding:0 5px;min-height:24px!important}
.sm-compact #vsmOperatorTable .sm-channel-fields label{font-size:12px!important}
.sm-compact #vsmOperatorTable .sm-channel-fields input,.sm-compact #vsmOperatorTable .sm-channel-fields select{font-size:12px!important;min-height:32px!important;padding:5px 7px!important}
.sm-bolt-retry{font-size:10px;border:1px solid #e7b5b5;border-radius:4px;background:#fff;color:#a22;padding:2px 6px;cursor:pointer}

.sm-cg-broken{display:grid;gap:6px;padding:10px 12px;border:1px solid #f0c98e;border-radius:8px;background:#fff9ed;color:#744b08;font-size:12px;line-height:1.4}.sm-cg-broken strong{font-size:12px}.sm-cg-broken .btn{justify-self:start;min-height:32px!important;padding:5px 9px!important;font-size:11px!important;color:#744b08;border-color:#e5bd78}
