/* EzzySheet product styles v0.33.8
   Extracted from the app shell stylesheet so EzzySheet owns its grid, toolbar, validation, review details, and mobile workbench presentation. */

/* v0.4.8 EzzySheet Draft Entry Workspace */
.ezzysheet-page{display:grid;gap:16px}
.ezzysheet-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;align-items:center}
.ezzysheet-hero h2{margin:6px 0 8px;font-size:28px;letter-spacing:-.03em}
.ezzysheet-hero p{margin:0;color:var(--muted);max-width:780px}
.ezzysheet-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sheet-toolbar{gap:8px;flex-wrap:wrap}
.ezzysheet-card{padding:16px}
.ezzysheet-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.44);backdrop-filter:blur(12px)}
body[data-theme="dark"] .ezzysheet-wrap{background:rgba(15,23,42,.45)}
.ezzysheet-table{min-width:1720px;width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
.ezzysheet-table th{position:sticky;top:0;z-index:2;background:rgba(248,250,252,.92);backdrop-filter:blur(10px);white-space:nowrap;border-bottom:1px solid var(--line);padding:9px 8px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
body[data-theme="dark"] .ezzysheet-table th{background:rgba(15,23,42,.92)}
.ezzysheet-table td{padding:6px;border-bottom:1px solid rgba(148,163,184,.18);vertical-align:top}
.ezzysheet-table tfoot td{background:rgba(37,99,235,.06);font-weight:800;border-top:1px solid var(--line);padding:10px 8px}
.ezzysheet-row.has-issues td{background:rgba(245,158,11,.06)}
.row-num{position:sticky;left:0;z-index:1;background:rgba(248,250,252,.88);font-weight:800;color:var(--muted);text-align:center;width:40px}
body[data-theme="dark"] .row-num{background:rgba(15,23,42,.88)}
.sheet-input{width:100%;min-width:110px;border:1px solid transparent;background:rgba(255,255,255,.74);border-radius:10px;padding:8px 9px;font-size:12px;color:var(--ink)}
body[data-theme="dark"] .sheet-input{background:rgba(15,23,42,.72)}
.sheet-input:focus{outline:2px solid var(--brand-soft);border-color:var(--brand);background:var(--card)}
.sheet-input.date{min-width:130px}.sheet-input.party{min-width:190px}.sheet-input.ref{min-width:130px}.sheet-input.desc{min-width:220px}.sheet-input.account{min-width:220px}.sheet-input.amount{min-width:110px;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sheet-input.tax{min-width:90px}.sheet-input.notes{min-width:180px}
.formula-result{font-size:10px;color:var(--muted);margin-top:3px;text-align:right;white-space:normal;line-height:1.2}
.issue-text{color:#92400e;text-align:left;max-width:160px}
body[data-theme="dark"] .issue-text{color:#fbbf24}
.sheet-status{min-width:150px}.sheet-actions{white-space:nowrap;min-width:70px}
.ezzysheet-page code{background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-size:12px}
@media(max-width:1000px){.ezzysheet-hero{grid-template-columns:1fr}.ezzysheet-kpis{grid-template-columns:1fr}}

/* v0.4.8a EzzySheet Fullscreen Spreadsheet Polish */
/* v0.4.8b EzzySheet Usability Polish */
.app-shell.page-ezzysheet.sidebar-collapsed{grid-template-columns:82px 1fr}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar{padding:14px 10px;overflow:hidden}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .sidebar-header{justify-content:center;flex-direction:column;gap:8px}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .brand{justify-content:center;margin:0}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .brand-copy,
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-label,
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-section,
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .sidebar-card,
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .quick-entry-prompt{display:none}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .logo{width:42px;height:42px;border-radius:14px}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-btn{justify-content:center;padding:12px 0;margin:6px 0;border-radius:16px}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-btn .ico{margin:0}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-btn .ico svg{width:22px;height:22px}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-group-header{display:none}
.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-group-items{display:block}
.app-shell.page-ezzysheet .main{min-width:0}
.app-shell.page-ezzysheet .topbar{min-height:auto;padding:9px 14px;border-bottom:1px solid var(--glass-line,var(--line));background:var(--glass-bg-strong,var(--card));backdrop-filter:blur(18px)}
.app-shell.page-ezzysheet .topbar-title h2{font-size:16px;margin:0}.app-shell.page-ezzysheet .topbar-title p{display:none}
.app-shell.page-ezzysheet .content{padding:0;max-width:none;flex:1;display:flex;min-height:0}
.app-shell.page-ezzysheet .app-footer{display:none}
.sheet-fullscreen{display:flex;flex-direction:column;gap:0;width:100%;min-height:calc(100vh - 58px);background:rgba(255,255,255,.16)}
body[data-theme="dark"] .sheet-fullscreen{background:rgba(15,23,42,.14)}
.sheet-appbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--glass-line,var(--line));background:var(--glass-bg-strong,var(--card));backdrop-filter:blur(18px);position:sticky;top:0;z-index:15}
.sheet-brand-row{display:flex;align-items:center;gap:10px;min-width:0}.sheet-file-icon{width:28px;height:28px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:950;letter-spacing:-.03em}.sheet-brand-row strong{font-size:15px;color:var(--ink)}.sheet-saved{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 8px;background:var(--soft)}
.sheet-mini-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.sheet-mini-stats span{font-size:11px;color:var(--muted)}
.sheet-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.sheet-toolbar-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:7px 10px;font-size:12px;font-weight:850;box-shadow:0 1px 0 rgba(15,23,42,.04)}.sheet-toolbar-btn:hover{background:var(--brand-soft);color:var(--brand)}.sheet-toolbar-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.formula-bar{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;border-bottom:1px solid var(--glass-line,var(--line));background:var(--glass-bg,var(--card));height:36px;position:sticky;top:58px;z-index:14}.formula-bar span,.formula-bar input{height:100%;display:flex;align-items:center}.formula-bar .name-box{justify-content:center;border-right:1px solid var(--line);font-size:12px;color:var(--muted);font-weight:800}.formula-bar input{border:0;border-radius:0;background:transparent;padding:0 12px;font-size:12px;color:var(--muted);min-height:0}
.sheet-paste-panel{padding:12px 14px;border-bottom:1px solid var(--line);background:var(--glass-bg-strong,var(--card));display:grid;grid-template-columns:260px minmax(0,1fr) auto;gap:12px;align-items:start}.sheet-paste-panel p{margin:4px 0 0}.sheet-paste-panel textarea{min-height:70px;border-radius:10px}
.sheet-grid-card{flex:1;min-height:0;display:flex;overflow:hidden}.spreadsheet-wrap{flex:1;border:0;border-radius:0;background:rgba(255,255,255,.64);backdrop-filter:blur(10px);height:auto;max-height:none}body[data-theme="dark"] .spreadsheet-wrap{background:rgba(15,23,42,.58)}
.spreadsheet-table{min-width:1840px;border-collapse:collapse;border-spacing:0;font-size:12px;background:transparent}.spreadsheet-table th,.spreadsheet-table td{border:1px solid rgba(148,163,184,.32);padding:0;height:34px;vertical-align:middle}.spreadsheet-table thead th{position:sticky;z-index:4;backdrop-filter:blur(12px);background:rgba(241,245,249,.94);color:#475569;font-size:11px;font-weight:850;text-transform:none;letter-spacing:0;text-align:center;padding:0 6px;white-space:nowrap}body[data-theme="dark"] .spreadsheet-table thead th{background:rgba(30,41,59,.95);color:#cbd5e1}.spreadsheet-table .sheet-letters th{top:0;height:25px;background:rgba(226,232,240,.95);font-weight:900}.spreadsheet-table .sheet-fields th{top:25px;height:32px}.spreadsheet-table .corner-cell,.spreadsheet-table .row-head{position:sticky!important;left:0;z-index:6!important;background:rgba(226,232,240,.96)!important;min-width:44px;width:44px;text-align:center}.spreadsheet-table .sheet-fields .row-head{top:25px}.spreadsheet-table td.row-num{position:sticky;left:0;z-index:3;background:rgba(241,245,249,.96);font-weight:800;color:#64748b;text-align:center;width:44px;min-width:44px}body[data-theme="dark"] .spreadsheet-table .corner-cell,body[data-theme="dark"] .spreadsheet-table .row-head,body[data-theme="dark"] .spreadsheet-table td.row-num{background:rgba(30,41,59,.96)!important;color:#cbd5e1}.spreadsheet-table td{background:rgba(255,255,255,.72)}body[data-theme="dark"] .spreadsheet-table td{background:rgba(15,23,42,.48)}.spreadsheet-table tr:hover td{background:rgba(239,246,255,.92)}body[data-theme="dark"] .spreadsheet-table tr:hover td{background:rgba(30,58,138,.34)}
.spreadsheet-table .sheet-input{border:0;background:transparent;border-radius:0;box-shadow:none;min-height:33px;padding:6px 8px;font-size:12px;width:100%;height:33px}.spreadsheet-table select.sheet-input{appearance:auto}.spreadsheet-table .sheet-input:focus{outline:2px solid var(--brand);outline-offset:-2px;background:rgba(255,255,255,.98)}body[data-theme="dark"] .spreadsheet-table .sheet-input:focus{background:rgba(15,23,42,.95)}.spreadsheet-table .sheet-input.date{min-width:126px}.spreadsheet-table .sheet-input.party{min-width:210px}.spreadsheet-table .sheet-input.ref{min-width:140px}.spreadsheet-table .sheet-input.desc{min-width:250px}.spreadsheet-table .sheet-input.account{min-width:240px}.spreadsheet-table .sheet-input.amount{min-width:120px}.spreadsheet-table .sheet-input.tax{min-width:100px}.spreadsheet-table .sheet-input.notes{min-width:210px}.spreadsheet-table .formula-result{display:none}.spreadsheet-table .issue-text{font-size:10px;line-height:1.2;padding:4px 6px;max-width:170px}.spreadsheet-table .sheet-status{min-width:170px}.spreadsheet-table .sheet-actions{min-width:74px;text-align:center}.spreadsheet-table tfoot td{height:34px;background:rgba(219,234,254,.82);font-weight:900;padding:0 8px}.sheet-bottom-dock{padding:10px 14px;border-top:1px solid var(--glass-line,var(--line));background:var(--glass-bg-strong,var(--card));display:grid;gap:8px}.sheet-bottom-dock .table-wrap{box-shadow:none;border-radius:10px;max-height:140px;overflow:auto}.sheet-bottom-dock table th,.sheet-bottom-dock table td{padding:7px 9px;font-size:12px}
@media(max-width:1100px){.sheet-appbar{align-items:flex-start;flex-direction:column}.sheet-toolbar{justify-content:flex-start}.sheet-paste-panel{grid-template-columns:1fr}.app-shell.page-ezzysheet.sidebar-collapsed{grid-template-columns:1fr}.app-shell.page-ezzysheet.sidebar-collapsed .sidebar{position:static;height:auto;overflow:auto}.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .brand-copy,.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-label,.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-section,.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .sidebar-card,.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .quick-entry-prompt{display:block}.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-btn{justify-content:flex-start;padding:11px 12px}.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .sidebar-header{flex-direction:row;justify-content:space-between}.app-shell.page-ezzysheet.sidebar-collapsed .sidebar .nav-group-header{display:flex}}


/* v0.4.8b EzzySheet usability refinements */
.app-shell.page-ezzysheet.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}
.app-shell.page-ezzysheet .content{overflow:hidden}
.sheet-fullscreen{height:calc(100vh - 58px);max-height:calc(100vh - 58px);overflow:hidden;gap:0;background:rgba(255,255,255,.18)}
body[data-theme="dark"] .sheet-fullscreen{background:rgba(2,6,23,.18)}
.sheet-appbar{padding:7px 10px;border-bottom:1px solid rgba(148,163,184,.28);background:rgba(248,250,252,.86);backdrop-filter:none}
body[data-theme="dark"] .sheet-appbar{background:rgba(15,23,42,.88)}
.sheet-mini-stats span{padding:2px 7px;border-radius:999px;background:rgba(226,232,240,.72)}
body[data-theme="dark"] .sheet-mini-stats span{background:rgba(30,41,59,.78)}
.formula-bar{padding:4px 8px;border-bottom:1px solid rgba(148,163,184,.28);background:rgba(241,245,249,.9);backdrop-filter:none}
body[data-theme="dark"] .formula-bar{background:rgba(15,23,42,.9)}
.fix-chip-list{display:flex;gap:6px;align-items:center;overflow:auto;white-space:nowrap;max-width:70%}.fix-chip{border:1px solid rgba(245,158,11,.45);background:rgba(255,255,255,.64);color:#92400e;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;white-space:nowrap}body[data-theme="dark"] .fix-chip{background:rgba(15,23,42,.62);color:#fed7aa;border-color:rgba(251,191,36,.4)}
.sheet-grid-card{min-height:0;flex:1;display:flex;overflow:hidden}.spreadsheet-wrap{overflow:auto;scroll-behavior:auto!important;overscroll-behavior:contain;will-change:scroll-position;contain:layout paint;background:rgba(255,255,255,.82);backdrop-filter:none!important;-webkit-overflow-scrolling:touch}.spreadsheet-wrap::-webkit-scrollbar{height:14px;width:14px}.spreadsheet-wrap::-webkit-scrollbar-thumb{background:rgba(100,116,139,.45);border-radius:999px;border:3px solid rgba(241,245,249,.9)}.spreadsheet-wrap::-webkit-scrollbar-track{background:rgba(226,232,240,.65)}body[data-theme="dark"] .spreadsheet-wrap{background:rgba(15,23,42,.74)}
.spreadsheet-table{min-width:1960px;table-layout:auto;border-collapse:collapse;border-spacing:0}.spreadsheet-table th,.spreadsheet-table td{padding:0!important;height:27px!important;line-height:1;border-color:rgba(148,163,184,.38)}.spreadsheet-table thead th{padding:0 3px!important;height:25px!important;backdrop-filter:none!important}.spreadsheet-table .sheet-letters th{height:22px!important}.spreadsheet-table .sheet-fields th{top:22px;height:28px!important}.spreadsheet-table .sheet-fields .row-head{top:22px}.spreadsheet-table .corner-cell,.spreadsheet-table .row-head,.spreadsheet-table td.row-num{min-width:38px!important;width:38px!important}.row-jump{border:0;background:transparent;color:inherit;font:inherit;font-weight:800;width:100%;height:100%;cursor:pointer}.row-jump:hover{background:rgba(37,99,235,.08)}
.spreadsheet-table .sheet-input{padding:0!important;border:0!important;border-radius:0!important;height:26px!important;min-height:26px!important;line-height:26px!important;font-size:12px;background:transparent!important}.spreadsheet-table select.sheet-input{padding-left:0!important}.spreadsheet-table .sheet-input:focus{outline:2px solid #1a73e8!important;outline-offset:-2px;background:rgba(255,255,255,.98)!important}.spreadsheet-table .sheet-input.date{min-width:122px}.spreadsheet-table .sheet-input.party{min-width:210px}.spreadsheet-table .sheet-input.ref{min-width:136px}.spreadsheet-table .sheet-input.desc{min-width:250px}.spreadsheet-table .sheet-input.account{min-width:236px}.spreadsheet-table .sheet-input.amount{min-width:110px}.spreadsheet-table .sheet-input.notes{min-width:190px}.spreadsheet-table .sheet-input.custom{min-width:150px}.spreadsheet-table .sheet-status{min-width:185px}.spreadsheet-table .sheet-actions{min-width:132px!important;white-space:nowrap}.spreadsheet-table .sheet-actions .icon-btn{width:22px;height:22px;border-radius:4px;margin:0 1px}.spreadsheet-table .sheet-actions .icon-btn.danger{color:#b91c1c}.spreadsheet-table .issue-text{display:block!important;font-size:10px;line-height:1.1;padding:0!important;margin:0;color:#92400e;white-space:normal}.spreadsheet-table tr.has-issues td{background:rgba(255,251,235,.94)!important}body[data-theme="dark"] .spreadsheet-table tr.has-issues td{background:rgba(69,26,3,.46)!important}.spreadsheet-table tr.row-focus-pulse td{animation:ezzyPulse .85s ease-in-out}@keyframes ezzyPulse{0%{box-shadow:inset 0 0 0 999px rgba(59,130,246,.24)}100%{box-shadow:inset 0 0 0 999px transparent}}
.custom-col-head{position:relative}.custom-col-head span{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.custom-col-head button{border:0;background:transparent;color:#64748b;font-weight:900;margin-left:4px;cursor:pointer}.custom-col-head button:hover{color:#dc2626}.sheet-bottom-dock{display:none!important}
@media(max-width:1100px){.sheet-fullscreen{height:auto;max-height:none}.fix-chip-list{max-width:100%}}
/* v0.4.8c EzzySheet True Grid Cell Spacing Fix
   Target: Google Sheets / Excel-like continuous grid.
   Cells have no margins/gaps; borders are the only separators. */
.app-shell.page-ezzysheet .sheet-grid-card{padding:0!important;margin:0!important;background:transparent!important;border:0!important}
.app-shell.page-ezzysheet .spreadsheet-wrap{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
  overflow:auto!important;
  scroll-behavior:auto!important;
  contain:strict;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-wrap{background:#0f172a!important}
.app-shell.page-ezzysheet .spreadsheet-table{
  border-collapse:collapse!important;
  border-spacing:0!important;
  table-layout:fixed!important;
  width:max-content!important;
  min-width:1960px!important;
  background:#fff!important;
  margin:0!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table{background:#0f172a!important}
.app-shell.page-ezzysheet .spreadsheet-table tr,
.app-shell.page-ezzysheet .spreadsheet-table th,
.app-shell.page-ezzysheet .spreadsheet-table td{
  margin:0!important;
  border-collapse:collapse!important;
}
.app-shell.page-ezzysheet .spreadsheet-table th,
.app-shell.page-ezzysheet .spreadsheet-table td{
  padding:0!important;
  border:1px solid #d9e0ea!important;
  height:24px!important;
  min-height:24px!important;
  line-height:24px!important;
  vertical-align:middle!important;
  box-sizing:border-box!important;
  background:#fff!important;
  overflow:hidden!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table th,
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table td{
  border-color:#334155!important;
  background:#0f172a!important;
}
.app-shell.page-ezzysheet .spreadsheet-table thead th{
  padding:0!important;
  height:24px!important;
  min-height:24px!important;
  line-height:24px!important;
  background:#f1f3f4!important;
  color:#3c4043!important;
  font-size:11px!important;
  font-weight:700!important;
  text-align:center!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table thead th{background:#1e293b!important;color:#cbd5e1!important}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-letters th{
  height:22px!important;
  min-height:22px!important;
  line-height:22px!important;
  background:#e8eaed!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table .sheet-letters th{background:#273449!important}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-fields th{top:22px!important;height:25px!important;line-height:25px!important}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-fields .row-head{top:22px!important}
.app-shell.page-ezzysheet .spreadsheet-table .corner-cell,
.app-shell.page-ezzysheet .spreadsheet-table .row-head,
.app-shell.page-ezzysheet .spreadsheet-table td.row-num{
  min-width:38px!important;
  width:38px!important;
  max-width:38px!important;
  background:#f1f3f4!important;
  color:#5f6368!important;
  text-align:center!important;
  font-weight:700!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table .corner-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table .row-head,
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table td.row-num{background:#1e293b!important;color:#cbd5e1!important}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-input{
  display:block!important;
  box-sizing:border-box!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  width:100%!important;
  height:23px!important;
  min-height:23px!important;
  max-height:23px!important;
  line-height:23px!important;
  padding:0 4px!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-size:12px!important;
  font-family:inherit!important;
  appearance:auto;
}
.app-shell.page-ezzysheet .spreadsheet-table select.sheet-input{padding:0 2px!important;text-overflow:ellipsis!important}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-input.amount{text-align:right!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;padding-right:5px!important}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-input:focus{
  outline:2px solid #1a73e8!important;
  outline-offset:-2px!important;
  background:#fff!important;
  position:relative!important;
  z-index:8!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table .sheet-input:focus{background:#0f172a!important}
.app-shell.page-ezzysheet .spreadsheet-table tr:hover td{background:#f8fbff!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table tr:hover td{background:#172033!important}
.app-shell.page-ezzysheet .spreadsheet-table tr.has-issues td{background:#fff8e1!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table tr.has-issues td{background:#3b2508!important}
.app-shell.page-ezzysheet .spreadsheet-table .issue-text{
  display:block!important;
  margin:0!important;
  padding:0 3px!important;
  line-height:11px!important;
  font-size:10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-actions{
  padding:0!important;
  white-space:nowrap!important;
  text-align:center!important;
  vertical-align:middle!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-actions .icon-btn{
  margin:0!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  border-radius:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  vertical-align:middle!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-actions .icon-btn:hover{background:#e8f0fe!important;color:#1a73e8!important}
.app-shell.page-ezzysheet .spreadsheet-table tfoot td{
  height:24px!important;
  line-height:24px!important;
  padding:0 4px!important;
  background:#eef4ff!important;
  font-weight:800!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table tfoot td{background:#172554!important}
.app-shell.page-ezzysheet .row-jump{display:block!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;background:transparent!important;line-height:23px!important}


/* v0.4.8d EzzySheet Google Sheets Density Fix
   The goal is not just no gap between cells; it is compact Google Sheets-like row density.
   Rows are fixed-height, cell controls fill the cell, and per-row issue details stay in the Needs Fix panel. */
.app-shell.page-ezzysheet .spreadsheet-wrap{
  background:#fff!important;
  overflow:auto!important;
  transform:translateZ(0);
}
.app-shell.page-ezzysheet .spreadsheet-table{
  border-collapse:collapse!important;
  border-spacing:0!important;
  table-layout:fixed!important;
  font-size:11px!important;
  line-height:22px!important;
}
.app-shell.page-ezzysheet .spreadsheet-table col{width:auto!important}
.app-shell.page-ezzysheet .spreadsheet-table tr,
.app-shell.page-ezzysheet .spreadsheet-table tbody tr,
.app-shell.page-ezzysheet .spreadsheet-table tbody tr.ezzysheet-row{
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
}
.app-shell.page-ezzysheet .spreadsheet-table th,
.app-shell.page-ezzysheet .spreadsheet-table td{
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  line-height:22px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #dadce0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
  box-sizing:border-box!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-letters th{
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  line-height:20px!important;
  background:#f8f9fa!important;
  color:#5f6368!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-fields th{
  top:20px!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  line-height:22px!important;
  background:#f8f9fa!important;
  color:#3c4043!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-fields .row-head{top:20px!important}
.app-shell.page-ezzysheet .spreadsheet-table td.row-num,
.app-shell.page-ezzysheet .spreadsheet-table .row-head,
.app-shell.page-ezzysheet .spreadsheet-table .corner-cell{
  min-width:40px!important;
  width:40px!important;
  max-width:40px!important;
  height:22px!important;
  line-height:22px!important;
  background:#f8f9fa!important;
  color:#5f6368!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .row-jump{
  height:21px!important;
  line-height:21px!important;
  font-size:11px!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-input,
.app-shell.page-ezzysheet .spreadsheet-table input.sheet-input,
.app-shell.page-ezzysheet .spreadsheet-table select.sheet-input{
  display:block!important;
  width:100%!important;
  height:21px!important;
  min-height:21px!important;
  max-height:21px!important;
  line-height:21px!important;
  margin:0!important;
  padding:0 3px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  font-size:12px!important;
  font-family:Arial, Helvetica, sans-serif!important;
  color:#202124!important;
  box-sizing:border-box!important;
  vertical-align:top!important;
}
.app-shell.page-ezzysheet .spreadsheet-table select.sheet-input{
  appearance:none!important;
  -webkit-appearance:none!important;
  background-image:none!important;
  padding-right:3px!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-input.amount{
  padding-right:4px!important;
  font-family:Arial, Helvetica, sans-serif!important;
  text-align:right!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-input:focus{
  outline:2px solid #1a73e8!important;
  outline-offset:-2px!important;
  background:#fff!important;
  z-index:20!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-status{
  padding:0 2px!important;
  line-height:21px!important;
  height:22px!important;
  min-width:98px!important;
  max-width:120px!important;
  overflow:hidden!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-status .badge{
  height:18px!important;
  line-height:18px!important;
  padding:0 5px!important;
  font-size:10px!important;
  border-radius:9px!important;
  vertical-align:middle!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .issue-text{display:none!important}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-actions{
  height:22px!important;
  min-width:92px!important;
  max-width:104px!important;
  line-height:22px!important;
  overflow:hidden!important;
}
.app-shell.page-ezzysheet .spreadsheet-table .sheet-actions .icon-btn{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  line-height:18px!important;
  font-size:10px!important;
  padding:0!important;
  margin:0!important;
}
.app-shell.page-ezzysheet .spreadsheet-table tfoot td{
  height:22px!important;
  line-height:22px!important;
  padding:0 3px!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table th,
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table td{border-color:#334155!important;color:#cbd5e1!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table .sheet-input:not(.is-empty-display){color:#e2e8f0!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-table .sheet-input:focus{background:#0f172a!important}


/* v0.4.8e EzzySheet Real Grid Renderer
   Replaces table behavior with fixed-height CSS grid rows so the browser cannot stretch rows.
   This is the real Google Sheets density fix: each cell is one continuous grid box. */
.app-shell.page-ezzysheet .spreadsheet-wrap{
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  overflow:auto!important;
  contain:layout paint!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.app-shell.page-ezzysheet .spreadsheet-grid{
  display:block!important;
  width:max-content!important;
  min-width:100%!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:12px!important;
  line-height:21px!important;
  background:#fff!important;
}
.app-shell.page-ezzysheet .sheet-grid-row{
  display:grid!important;
  grid-template-columns:var(--sheet-cols)!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  line-height:21px!important;
  margin:0!important;
  padding:0!important;
  align-items:stretch!important;
}
.app-shell.page-ezzysheet .sheet-grid-body{display:block!important;margin:0!important;padding:0!important}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell{
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  line-height:21px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
  border-right:1px solid #dadce0!important;
  border-bottom:1px solid #dadce0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  background:#fff!important;
  color:#202124!important;
  vertical-align:middle!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell:first-child{border-left:1px solid #dadce0!important}
.app-shell.page-ezzysheet .sheet-letters,
.app-shell.page-ezzysheet .sheet-fields{
  position:sticky!important;
  z-index:30!important;
}
.app-shell.page-ezzysheet .sheet-letters{top:0!important}
.app-shell.page-ezzysheet .sheet-fields{top:22px!important}
.app-shell.page-ezzysheet .sheet-letters .sheet-cell,
.app-shell.page-ezzysheet .sheet-fields .sheet-cell{
  background:#f8f9fa!important;
  color:#3c4043!important;
  font-size:11px!important;
  font-weight:700!important;
  text-align:center!important;
}
.app-shell.page-ezzysheet .sheet-letters .sheet-cell{height:22px!important;line-height:21px!important;color:#5f6368!important}
.app-shell.page-ezzysheet .sheet-grid-row .row-num,
.app-shell.page-ezzysheet .sheet-grid-row .row-head,
.app-shell.page-ezzysheet .sheet-grid-row .corner-cell{
  background:#f8f9fa!important;
  color:#5f6368!important;
  text-align:center!important;
  font-weight:700!important;
}
.app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell{background:#fff8e1!important}
.app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell{background:#f8fbff!important}
.app-shell.page-ezzysheet .sheet-grid-row.has-issues:hover .sheet-cell{background:#fff3c4!important}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input,
.app-shell.page-ezzysheet .sheet-grid-row input.sheet-input,
.app-shell.page-ezzysheet .sheet-grid-row select.sheet-input{
  display:block!important;
  width:100%!important;
  height:21px!important;
  min-height:21px!important;
  max-height:21px!important;
  line-height:21px!important;
  margin:0!important;
  padding:0 3px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  font:12px/21px Arial, Helvetica, sans-serif!important;
  box-sizing:border-box!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input:not(.is-empty-display){color:#202124}
.app-shell.page-ezzysheet .sheet-grid-row input.sheet-input[type="number"],
.app-shell.page-ezzysheet input.sheet-review-input[type="number"]{
  appearance:textfield;
  -moz-appearance:textfield;
}
.app-shell.page-ezzysheet .sheet-grid-row input.sheet-input[type="number"]::-webkit-outer-spin-button,
.app-shell.page-ezzysheet .sheet-grid-row input.sheet-input[type="number"]::-webkit-inner-spin-button,
.app-shell.page-ezzysheet input.sheet-review-input[type="number"]::-webkit-outer-spin-button,
.app-shell.page-ezzysheet input.sheet-review-input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input.amount{text-align:right!important;padding-right:4px!important}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-system-cell{
  display:flex;
  align-items:center;
  height:21px;
  min-width:0;
  padding:0 3px 0 6px;
  box-sizing:border-box;
  background:linear-gradient(90deg, rgba(248,250,252,.98), rgba(239,246,255,.86));
  border-left:2px solid #93c5fd;
  color:#334155;
  font:12px/21px Arial, Helvetica, sans-serif;
  user-select:text;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-system-cell.is-blank{background:transparent;border-left-color:transparent}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-system-cell.role-computed{background:linear-gradient(90deg, rgba(240,253,244,.98), rgba(220,252,231,.82));border-left-color:#22c55e}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-system-cell.role-report{background:linear-gradient(90deg, rgba(255,251,235,.98), rgba(254,243,199,.82));border-left-color:#f59e0b}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-system-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-system-resolved-value{font-weight:600;color:inherit}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-system-cell:focus,
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status-focus:focus{
  outline:2px solid #1a73e8!important;
  outline-offset:-2px!important;
  position:relative!important;
  z-index:50!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status-focus{
  display:block;
  width:100%;
  height:100%;
  padding:0 2px;
  box-sizing:border-box;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status-text{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#475569;
  font:700 11px/21px Arial, Helvetica, sans-serif;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status-text.ready{color:#166534}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status-text.needs-review{color:#92400e}
.app-shell.page-ezzysheet .sheet-grid-row.validation-validated,
.app-shell.page-ezzysheet .sheet-grid-row.validation-needs-review,
.app-shell.page-ezzysheet .sheet-grid-row.validation-fix-needed{position:relative}
.app-shell.page-ezzysheet .sheet-grid-row.validation-validated::before,
.app-shell.page-ezzysheet .sheet-grid-row.validation-needs-review::before,
.app-shell.page-ezzysheet .sheet-grid-row.validation-fix-needed::before{
  content:"";
  position:absolute;
  left:0;
  top:1px;
  bottom:1px;
  width:3px;
  z-index:35;
  pointer-events:none;
}
.app-shell.page-ezzysheet .sheet-grid-row.validation-validated::before{background:#22c55e}
.app-shell.page-ezzysheet .sheet-grid-row.validation-needs-review::before{background:#f59e0b}
.app-shell.page-ezzysheet .sheet-grid-row.validation-fix-needed::before{background:#ef4444}
.app-shell.page-ezzysheet .sheet-grid-row.validation-validated .sheet-cell{box-shadow:inset 0 0 0 9999px rgba(34,197,94,.055)}
.app-shell.page-ezzysheet .sheet-grid-row.validation-needs-review .sheet-cell{box-shadow:inset 0 0 0 9999px rgba(245,158,11,.08)}
.app-shell.page-ezzysheet .sheet-grid-row.validation-fix-needed .sheet-cell{box-shadow:inset 0 0 0 9999px rgba(239,68,68,.075)}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status-text.validated{
  color:#166534;
  font-weight:850;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status-text.fix-needed{
  color:#b91c1c;
  font-weight:850;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input.date.has-date-warning,
.app-shell.page-ezzysheet .sheet-review-input.date.has-date-warning{
  box-shadow:inset 0 -2px 0 #f59e0b;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input.is-empty-display,
.app-shell.page-ezzysheet .sheet-review-input.is-empty-display{
  color:#94a3b8;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input.has-user-value,
.app-shell.page-ezzysheet .sheet-review-input.has-user-value{
  color:var(--ink);
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input::placeholder,
.app-shell.page-ezzysheet .sheet-review-input::placeholder{
  color:#a8b3c2;
  opacity:1;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-input.is-empty-display,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-input.is-empty-display{
  color:#64748b;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-input::placeholder,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-input::placeholder{
  color:#64748b;
}
.sheet-date-confirm-popover{
  position:fixed;
  z-index:120;
  width:300px;
  max-width:calc(100vw - 24px);
  padding:12px;
  border:1px solid #f59e0b;
  border-radius:14px;
  background:#fffbeb;
  color:#78350f;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
}
.sheet-date-confirm-popover strong{
  display:block;
  margin-bottom:5px;
  font:850 13px/1.2 Arial, Helvetica, sans-serif;
}
.sheet-date-confirm-popover p{
  margin:0 0 10px;
  font:600 12px/1.35 Arial, Helvetica, sans-serif;
}
.sheet-date-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.sheet-cell-edit-popover{
  position:fixed;
  z-index:130;
  width:320px;
  max-width:calc(100vw - 24px);
  padding:12px;
  border:1px solid #93c5fd;
  border-radius:14px;
  background:#eff6ff;
  color:#1e3a8a;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
}
.sheet-cell-edit-popover.is-review-update{
  border-color:#f59e0b;
  background:#fffbeb;
  color:#78350f;
}
.sheet-cell-edit-popover strong{
  display:block;
  margin-bottom:6px;
  font:850 13px/1.25 Arial, Helvetica, sans-serif;
}
.sheet-cell-edit-popover p{
  margin:0 0 8px;
  font:700 12px/1.35 Arial, Helvetica, sans-serif;
}
.sheet-cell-edit-popover dl{
  display:grid;
  grid-template-columns:72px minmax(0, 1fr);
  gap:5px 8px;
  margin:0 0 10px;
  font:600 12px/1.3 Arial, Helvetica, sans-serif;
}
.sheet-cell-edit-popover dt{opacity:.75}
.sheet-cell-edit-popover dd{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}
.sheet-cell-edit-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
body[data-theme="dark"] .sheet-cell-edit-popover{
  background:#0f172a;
  color:#dbeafe;
  border-color:#60a5fa;
}
body[data-theme="dark"] .sheet-cell-edit-popover.is-review-update{
  background:#271700;
  color:#fde68a;
  border-color:#f59e0b;
}
.ezzy-master-typeahead-popover{
  position:fixed;
  z-index:145;
  max-width:calc(100vw - 24px);
  max-height:238px;
  overflow:auto;
  padding:5px;
  border:1px solid #93c5fd;
  border-radius:8px;
  background:#fff;
  color:#1f2937;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
}
.ezzy-master-typeahead-option{
  display:block;
  width:100%;
  min-height:30px;
  padding:5px 7px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.ezzy-master-typeahead-option strong,
.ezzy-master-typeahead-option span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ezzy-master-typeahead-option strong{
  font:800 12px/1.2 Arial, Helvetica, sans-serif;
}
.ezzy-master-typeahead-option span{
  margin-top:2px;
  color:#64748b;
  font:600 10px/1.2 Arial, Helvetica, sans-serif;
}
.ezzy-master-typeahead-option:hover,
.ezzy-master-typeahead-option.active{
  background:#e8f0fe;
  color:#174ea6;
}
.ezzy-master-typeahead-option:hover span,
.ezzy-master-typeahead-option.active span{
  color:#1d4ed8;
}
.ezzy-master-typeahead-empty{
  padding:7px;
  color:#64748b;
  font:700 11px/1.25 Arial, Helvetica, sans-serif;
}
body[data-theme="dark"] .ezzy-master-typeahead-popover{
  background:#0f172a;
  color:#e2e8f0;
  border-color:#60a5fa;
  box-shadow:0 18px 42px rgba(2,6,23,.5);
}
body[data-theme="dark"] .ezzy-master-typeahead-option span,
body[data-theme="dark"] .ezzy-master-typeahead-empty{
  color:#94a3b8;
}
body[data-theme="dark"] .ezzy-master-typeahead-option:hover,
body[data-theme="dark"] .ezzy-master-typeahead-option.active{
  background:#1e3a8a;
  color:#dbeafe;
}
body[data-theme="dark"] .ezzy-master-typeahead-option:hover span,
body[data-theme="dark"] .ezzy-master-typeahead-option.active span{
  color:#bfdbfe;
}
.app-shell.page-ezzysheet .sheet-date-status-list{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:8px;
}
.app-shell.page-ezzysheet .sheet-date-status{
  border:1px solid #dbe2ea;
  border-radius:999px;
  padding:4px 8px;
  background:#f8fafc;
  color:#334155;
  font:800 10px/1.25 Arial, Helvetica, sans-serif;
}
.app-shell.page-ezzysheet .sheet-date-status.invalid,
.app-shell.page-ezzysheet .sheet-date-status.outside_needs_confirmation{
  border-color:#f59e0b;
  background:#fffbeb;
  color:#92400e;
}
.app-shell.page-ezzysheet .sheet-date-status.outside_confirmed{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}
.app-shell.page-ezzysheet .sheet-date-status.valid{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#166534;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status-focus.is-blank{background:transparent}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input:focus{
  outline:2px solid #1a73e8!important;
  outline-offset:-2px!important;
  background:#fff!important;
  position:relative!important;
  z-index:50!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .formula-result,
.app-shell.page-ezzysheet .sheet-grid-row .issue-text{display:none!important}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status{padding:0 2px!important;text-align:center!important}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status .badge{
  height:17px!important;
  line-height:17px!important;
  padding:0 5px!important;
  font-size:10px!important;
  border-radius:8px!important;
  margin-top:2px!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-actions{text-align:center!important;white-space:nowrap!important}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-actions .icon-btn{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  line-height:18px!important;
  font-size:10px!important;
  padding:0!important;
  margin:1px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .row-jump{
  display:block!important;
  width:100%!important;
  height:21px!important;
  line-height:21px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  color:inherit!important;
  font:700 11px/21px Arial, Helvetica, sans-serif!important;
}
.app-shell.page-ezzysheet .sheet-total-row .sheet-cell{background:#eef4ff!important;font-weight:800!important}
.app-shell.page-ezzysheet .sheet-total-row .amount{text-align:right!important;padding-right:4px!important}
.app-shell.page-ezzysheet .sheet-total-row .total-label{text-align:right!important;padding-right:4px!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-wrap,
body[data-theme="dark"] .app-shell.page-ezzysheet .spreadsheet-grid,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-cell{background:#0f172a!important;color:#e2e8f0!important;border-color:#334155!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-letters .sheet-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-fields .sheet-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .row-num,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .row-head,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .corner-cell{background:#1e293b!important;color:#cbd5e1!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-input:not(.is-empty-display){color:#e2e8f0!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-input:focus{background:#0f172a!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-system-cell{background:linear-gradient(90deg, rgba(30,41,59,.98), rgba(30,58,138,.42));border-left-color:#60a5fa;color:#e2e8f0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-system-cell.is-blank{background:transparent;border-left-color:transparent}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-system-cell.role-computed{background:linear-gradient(90deg, rgba(20,83,45,.7), rgba(21,128,61,.38));border-left-color:#4ade80}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-system-cell.role-report{background:linear-gradient(90deg, rgba(120,53,15,.72), rgba(146,64,14,.42));border-left-color:#fbbf24}

/* v0.4.8f EzzySheet Keyboard Focus Mode
   Maximize editing space: hide global topbar, collapse issue details by default, and keep sheet toolbar sticky. */
.app-shell.page-ezzysheet .topbar{display:none!important}
.app-shell.page-ezzysheet .main{height:100vh!important;max-height:100vh!important;overflow:hidden!important}
.app-shell.page-ezzysheet .content{height:100vh!important;max-height:100vh!important;overflow:hidden!important;padding:0!important}
.app-shell.page-ezzysheet .sheet-fullscreen{height:100vh!important;max-height:100vh!important;min-height:100vh!important;overflow:hidden!important;background:#fff!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-fullscreen{background:#0f172a!important}
.app-shell.page-ezzysheet .sheet-appbar{position:sticky!important;top:0!important;z-index:80!important;padding:6px 10px!important;min-height:48px!important;background:#fff!important;border-bottom:1px solid #dadce0!important;box-shadow:0 1px 0 rgba(60,64,67,.05)!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-appbar{background:#0f172a!important;border-bottom-color:#334155!important}
.app-shell.page-ezzysheet .formula-bar{
  position:relative!important;
  top:auto!important;
  z-index:40!important;
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr)!important;
  height:31px!important;
  min-height:31px!important;
  background:#f8f9fa!important;
  border-bottom:1px solid #dadce0!important;
  padding:0!important;
}
.app-shell.page-ezzysheet .formula-bar .name-box{
  height:31px!important;
  justify-content:center!important;
  border-right:1px solid #dadce0!important;
  background:#f1f3f4!important;
  color:#5f6368!important;
  font:900 12px/31px Arial, Helvetica, sans-serif!important;
}
.app-shell.page-ezzysheet .sheet-notice-input{
  height:31px!important;
  min-height:31px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#64748b!important;
  font:800 12px/31px Arial, Helvetica, sans-serif!important;
  padding:0 12px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="success"]{
  background:#f7fef9!important;
  border-bottom-color:#bbf7d0!important;
}
.app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="success"] .name-box{
  background:#ecfdf3!important;
  border-right-color:#bbf7d0!important;
  color:#166534!important;
}
.app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="success"] .sheet-notice-input{
  color:#166534!important;
}
.app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="warning"]{
  background:#fffdf7!important;
  border-bottom-color:#f3d28a!important;
}
.app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="warning"] .name-box{
  background:#fff8e6!important;
  border-right-color:#f3d28a!important;
  color:#7c4a03!important;
}
.app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="warning"] .sheet-notice-input{
  color:#7c4a03!important;
}
.app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="error"]{
  background:#fffafa!important;
  border-bottom-color:#f3b4ad!important;
}
.app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="error"] .name-box{
  background:#fff0ee!important;
  border-right-color:#f3b4ad!important;
  color:#991b1b!important;
}
.app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="error"] .sheet-notice-input{
  color:#991b1b!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .formula-bar{background:#1e293b!important;border-bottom-color:#334155!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .formula-bar .name-box{background:#172033!important;border-right-color:#334155!important;color:#cbd5e1!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-input{color:#cbd5e1!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="success"]{
  background:#10251a!important;
  border-bottom-color:#166534!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="success"] .name-box{
  background:#12321f!important;
  border-right-color:#166534!important;
  color:#86efac!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="success"] .sheet-notice-input{color:#86efac!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="warning"]{
  background:#241a0b!important;
  border-bottom-color:#92400e!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="warning"] .name-box{
  background:#2d210f!important;
  border-right-color:#92400e!important;
  color:#fde68a!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="warning"] .sheet-notice-input{color:#fde68a!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="error"]{
  background:#211819!important;
  border-bottom-color:#7f1d1d!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="error"] .name-box{
  background:#2a1515!important;
  border-right-color:#7f1d1d!important;
  color:#fecaca!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-notice-bar[data-ezzysheet-notice-tone="error"] .sheet-notice-input{color:#fecaca!important}
.app-shell.page-ezzysheet .sheet-grid-card{flex:1!important;min-height:0!important;overflow:hidden!important}
.app-shell.page-ezzysheet .spreadsheet-wrap{height:100%!important;max-height:100%!important;overflow:auto!important}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input:focus{outline:2px solid #1a73e8!important;outline-offset:-2px!important;background:#fff!important;box-shadow:none!important}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-input[data-cell-label]:focus{caret-color:#1a73e8!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-input:focus{background:#0f172a!important}

/* v0.4.8g EzzySheet Scroll + Row Controls + Text Size
   Focuses the sheet editor: direct wheel scrolling, visible selected-row tools, and user-controlled grid font size. */
.app-shell.page-ezzysheet .spreadsheet-wrap{
  overscroll-behavior:none!important;
  overscroll-behavior-x:none!important;
  overscroll-behavior-y:none!important;
  -webkit-overflow-scrolling:auto!important;
  scroll-behavior:auto!important;
  touch-action:pan-x pan-y!important;
}
.app-shell.page-ezzysheet .sheet-toolbar{
  gap:6px!important;
  overflow-x:auto!important;
  white-space:nowrap!important;
  scrollbar-width:thin!important;
  align-items:center!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-btn{
  flex:0 0 auto!important;
  min-height:30px!important;
  height:30px!important;
  padding:0 10px!important;
}
.app-shell.page-ezzysheet .sheet-editing-mode-btn{
  display:inline-flex!important;
  align-items:center!important;
  min-width:88px!important;
  justify-content:center!important;
  font-weight:900!important;
  box-shadow:0 1px 0 rgba(15,23,42,.04)!important;
}
.app-shell.page-ezzysheet .sheet-editing-mode-btn.is-editing,
.app-shell.page-ezzysheet .sheet-editing-mode-btn[data-ezzysheet-editing-mode-value="editing"]{
  border-color:#bbf7d0!important;
  background:#dcfce7!important;
  color:#166534!important;
}
.app-shell.page-ezzysheet .sheet-editing-mode-btn.is-editing:hover{
  border-color:#86efac!important;
  background:#bbf7d0!important;
  color:#14532d!important;
}
.app-shell.page-ezzysheet .sheet-editing-mode-btn.is-resting,
.app-shell.page-ezzysheet .sheet-editing-mode-btn[data-ezzysheet-editing-mode-value="resting"]{
  border-color:#fde68a!important;
  background:#fffbeb!important;
  color:#92400e!important;
}
.app-shell.page-ezzysheet .sheet-editing-mode-btn.is-resting:hover{
  border-color:#fcd34d!important;
  background:#fef3c7!important;
  color:#78350f!important;
}
.app-shell.page-ezzysheet .sheet-validate-btn.is-validated{
  border-color:#86efac;
  background:#ecfdf3;
  color:#166534;
}
.app-shell.page-ezzysheet .sheet-validate-btn.is-needs-review{
  border-color:#fcd34d;
  background:#fffbeb;
  color:#92400e;
}
.app-shell.page-ezzysheet .sheet-validate-btn.is-fix-needed{
  border-color:#fecaca;
  background:#fff1f2;
  color:#b91c1c;
}
.app-shell.page-ezzysheet .sheet-toolbar-validation-summary,
.app-shell.page-ezzysheet .sheet-validation-run-summary{
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#f8fbff;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.app-shell.page-ezzysheet .sheet-toolbar-validation-summary{
  flex:0 0 auto;
  min-height:30px;
  line-height:28px;
  padding:0 10px;
}
.app-shell.page-ezzysheet .sheet-toolbar-validation-summary[data-ezzysheet-validation-state="validated"],
.app-shell.page-ezzysheet .sheet-validation-run-summary[data-ezzysheet-validation-state="validated"]{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#166534;
}
.app-shell.page-ezzysheet .sheet-toolbar-validation-summary[data-ezzysheet-validation-state="needs-review"],
.app-shell.page-ezzysheet .sheet-validation-run-summary[data-ezzysheet-validation-state="needs-review"]{
  border-color:#fde68a;
  background:#fffbeb;
  color:#92400e;
}
.app-shell.page-ezzysheet .sheet-toolbar-validation-summary[data-ezzysheet-validation-state="fix-needed"],
.app-shell.page-ezzysheet .sheet-validation-run-summary[data-ezzysheet-validation-state="fix-needed"]{
  border-color:#fecaca;
  background:#fff1f2;
  color:#b91c1c;
}
.app-shell.page-ezzysheet .sheet-validation-run-summary{
  display:inline-flex;
  align-items:center;
  margin:0 0 8px;
  padding:5px 10px;
}
.app-shell.page-ezzysheet .sheet-toolbar-btn.danger{
  color:#b91c1c!important;
  border-color:#fecaca!important;
  background:#fff7f7!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-btn.danger:hover{
  background:#fee2e2!important;
  color:#991b1b!important;
}
.app-shell.page-ezzysheet .sheet-selected-row{
  flex:0 0 auto!important;
  height:30px!important;
  line-height:30px!important;
  padding:0 9px!important;
  border:1px solid #dadce0!important;
  border-radius:8px!important;
  background:#f8f9fa!important;
  color:#3c4043!important;
  font-weight:800!important;
  font-size:12px!important;
}
.app-shell.page-ezzysheet .sheet-text-size{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  height:30px!important;
  padding:0 8px!important;
  border:1px solid #dadce0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#3c4043!important;
  font-weight:800!important;
  font-size:12px!important;
}
.app-shell.page-ezzysheet .sheet-text-size select{
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  outline:0!important;
  padding:0!important;
}
.app-shell.page-ezzysheet .sheet-grid-row.active-row .row-num,
.app-shell.page-ezzysheet .sheet-grid-row.active-row .sheet-cell:first-child{
  background:#dfeaff!important;
  color:#174ea6!important;
}
.app-shell.page-ezzysheet .sheet-grid-row.active-row .row-jump{
  color:#174ea6!important;
}

.app-shell.page-ezzysheet .ezzysheet-page.text-compact .spreadsheet-grid{font-size:11px!important;line-height:19px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-compact .sheet-grid-body .sheet-grid-row,
.app-shell.page-ezzysheet .ezzysheet-page.text-compact .sheet-total-row{height:20px!important;min-height:20px!important;max-height:20px!important;line-height:19px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-compact .sheet-grid-body .sheet-cell,
.app-shell.page-ezzysheet .ezzysheet-page.text-compact .sheet-total-row .sheet-cell{height:20px!important;min-height:20px!important;max-height:20px!important;line-height:19px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-compact .sheet-grid-body .sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-compact .sheet-grid-body input.sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-compact .sheet-grid-body select.sheet-input{height:19px!important;min-height:19px!important;max-height:19px!important;line-height:19px!important;font:11px/19px Arial, Helvetica, sans-serif!important;padding:0 2px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-compact .row-jump{height:19px!important;line-height:19px!important;font:700 10px/19px Arial, Helvetica, sans-serif!important}

.app-shell.page-ezzysheet .ezzysheet-page.text-large .spreadsheet-grid{font-size:14px!important;line-height:26px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-large .sheet-grid-body .sheet-grid-row,
.app-shell.page-ezzysheet .ezzysheet-page.text-large .sheet-total-row{height:28px!important;min-height:28px!important;max-height:28px!important;line-height:27px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-large .sheet-grid-body .sheet-cell,
.app-shell.page-ezzysheet .ezzysheet-page.text-large .sheet-total-row .sheet-cell{height:28px!important;min-height:28px!important;max-height:28px!important;line-height:27px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-large .sheet-grid-body .sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-large .sheet-grid-body input.sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-large .sheet-grid-body select.sheet-input{height:27px!important;min-height:27px!important;max-height:27px!important;line-height:27px!important;font:14px/27px Arial, Helvetica, sans-serif!important;padding:0 5px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-large .row-jump{height:27px!important;line-height:27px!important;font:700 12px/27px Arial, Helvetica, sans-serif!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-large .sheet-status .badge{height:21px!important;line-height:21px!important;font-size:11px!important;margin-top:3px!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-selected-row,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-text-size{background:#172033!important;border-color:#334155!important;color:#e2e8f0!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-btn.danger{background:#341313!important;border-color:#7f1d1d!important;color:#fecaca!important}

/* v0.4.8h EzzySheet Toolbar Dropdowns + Text Stepper
   Cleaner toolbar: row/column actions are dropdowns, text size uses +/- one-point steps,
   and the sheet gets extra scroll room so rightmost Notes/Status/action columns are reachable. */
.app-shell.page-ezzysheet .sheet-action-select{
  flex:0 0 auto!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:0 28px 0 10px!important;
  border:1px solid #dadce0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#202124!important;
  font:800 12px/30px Arial, Helvetica, sans-serif!important;
  outline:0!important;
  box-shadow:0 1px 0 rgba(60,64,67,.04)!important;
}
.app-shell.page-ezzysheet .sheet-action-select:hover{background:#f8fbff!important;border-color:#bcd3ff!important;color:#174ea6!important}
.app-shell.page-ezzysheet .sheet-working-month-control{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  height:30px;
  white-space:nowrap;
}
.app-shell.page-ezzysheet .sheet-working-month-control label{
  font:850 12px/30px Arial, Helvetica, sans-serif;
  color:var(--muted);
}
.app-shell.page-ezzysheet .sheet-working-month-control select{
  height:30px;
  min-height:30px;
  max-width:170px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--card);
  color:var(--ink);
  font:800 12px/30px Arial, Helvetica, sans-serif;
  padding:0 28px 0 10px;
}
.app-shell.page-ezzysheet .sheet-working-month-inline-cue{
  color:#8a4b00;
  font:800 11px/30px Arial, Helvetica, sans-serif;
  letter-spacing:.01em;
}
.app-shell.page-ezzysheet .sheet-text-step{
  flex:0 0 auto!important;
  height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  overflow:hidden!important;
  border:1px solid #dadce0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#3c4043!important;
  box-shadow:0 1px 0 rgba(60,64,67,.04)!important;
}
.app-shell.page-ezzysheet .sheet-text-step button{
  width:34px!important;
  height:30px!important;
  border:0!important;
  border-right:1px solid #dadce0!important;
  background:transparent!important;
  color:inherit!important;
  font:900 12px/30px Arial, Helvetica, sans-serif!important;
  padding:0!important;
  cursor:pointer!important;
}
.app-shell.page-ezzysheet .sheet-text-step button:last-child{border-right:0!important;border-left:1px solid #dadce0!important}
.app-shell.page-ezzysheet .sheet-text-step button:hover{background:#eef4ff!important;color:#174ea6!important}
.app-shell.page-ezzysheet .sheet-text-step span{
  min-width:38px!important;
  text-align:center!important;
  font:800 12px/30px Arial, Helvetica, sans-serif!important;
}
.app-shell.page-ezzysheet .spreadsheet-grid{
  padding-right:180px!important;
  padding-bottom:72px!important;
  box-sizing:content-box!important;
}
.app-shell.page-ezzysheet .spreadsheet-wrap{
  scroll-padding-right:180px!important;
  scroll-padding-bottom:72px!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .custom-col-head{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .custom-col-head button{
  height:16px!important;
  width:16px!important;
  line-height:14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#9ca3af!important;
  cursor:pointer!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .custom-col-head button:hover{color:#b91c1c!important;background:#fee2e2!important}

.app-shell.page-ezzysheet .ezzysheet-page.text-step-m2 .spreadsheet-grid{font-size:10px!important;line-height:18px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m2 .sheet-grid-body .sheet-grid-row,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m2 .sheet-total-row{height:19px!important;min-height:19px!important;max-height:19px!important;line-height:18px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m2 .sheet-grid-body .sheet-cell,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m2 .sheet-total-row .sheet-cell{height:19px!important;min-height:19px!important;max-height:19px!important;line-height:18px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m2 .sheet-grid-body .sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m2 .sheet-grid-body input.sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m2 .sheet-grid-body select.sheet-input{height:18px!important;min-height:18px!important;max-height:18px!important;line-height:18px!important;font:10px/18px Arial, Helvetica, sans-serif!important;padding:0 2px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m2 .row-jump{height:18px!important;line-height:18px!important;font:700 10px/18px Arial, Helvetica, sans-serif!important}

.app-shell.page-ezzysheet .ezzysheet-page.text-step-m1 .spreadsheet-grid{font-size:11px!important;line-height:19px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m1 .sheet-grid-body .sheet-grid-row,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m1 .sheet-total-row{height:20px!important;min-height:20px!important;max-height:20px!important;line-height:19px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m1 .sheet-grid-body .sheet-cell,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m1 .sheet-total-row .sheet-cell{height:20px!important;min-height:20px!important;max-height:20px!important;line-height:19px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m1 .sheet-grid-body .sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m1 .sheet-grid-body input.sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m1 .sheet-grid-body select.sheet-input{height:19px!important;min-height:19px!important;max-height:19px!important;line-height:19px!important;font:11px/19px Arial, Helvetica, sans-serif!important;padding:0 2px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-m1 .row-jump{height:19px!important;line-height:19px!important;font:700 10px/19px Arial, Helvetica, sans-serif!important}

.app-shell.page-ezzysheet .ezzysheet-page.text-step-p1 .spreadsheet-grid{font-size:13px!important;line-height:23px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p1 .sheet-grid-body .sheet-grid-row,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p1 .sheet-total-row{height:24px!important;min-height:24px!important;max-height:24px!important;line-height:23px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p1 .sheet-grid-body .sheet-cell,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p1 .sheet-total-row .sheet-cell{height:24px!important;min-height:24px!important;max-height:24px!important;line-height:23px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p1 .sheet-grid-body .sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p1 .sheet-grid-body input.sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p1 .sheet-grid-body select.sheet-input{height:23px!important;min-height:23px!important;max-height:23px!important;line-height:23px!important;font:13px/23px Arial, Helvetica, sans-serif!important;padding:0 4px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p1 .row-jump{height:23px!important;line-height:23px!important;font:700 11px/23px Arial, Helvetica, sans-serif!important}

.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .spreadsheet-grid{font-size:14px!important;line-height:25px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .sheet-grid-body .sheet-grid-row,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .sheet-total-row{height:26px!important;min-height:26px!important;max-height:26px!important;line-height:25px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .sheet-grid-body .sheet-cell,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .sheet-total-row .sheet-cell{height:26px!important;min-height:26px!important;max-height:26px!important;line-height:25px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .sheet-grid-body .sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .sheet-grid-body input.sheet-input,
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .sheet-grid-body select.sheet-input{height:25px!important;min-height:25px!important;max-height:25px!important;line-height:25px!important;font:14px/25px Arial, Helvetica, sans-serif!important;padding:0 5px!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .row-jump{height:25px!important;line-height:25px!important;font:700 12px/25px Arial, Helvetica, sans-serif!important}
.app-shell.page-ezzysheet .ezzysheet-page.text-step-p2 .sheet-status .badge{height:20px!important;line-height:20px!important;font-size:11px!important;margin-top:3px!important}

body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-action-select,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-text-step{background:#172033!important;border-color:#334155!important;color:#e2e8f0!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-text-step button{border-color:#334155!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-text-step button:hover{background:#1e293b!important;color:#bfdbfe!important}

/* v0.4.8i EzzySheet Header Context Menus
   More Google Sheets-like controls: row/column actions now live on right-click headers instead of old toolbar dropdowns. */
.app-shell.page-ezzysheet .sheet-context-hint{
  flex:0 0 auto!important;
  height:30px!important;
  line-height:30px!important;
  padding:0 10px!important;
  color:#5f6368!important;
  font:700 11px/30px Arial, Helvetica, sans-serif!important;
  border:1px solid transparent!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .row-num,
.app-shell.page-ezzysheet .sheet-grid-row .row-head,
.app-shell.page-ezzysheet .sheet-letters .sheet-cell,
.app-shell.page-ezzysheet .sheet-fields .sheet-cell{
  cursor:context-menu!important;
  user-select:none!important;
}
.app-shell.page-ezzysheet .sheet-letters .sheet-cell:hover,
.app-shell.page-ezzysheet .sheet-fields .sheet-cell:hover,
.app-shell.page-ezzysheet .sheet-grid-row .row-num:hover,
.app-shell.page-ezzysheet .sheet-grid-row .row-head:hover{
  background:#e8f0fe!important;
  color:#174ea6!important;
}
.ezzy-context-menu{
  position:fixed!important;
  z-index:99999!important;
  width:282px!important;
  max-width:calc(100vw - 16px)!important;
  padding:6px 0!important;
  border:1px solid #dadce0!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 18px 45px rgba(60,64,67,.28)!important;
  font-family:Arial, Helvetica, sans-serif!important;
  color:#202124!important;
  overflow:hidden!important;
}
.ezzy-context-title{
  padding:7px 14px 6px!important;
  font:800 11px/1.2 Arial, Helvetica, sans-serif!important;
  color:#5f6368!important;
  background:#f8f9fa!important;
  border-bottom:1px solid #edf2f7!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ezzy-context-menu button{
  width:100%!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#202124!important;
  text-align:left!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
.ezzy-context-menu button span{
  flex:0 0 24px!important;
  width:24px!important;
  color:#5f6368!important;
  font:700 13px/1 Arial, Helvetica, sans-serif!important;
  text-align:center!important;
}
.ezzy-context-menu button strong{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  font:500 13px/1.2 Arial, Helvetica, sans-serif!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ezzy-context-menu button:hover:not(:disabled){background:#f1f3f4!important;color:#174ea6!important}
.ezzy-context-menu button.danger strong,
.ezzy-context-menu button.danger span{color:#b91c1c!important}
.ezzy-context-menu button:disabled{opacity:.45!important;cursor:not-allowed!important;background:#fff!important;color:#9ca3af!important}
.ezzy-context-sep{height:1px!important;background:#e5e7eb!important;margin:6px 0!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-context-hint{color:#94a3b8!important}
body[data-theme="dark"] .ezzy-context-menu{background:#172033!important;border-color:#334155!important;color:#e2e8f0!important;box-shadow:0 18px 45px rgba(0,0,0,.42)!important}
body[data-theme="dark"] .ezzy-context-title{background:#0f172a!important;border-bottom-color:#334155!important;color:#cbd5e1!important}
body[data-theme="dark"] .ezzy-context-menu button{background:#172033!important;color:#e2e8f0!important}
body[data-theme="dark"] .ezzy-context-menu button:hover:not(:disabled){background:#1e293b!important;color:#bfdbfe!important}
body[data-theme="dark"] .ezzy-context-sep{background:#334155!important}

/* v0.4.8j EzzySheet Column Context Fix
   Custom columns can now be inserted before/after any visible column, and the right edge uses spreadsheet-like blank grid columns instead of looking cut off. */
.app-shell.page-ezzysheet .sheet-grid-row .sheet-ghost-cell{
  background:#fff!important;
  color:transparent!important;
}
.app-shell.page-ezzysheet .sheet-fields .sheet-ghost-cell span{display:none!important}
.app-shell.page-ezzysheet .sheet-total-row .sheet-ghost-cell{background:#f8f9fa!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-ghost-cell{
  background:#0f172a!important;
  color:transparent!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-total-row .sheet-ghost-cell{background:#0f172a!important}
.app-shell.page-ezzysheet .spreadsheet-grid{
  padding-right:24px!important;
}
.app-shell.page-ezzysheet .sheet-fields .custom-col-head{
  background:#f8fbff!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-fields .custom-col-head{
  background:#172033!important;
}

/* v0.4.8k EzzySheet Right Edge Column Stop
   End the visible grid at the last real Status column. Do not show ghost Q/R-style blank columns after the worksheet data. */
.app-shell.page-ezzysheet .spreadsheet-grid{
  padding-right:16px!important;
  padding-bottom:72px!important;
  box-sizing:content-box!important;
}
.app-shell.page-ezzysheet .spreadsheet-wrap{
  scroll-padding-right:16px!important;
  scroll-padding-bottom:72px!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-ghost-cell{
  display:none!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status{
  min-width:158px!important;
  max-width:158px!important;
  width:158px!important;
  border-right:1px solid #dadce0!important;
  background:inherit!important;
}
.app-shell.page-ezzysheet .sheet-letters .sheet-status,
.app-shell.page-ezzysheet .sheet-fields .sheet-status{
  background:#f8f9fa!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-letters .sheet-status,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-fields .sheet-status{
  background:#172033!important;
}

/* v0.4.8l EzzySheet Multi-Cell Selection
   Adds spreadsheet-like drag/shift selection and removes distracting row issue coloring.
   Only selected cells, the active cell, active row header, and active column headers should show focus color. */
.app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell,
.app-shell.page-ezzysheet .sheet-grid-row.has-issues:hover .sheet-cell,
.app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell{
  background:#fff!important;
}
.app-shell.page-ezzysheet .sheet-grid-row.has-issues .row-num,
.app-shell.page-ezzysheet .sheet-grid-row.has-issues:hover .row-num,
.app-shell.page-ezzysheet .sheet-grid-row:hover .row-num{
  background:#f8f9fa!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.selected-cell,
.app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.selected-cell,
.app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.selected-cell{
  background:#e8f0fe!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell,
.app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.active-cell,
.app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.active-cell{
  background:#fff!important;
  box-shadow:inset 0 0 0 2px #1a73e8!important;
  position:relative!important;
  z-index:22!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell .sheet-input:focus{
  outline:0!important;
  box-shadow:none!important;
}
.app-shell.page-ezzysheet .sheet-letters .sheet-cell.sheet-col-active,
.app-shell.page-ezzysheet .sheet-fields .sheet-cell.sheet-col-active,
.app-shell.page-ezzysheet .sheet-grid-row.active-row .row-num,
.app-shell.page-ezzysheet .sheet-grid-row.active-row .sheet-cell:first-child{
  background:#d2e3fc!important;
  color:#174ea6!important;
}
.app-shell.page-ezzysheet .sheet-grid-row.active-row .row-jump{
  color:#174ea6!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status .badge{
  position:relative!important;
  z-index:3!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.has-issues:hover .sheet-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell{
  background:#0f172a!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.selected-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.selected-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.selected-cell{
  background:#1e3a8a!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.active-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.active-cell{
  background:#0f172a!important;
  box-shadow:inset 0 0 0 2px #60a5fa!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-letters .sheet-cell.sheet-col-active,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-fields .sheet-cell.sheet-col-active,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.active-row .row-num,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.active-row .sheet-cell:first-child{
  background:#1d4ed8!important;
  color:#dbeafe!important;
}

/* v0.4.8o EzzySheet Context Copy/Paste + Multiple Rows
   Adds true spreadsheet selection actions while keeping the active cell clear like Google Sheets. */
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell,
.app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.active-cell,
.app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.active-cell{
  background:#fff!important;
  box-shadow:inset 0 0 0 2px #1a73e8!important;
  position:relative!important;
  z-index:35!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell::after{
  content:'';
  position:absolute;
  width:7px;
  height:7px;
  right:-4px;
  bottom:-4px;
  background:#1a73e8;
  border:1px solid #fff;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(26,115,232,.25);
  pointer-events:none;
  z-index:40;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.selected-cell:not(.active-cell),
.app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.selected-cell:not(.active-cell),
.app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.selected-cell:not(.active-cell){
  background:#e8f0fe!important;
  box-shadow:inset 0 0 0 1px rgba(26,115,232,.18)!important;
}
.app-shell.page-ezzysheet .sheet-letters .sheet-cell.sheet-col-selected,
.app-shell.page-ezzysheet .sheet-fields .sheet-cell.sheet-col-selected,
.app-shell.page-ezzysheet .sheet-grid-row .row-num.sheet-row-selected,
.app-shell.page-ezzysheet .corner-cell.sheet-all-selected,
.app-shell.page-ezzysheet .row-head.sheet-all-selected{
  background:#1a73e8!important;
  color:#fff!important;
}
.app-shell.page-ezzysheet .sheet-letters .sheet-cell,
.app-shell.page-ezzysheet .sheet-fields .sheet-cell,
.app-shell.page-ezzysheet .row-num,
.app-shell.page-ezzysheet .row-jump,
.app-shell.page-ezzysheet .corner-cell,
.app-shell.page-ezzysheet .row-head{
  cursor:default!important;
  user-select:none!important;
}
.app-shell.page-ezzysheet .sheet-letters .sheet-cell{
  border-top:1px solid #dadce0!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-letters .sheet-cell{
  border-top-color:#334155!important;
}
.app-shell.page-ezzysheet .sheet-letters .sheet-cell:hover,
.app-shell.page-ezzysheet .sheet-fields .sheet-cell:hover,
.app-shell.page-ezzysheet .row-num:hover,
.app-shell.page-ezzysheet .corner-cell:hover,
.app-shell.page-ezzysheet .row-head:hover{
  background:#d2e3fc!important;
  color:#174ea6!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell .sheet-input,
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell .sheet-input:focus{
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.active-cell,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.active-cell{
  background:#0f172a!important;
  box-shadow:inset 0 0 0 2px #60a5fa!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell::after{
  background:#60a5fa;
  border-color:#0f172a;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.selected-cell:not(.active-cell),
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.selected-cell:not(.active-cell),
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.selected-cell:not(.active-cell){
  background:#1e3a8a!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-letters .sheet-cell.sheet-col-selected,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-fields .sheet-cell.sheet-col-selected,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .row-num.sheet-row-selected,
body[data-theme="dark"] .app-shell.page-ezzysheet .corner-cell.sheet-all-selected,
body[data-theme="dark"] .app-shell.page-ezzysheet .row-head.sheet-all-selected{
  background:#2563eb!important;
  color:#fff!important;
}

/* v0.4.8r EzzySheet Trackpad Scroll Stabilizer
   Keep the grid scroll direct and non-bouncy when using Mac mousepad/trackpad. */
.app-shell.page-ezzysheet .spreadsheet-wrap{
  scroll-behavior:auto;
  overscroll-behavior:none;
  -webkit-overflow-scrolling:auto;
  touch-action:pan-x pan-y;
  will-change:scroll-position;
  scroll-padding-left:42px;
  scroll-padding-top:52px;
  scroll-padding-right:14px;
  scroll-padding-bottom:18px;
}
.app-shell.page-ezzysheet .spreadsheet-grid,
.app-shell.page-ezzysheet .sheet-grid-body{
  scroll-snap-type:none;
}

/* v0.23.0 EzzySheet Foundation Hardening
   Consolidates new workbook-readiness, boundary, status, and mobile containment styles without broad selector pressure. */
.app-shell.page-ezzysheet{overflow:hidden}
.app-shell.page-ezzysheet .sheet-fullscreen{min-width:0;position:relative}
.app-shell.page-ezzysheet .sheet-appbar{gap:10px}
.app-shell.page-ezzysheet .sheet-workbench-layout{display:block;min-width:0;padding:0 10px 12px}
.app-shell.page-ezzysheet .sheet-main-pane{min-width:0;display:flex;flex-direction:column;gap:0}
.app-shell.page-ezzysheet .sheet-fullscreen > .sheet-workbench-layout{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}
.app-shell.page-ezzysheet .sheet-main-pane{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
.app-shell.page-ezzysheet .sheet-grid-card{
  flex:1 1 auto;
  min-height:0;
}
.app-shell.page-ezzysheet .spreadsheet-wrap{
  min-height:0;
}
.app-shell.page-ezzysheet .sheet-mini-stats span{white-space:nowrap}
.app-shell.page-ezzysheet .sheet-workbook-rail{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  z-index:55;
  border-top:1px solid #dadce0;
  background:#f8f9fa;
  box-shadow:0 -1px 0 rgba(60,64,67,.05);
}
.app-shell.page-ezzysheet .sheet-workbook-rail-scroll{
  display:flex;
  align-items:flex-end;
  gap:2px;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  padding:5px 10px 0;
  scrollbar-width:thin;
}
.app-shell.page-ezzysheet .sheet-workbook-tab{
  flex:0 0 auto;
  height:28px;
  padding:0 12px;
  border:1px solid #dadce0;
  border-bottom:0;
  border-radius:7px 7px 0 0;
  background:#eef2f7;
  color:#3c4043;
  font:800 11px/27px Arial, Helvetica, sans-serif;
  cursor:pointer;
}
.app-shell.page-ezzysheet .sheet-workbook-tab.active{
  border-color:#1a73e8;
  background:#fff;
  color:#174ea6;
  box-shadow:inset 0 2px 0 #1a73e8;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status{
  min-width:158px;
  max-width:158px;
  width:158px;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status .badge{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-status .issue-text{
  display:block;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-workbook-rail{background:#0f172a;border-top-color:#334155}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-workbook-tab{background:#172033;border-color:#334155;color:#e2e8f0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-workbook-tab.active{background:#0f172a;border-color:#60a5fa;color:#dbeafe;box-shadow:inset 0 2px 0 #60a5fa}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-column-mapping-item{background:#111827;border-color:#334155}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-column-mapping-tags span,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-payload-lines div,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-details-meta span,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-column-mapping-summary span,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-payload-summary span,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-draft-safety-list span,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-validation-summary span,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-chip-list span{background:#172033;border-color:#334155;color:#cbd5e1}
.app-shell.page-ezzysheet .sheet-workbook-tab span{margin-left:6px;padding:1px 5px;border-radius:999px;background:#eef4ff;color:#174ea6;font-size:10px;font-weight:800}
.app-shell.page-ezzysheet .sheet-master-data-panel,
.app-shell.page-ezzysheet .sheet-journal-preview,
.app-shell.page-ezzysheet .sheet-column-mapping-panel,
.app-shell.page-ezzysheet .sheet-review-payload-panel,
.app-shell.page-ezzysheet .sheet-draft-safety-panel,
.app-shell.page-ezzysheet .sheet-validation-panel{display:grid;gap:8px;color:#202124}
.app-shell.page-ezzysheet .sheet-review-details{
  margin:12px 0;
  border:1px solid #dbe2ea;
  border-radius:18px;
  background:linear-gradient(180deg, #fbfdff, #f8fafc);
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.app-shell.page-ezzysheet .sheet-review-details-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 14px;
}
.app-shell.page-ezzysheet .sheet-review-toggle{
  border:1px solid #c7d2fe;
  background:#eef2ff;
  color:#1e3a8a;
  border-radius:999px;
  padding:8px 14px;
  font:900 12px/1 Arial, Helvetica, sans-serif;
  cursor:pointer;
}
.app-shell.page-ezzysheet .sheet-review-details-meta,
.app-shell.page-ezzysheet .sheet-review-chip-list,
.app-shell.page-ezzysheet .sheet-validation-summary,
.app-shell.page-ezzysheet .sheet-master-source-row,
.app-shell.page-ezzysheet .sheet-master-tab-note,
.app-shell.page-ezzysheet .sheet-preview-grid{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.app-shell.page-ezzysheet .sheet-review-details-meta span,
.app-shell.page-ezzysheet .sheet-validation-summary span,
.app-shell.page-ezzysheet .sheet-review-chip-list span,
.app-shell.page-ezzysheet .sheet-master-source-row span,
.app-shell.page-ezzysheet .sheet-master-tab-note span,
.app-shell.page-ezzysheet .sheet-preview-grid span,
.app-shell.page-ezzysheet .sheet-column-mapping-summary span,
.app-shell.page-ezzysheet .sheet-review-payload-summary span,
.app-shell.page-ezzysheet .sheet-draft-safety-list span{flex:0 0 auto;border:1px solid #dbe2ea;border-radius:999px;padding:4px 8px;background:#fff;font:800 11px/1.2 Arial, Helvetica, sans-serif;color:#334155}
.app-shell.page-ezzysheet .sheet-review-details-body{display:grid;gap:12px;padding:0 14px 14px}
.app-shell.page-ezzysheet .sheet-review-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.app-shell.page-ezzysheet .sheet-review-section{
  min-width:0;
  border:1px solid #dbe2ea;
  border-radius:16px;
  background:#fff;
  padding:12px;
}
.app-shell.page-ezzysheet .sheet-review-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.app-shell.page-ezzysheet .sheet-review-section-heading strong{font-size:12px}
.app-shell.page-ezzysheet .sheet-review-accountant p{margin:6px 0 0}
.app-shell.page-ezzysheet .sheet-review-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.app-shell.page-ezzysheet .sheet-review-field{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fbfdff;
}
.app-shell.page-ezzysheet .sheet-review-field.derived{background:#f8fafc}
.app-shell.page-ezzysheet .sheet-review-field-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}
.app-shell.page-ezzysheet .sheet-review-field-label{font:800 12px/1.25 Arial, Helvetica, sans-serif;color:#1f2937}
.app-shell.page-ezzysheet .sheet-review-field-source{border:1px solid #dbe2ea;border-radius:999px;padding:2px 8px;background:#f8fafc;color:#475569;font:800 10px/1.2 Arial, Helvetica, sans-serif;text-transform:uppercase;letter-spacing:.02em}
.app-shell.page-ezzysheet .sheet-review-field-hint{font-size:11px;color:#64748b}
.app-shell.page-ezzysheet .sheet-review-input,
.app-shell.page-ezzysheet .sheet-review-readonly{
  min-width:0;
  width:100%;
  border:1px solid #dbe2ea;
  border-radius:10px;
  background:#fff;
  padding:8px 10px;
  color:#202124;
  font-size:12px;
}
.app-shell.page-ezzysheet .sheet-review-readonly{min-height:36px;display:flex;align-items:center}
.app-shell.page-ezzysheet .sheet-review-resolved-value{font-weight:600;color:#111827}
.app-shell.page-ezzysheet .sheet-review-value-helper{color:#64748b;font-size:11px}
.app-shell.page-ezzysheet .sheet-review-empty,
.app-shell.page-ezzysheet .sheet-validation-empty{padding:10px 12px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#475569}
.app-shell.page-ezzysheet .sheet-validation-empty.good{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.app-shell.page-ezzysheet .sheet-validation-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.app-shell.page-ezzysheet .sheet-column-mapping-summary,
.app-shell.page-ezzysheet .sheet-review-payload-summary,
.app-shell.page-ezzysheet .sheet-draft-safety-list,
.app-shell.page-ezzysheet .sheet-column-mapping-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.app-shell.page-ezzysheet .sheet-column-mapping-list{display:grid;gap:8px;margin-top:10px}
.app-shell.page-ezzysheet .sheet-column-mapping-item{padding:8px 9px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;display:grid;gap:4px}
.app-shell.page-ezzysheet .sheet-column-mapping-item strong{font-size:12px}
.app-shell.page-ezzysheet .sheet-column-mapping-tags span,
.app-shell.page-ezzysheet .sheet-review-payload-lines div{border:1px solid #dbe2ea;border-radius:999px;padding:3px 8px;background:#f8fafc;font:800 10px/1.2 Arial, Helvetica, sans-serif;color:#334155}
.app-shell.page-ezzysheet .sheet-review-payload-lines{display:grid;gap:6px;margin-top:10px}
.app-shell.page-ezzysheet .sheet-review-payload-lines div{border-radius:12px;white-space:normal}
.app-shell.page-ezzysheet .sheet-master-tab-note span{background:#f8f9fa;color:#5f6368}
.app-shell.page-ezzysheet .sheet-preview-grid b{font-weight:800}
.app-shell.page-ezzysheet .mapping-indicator{display:block;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:11px}
.app-shell.page-ezzysheet .mapping-indicator.good{color:#166534}
.app-shell.page-ezzysheet .mapping-indicator.warn{color:#92400e}
.app-shell.page-ezzysheet .sheet-column-filter-btn{
  margin-left:4px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#64748b;
  font:800 11px/1 Arial, Helvetica, sans-serif;
  cursor:pointer;
}
.app-shell.page-ezzysheet .sheet-column-filter-btn.active{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}
.app-shell.page-ezzysheet .entry-locked-row .sheet-cell{background:#fbfdff}
.app-shell.page-ezzysheet .sheet-locked-input{
  color:#94a3b8;
  cursor:not-allowed;
}
.app-shell.page-ezzysheet .sheet-locked-input span{color:#a8b3c2}
.app-shell.page-ezzysheet .sheet-review-details{
  margin:6px 0 8px;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.app-shell.page-ezzysheet .sheet-review-details-bar{
  padding:8px 10px;
}
.app-shell.page-ezzysheet .sheet-review-details-bar > strong{
  font:900 12px/1.2 Arial, Helvetica, sans-serif;
  color:#1f2937;
}
.app-shell.page-ezzysheet .sheet-review-close{
  border:1px solid #dbe2ea;
  border-radius:999px;
  background:#fff;
  color:#475569;
  padding:5px 9px;
  font:800 11px/1 Arial, Helvetica, sans-serif;
  cursor:pointer;
}
.app-shell.page-ezzysheet .sheet-review-details-body{
  max-height:340px;
  overflow:auto;
  padding:0 10px 10px;
  gap:8px;
}
.app-shell.page-ezzysheet .sheet-review-month-summary{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  padding:10px;
  border:1px solid #dbe2ea;
  border-radius:13px;
  background:#fff;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.app-shell.page-ezzysheet .sheet-review-month-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  min-width:0;
}
.app-shell.page-ezzysheet .sheet-review-month-title strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#1f2937;
  font:950 13px/1.2 Arial, Helvetica, sans-serif;
}
.app-shell.page-ezzysheet .sheet-review-month-title span,
.app-shell.page-ezzysheet .sheet-review-month-metrics small{
  color:#64748b;
  font:800 11px/1.25 Arial, Helvetica, sans-serif;
}
.app-shell.page-ezzysheet .sheet-review-month-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  align-items:stretch;
}
.app-shell.page-ezzysheet .sheet-review-month-metrics span{
  min-width:0;
  display:grid;
  gap:4px;
  padding:8px;
  border:1px solid #e5e7eb;
  border-radius:11px;
  background:#f8fafc;
}
.app-shell.page-ezzysheet .sheet-review-month-metrics b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#1f2937;
  font:950 13px/1.1 Arial, Helvetica, sans-serif;
}
.app-shell.page-ezzysheet .sheet-review-group-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  position:sticky;
  top:0;
  z-index:2;
  padding:4px 0 6px;
  background:linear-gradient(180deg, #fbfdff, rgba(251,253,255,.92));
}
.app-shell.page-ezzysheet .sheet-review-group-tabs button{
  border:1px solid #dbe2ea;
  border-radius:999px;
  background:#fff;
  color:#475569;
  padding:5px 9px;
  font:850 11px/1 Arial, Helvetica, sans-serif;
  cursor:pointer;
}
.app-shell.page-ezzysheet .sheet-review-group-tabs button.active{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}
.app-shell.page-ezzysheet .sheet-review-section{
  padding:9px;
  border-radius:13px;
}
.app-shell.page-ezzysheet .sheet-review-field-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:8px;
}
.app-shell.page-ezzysheet .sheet-review-field{
  padding:7px;
  border-radius:11px;
  gap:4px;
}
.app-shell.page-ezzysheet .sheet-review-advanced{
  margin-top:10px;
  border-top:1px solid #e5e7eb;
  padding-top:8px;
}
.app-shell.page-ezzysheet .sheet-review-advanced summary{
  width:max-content;
  max-width:100%;
  border:1px solid #dbe2ea;
  border-radius:999px;
  background:#f8fafc;
  color:#475569;
  padding:5px 9px;
  font:850 11px/1 Arial, Helvetica, sans-serif;
  cursor:pointer;
}
.app-shell.page-ezzysheet .sheet-review-advanced[open] summary{
  margin-bottom:8px;
}
.ezzy-filter-popover{
  position:fixed;
  z-index:140;
  width:292px;
  max-width:calc(100vw - 24px);
  padding:10px;
  border:1px solid #bfdbfe;
  border-radius:14px;
  background:#fff;
  color:#1f2937;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
}
.ezzy-filter-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.ezzy-filter-title strong{font:900 13px/1.2 Arial, Helvetica, sans-serif}
.ezzy-filter-title button{
  border:0;
  background:transparent;
  color:#64748b;
  cursor:pointer;
  font:900 16px/1 Arial, Helvetica, sans-serif;
}
.ezzy-filter-body{display:grid;gap:7px}
.ezzy-filter-body input,
.ezzy-filter-body select{
  width:100%;
  border:1px solid #dbe2ea;
  border-radius:10px;
  padding:7px 9px;
  font:700 12px/1.2 Arial, Helvetica, sans-serif;
}
.ezzy-filter-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  margin-top:10px;
}
.app-shell.page-ezzysheet .sheet-column-header-label{
  display:inline-block;
  max-width:calc(100% - 20px);
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
}
.app-shell.page-ezzysheet .sheet-column-info-btn{
  display:inline-grid;
  place-items:center;
  width:15px;
  height:15px;
  margin-left:4px;
  padding:0;
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:#fff;
  color:#475569;
  font:800 10px/1 Arial, Helvetica, sans-serif;
  cursor:pointer;
  vertical-align:middle;
}
.app-shell.page-ezzysheet .sheet-column-info-btn:hover,
.app-shell.page-ezzysheet .sheet-column-info-btn[aria-expanded="true"]{
  border-color:#1a73e8;
  color:#174ea6;
  background:#eff6ff;
}
.sheet-column-info-popover{
  position:fixed;
  z-index:110;
  width:260px;
  max-width:calc(100vw - 24px);
  padding:10px 11px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  color:#1f2937;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
  text-align:left;
  white-space:normal;
  line-height:1.35;
}
.sheet-column-info-popover strong{
  display:block;
  margin-bottom:4px;
  font:850 12px/1.2 Arial, Helvetica, sans-serif;
  color:#0f172a;
}
.sheet-column-info-popover p{
  margin:0;
  font:600 12px/1.35 Arial, Helvetica, sans-serif;
  color:#475569;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-workbook-tab span{background:#1e293b;color:#bfdbfe}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-details{background:linear-gradient(180deg, rgba(15,23,42,.96), rgba(15,23,42,.9));border-color:#334155;box-shadow:0 18px 40px rgba(2,6,23,.4)}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-toggle{background:#1e293b;border-color:#334155;color:#dbeafe}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-section{background:#0f172a;border-color:#334155}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-master-data-panel,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-journal-preview,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-column-mapping-panel,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-payload-panel,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-draft-safety-panel,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-validation-panel{color:#e2e8f0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-field{background:#111827;border-color:#334155}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-field-label{color:#e2e8f0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-field-source{background:#172033;border-color:#334155;color:#dbeafe}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-field-hint{color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-input,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-readonly{background:#172033;border-color:#334155;color:#e2e8f0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-resolved-value{color:#f8fafc}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-value-helper{color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-empty,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-validation-empty{background:#111827;border-color:#334155;color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-validation-empty.good{background:#052e16;border-color:#166534;color:#bbf7d0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-master-source-row span,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-master-tab-note span,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-preview-grid span{background:#172033;border-color:#334155;color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .mapping-indicator.good{color:#86efac}
body[data-theme="dark"] .app-shell.page-ezzysheet .mapping-indicator.warn{color:#fcd34d}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-column-filter-btn{color:#94a3b8}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-column-filter-btn.active{background:#1e3a8a;border-color:#60a5fa;color:#dbeafe}
body[data-theme="dark"] .app-shell.page-ezzysheet .entry-locked-row .sheet-cell{background:#0f172a}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-locked-input,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-locked-input span{color:#64748b}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-details-bar > strong{color:#e2e8f0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-month-summary{background:#0f172a;border-color:#334155;box-shadow:none}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-month-title strong{color:#f8fafc}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-month-title span,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-month-metrics small{color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-month-metrics span{background:#111827;border-color:#334155}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-month-metrics b{color:#e2e8f0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-advanced{border-top-color:#334155}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-close,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-group-tabs button,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-advanced summary{background:#172033;border-color:#334155;color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-group-tabs{background:linear-gradient(180deg, #0f172a, rgba(15,23,42,.9))}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-review-group-tabs button.active{background:#1e3a8a;border-color:#60a5fa;color:#dbeafe}
body[data-theme="dark"] .ezzy-filter-popover{background:#0f172a;border-color:#334155;color:#e2e8f0}
body[data-theme="dark"] .ezzy-filter-title button{color:#cbd5e1}
body[data-theme="dark"] .ezzy-filter-body input,
body[data-theme="dark"] .ezzy-filter-body select{background:#172033;border-color:#334155;color:#e2e8f0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-column-info-btn{background:#172033;border-color:#475569;color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-column-info-btn:hover,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-column-info-btn[aria-expanded="true"]{background:#1e3a8a;border-color:#60a5fa;color:#dbeafe}
body[data-theme="dark"] .sheet-column-info-popover{background:#0f172a;border-color:#475569;color:#e2e8f0;box-shadow:0 18px 42px rgba(2,6,23,.5)}
body[data-theme="dark"] .sheet-column-info-popover strong{color:#f8fafc}
body[data-theme="dark"] .sheet-column-info-popover p{color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-status-text{color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-status-text.ready{color:#86efac}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-status-text.needs-review{color:#fcd34d}
body[data-theme="dark"] .sheet-date-confirm-popover{background:#422006;border-color:#f59e0b;color:#fde68a;box-shadow:0 18px 42px rgba(2,6,23,.5)}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-date-status{background:#172033;border-color:#334155;color:#cbd5e1}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-date-status.invalid,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-date-status.outside_needs_confirmation{background:#422006;border-color:#f59e0b;color:#fde68a}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-date-status.outside_confirmed{background:#1e3a8a;border-color:#60a5fa;color:#dbeafe}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-date-status.valid{background:#052e16;border-color:#22c55e;color:#bbf7d0}
.app-shell.page-ezzysheet .sheet-tab-entry-overlay{
  position:absolute;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:16px;
  background:rgba(15,23,42,.34);
}
.app-shell.page-ezzysheet .sheet-tab-entry-dialog{
  width:min(460px,100%);
  border:1px solid #dadce0;
  border-radius:10px;
  background:#fff;
  color:#202124;
  box-shadow:0 24px 70px rgba(15,23,42,.24);
  padding:18px;
}
.app-shell.page-ezzysheet .sheet-tab-entry-dialog h3{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.25;
}
.app-shell.page-ezzysheet .sheet-tab-entry-dialog p{
  margin:0;
  color:#5f6368;
  line-height:1.45;
}
.app-shell.page-ezzysheet .sheet-tab-entry-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:16px;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-tab-entry-overlay{background:rgba(2,6,23,.58)}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-tab-entry-dialog{background:#172033;border-color:#334155;color:#e2e8f0}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-tab-entry-dialog p{color:#cbd5e1}
@media(max-width:1100px){
  .app-shell.page-ezzysheet{grid-template-columns:1fr;max-width:100vw}
  .app-shell.page-ezzysheet .main,
  .app-shell.page-ezzysheet .content,
  .app-shell.page-ezzysheet .sheet-fullscreen{width:100%;max-width:100vw;overflow:hidden}
  .app-shell.page-ezzysheet .sheet-appbar{position:relative;align-items:flex-start}
  .app-shell.page-ezzysheet .sheet-toolbar{max-width:100%}
  .app-shell.page-ezzysheet .spreadsheet-wrap{width:100%;max-width:100vw;overflow:auto}
  .app-shell.page-ezzysheet .spreadsheet-grid{min-width:max-content}
  .app-shell.page-ezzysheet .sheet-workbook-rail-scroll{padding-left:8px;padding-right:8px}
  .app-shell.page-ezzysheet .sheet-workbook-tab{height:30px;line-height:29px;padding:0 11px}
  .app-shell.page-ezzysheet .sheet-tab-entry-dialog{padding:16px}
  .app-shell.page-ezzysheet .sheet-tab-entry-actions{justify-content:stretch}
  .app-shell.page-ezzysheet .sheet-tab-entry-actions .btn{flex:1}
}

@media(max-width:1100px){
  .app-shell.page-ezzysheet .sheet-workbench-layout{padding:0 10px 10px}
  .app-shell.page-ezzysheet .sheet-review-details-bar{align-items:flex-start;flex-direction:column}
  .app-shell.page-ezzysheet .sheet-review-month-title{align-items:flex-start;flex-direction:column;gap:3px}
  .app-shell.page-ezzysheet .sheet-review-month-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-shell.page-ezzysheet .sheet-review-details-meta{justify-content:flex-start}
  .app-shell.page-ezzysheet .sheet-review-section-grid,
  .app-shell.page-ezzysheet .sheet-review-field-grid{grid-template-columns:1fr}
}
/* v0.33.7 EzzySheet live guardrails + undo controls */
.app-shell.page-ezzysheet .sheet-history-controls{
  display:inline-flex!important;
  align-items:center!important;
  height:34px!important;
  border:1px solid #dadce0!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border:0!important;
  border-right:1px solid #dadce0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#1f2937!important;
  padding:0!important;
  cursor:pointer!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn:last-child{border-right:0!important}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn svg{
  width:17px!important;
  height:17px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn:hover:not(:disabled){
  background:#eef4ff!important;
  color:#174ea6!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn:disabled{
  color:#94a3b8!important;
  background:#f8f9fa!important;
  cursor:not-allowed!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-single-icon-btn,
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-single-icon-btn:last-child,
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn,
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn:last-child{
  border:1px solid #dadce0!important;
  border-radius:8px!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn[data-ezzysheet-working-month-lock-state="unlocked"]:not(:disabled){
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
  color:#166534!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn[data-ezzysheet-working-month-lock-state="unlocked"]:hover:not(:disabled){
  border-color:#86efac!important;
  background:#dcfce7!important;
  color:#14532d!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn[data-ezzysheet-working-month-lock-state="locked"]:not(:disabled){
  border-color:#f3d28a!important;
  background:#fffdf7!important;
  color:#7c4a03!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn[data-ezzysheet-working-month-lock-state="locked"]:hover:not(:disabled){
  border-color:#d69b32!important;
  background:#fff8e6!important;
  color:#6b3f02!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn{
  box-shadow:0 1px 0 rgba(15,23,42,.04)!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn.is-editing:not(:disabled),
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn[data-ezzysheet-editing-mode-value="editing"]:not(:disabled){
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
  color:#166534!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn.is-editing:hover:not(:disabled){
  border-color:#86efac!important;
  background:#dcfce7!important;
  color:#14532d!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn.is-resting:not(:disabled),
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn[data-ezzysheet-editing-mode-value="resting"]:not(:disabled){
  border-color:#f3d28a!important;
  background:#fffdf7!important;
  color:#7c4a03!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn.is-resting:hover:not(:disabled){
  border-color:#d69b32!important;
  background:#fff8e6!important;
  color:#6b3f02!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-validation-icon-btn[data-ezzysheet-validate-state="draft"]:not(:disabled){
  color:#174ea6!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-validation-icon-btn.is-validated:not(:disabled){
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
  color:#166534!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-validation-icon-btn.is-needs-review:not(:disabled){
  border-color:#f3d28a!important;
  background:#fffdf7!important;
  color:#7c4a03!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-validation-icon-btn.is-fix-needed:not(:disabled){
  border-color:#f3b4ad!important;
  background:#fffafa!important;
  color:#991b1b!important;
}
.app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-validation-icon-btn:hover:not(:disabled){
  filter:saturate(1.02)!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.has-live-error,
.app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.has-live-error,
.app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.has-live-error{
  background:#fffafa!important;
  box-shadow:inset 0 0 0 1px rgba(180,35,24,.58), inset 3px 0 0 #b42318!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.has-live-warning,
.app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.has-live-warning,
.app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.has-live-warning{
  background:#fffdf7!important;
  box-shadow:inset 0 0 0 1px rgba(180,83,9,.54), inset 3px 0 0 #b45309!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell.has-live-error{
  box-shadow:inset 0 0 0 2px #b42318!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell.has-live-warning{
  box-shadow:inset 0 0 0 2px #b45309!important;
}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell.has-live-error::after{background:#b42318!important}
.app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.active-cell.has-live-warning::after{background:#b45309!important}
.app-shell.page-ezzysheet .sheet-input.has-live-error,
.app-shell.page-ezzysheet .sheet-input.has-live-error:focus{
  color:#991b1b!important;
  background:transparent!important;
  font-weight:850!important;
}
.app-shell.page-ezzysheet .sheet-input.has-live-warning,
.app-shell.page-ezzysheet .sheet-input.has-live-warning:focus{
  color:#7c4a03!important;
  background:transparent!important;
  font-weight:850!important;
}
.app-shell.page-ezzysheet .sheet-input.has-live-error::placeholder{color:#b42318!important;opacity:.78!important}
.app-shell.page-ezzysheet .sheet-input.has-live-warning::placeholder{color:#9a5b05!important;opacity:.78!important}
.app-shell.page-ezzysheet .sheet-date-status.future_blocked,
.app-shell.page-ezzysheet .sheet-date-status.outside_needs_confirmation{
  border-color:#f3b4ad!important;
  background:#fffafa!important;
  color:#991b1b!important;
}
.app-shell.page-ezzysheet .sheet-date-status.prior_month_warning,
.app-shell.page-ezzysheet .sheet-date-status.prior_period_warning{
  border-color:#f3d28a!important;
  background:#fffdf7!important;
  color:#7c4a03!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-history-controls,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn{
  background:#172033!important;
  border-color:#334155!important;
  color:#e2e8f0!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn:hover:not(:disabled){
  background:#1e293b!important;
  color:#bfdbfe!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn:disabled{
  background:#111827!important;
  color:#64748b!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-single-icon-btn,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-single-icon-btn:last-child,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn:last-child{
  border-color:#334155!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn[data-ezzysheet-working-month-lock-state="unlocked"]:not(:disabled){
  border-color:#166534!important;
  background:#10251a!important;
  color:#86efac!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-lock-toggle-btn[data-ezzysheet-working-month-lock-state="locked"]:not(:disabled){
  border-color:#92400e!important;
  background:#241a0b!important;
  color:#fde68a!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn.is-editing:not(:disabled),
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn[data-ezzysheet-editing-mode-value="editing"]:not(:disabled){
  border-color:#166534!important;
  background:#10251a!important;
  color:#86efac!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn.is-resting:not(:disabled),
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-editing-mode-btn[data-ezzysheet-editing-mode-value="resting"]:not(:disabled){
  border-color:#92400e!important;
  background:#241a0b!important;
  color:#fde68a!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-validation-icon-btn[data-ezzysheet-validate-state="draft"]:not(:disabled){
  color:#bfdbfe!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-validation-icon-btn.is-validated:not(:disabled){
  border-color:#166534!important;
  background:#10251a!important;
  color:#86efac!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-validation-icon-btn.is-needs-review:not(:disabled){
  border-color:#92400e!important;
  background:#241a0b!important;
  color:#fde68a!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-toolbar-icon-btn.sheet-validation-icon-btn.is-fix-needed:not(:disabled){
  border-color:#7f1d1d!important;
  background:#211819!important;
  color:#fecaca!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.has-live-error,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.has-live-error,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.has-live-error{
  background:#211819!important;
  box-shadow:inset 0 0 0 1px rgba(248,113,113,.7), inset 3px 0 0 #f87171!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-cell.has-live-warning,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row.has-issues .sheet-cell.has-live-warning,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row:hover .sheet-cell.has-live-warning{
  background:#211d14!important;
  box-shadow:inset 0 0 0 1px rgba(245,158,11,.74), inset 3px 0 0 #f59e0b!important;
}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-input.has-live-error,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-input.has-live-error:focus{color:#fecaca!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-input.has-live-warning,
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-input.has-live-warning:focus{color:#fde68a!important}
