
:root {
  --brand:#2563eb;
  --brand-dark:#1d4ed8;
  --brand-soft:#eff6ff;
  --bg:#f6f8fc;
  --card:#ffffff;
  --ink:#182230;
  --muted:#667085;
  --line:#dbe3ef;
  --good:#16a34a;
  --warn:#c17d10;
  --bad:#dc2626;
  --soft:#f8fafc;
  --shadow:0 10px 28px rgba(16,24,40,.06);
}
body[data-theme="dark"] {
  --brand:#4b8dff;
  --brand-dark:#7fb0ff;
  --brand-soft:#112542;
  --bg:#0f172a;
  --card:#111c31;
  --ink:#e5edf8;
  --muted:#9fb0c7;
  --line:#22324e;
  --good:#22c55e;
  --warn:#f59e0b;
  --bad:#f87171;
  --soft:#13203a;
  --shadow:0 12px 32px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);transition:background .2s,color .2s}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.sidebar{background:var(--card);color:var(--ink);padding:18px;position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid var(--line)}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));display:grid;place-items:center;font-weight:900;letter-spacing:-.06em;color:white;box-shadow:var(--shadow)}
.brand h1{font-size:18px;line-height:1.05;margin:0}
.brand p{margin:4px 0 0;color:var(--muted);font-size:12px}
.nav-section{margin:18px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:850}
.nav-btn{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:11px 12px;border-radius:14px;display:flex;gap:12px;align-items:center;margin:3px 0;font-weight:600}
.nav-btn:hover,.nav-btn.active{background:var(--brand-soft);color:var(--brand)}
.nav-btn .ico{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px}
.nav-btn .ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar-card{border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:12px;margin-top:16px}
.sidebar-card strong{display:block;color:var(--ink)}
.sidebar-card .small{color:var(--muted)}
.main{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px}
body[data-theme="dark"] .topbar{background:rgba(15,23,42,.88)}
.topbar h2{margin:0;font-size:23px;letter-spacing:-.02em}
.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}
.content{padding:24px;max-width:1500px;flex:1}
.app-footer{padding:10px 24px 18px;color:var(--muted);font-size:13px;text-align:center}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.card.tight{padding:14px}.card h3{font-size:17px;margin:0 0 12px}.card h4{font-size:14px;margin:16px 0 8px;color:var(--muted)}.card p{color:var(--muted)}.kpi{display:flex;flex-direction:column;gap:6px}.kpi .label{font-size:13px;color:var(--muted)}.kpi .value{font-size:28px;font-weight:950;letter-spacing:-.03em}.kpi .note{font-size:12px;color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 16px}.toolbar.no-margin{margin:0}.toolbar.right-tools{justify-content:flex-end}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:9px 13px;border-radius:12px;font-weight:750;line-height:1.2}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--brand);border-color:var(--brand);color:white}.btn.success{background:var(--good);border-color:var(--good);color:white}.btn.warn{background:#fff6e8;border-color:#ffd9a3;color:#774600}.btn.danger{background:var(--bad);border-color:var(--bad);color:white}.btn.ghost{background:transparent}.btn.small-btn{padding:6px 9px;font-size:12px;border-radius:10px}
.theme-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.theme-btn{border:0;background:transparent;color:var(--muted);padding:7px 12px;border-radius:999px;font-weight:700}
.theme-btn.active{background:var(--brand);color:white}
.notice{border:1px solid #cfe0ff;background:#f0f6ff;color:#254c87;padding:12px 14px;border-radius:14px;margin-bottom:16px}.notice.warning{border-color:#ffd9a3;background:#fff8eb;color:#7a4a00}.notice.danger{border-color:#ffc6c6;background:#fff0f0;color:#921b1b}
body[data-theme="dark"] .notice{border-color:#284779;background:#0f2346;color:#dce8ff}
body[data-theme="dark"] .notice.warning{border-color:#6f4d0c;background:#2d2107;color:#ffe4ae}
body[data-theme="dark"] .notice.danger{border-color:#6d2626;background:#331616;color:#ffd0d0}
label{display:block;margin:0 0 6px;color:var(--muted);font-size:12px;font-weight:850}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:10px 12px}textarea{min-height:88px;resize:vertical}.form-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-row.five{grid-template-columns:repeat(5,minmax(0,1fr))}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--card)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--soft);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}tr:last-child td{border-bottom:0}.right{text-align:right}.center{text-align:center}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.small{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:850;white-space:nowrap}.badge.good{background:#e8fff3;color:#0a6b42}.badge.warn{background:#fff5df;color:#845100}.badge.bad{background:#ffecec;color:#a32222}.badge.info{background:#eef5ff;color:#1b4f95}.badge.neutral{background:#f2f4f7;color:#344054}body[data-theme="dark"] .badge.good{background:#123221;color:#7ef2a8}body[data-theme="dark"] .badge.warn{background:#3d2d10;color:#ffd27e}body[data-theme="dark"] .badge.bad{background:#431f1f;color:#ffb4b4}body[data-theme="dark"] .badge.info{background:#152a48;color:#9cc5ff}body[data-theme="dark"] .badge.neutral{background:#1b2841;color:#dae5f4}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tab{padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:750;color:var(--ink)}.tab.active{background:var(--brand);border-color:var(--brand);color:white}.pill-list{display:flex;gap:8px;flex-wrap:wrap}.timeline{display:grid;gap:10px}.timeline-item{border-left:3px solid var(--brand);padding:7px 0 7px 12px}.divider{height:1px;background:var(--line);margin:16px 0}.footer-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.status-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.status-row:last-child{border-bottom:0}.check-preview{width:820px;height:330px;max-width:100%;border:2px dashed #8aa3cc;background:#fbfdff;position:relative;margin:10px 0;overflow:hidden}body[data-theme="dark"] .check-preview{background:#f9fbff}.check-field{position:absolute;font-family:"Courier New",monospace;font-size:17px;color:#111;white-space:nowrap}.cert-preview{max-width:840px;background:white;border:1px solid #111;padding:20px;color:#111;font-family:Arial,sans-serif}.cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.cert-box{border:1px solid #111;padding:8px;min-height:44px}.print-only{display:none}.callout{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:12px}.locked{opacity:.65}.hidden{display:none!important}

.module-choice-list{display:grid;gap:10px}.module-choice{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--soft)}.module-choice input{width:auto;margin-top:4px}.module-choice strong{display:block;color:var(--ink)}.module-choice small{display:block;color:var(--muted);margin-top:2px;line-height:1.35}



/* v0.4.1 Easy Workflow Navigation */
.app-shell.sidebar-collapsed{grid-template-columns:82px 1fr}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.sidebar-toggle{width:34px;height:34px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:22px;line-height:1;display:grid;place-items:center;flex:0 0 34px}
.sidebar-toggle:hover{background:var(--brand-soft);color:var(--brand)}
.quick-entry-prompt{border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:12px;margin:0 0 14px;display:grid;gap:8px}
.quick-entry-prompt .btn{width:100%}
.sidebar.collapsed{padding:14px 10px;overflow:hidden}
.sidebar.collapsed .sidebar-header{justify-content:center;flex-direction:column;gap:8px}
.sidebar.collapsed .brand{justify-content:center;margin:0}
.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section,.sidebar.collapsed .sidebar-card,.sidebar.collapsed .quick-entry-prompt{display:none}
.sidebar.collapsed .logo{width:42px;height:42px;border-radius:14px}
.sidebar.collapsed .nav-btn{justify-content:center;padding:12px 0;margin:6px 0;border-radius:16px}
.sidebar.collapsed .nav-btn .ico{margin:0}
.sidebar.collapsed .nav-btn .ico svg{width:22px;height:22px}
.entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.entry-action{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:18px;padding:16px;text-align:left;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;min-height:120px;box-shadow:var(--shadow);position:relative}
.entry-action:hover{transform:translateY(-2px);border-color:var(--brand);background:var(--brand-soft)}
.entry-action .entry-icon{width:42px;height:42px;border-radius:14px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}
.entry-action .entry-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.entry-action strong{display:block;font-size:15px;margin-bottom:5px}
.entry-action small{display:block;color:var(--muted);line-height:1.35}
.entry-action em{position:absolute;right:12px;bottom:10px;font-style:normal;font-size:11px;font-weight:850;color:var(--brand);background:var(--brand-soft);border-radius:999px;padding:4px 8px}
@media(max-width:1200px){.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.entry-grid{grid-template-columns:1fr}.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar.collapsed{height:auto}.sidebar.collapsed .brand-copy{display:block}.sidebar.collapsed .quick-entry-prompt{display:grid}.sidebar.collapsed .nav-label{display:inline}.sidebar.collapsed .nav-section{display:block}.sidebar.collapsed .sidebar-card{display:block}.sidebar.collapsed .nav-btn{justify-content:flex-start;padding:11px 12px}.sidebar.collapsed .sidebar-header{flex-direction:row;justify-content:space-between}}

@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.grid.two,.grid.three,.grid.four,.grid.five,.split{grid-template-columns:1fr}.form-row,.form-row.three,.form-row.four,.form-row.five{grid-template-columns:1fr}.topbar{position:static;flex-direction:column;align-items:flex-start}.content{padding:16px}.check-preview{transform-origin:left top}.toolbar.right-tools{justify-content:flex-start}}
@media print{body{background:white}.sidebar,.topbar,.app-footer,.no-print,.toolbar,.tabs,.content>*:not(.print-area){display:none!important}.app-shell{display:block}.content{padding:0;max-width:none}.print-area{display:block!important;box-shadow:none;border:0}.check-preview{border:0;width:8in;height:3.2in;margin:0}.cert-preview{border:0;max-width:none}}


/* v0.4.2 Smart Sidebar Groups */
.nav-group{margin:7px 0;border-radius:16px}
.nav-group.promoted-group{margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}
.nav-group-header{width:100%;border:0;background:transparent;color:var(--muted);display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;text-align:left;padding:9px 10px;border-radius:14px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:11px}
.nav-group-header:hover{background:var(--soft);color:var(--ink)}
.nav-group.active-group .nav-group-header{background:var(--brand-soft);color:var(--brand)}
.nav-group-status{font-size:10px;text-transform:none;letter-spacing:0;font-weight:800;color:var(--muted);opacity:.85}
.nav-caret{font-size:15px;line-height:1;color:inherit}
.nav-group-items{display:none;padding:2px 0 4px}
.nav-group.open .nav-group-items{display:block}
.nav-section{display:none}
.sidebar.collapsed .nav-group-header{display:none}
.sidebar.collapsed .nav-group-items{display:block}
.sidebar.collapsed .nav-group.promoted-group{margin-top:0;padding-top:0;border-top:0}
.sidebar.collapsed .nav-group{margin:0}
body[data-theme="dark"] .nav-group-header:hover{background:var(--soft)}


/* v0.4.3 Daily Entry Flow */
.btn-row{display:flex;flex-wrap:wrap;gap:6px}
.btn.small-btn.success{background:var(--good);border-color:var(--good);color:white}
.draft-flow-note{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.draft-flow-note span{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;color:var(--muted)}
.module-choice small{display:block;color:var(--muted);font-weight:500;margin-top:2px}


/* v0.4.4 Deployment Mode */
.timeline-item strong{color:var(--ink)}
.nav-group-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* v0.4.5 Personal Workspace Dashboard */
.workspace-shell{display:grid;gap:16px}
.workspace-hero{display:grid;grid-template-columns:1.4fr .9fr;gap:18px;border:0;overflow:hidden}
.workspace-hero h2{margin:6px 0 8px;font-size:30px;letter-spacing:-.03em}
.workspace-hero p{margin:0;color:#37516d;max-width:760px}
body[data-theme="dark"] .workspace-hero p{color:#cbd8ea}
.workspace-eyebrow{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.workspace-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.workspace-chips span{background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(8px);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;color:#2a4a6b}
body[data-theme="dark"] .workspace-chips span{background:rgba(17,28,49,.7);border-color:rgba(255,255,255,.08);color:#dbe8fb}
.wallpaper-picks{display:flex;flex-wrap:wrap;gap:8px}
.wallpaper-chip{border:1px solid var(--line);background:rgba(255,255,255,.6);padding:8px 12px;border-radius:999px;font-weight:800;color:var(--ink)}
.wallpaper-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}
.workspace-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.75fr);gap:16px}
.workspace-center{display:grid;gap:16px}
.workspace-right{display:grid;gap:16px;align-content:start}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.section-head h3{margin:0}
.sticky-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sticky-note{min-height:170px;border-radius:18px;padding:14px;display:grid;grid-template-rows:auto 1fr auto;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.04)}
.sticky-note p{margin:10px 0 12px;color:#2a3344;font-size:14px;line-height:1.45}
.sticky-note.yellow{background:#fff8c7}.sticky-note.blue{background:#dff4ff}.sticky-note.green{background:#e7f8df}.sticky-note.pink{background:#ffe1ef}
body[data-theme="dark"] .sticky-note.yellow{background:#4b4212} body[data-theme="dark"] .sticky-note.blue{background:#153448} body[data-theme="dark"] .sticky-note.green{background:#17391d} body[data-theme="dark"] .sticky-note.pink{background:#452033}
body[data-theme="dark"] .sticky-note p{color:#eff6ff}
.sticky-note.done{opacity:.72}
.sticky-note.done p{text-decoration:line-through}
.sticky-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.sticky-pin{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#4b5563}
body[data-theme="dark"] .sticky-pin{color:#c4d4e9}
.sticky-actions{display:flex;gap:6px}
.icon-btn{border:1px solid var(--line);background:rgba(255,255,255,.65);width:28px;height:28px;border-radius:10px;display:grid;place-items:center;line-height:1;padding:0}
body[data-theme="dark"] .icon-btn{background:rgba(17,28,49,.75)}
.empty-state{border:1px dashed var(--line);border-radius:16px;padding:16px;color:var(--muted);background:var(--soft)}
.reminder-list{display:grid;gap:10px}.reminder-list.compact{gap:8px}
.reminder-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:var(--soft)}
.reminder-item strong{display:block;color:var(--ink)}
.reminder-meta{display:grid;gap:6px;justify-items:end}
.mini-cal-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.mini-calendar{width:100%;border-collapse:separate;border-spacing:4px}
.mini-calendar th{font-size:11px;color:var(--muted);text-align:center;background:transparent;border:0;padding:4px}
.mini-calendar td{height:36px;text-align:center;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0;border-bottom:1px solid var(--line)}
.mini-calendar td span{display:grid;place-items:center;height:100%;font-size:12px;font-weight:800}
.mini-calendar td.empty{border:0;background:transparent}
.mini-calendar td.today{background:var(--brand-soft);border-color:var(--brand)}
.mini-calendar td.today span{color:var(--brand)}
.mini-calendar td.marked span::after{content:'';width:6px;height:6px;border-radius:999px;background:var(--warn);display:block;margin:2px auto 0}
.workspace-kpis .card{box-shadow:none}
@media(max-width:1200px){.workspace-main,.workspace-hero{grid-template-columns:1fr}.sticky-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sticky-grid{grid-template-columns:1fr}.workspace-chips{gap:6px}.workspace-hero h2{font-size:24px}}


/* v0.4.6 Workspace Cleanup + Appearance System */
body[data-skin="classic"]{--bg:#f6f8fc}
body[data-skin="sage"]{--bg:#f4faf6}
body[data-skin="warm"]{--bg:#fffaf3}
.appearance-wrap{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.appearance-toggle.active{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}
.appearance-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:340px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow)}
.appearance-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.appearance-row{display:grid;gap:8px;margin-top:10px}.appearance-row label{margin:0}
.preset-options{display:flex;flex-wrap:wrap;gap:8px}.preset-btn{border:1px solid var(--line);background:var(--soft);padding:8px 12px;border-radius:999px;font-weight:800;color:var(--ink)}.preset-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}
.appearance-upload{display:grid;gap:8px}.appearance-upload input{padding:8px;border:1px dashed var(--line);background:var(--soft)}
.workspace-shell{display:grid;gap:16px}.workspace-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.62));border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(6px)}
body[data-theme="dark"] .workspace-hero{background:linear-gradient(135deg,rgba(17,28,49,.86),rgba(17,28,49,.72));border-color:rgba(255,255,255,.08)}
.workspace-hero h2{margin:6px 0 8px;font-size:30px;letter-spacing:-.03em}.workspace-hero p{margin:0;color:#37516d;max-width:720px}body[data-theme="dark"] .workspace-hero p{color:#cbd8ea}
.workspace-eyebrow{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.workspace-hero-aside{display:grid;gap:10px;align-content:start}
.workspace-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.workspace-chips span{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.74);backdrop-filter:blur(8px);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;color:#2a4a6b}body[data-theme="dark"] .workspace-chips span{background:rgba(17,28,49,.7);border-color:rgba(255,255,255,.08);color:#dbe8fb}
.notes-stage .workspace-note-input{min-height:110px}
.notes-grid.simple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.simple-note{min-height:150px;border-radius:18px;padding:16px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff,#fbfdff);display:grid;grid-template-rows:auto 1fr auto;box-shadow:var(--shadow)}
body[data-theme="dark"] .simple-note{background:linear-gradient(180deg,#16243d,#121d33)}
.simple-note p{margin:10px 0 12px;color:var(--ink);font-size:14px;line-height:1.5}
.simple-note.done{opacity:.7}.simple-note.done p{text-decoration:line-through}.simple-note-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.sticky-pin{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#4b5563}body[data-theme="dark"] .sticky-pin{color:#c4d4e9}
.sticky-actions{display:flex;gap:6px}.icon-btn{border:1px solid var(--line);background:rgba(255,255,255,.65);width:28px;height:28px;border-radius:10px;display:grid;place-items:center;line-height:1;padding:0}body[data-theme="dark"] .icon-btn{background:rgba(17,28,49,.75)}
.workspace-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.workspace-widget{align-self:start}
.widget-picker{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.widget-check{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--soft);padding:8px 12px;border-radius:999px;font-weight:700;color:var(--muted)}.widget-check.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.widget-check input{width:auto;margin:0}
.reminder-list{display:grid;gap:10px}.reminder-list.compact{gap:8px}.reminder-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:var(--soft)}
.reminder-item strong{display:block;color:var(--ink)}.reminder-meta{display:grid;gap:6px;justify-items:end}
.empty-state{border:1px dashed var(--line);border-radius:16px;padding:16px;color:var(--muted);background:var(--soft)}
.mini-cal-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.mini-calendar{width:100%;border-collapse:separate;border-spacing:4px}.mini-calendar th{font-size:11px;color:var(--muted);text-align:center;background:transparent;border:0;padding:4px}.mini-calendar td{height:36px;text-align:center;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0;border-bottom:1px solid var(--line)}.mini-calendar td span{display:grid;place-items:center;height:100%;font-size:12px;font-weight:800}.mini-calendar td.empty{border:0;background:transparent}.mini-calendar td.today{background:var(--brand-soft);border-color:var(--brand)}.mini-calendar td.today span{color:var(--brand)}.mini-calendar td.marked span::after{content:'';width:6px;height:6px;border-radius:999px;background:var(--warn);display:block;margin:2px auto 0}
@media(max-width:1200px){.workspace-hero{grid-template-columns:1fr}.notes-grid.simple{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-widget-grid{grid-template-columns:1fr}}
@media(max-width:700px){.notes-grid.simple{grid-template-columns:1fr}.appearance-panel{width:min(340px,calc(100vw - 24px));right:0}.workspace-hero h2{font-size:24px}}

/* v0.4.7 Topbar Greeting + Note Color Dots */
.topbar{align-items:center}
.topbar-title h2{display:flex;align-items:center;gap:10px}
.topbar-title p{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.topbar-clock{font-weight:850;color:var(--ink)}
.topbar-timezone{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 8px;background:var(--soft)}
.topbar .right-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
.topbar .theme-switch,.appearance-wrap{flex:0 0 auto}
.workspace-shell.compact-home{gap:16px}
.compact-home .notes-stage{margin-top:0}
.workspace-hero{display:none}
.notes-stage .section-head{margin-bottom:10px}
.workspace-note-input{min-height:120px}
.simple-note.note-yellow{background:linear-gradient(180deg,#fff8c7,#fffdf0)}
.simple-note.note-blue{background:linear-gradient(180deg,#dff4ff,#f4fbff)}
.simple-note.note-green{background:linear-gradient(180deg,#e7f8df,#f7fff4)}
.simple-note.note-pink{background:linear-gradient(180deg,#ffe1ef,#fff7fb)}
.simple-note.note-purple{background:linear-gradient(180deg,#f0e7ff,#fbf8ff)}
.simple-note.note-white{background:linear-gradient(180deg,#ffffff,#fbfdff)}
body[data-theme="dark"] .simple-note.note-yellow{background:linear-gradient(180deg,#4b4212,#292611)}
body[data-theme="dark"] .simple-note.note-blue{background:linear-gradient(180deg,#153448,#102536)}
body[data-theme="dark"] .simple-note.note-green{background:linear-gradient(180deg,#17391d,#112815)}
body[data-theme="dark"] .simple-note.note-pink{background:linear-gradient(180deg,#452033,#2a1520)}
body[data-theme="dark"] .simple-note.note-purple{background:linear-gradient(180deg,#2f2450,#1f1836)}
body[data-theme="dark"] .simple-note.note-white{background:linear-gradient(180deg,#1d293d,#142034)}
.note-color-wrap{position:relative;display:grid;place-items:center}
.note-color-dot,.note-color-swatch{border:1px solid rgba(0,0,0,.12);width:24px;height:24px;border-radius:999px;padding:0;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.note-color-dot.yellow,.note-color-swatch.yellow{background:#fde047}
.note-color-dot.blue,.note-color-swatch.blue{background:#7dd3fc}
.note-color-dot.green,.note-color-swatch.green{background:#86efac}
.note-color-dot.pink,.note-color-swatch.pink{background:#f9a8d4}
.note-color-dot.purple,.note-color-swatch.purple{background:#c4b5fd}
.note-color-dot.white,.note-color-swatch.white{background:#fff}
.note-color-popover{position:absolute;top:32px;right:0;z-index:20;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px;display:flex;gap:6px;box-shadow:var(--shadow)}
.note-color-swatch.active{outline:3px solid var(--brand);outline-offset:2px}
@media(max-width:900px){.topbar .right-tools{flex-wrap:wrap;justify-content:flex-start}.topbar{align-items:flex-start}}


/* v0.4.7b Glass Transparency Polish */
:root {
  --glass-bg: rgba(255,255,255,.78);
  --glass-bg-strong: rgba(255,255,255,.86);
  --glass-bg-soft: rgba(248,250,252,.70);
  --glass-line: rgba(219,227,239,.72);
  --glass-blur: 18px;
}
body[data-theme="dark"] {
  --glass-bg: rgba(17,28,49,.76);
  --glass-bg-strong: rgba(17,28,49,.86);
  --glass-bg-soft: rgba(19,32,58,.70);
  --glass-line: rgba(34,50,78,.72);
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,0) 45%,rgba(37,99,235,.06));
  z-index:-1;
}
body[data-theme="dark"]::before{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(0,0,0,.08) 55%,rgba(75,141,255,.06))}
.sidebar{
  background:var(--glass-bg-strong);
  backdrop-filter:blur(var(--glass-blur)) saturate(1.08);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.08);
  border-right:1px solid var(--glass-line);
}
.topbar{
  background:var(--glass-bg-strong);
  backdrop-filter:blur(var(--glass-blur)) saturate(1.08);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.08);
  border-bottom:1px solid var(--glass-line);
}
body[data-theme="dark"] .topbar{background:var(--glass-bg-strong)}
.card,.table-wrap,.module-choice,.entry-action,.quick-entry-prompt,.sidebar-card,.callout,.notice,.simple-note,.appearance-panel,.note-color-popover,.theme-switch,.widget-check,.preset-btn,.tab,input,select,textarea{
  background-color:var(--glass-bg);
  border-color:var(--glass-line);
  backdrop-filter:blur(14px) saturate(1.04);
  -webkit-backdrop-filter:blur(14px) saturate(1.04);
}
.card.tight,.workspace-widget,.notes-stage{background-color:var(--glass-bg-strong)}
th{background:var(--glass-bg-soft)}
tr:hover td{background:rgba(37,99,235,.035)}
body[data-theme="dark"] tr:hover td{background:rgba(75,141,255,.06)}
.btn:not(.primary):not(.success):not(.warn):not(.danger),.sidebar-toggle,.nav-group-header,.nav-btn{
  background-color:rgba(255,255,255,.42);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
body[data-theme="dark"] .btn:not(.primary):not(.success):not(.warn):not(.danger),
body[data-theme="dark"] .sidebar-toggle,
body[data-theme="dark"] .nav-group-header,
body[data-theme="dark"] .nav-btn{background-color:rgba(17,28,49,.42)}
.nav-btn:hover,.nav-btn.active,.nav-group-header:hover{background:rgba(239,246,255,.82);color:var(--brand)}
body[data-theme="dark"] .nav-btn:hover,
body[data-theme="dark"] .nav-btn.active,
body[data-theme="dark"] .nav-group-header:hover{background:rgba(17,37,66,.86);color:var(--brand)}
.logo{box-shadow:0 14px 28px rgba(37,99,235,.22)}
.app-footer{background:rgba(255,255,255,.20);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body[data-theme="dark"] .app-footer{background:rgba(15,23,42,.20)}
@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
  .sidebar,.topbar,.card,.table-wrap,.module-choice,.entry-action,.quick-entry-prompt,.sidebar-card,.callout,.notice,.simple-note,.appearance-panel,.note-color-popover,.theme-switch,.widget-check,.preset-btn,.tab,input,select,textarea{background-color:var(--card)}
}


/* v0.4.7c Profile identity + popup behavior polish */
.profile-brand{position:relative;min-width:0;align-items:center;margin-bottom:0}
.profile-brand .brand-copy{min-width:0}
.profile-mini-btn{border:0;background:transparent;color:var(--brand);font-size:11px;font-weight:900;padding:0;margin-top:3px;cursor:pointer}
.logo.profile-avatar{border:0;overflow:hidden;cursor:pointer;padding:0;flex:0 0 auto}
.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-avatar span{display:grid;place-items:center;width:100%;height:100%;font-size:14px;font-weight:950;color:white}
.profile-avatar.large{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));overflow:hidden;display:grid;place-items:center;box-shadow:var(--shadow)}
.profile-avatar.small{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand-dark))}
.profile-panel{position:absolute;left:0;top:calc(100% + 10px);z-index:40;width:340px;background:var(--glass-bg-strong,var(--card));border:1px solid var(--glass-line,var(--line));border-radius:18px;padding:14px;box-shadow:var(--shadow);backdrop-filter:blur(var(--glass-blur,18px)) saturate(1.08);-webkit-backdrop-filter:blur(var(--glass-blur,18px)) saturate(1.08)}
.profile-panel-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}.profile-panel-head strong{display:block;color:var(--ink)}.profile-panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.profile-upload{position:relative;overflow:hidden}.profile-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.profile-activity{border-top:1px solid var(--line);padding-top:12px}.section-head.mini{margin-bottom:8px}.section-head.mini h3{font-size:14px}.activity-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-item strong{display:block;font-size:13px;color:var(--ink)}.activity-item p{margin:2px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.activity-item span{font-size:11px;color:var(--muted);white-space:nowrap}.empty-state.compact{padding:10px;font-size:12px}
.app-shell{min-height:100vh}
@media(max-width:700px){.profile-panel{width:min(340px,calc(100vw - 28px));left:0}.profile-mini-btn{display:inline-block}}
@media print{.profile-panel{display:none!important}}


/* v0.4.7d My Desk + User Back Office UI */
.mydesk-page{display:grid;gap:16px}
.mydesk-hero{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mydesk-hero-left{display:flex;align-items:center;gap:14px}
.mydesk-hero h2{margin:3px 0 4px;font-size:28px;letter-spacing:-.03em}
.mydesk-hero p{margin:0;color:var(--muted)}
.profile-avatar.xlarge{width:96px;height:96px;border-radius:28px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));overflow:hidden;display:grid;place-items:center;box-shadow:var(--shadow);flex:0 0 auto}
.profile-avatar.xlarge img{width:100%;height:100%;object-fit:cover}.profile-avatar.xlarge span{font-size:26px}
.mydesk-profile-card{display:flex;align-items:center;gap:16px}.mydesk-profile-card h3{font-size:22px;margin:0 0 4px}.mydesk-profile-card p{margin:0 0 12px}
.profile-actions.inline{margin:0;display:flex;flex-wrap:wrap;gap:8px}.mydesk-tabs{margin-bottom:0}.mydesk-tabs .tab{font-weight:850}
.mydesk-idea-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mydesk-idea-grid>div{border:1px solid var(--glass-line,var(--line));background:var(--glass-bg,var(--soft));border-radius:16px;padding:14px}.mydesk-idea-grid p{margin:6px 0 0;font-size:13px;line-height:1.4}
.activity-list.large{display:grid;gap:4px}.activity-list.large .activity-item{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--glass-bg,var(--card));margin-bottom:8px}
.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.link-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border:1px solid var(--glass-line,var(--line));background:var(--glass-bg,var(--card));border-radius:18px;padding:14px;box-shadow:var(--shadow)}.link-card h3{font-size:16px;margin:10px 0 4px}.link-card p{margin:0 0 8px;color:var(--muted);font-size:13px}.link-card a{font-size:12px;font-weight:850;color:var(--brand);word-break:break-word}.align-end{align-self:end;justify-content:flex-start;margin-top:0}
.chat-thread{display:grid;gap:10px;margin:14px 0}.chat-bubble{max-width:75%;border:1px solid var(--glass-line,var(--line));background:var(--glass-bg,var(--card));border-radius:18px 18px 18px 6px;padding:12px;box-shadow:var(--shadow)}.chat-bubble.mine{justify-self:end;border-radius:18px 18px 6px 18px;background:rgba(37,99,235,.12);border-color:rgba(37,99,235,.24)}.chat-bubble strong{display:block;font-size:13px;color:var(--ink)}.chat-bubble p{margin:4px 0;color:var(--ink)}.chat-bubble span{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.mydesk-idea-grid,.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mydesk-hero{align-items:flex-start;flex-direction:column}.mydesk-profile-card{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.mydesk-idea-grid,.link-grid{grid-template-columns:1fr}.chat-bubble{max-width:100%}.profile-avatar.xlarge{width:76px;height:76px;border-radius:22px}}


/* 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 34px 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 .fx{justify-content:center;font-style:italic;color:var(--muted);border-right:1px solid var(--line);font-weight:900}.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)}
.sheet-fix-panel{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:6px 10px;border-bottom:1px solid rgba(245,158,11,.35);background:rgba(255,251,235,.94);color:#92400e;font-size:12px;min-height:34px}
.sheet-fix-panel.ready{border-bottom-color:rgba(34,197,94,.25);background:rgba(240,253,244,.94);color:#166534}
body[data-theme="dark"] .sheet-fix-panel{background:rgba(69,26,3,.92);color:#fed7aa;border-bottom-color:rgba(251,191,36,.35)}
body[data-theme="dark"] .sheet-fix-panel.ready{background:rgba(5,46,22,.9);color:#bbf7d0;border-bottom-color:rgba(34,197,94,.3)}
.sheet-fix-panel strong{display:block}.sheet-fix-panel span{font-size:11px}.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}.sheet-fix-panel{align-items:flex-start;flex-direction:column}.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{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;
  color:#202124!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.amount{text-align:right!important;padding-right:4px!important}
.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{color:#e2e8f0!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-grid-row .sheet-input:focus{background:#0f172a!important}

/* 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;height:31px!important;min-height:31px!important;background:#f8f9fa!important;border-bottom:1px solid #dadce0!important;padding:0!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .formula-bar{background:#1e293b!important;border-bottom-color:#334155!important}
.app-shell.page-ezzysheet .sheet-fix-panel{min-height:28px!important;height:28px!important;padding:0 10px!important;display:flex!important;align-items:center!important;gap:8px!important;border-bottom:1px solid #dadce0!important;background:#fff8e1!important;color:#92400e!important;overflow:hidden!important}
.app-shell.page-ezzysheet .sheet-fix-panel.ready{background:#f0fdf4!important;color:#166534!important}
.app-shell.page-ezzysheet .sheet-fix-panel.collapsed{height:28px!important;min-height:28px!important}
.app-shell.page-ezzysheet .sheet-fix-panel.open{height:auto!important;min-height:32px!important;padding:5px 10px!important;align-items:center!important}
.app-shell.page-ezzysheet .fix-panel-toggle{border:0!important;background:transparent!important;color:inherit!important;font-weight:800!important;font-size:12px!important;line-height:26px!important;padding:0!important;margin:0!important;cursor:pointer!important;white-space:nowrap!important}
.app-shell.page-ezzysheet .sheet-fix-panel.collapsed .fix-chip-list{display:none!important}
.app-shell.page-ezzysheet .sheet-fix-panel.collapsed span{font-size:11px!important;white-space:nowrap!important;color:inherit!important;opacity:.8!important}
.app-shell.page-ezzysheet .sheet-fix-panel.open .fix-chip-list{max-width:78%!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-fix-panel{background:#3b2508!important;color:#fed7aa!important;border-bottom-color:#334155!important}
body[data-theme="dark"] .app-shell.page-ezzysheet .sheet-fix-panel.ready{background:#052e16!important;color:#bbf7d0!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-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-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:104px!important;
  max-width:104px!important;
  width:104px!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: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!important;
  overscroll-behavior:none!important;
  overscroll-behavior-x:none!important;
  overscroll-behavior-y:none!important;
  -webkit-overflow-scrolling:auto!important;
  touch-action:pan-x pan-y!important;
  will-change:scroll-position!important;
}
.app-shell.page-ezzysheet .spreadsheet-grid,
.app-shell.page-ezzysheet .sheet-grid-body{
  scroll-snap-type:none!important;
}
