:root,[data-theme="dark"]{--bg:#0f1117;--bg-card:#1a1d27;--bg-card-h:#22263a;--bg-header:#12151f;--bg-input:#1e2130;--bg-tooltip:#252838;--border:#2a2e42;--border-h:#4a5080;--text:#e0e4f0;--text-muted:#7a8099;--text-dim:#3a3f58;--accent:#7b68ee;--accent-h:#9585f5;--accent-dim:rgba(123,104,238,.18);--success:#2ecc71;--error:#e74c3c;--warning:#f1c40f;--info:#3498db;--shadow:rgba(0,0,0,.45);font-family:'Segoe UI',system-ui,-apple-system,sans-serif}
[data-theme="light"]{--bg:#f0f2f8;--bg-card:#fff;--bg-card-h:#f0f2fc;--bg-header:#fff;--bg-input:#fff;--bg-tooltip:#252838;--border:#dde1ee;--border-h:#a0a8d0;--text:#1a1d2e;--text-muted:#5a607a;--text-dim:#b0b5cc;--accent:#5a48d0;--accent-h:#7b68ee;--accent-dim:rgba(90,72,208,.12);--success:#27ae60;--error:#c0392b;--warning:#b7950b;--info:#2980b9;--shadow:rgba(0,0,0,.1)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 'Segoe UI',system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button{min-height:2.2rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);padding:.45rem .8rem;font-weight:700;cursor:pointer;transition:.12s}button:hover{background:var(--bg-card-h);border-color:var(--border-h)}button:disabled{opacity:.45;cursor:not-allowed}.app-shell{width:min(1740px,calc(100vw - 28px));margin:0 auto;padding:0 0 18px}.topbar{position:sticky;top:0;z-index:20;height:68px;display:flex;align-items:center;gap:1rem;justify-content:space-between;background:var(--bg-header);border-bottom:1px solid var(--border);box-shadow:0 8px 30px var(--shadow);padding:0 16px;margin:0 -14px 14px}.topbar h1{font-size:1.15rem;margin:0;font-weight:900}.topbar p{margin:.12rem 0 0;color:var(--text-muted);font-size:.82rem}.top-actions,.toolbar,.grid-toolbar,.tabs,.side-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 28px var(--shadow)}.toolbar{position:sticky;top:68px;z-index:15;padding:.8rem;margin-bottom:12px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-h);border-color:var(--accent-h)}.file-pick{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:2.2rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);padding:.45rem .8rem;font-weight:700;cursor:pointer;transition:.12s}.file-pick:hover{background:var(--bg-card-h);border-color:var(--border-h)}.btn.success{color:var(--success);border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.btn.info{color:var(--info);border-color:color-mix(in srgb,var(--info) 45%,var(--border))}.btn.info:hover{background:color-mix(in srgb,var(--info) 14%,var(--bg-card-h));border-color:var(--info);color:color-mix(in srgb,var(--info) 82%,#fff)}.export-btn{display:inline-flex;align-items:center;gap:.38rem}.export-btn .btn-icon{width:1.15em;height:1.15em;display:block;flex:0 0 auto}
.btn.danger{color:#ff9187;border-color:color-mix(in srgb,var(--error) 42%,var(--border))}.btn.warn{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 42%,var(--border))}.btn.ghost{color:var(--text-muted);background:transparent}.divider{width:1px;height:26px;background:var(--border)}.spacer{flex:1}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.stat{padding:12px 14px}.stat strong{display:block;font-size:1.1rem;color:var(--accent-h)}.stat span{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;transition:grid-template-columns .18s ease}.side{padding:14px;position:sticky;top:145px;align-self:start}.tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px}.tab.active{background:var(--accent-dim);color:var(--accent-h);border-color:var(--accent)}.field{display:grid;gap:.38rem;margin-bottom:12px}.field.two{grid-template-columns:1fr 1fr;gap:.7rem}.field label{color:var(--text-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}input,select{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text);padding:.58rem .65rem;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.full{width:100%;justify-content:center}.mini-report{min-height:120px;max-height:250px;overflow:auto;margin-top:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);color:var(--text-muted);padding:10px;font-size:.82rem}.grid-card{min-width:0;overflow:hidden}.grid-toolbar{padding:10px;border-bottom:1px solid var(--border)}.pill{border:1px solid var(--border);background:var(--bg-input);border-radius:999px;padding:.38rem .7rem;color:var(--text-muted);font-size:.78rem;font-weight:800}.table-wrap{height:calc(100vh - 238px);min-height:560px;overflow:auto;position:relative}table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:13px}th,td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;white-space:nowrap;background:var(--bg-card)}th{position:sticky;top:0;z-index:5;background:var(--bg-header);color:var(--accent-h);font-weight:900;text-align:left;box-shadow:0 1px 0 var(--border)}th .head{display:flex;align-items:center;gap:.35rem;padding:.48rem .55rem;min-width:110px}th:first-child,td:first-child{position:sticky;left:0;z-index:6}th:first-child{z-index:8}td:first-child{background:var(--bg-header)}td input{border:0;border-radius:0;background:transparent;min-width:105px;padding:.46rem .55rem;color:var(--text)}td input:focus{background:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent)}tr:hover td, tr:hover td:first-child{background:var(--bg-card-h)}tr.selected td, tr.selected td:first-child{background:var(--accent-dim)}.row-tools{display:flex;align-items:center;gap:.4rem;padding:.4rem .5rem;min-width:72px}.drag-handle{cursor:grab;color:var(--text-muted);font-weight:900}.sort{font-size:.75rem;color:var(--text-muted)}.col-drag{cursor:grab}.toast{position:fixed;right:18px;bottom:18px;z-index:100;max-width:420px;background:var(--bg-tooltip);color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.8rem 1rem;box-shadow:0 16px 50px var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:980px){.workspace{grid-template-columns:1fr}.side{position:static}.status-grid{grid-template-columns:repeat(2,1fr)}.table-wrap{height:70vh}.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding:12px}.toolbar{top:93px}.side{top:0}}

/* User-requested refinements */
.file-pick.btn{background:var(--bg-card);border-color:var(--border);color:var(--text)}
.file-pick.btn:hover{background:var(--bg-card-h);border-color:var(--border-h);color:var(--text)}
.workspace{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:'grid side'}
.side{grid-area:side;transition:width .16s ease,padding .16s ease;overflow:hidden}
.grid-card{grid-area:grid}
.side-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:12px;color:var(--accent-h);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.side-head strong{font-weight:900}.side-head .btn{min-width:2.15rem;padding:.35rem .5rem}.side-content{display:block}.side.minimized{width:54px;padding:10px}.side.minimized .side-content,.side.minimized .side-head strong{display:none}.side.minimized + .grid-card{min-width:0}
.row-head{width:64px;min-width:64px;max-width:64px}.row-head .head{min-width:64px;width:64px;justify-content:center}.row-tools{min-width:64px;width:64px;gap:.25rem;padding:.34rem .35rem}.row-tools .row-check{width:14px;min-width:14px;height:14px;margin:0;flex:0 0 auto}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:16px;min-width:16px;user-select:none}.row-num{display:inline-block;min-width:18px;color:var(--text-muted);font-size:.76rem;text-align:right}
td input{cursor:text;user-select:text;-webkit-user-select:text}td input::selection{background:var(--accent);color:#fff}.table-wrap{user-select:auto}.col-drag input,.row-tools input{cursor:pointer}
@media (max-width: 980px){.workspace{grid-template-columns:1fr;grid-template-areas:'side' 'grid'}.side{position:relative;top:auto}.side.minimized{width:auto}.side.minimized .side-content{display:none}}

/* Requested UI refinements */
.side-header{display:flex;align-items:center;justify-content:space-between;gap:.55rem;margin-bottom:12px;color:var(--accent-h);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.side-toggle{min-width:34px;padding:.35rem .55rem}.workspace.sidebar-minimized{grid-template-columns:minmax(0,1fr) 54px}.side{overflow:hidden;transition:width .18s ease,padding .18s ease}.side.minimized{padding:10px 8px}.side.minimized .side-header{writing-mode:vertical-rl;min-height:150px;margin:0 auto;justify-content:flex-start}.side.minimized .side-toggle{writing-mode:horizontal-tb;min-width:34px}.side.minimized .side-content{display:none}.row-head{width:54px!important;min-width:54px!important;max-width:54px!important}.row-head .head{min-width:54px!important;width:54px!important;justify-content:center;padding:.42rem .25rem!important}.row-tools{min-width:54px!important;width:54px!important;gap:.18rem!important;padding:.32rem .25rem!important}.row-tools .row-check{width:13px!important;min-width:13px!important;height:13px!important;margin:0;flex:0 0 auto}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:14px;min-width:14px;user-select:none}.row-num{display:inline-block;min-width:16px;color:var(--text-muted);font-size:.72rem;text-align:right}td input{cursor:text;user-select:text;-webkit-user-select:text;caret-color:var(--accent-h)}td input::selection{background:var(--accent);color:#fff}.table-wrap{user-select:auto}.col-drag input,.row-tools input{cursor:pointer}@media(max-width:980px){.workspace,.workspace.sidebar-minimized{grid-template-columns:1fr}.side.minimized .side-header{writing-mode:horizontal-tb;min-height:auto}.side.minimized .side-content{display:none}}
/* Performance: avoid rendering off-screen row internals until needed in large files. */
#protoTable tbody tr{content-visibility:auto;contain-intrinsic-size:34px;}
#protoTable td input{will-change:auto;}

/* Virtualized grid performance fixes */
#protoTable tbody tr{content-visibility:visible!important;contain-intrinsic-size:auto!important;height:34px;}
#protoTable .virtual-spacer td{padding:0!important;border:0!important;background:transparent!important;position:static!important;}
#protoTable td input{height:33px;line-height:20px;}
/* PHP/optimized-grid overrides */
.cell-view{min-width:105px;height:33px;line-height:20px;padding:.46rem .55rem;color:var(--text);cursor:text;user-select:text;-webkit-user-select:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;contain:content}.cell-view::selection{background:var(--accent);color:#fff}.cell-editor{height:33px!important;line-height:20px!important;border:0!important;border-radius:0!important;background:var(--accent-dim)!important;box-shadow:inset 0 0 0 1px var(--accent)!important;min-width:105px!important;padding:.46rem .55rem!important;color:var(--text)!important;caret-color:var(--accent-h);user-select:text;-webkit-user-select:text}.cell-editor::selection{background:var(--accent);color:#fff}.virtual-spacer td{padding:0!important;border:0!important;background:transparent!important}.table-wrap{contain:strict}#protoTable{contain:layout style paint}#protoTable td{height:34px}#protoTable td input.row-check{height:13px!important;min-width:13px!important;padding:0!important}.row-tools input.row-check{cursor:pointer!important}
/* Row selector polish */
.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.row-head{width:78px!important;min-width:78px!important;max-width:78px!important}.row-head .head{min-width:78px!important;width:78px!important;justify-content:center;padding:.42rem .35rem!important}.row-tools{min-width:78px!important;width:78px!important;display:grid!important;grid-template-columns:16px 20px 1fr;align-items:center;gap:.28rem!important;padding:.3rem .42rem!important}.row-tools .row-check{width:14px!important;min-width:14px!important;height:14px!important;margin:0!important;justify-self:start}.drag-handle{width:20px!important;min-width:20px!important;height:22px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);font-size:.72rem;line-height:1;color:var(--text-muted)}.drag-handle:hover{border-color:var(--border-h);color:var(--accent-h)}.row-num{min-width:24px!important;text-align:right!important;font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.74rem}
@media(max-width:980px){.status-grid{grid-template-columns:repeat(2,1fr)}}

/* Cleaner row header / selection column */
.row-head{width:104px!important;min-width:104px!important;max-width:104px!important}
.row-head .head,.row-head .row-head-inner{min-width:104px!important;width:104px!important;padding:.42rem .55rem!important}
.row-head-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.45rem!important}
.row-tools{min-width:104px!important;width:104px!important;display:grid!important;grid-template-columns:34px 18px 22px!important;align-items:center!important;gap:.45rem!important;padding:.33rem .55rem!important}
.row-num{min-width:30px!important;text-align:right!important;color:var(--text-muted)!important;font-variant-numeric:tabular-nums;font-size:.78rem!important;padding-right:.15rem;border-right:1px solid var(--border)}
.pretty-check{appearance:none;-webkit-appearance:none;width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;border:1px solid var(--border-h)!important;border-radius:5px!important;background:var(--bg-input)!important;display:inline-grid!important;place-content:center!important;cursor:pointer!important;transition:background .12s,border-color .12s,box-shadow .12s!important}
.pretty-check:hover{border-color:var(--accent-h)!important;box-shadow:0 0 0 2px var(--accent-dim)!important}
.pretty-check:checked{background:var(--accent)!important;border-color:var(--accent)!important}
.pretty-check:checked::after{content:"";width:8px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.pretty-check:indeterminate{background:var(--accent)!important;border-color:var(--accent)!important}
.pretty-check:indeterminate::after{content:"";width:8px;height:2px;background:#fff;border-radius:2px}
.row-check-all{flex:0 0 auto!important}
.drag-handle{width:22px!important;min-width:22px!important;height:22px;border:1px solid var(--border);border-radius:7px;background:var(--bg-input);color:var(--text-muted);font-size:.75rem;letter-spacing:-2px;cursor:grab}.drag-handle:hover{color:var(--accent-h);border-color:var(--accent);background:var(--accent-dim)}
td.row-head{background:var(--bg-header)!important}
tr:hover td.row-head{background:var(--bg-card-h)!important}
tr.selected td.row-head{background:var(--accent-dim)!important}

/* Drag rows without handle icon + multi-row drop cue */
.row-head{width:82px!important;min-width:82px!important;max-width:82px!important;cursor:grab!important;user-select:none}
.row-head:active{cursor:grabbing!important}
.row-head .head,.row-head .row-head-inner{min-width:82px!important;width:82px!important;padding:.42rem .5rem!important}
.row-tools{min-width:82px!important;width:82px!important;display:grid!important;grid-template-columns:36px 18px!important;align-items:center!important;gap:.55rem!important;padding:.33rem .55rem!important}
.row-num{min-width:34px!important;text-align:right!important;color:var(--text-muted)!important;font-variant-numeric:tabular-nums;font-size:.78rem!important;padding-right:.3rem;border-right:1px solid var(--border)}
.drag-handle{display:none!important}
.row-check{justify-self:center!important}
td.row-head:hover .row-num{color:var(--accent-h)!important}
tr.dragging-row td{opacity:.72}
tr.drop-before td{box-shadow:inset 0 6px 0 rgba(123,104,238,.30), inset 0 8px 0 var(--accent)!important}
tr.drop-after td{box-shadow:inset 0 -6px 0 rgba(123,104,238,.30), inset 0 -8px 0 var(--accent)!important}
tr.drop-before td:first-child::before,tr.drop-after td:first-child::after{content:none!important}
td.row-head input,th.row-head input{cursor:pointer!important}

/* Fast scroll patch: virtualize columns too, so fast wheel/trackpad scrolling does not rebuild thousands of cells. */
#protoTable{table-layout:fixed;}
#protoTable th.virtual-col,#protoTable td.virtual-col{min-width:150px!important;width:150px!important;max-width:150px!important;}
#protoTable th.virtual-col .head{min-width:150px!important;width:150px!important;overflow:hidden;}
#protoTable .cell-view,#protoTable .cell-editor{min-width:150px!important;width:150px!important;max-width:150px!important;}
#protoTable .virtual-col-spacer{padding:0!important;border-right:0!important;border-bottom:1px solid var(--border)!important;background:var(--bg-card)!important;pointer-events:none;}
#protoTable thead .virtual-col-spacer{position:sticky;top:0;z-index:4;background:var(--bg-header)!important;}
#protoTable .virtual-spacer .virtual-col-spacer{border:0!important;}
/* Local autosave + requested icon buttons */
.save-stat{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.icon-btn{width:34px;height:34px;min-height:34px;padding:0;display:inline-grid;place-items:center;border-radius:9px;background:var(--bg-input);color:var(--accent-h);border:1px solid var(--border)}
.icon-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-h)}
.icon-btn:disabled,.icon-btn.disabled{opacity:.38;filter:grayscale(1);cursor:not-allowed;color:var(--text-muted);background:var(--bg-input);border-color:var(--border)}
.icon-btn:disabled:hover{background:var(--bg-input);border-color:var(--border);color:var(--text-muted)}
.history-icon{width:38px;height:34px;min-height:34px;padding:0!important;display:inline-grid!important;place-items:center!important}
.icon-btn svg{width:1.25em;height:1.25em;display:block}
.side-toggle{width:34px;height:34px;min-height:34px;padding:0!important;display:inline-grid!important;place-items:center!important}
.side-toggle svg{width:1.4em;height:1.4em;display:block}
.empty-state{padding:18px!important;color:var(--text-muted)!important;min-width:520px;background:var(--bg-card)!important}
.inline-restore{display:flex;align-items:center;gap:.7rem;margin-top:12px;flex-wrap:wrap}
.inline-restore span{font-size:.82rem;color:var(--text-muted)}

.theme-toggle{font-size:1.05rem;min-width:2.25rem;padding:.55rem .65rem}


/* Full-width browser layout override */
.app-shell{width:100vw!important;max-width:none!important;margin:0!important;padding:0 12px 18px!important;box-sizing:border-box!important;}
body{overflow-x:hidden;}


/* Active file switcher moved from Filters into the active file pill */
.active-file-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:32px;padding:.38rem .7rem;overflow:visible;white-space:nowrap;z-index:12}
.active-file-pill.file-switcher{padding:0;color:var(--text)}
.active-file-switch-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:32px;padding:.38rem .72rem;cursor:pointer;border-radius:999px;color:var(--text);font-size:.78rem;font-weight:900;line-height:1}
.active-file-switch-btn:hover{background:var(--bg-card-h)}
.active-file-name{display:inline-block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15}
.file-switch-icon{width:1em;height:1em;display:block;flex:0 0 auto;color:var(--accent-h)}
.active-file-menu{position:absolute;left:0;top:calc(100% + 8px);min-width:100%;width:max-content;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 36px var(--shadow);padding:6px;display:none;z-index:50}
.active-file-menu.open{display:grid;gap:4px}
.active-file-option{width:100%;display:flex;align-items:center;justify-content:flex-start;text-align:left;min-height:34px;padding:.45rem .75rem;border-radius:8px;background:transparent;border:0;color:var(--text);font-weight:800;white-space:nowrap}
.active-file-option:hover{background:var(--bg-card-h)}
.active-file-option.active{background:var(--accent-dim);color:var(--accent-h)}
.side .tabs{display:none!important}

/* Keep theme icon visually centered regardless of page width/container changes */
.theme-toggle{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:inline-grid!important;place-items:center!important;line-height:1!important;text-align:center!important}
.theme-toggle .theme-svg{width:20px!important;height:20px!important;display:block!important;margin:0!important;transform:none!important;line-height:1!important}

/* Fixed circular row select bullets */
.pretty-check,.row-tools .row-check,#protoTable td input.row-check,#selectAllRows{appearance:none!important;-webkit-appearance:none!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;min-height:16px!important;max-height:16px!important;aspect-ratio:1/1!important;border-radius:50%!important;padding:0!important;box-sizing:border-box!important;display:inline-grid!important;place-content:center!important;flex:0 0 16px!important}
.pretty-check:checked::after{content:""!important;width:6px!important;height:6px!important;border:0!important;border-radius:50%!important;background:#fff!important;transform:none!important}
.pretty-check:indeterminate::after{content:""!important;width:8px!important;height:2px!important;background:#fff!important;border-radius:2px!important;transform:none!important}



/* Disabled export buttons */
.export-btn:disabled,
.export-btn.is-disabled,
.btn:disabled {
  opacity: 0.42 !important;
  filter: grayscale(1) saturate(0.25) !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}
.export-btn:disabled:hover,
.export-btn.is-disabled:hover,
.btn:disabled:hover {
  transform: none !important;
}


/* Universal disabled toolbar/action button styling */
button:disabled,
button[aria-disabled="true"],
.btn.is-disabled,
button.is-disabled,
[role="button"].is-disabled {
  opacity: 0.45 !important;
  filter: grayscale(1) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

button:disabled svg,
button[aria-disabled="true"] svg,
button.is-disabled svg,
.btn.is-disabled svg {
  opacity: 0.8 !important;
}


/* Disabled toolbar/action button styling */
button:disabled,
button[aria-disabled="true"],
button.is-disabled,
.btn.is-disabled,
[role="button"].is-disabled {
  opacity: 0.45 !important;
  filter: grayscale(1) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

button:not(:disabled):not([aria-disabled="true"]):not(.is-disabled),
.btn:not(.is-disabled),
[role="button"]:not(.is-disabled) {
  filter: none;
}


/* Loaded-flag disabled button visuals */
button:disabled,
button[aria-disabled="true"],
button.is-disabled {
  opacity: 0.45 !important;
  filter: grayscale(1) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

button:not(:disabled):not([aria-disabled="true"]):not(.is-disabled) {
  filter: none !important;
}


/* Direct toolbar disabled states */
#manualSaveBtn:disabled,
#addRowBtn:disabled,
#duplicateRowBtn:disabled,
#deleteRowsBtn:disabled,
#undoBtn:disabled,
#redoBtn:disabled,
#exportCurrentBtn:disabled,
#exportBothBtn:disabled,
#manualSaveBtn.is-disabled,
#addRowBtn.is-disabled,
#duplicateRowBtn.is-disabled,
#deleteRowsBtn.is-disabled,
#undoBtn.is-disabled,
#redoBtn.is-disabled,
#exportCurrentBtn.is-disabled,
#exportBothBtn.is-disabled {
  opacity: 0.45 !important;
  filter: grayscale(1) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
