/* =============================================================================
   fh-split-expense.css v10.3.0 (renamed from fh-expenses.css)
   Split expense tracker panel, summary cards, settlements, finalize
   ============================================================================= */
.gp-exp-panel { padding:16px 20px; }
.gp-exp-month-bar { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.gp-exp-month-bar label { font-size:12px; font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:.5px; }
.gp-exp-month-bar input[type="month"] { padding:7px 12px; border:1px solid #e2e8f0; border-radius:8px; font-size:14px; background:#fff; font-family:inherit; }
.gp-exp-month-bar input:focus { outline:none; border-color:#4f46e5; box-shadow:0 0 0 3px rgba(79,70,229,.12); }
.gp-exp-summary-row { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:18px; }
.gp-exp-scard { background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:12px 14px; transition:box-shadow .15s; }
.gp-exp-scard:hover { box-shadow:0 2px 8px rgba(0,0,0,.04); }
.gp-exp-scard-label { font-size:11px; font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:.4px; margin-bottom:4px; }
.gp-exp-scard-value { font-size:18px; font-weight:700; color:#0f172a; }
.gp-exp-scard-sub { font-size:11px; color:#64748b; margin-top:2px; }
.gp-exp-net-pos { border-color:#86efac; background:linear-gradient(180deg,#f0fdf4 0%,#f8fafc 60%); }
.gp-exp-net-pos .gp-exp-scard-value { color:#16a34a; }
.gp-exp-net-neg { border-color:#fca5a5; background:linear-gradient(180deg,#fef2f2 0%,#f8fafc 60%); }
.gp-exp-net-neg .gp-exp-scard-value { color:#dc2626; }
.gp-exp-net-zero .gp-exp-scard-value { color:#94a3b8; }

.gp-exp-stabs { display:flex; gap:2px; border-bottom:1px solid #e2e8f0; margin-bottom:14px; }
.gp-exp-stab { background:none; border:0; padding:10px 16px; font-size:13px; font-weight:600; color:#94a3b8;
  cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; transition:color .15s, border-color .15s; }
.gp-exp-stab:hover { color:#0f172a; }
.gp-exp-stab.active { color:#4f46e5; border-bottom-color:#4f46e5; }
.gp-exp-actions-bar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-end; margin-bottom:10px; }
.gp-exp-items-list { background:#fff; border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; max-height:320px; overflow-y:auto; }

.gp-exp-item-row { display:flex; align-items:center; gap:12px; padding:12px 14px; border-bottom:1px solid #f1f5f9; transition:background .1s; }
.gp-exp-item-row:last-child { border-bottom:0; }
.gp-exp-item-row:hover { background:#f8fafc; }
.gp-exp-item-main { flex:1; min-width:0; }
.gp-exp-item-title { font-size:14px; font-weight:500; color:#0f172a; margin-bottom:2px; }
.gp-exp-item-meta { font-size:12px; color:#94a3b8; display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.gp-exp-item-amount { font-size:15px; font-weight:700; color:#0f172a; white-space:nowrap; }
.gp-exp-cat-dot { display:inline-block; width:9px; height:9px; border-radius:50%; flex-shrink:0; }

.gp-exp-settle-item { display:grid; grid-template-columns:auto 1fr auto auto; gap:12px; align-items:center; padding:12px 14px; border-bottom:1px solid #f1f5f9; }
.gp-exp-settle-item:last-child { border-bottom:0; }
.gp-exp-settle-item.mine { background:#eef2ff; }
.gp-exp-settle-item.paid { opacity:.6; }
.gp-exp-settle-item.paid .gp-exp-settle-amt { text-decoration:line-through; }
.gp-exp-settle-item.carried-forward { opacity:.5; background:#fef9c3; }
.gp-exp-settle-item.carried-forward .gp-exp-settle-amt { text-decoration:line-through; color:#92400e; }
.gp-exp-settle-avs { display:flex; align-items:center; gap:6px; }
.gp-exp-settle-avs .fa { color:#94a3b8; font-size:11px; }
.gp-exp-av { width:30px; height:30px; border-radius:50%; background:#e0e7ff; color:#3730a3;
  display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:600; }
.gp-exp-settle-text { font-size:13px; }
.gp-exp-settle-amt { font-size:15px; font-weight:700; color:#0f172a; white-space:nowrap; }
.gp-exp-pill { display:inline-block; padding:3px 10px; border-radius:10px; font-size:11px; font-weight:600; background:#d1fae5; color:#065f46; }
.gp-exp-pill-carried { display:inline-block; padding:3px 10px; border-radius:10px; font-size:11px; font-weight:600; background:#fef3c7; color:#92400e; }
.gp-exp-pill-pending { display:inline-block; padding:3px 10px; border-radius:10px; font-size:11px; font-weight:600; background:#fee2e2; color:#991b1b; }
.gp-exp-finalized-banner { display:flex; align-items:center; gap:8px; padding:10px 16px; margin:0 0 8px; border-radius:8px;
  background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; font-size:13px; font-weight:500; }
.gp-exp-finalized-banner .fa { font-size:15px; color:#16a34a; }

.gp-exp-cat-row { display:grid; grid-template-columns:auto 120px 1fr auto; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid #f1f5f9; }
.gp-exp-cat-row:last-child { border-bottom:0; }
.gp-exp-cat-row:hover { background:#f8fafc; }
.gp-exp-cat-name { font-size:13px; color:#0f172a; }
.gp-exp-cat-bar { display:block; background:#f1f5f9; height:7px; border-radius:4px; overflow:hidden; }
.gp-exp-cat-bar span { display:block; height:100%; border-radius:4px; transition:width .3s ease-out; }
.gp-exp-cat-amt { font-size:12px; font-weight:600; color:#0f172a; white-space:nowrap; }
.gp-exp-cat-amt small { color:#94a3b8; font-weight:400; }

.gp-exp-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.gp-exp-split-section { margin-top:14px; padding:12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; }
.gp-exp-split-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.gp-exp-split-head label { margin:0; flex-shrink:0; font-size:13px; font-weight:500; color:#475569; }
.gp-exp-split-head select { flex:1; min-width:140px; max-width:180px; padding:7px 10px; border:1px solid #e2e8f0; border-radius:8px; font-size:13px; }
.gp-exp-part-list { background:#fff; border:1px solid #e2e8f0; border-radius:8px; max-height:180px; overflow-y:auto; }
.gp-exp-part-item { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; border-bottom:1px solid #f1f5f9; font-size:13px; }
.gp-exp-part-item:last-child { border-bottom:0; }
.gp-exp-part-item label { display:flex; align-items:center; gap:6px; cursor:pointer; margin:0; }
.gp-exp-part-item input[type="checkbox"] { width:15px; height:15px; accent-color:#4f46e5; cursor:pointer; }
.gp-exp-part-input { font-size:12px; color:#64748b; }
.gp-exp-part-input input { width:80px; padding:4px 8px; font-size:12px; border:1px solid #e2e8f0; border-radius:6px; }
.gp-exp-split-hint { margin-top:6px; font-size:11px; color:#94a3b8; font-style:italic; }

@media (max-width:600px) {
  .gp-exp-summary-row{grid-template-columns:repeat(2,1fr);} .gp-exp-form-grid{grid-template-columns:1fr;}
  .gp-exp-settle-item{grid-template-columns:auto 1fr auto;} .gp-exp-settle-item .gp-exp-settle-action{grid-column:1/-1;text-align:right;}
  .gp-exp-cat-row{grid-template-columns:auto 1fr auto;} .gp-exp-cat-row .gp-exp-cat-bar{grid-column:1/-1;order:99;}
  .gp-exp-actions-bar{flex-direction:column;align-items:stretch;} .gp-exp-actions-bar .gp-btn{justify-content:center;}
}
/* =============================================================================
   fh-split-expense.css — v10.0.0 additions (2026-10-03)
   Split Expense upgrade: month arrows, list-by grouping, summary panel,
   balances strip, reports (expense report, monthly, weekly, yearly).
   Prefix: .gp-sx-*  (v9 .gp-exp-* classes above are kept unchanged)
   ============================================================================= */
.gp-sx-month-btn { width:32px; height:32px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; color:#475569;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:background .15s, border-color .15s; }
.gp-sx-month-btn:hover { background:#eef2ff; border-color:#c7d2fe; color:#4f46e5; }

/* ── Expenses list header ── */
.gp-sx-list-head { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.gp-sx-list-head h4 { margin:0; font-size:15px; color:#0f172a; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.gp-sx-list-head .gp-fh-badge { font-size:12px; font-weight:600; background:#eef2ff; color:#4338ca; padding:3px 10px; border-radius:12px; }
.gp-sx-list-head-actions { display:flex; gap:6px; }
.gp-sx-report-btn { background:#7c3aed !important; }
.gp-sx-lock-note { display:none; align-items:center; gap:8px; padding:8px 12px; margin-bottom:8px; border-radius:8px;
  background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; font-size:12.5px; }
#gp-exp-add-btn:disabled { opacity:.5; cursor:not-allowed; }

/* ── List-by chips & filter ── */
.gp-sx-listby { display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:2px 0 6px; }
.gp-sx-listby-lbl { font-size:11px; color:#94a3b8; text-transform:uppercase; letter-spacing:.4px; margin-right:2px; }
.gp-sx-chip { border:1px solid #e2e8f0; background:#f8fafc; color:#475569; font-size:12px; padding:4px 11px; border-radius:14px;
  cursor:pointer; display:inline-flex; align-items:center; gap:5px; transition:background .15s, color .15s, border-color .15s; font-family:inherit; }
.gp-sx-chip:hover { border-color:#c7d2fe; color:#4338ca; }
.gp-sx-chip.active { background:#4f46e5; border-color:#4f46e5; color:#fff; font-weight:600; }
.gp-sx-chip-mine.active { background:#0ea5e9; border-color:#0ea5e9; }
.gp-sx-sep { width:1px; height:18px; background:#e2e8f0; margin:0 4px; }
.gp-sx-filter-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:0 0 8px; }
.gp-sx-finput { padding:6px 10px; border:1px solid #e2e8f0; border-radius:7px; font-size:13px; font-family:inherit; background:#fff; min-width:150px; }
.gp-sx-finput:focus { outline:none; border-color:#4f46e5; box-shadow:0 0 0 3px rgba(79,70,229,.12); }
.gp-sx-clear { font-size:12px; padding:4px 10px; border-radius:14px; border:1px solid #e2e8f0; background:#fff; color:#64748b; cursor:pointer; font-family:inherit; }
.gp-sx-clear:hover { color:#dc2626; border-color:#fecaca; }

/* ── Grouped list ── */
#gp-exp-expenses-list.gp-sx-list { max-height:52vh; }
.gp-sx-group-head { position:sticky; top:0; z-index:1; display:flex; justify-content:space-between; align-items:center;
  padding:7px 14px; background:#f1f5f9; border-bottom:1px solid #e2e8f0; font-size:12.5px; }
.gp-sx-group-head strong { color:#334155; }
.gp-sx-group-head span { color:#64748b; font-size:12px; }
.gp-sx-row { cursor:pointer; }
.gp-sx-row-mine { box-shadow:inset 3px 0 0 #a5b4fc; }
.gp-sx-badge { display:inline-block; margin-left:6px; padding:1px 7px; border-radius:9px; background:#f1f5f9; color:#475569;
  font-size:10.5px; font-weight:600; vertical-align:middle; }
.gp-sx-receipt { color:#94a3b8; font-size:12px; margin-left:4px; }
.gp-sx-amt-col { text-align:right; }
.gp-sx-myshare { font-size:11px; color:#4f46e5; margin-top:2px; white-space:nowrap; }
.gp-sx-myshare-paid { color:#16a34a; }
.gp-sx-actions { display:flex; gap:4px; padding-left:8px; }
.gp-sx-act-del { color:#ef4444 !important; }
.gp-sx-empty { padding:36px 20px; text-align:center; }
.gp-sx-empty .fa { font-size:2em; opacity:.3; display:block; margin-bottom:8px; }

/* ── Summary panel ── */
.gp-sx-summary-panel { margin-top:12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; }
.gp-sx-sum-tabs { display:flex; border-bottom:1px solid #e2e8f0; overflow-x:auto; scrollbar-width:none; }
.gp-sx-sum-tabs::-webkit-scrollbar { display:none; }
.gp-sx-sum-tab { background:none; border:0; padding:9px 14px; font-size:12px; font-weight:600; color:#94a3b8; cursor:pointer; white-space:nowrap;
  border-bottom:2px solid transparent; margin-bottom:-1px; font-family:inherit; }
.gp-sx-sum-tab:hover { color:#0f172a; }
.gp-sx-sum-tab.active { color:#4f46e5; border-bottom-color:#4f46e5; }
.gp-sx-sum-pane { padding:8px 14px 12px; max-height:220px; overflow-y:auto; }
.gp-sx-sum-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px dashed #e2e8f0; font-size:13px; color:#334155; }
.gp-sx-sum-row:last-child { border-bottom:0; }
.gp-sx-sum-row span { display:flex; align-items:center; gap:6px; }
.gp-sx-sum-row-2 { flex-direction:column; align-items:stretch; gap:2px; }
.gp-sx-sum-row-2 > div { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.gp-sx-sum-row-2 > div:nth-child(2) { padding-left:8px; color:#475569; font-size:12.5px; }
.gp-sx-muted { color:#94a3b8; font-weight:400; }
.gp-sx-xs { font-size:11px; padding-left:8px; }

/* ── Horizontal bars (category, balances) ── */
.gp-sx-bars { background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:4px 12px; }
.gp-sx-bar-row { display:grid; grid-template-columns:minmax(90px,150px) 1fr auto; align-items:center; gap:10px; padding:7px 0; font-size:12.5px; }
.gp-sx-bars .gp-sx-bar-row + .gp-sx-bar-row { border-top:1px solid #f1f5f9; }
.gp-sx-bar-lbl { display:flex; align-items:center; gap:6px; color:#0f172a; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gp-sx-bar { display:block; height:8px; background:#f1f5f9; border-radius:4px; overflow:hidden; }
.gp-sx-bar span { display:block; height:100%; border-radius:4px; transition:width .3s ease-out; }
.gp-sx-bar-val { font-weight:600; color:#0f172a; white-space:nowrap; }
.gp-sx-bar-val small { color:#94a3b8; font-weight:400; margin-left:2px; }

/* ── Settle up: balances ── */
.gp-sx-section-title { font-size:11.5px; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.5px; margin:16px 0 8px; }
.gp-sx-section-title small { text-transform:none; letter-spacing:0; }
.gp-sx-balances { background:#fff; border:1px solid #e2e8f0; border-radius:10px; margin-bottom:12px; }
.gp-sx-bal-row { display:grid; grid-template-columns:auto minmax(80px,160px) 1fr auto; align-items:center; gap:10px; padding:8px 14px; border-bottom:1px solid #f1f5f9; font-size:13px; }
.gp-sx-bal-row:last-child { border-bottom:0; }
.gp-sx-bal-row.mine { background:#eef2ff; }
.gp-sx-bal-name small { color:#6366f1; }
.gp-sx-bal-bar { height:8px; background:#f1f5f9; border-radius:4px; overflow:hidden; }
.gp-sx-bal-bar span { display:block; height:100%; border-radius:4px; }
.gp-sx-bal-bar .pos { background:#22c55e; }
.gp-sx-bal-bar .neg { background:#f87171; }
.gp-sx-bal-val { font-weight:700; white-space:nowrap; font-size:12.5px; }
.gp-sx-bal-val.pos, .gp-sx-pos { color:#16a34a; }
.gp-sx-bal-val.neg, .gp-sx-neg { color:#dc2626; }
.gp-sx-accent { color:#4f46e5; }
.gp-exp-settle-cf-note { font-size:11px; color:#92400e; grid-column:1/-1; }

/* ── Form extras ── */
.gp-sx-f-info { margin-top:12px; padding:10px 12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; font-size:12.5px; color:#475569; }
.gp-sx-f-shares { list-style:none; margin:8px 0 0; padding:0; }
.gp-sx-f-shares li { display:flex; justify-content:space-between; padding:4px 0; border-bottom:1px dashed #e2e8f0; }
.gp-sx-f-shares li:last-child { border-bottom:0; }
.gp-sx-f-receipt { display:inline-block; margin-top:8px; color:#4f46e5; }
.gp-exp-split-hint.gp-sx-hint-ok { color:#16a34a; font-style:normal; font-weight:600; }
.gp-exp-split-hint.gp-sx-hint-bad { color:#dc2626; font-style:normal; font-weight:600; }

/* ── Reports ── */
.gp-sx-rtabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px; }
.gp-sx-rtab { border:1px solid #e2e8f0; background:#fff; color:#475569; padding:6px 14px; border-radius:8px; font-size:12.5px; font-weight:600;
  cursor:pointer; display:inline-flex; align-items:center; gap:6px; font-family:inherit; }
.gp-sx-rtab:hover { border-color:#c7d2fe; color:#4338ca; }
.gp-sx-rtab.active { background:#eef2ff; border-color:#a5b4fc; color:#4338ca; }
.gp-sx-rpt-head { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.gp-sx-rpt-head h4 { margin:0; font-size:15px; color:#0f172a; display:flex; align-items:center; gap:8px; }
.gp-sx-rpt-actions { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.gp-sx-btn-excel { background:#16a34a !important; }
.gp-sx-btn-pdf { background:#dc2626 !important; }
.gp-sx-rpt-filters { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; background:#f8fafc; border:1px solid #e2e8f0;
  border-radius:10px; padding:12px 14px; margin-bottom:12px; }
.gp-sx-fitem { display:flex; flex-direction:column; gap:4px; }
.gp-sx-fitem label { font-size:10.5px; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.4px; }
.gp-sx-fitem input, .gp-sx-fitem select { padding:7px 10px; border:1px solid #e2e8f0; border-radius:7px; font-size:13px; font-family:inherit; background:#fff; }
.gp-sx-fitem input:focus, .gp-sx-fitem select:focus { outline:none; border-color:#4f46e5; box-shadow:0 0 0 3px rgba(79,70,229,.12); }
.gp-sx-rpt-info { display:flex; gap:14px; flex-wrap:wrap; align-items:center; font-size:12.5px; color:#475569; padding:8px 12px;
  background:#eef2ff; border-radius:8px; margin-bottom:10px; }
.gp-sx-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; margin-bottom:6px; }
.gp-sx-pill-open { display:inline-block; padding:3px 10px; border-radius:10px; font-size:11px; font-weight:600; background:#e0f2fe; color:#075985; }

.gp-sx-tbl-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; background:#fff; border:1px solid #e2e8f0; border-radius:10px; }
.gp-sx-tbl { width:100%; border-collapse:collapse; font-size:12.5px; min-width:420px; }
.gp-sx-tbl th { text-align:left; padding:8px 10px; font-size:10.5px; color:#64748b; text-transform:uppercase; letter-spacing:.4px;
  background:#f8fafc; border-bottom:2px solid #e2e8f0; white-space:nowrap; }
.gp-sx-tbl td { padding:8px 10px; border-bottom:1px solid #f1f5f9; color:#0f172a; vertical-align:middle; }
.gp-sx-tbl tbody tr:hover td { background:#fafbff; }
.gp-sx-tbl tfoot td { border-top:2px solid #e2e8f0; border-bottom:0; background:#f8fafc; }
.gp-sx-tbl .r { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.gp-sx-tbl a { color:#4f46e5; text-decoration:none; }
.gp-sx-tbl a:hover { text-decoration:underline; }
.gp-sx-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.gp-sx-grid-2 > div { min-width:0; }

/* Column chart — one series, one hue; values in hover title */
.gp-sx-cols { display:flex; align-items:stretch; gap:6px; height:150px; padding:10px 12px 6px; background:#fff; border:1px solid #e2e8f0; border-radius:10px; margin-bottom:10px; }
.gp-sx-cols.dense { gap:2px; height:120px; }
.gp-sx-col { flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; min-width:0; cursor:default; }
.gp-sx-col-val { font-size:10px; color:#475569; margin-bottom:2px; white-space:nowrap; }
.gp-sx-col-bar { width:100%; max-width:38px; background:#6366f1; border-radius:4px 4px 0 0; transition:height .3s ease-out, background .15s; }
.gp-sx-col-bar.zero { background:#e2e8f0; }
.gp-sx-col:hover .gp-sx-col-bar:not(.zero) { background:#4338ca; }
.gp-sx-col-lbl { font-size:10px; color:#94a3b8; margin-top:4px; white-space:nowrap; }
.gp-sx-cols.dense .gp-sx-col-lbl { font-size:8.5px; }

@media (max-width:600px) {
  .gp-sx-grid-2 { grid-template-columns:1fr; }
  .gp-sx-bal-row { grid-template-columns:auto 1fr auto; }
  .gp-sx-bal-row .gp-sx-bal-bar { grid-column:1/-1; order:99; }
  .gp-sx-bar-row { grid-template-columns:1fr auto; }
  .gp-sx-bar-row .gp-sx-bar { grid-column:1/-1; order:99; }
  .gp-sx-actions .gp-uh-icon-btn { width:28px; height:28px; }
  .gp-sx-rpt-filters { flex-direction:column; align-items:stretch; }
  .gp-sx-cols.dense .gp-sx-col-lbl { display:none; }
  .gp-sx-list-head-actions { width:100%; }
  .gp-sx-list-head-actions .gp-btn { flex:1; justify-content:center; }
}


/* =============================================================================
   v10.3 (2026-10-04) — Mode bar: Monthly Split | Special Event or Occasion
   Kept here (not in fh-split-event.css) so the bar is styled even if the
   events stylesheet is missing or cached.
   ============================================================================= */
/* ── Mode bar: Monthly Split | Special Event or Occasion ── */
.gp-sx-modebar { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:4px; margin-bottom:14px; background:#f1f5f9; border-radius:12px; }
.gp-sx-mode { display:flex; align-items:center; gap:10px; min-width:0; padding:9px 12px; border:1px solid transparent; border-radius:9px;
  background:transparent; color:#475569; cursor:pointer; text-align:left; font-family:inherit; transition:background .15s, box-shadow .15s, color .15s; }
.gp-sx-mode > .fa { font-size:16px; width:20px; text-align:center; flex-shrink:0; }
.gp-sx-mode span { display:flex; flex-direction:column; min-width:0; }
.gp-sx-mode strong { font-size:13px; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gp-sx-mode small { font-size:11px; color:#94a3b8; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gp-sx-mode:hover { color:#0f172a; }
.gp-sx-mode:focus-visible { outline:2px solid #6366f1; outline-offset:1px; }
.gp-sx-mode.active { background:#fff; color:#4338ca; border-color:#e0e7ff; box-shadow:0 1px 3px rgba(15,23,42,.08); }
.gp-sx-mode-ev.active { color:#be185d; border-color:#fbcfe8; }

/* In Event mode the whole monthly UI is hidden — it is a separate workspace */
.gp-exp-panel.gp-sx-mode-events .gp-exp-month-bar,
.gp-exp-panel.gp-sx-mode-events .gp-exp-summary-row,
.gp-exp-panel.gp-sx-mode-events .gp-exp-stabs,
.gp-exp-panel.gp-sx-mode-events #gp-exp-sp-list,
.gp-exp-panel.gp-sx-mode-events #gp-exp-sp-settle,
.gp-exp-panel.gp-sx-mode-events #gp-exp-sp-reports { display:none !important; }
.gp-exp-panel.gp-sx-mode-events #gp-exp-sp-events { display:block !important; }

@media (max-width:600px) {
  .gp-sx-mode { padding:8px 9px; gap:7px; }
  .gp-sx-mode small { display:none; }
  .gp-sx-mode strong { white-space:normal; font-size:12.5px; }
}
