
.cale-bobs-dashboard-page .app-owner-heading { display:none !important; }
.cale-bobs-dashboard-page .bobs-owner-dashboard-shell { display:none !important; }

#cale-bobs-business {
  width:min(1180px, calc(100% - 24px));
  margin:18px auto 36px;
  padding:18px;
  border:1px solid #cbd8ea;
  border-radius:18px;
  background:#f8fbff;
  box-shadow:0 16px 50px rgba(16,43,84,.10);
  color:#142c4d;
  box-sizing:border-box;
}
#cale-bobs-business * { box-sizing:border-box; }
.cale-bobs-business__head {
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  padding:6px 4px 18px;
}
.cale-bobs-business__head h2 { margin:2px 0 6px; font-size:clamp(28px,4vw,44px); line-height:1; }
.cale-bobs-kicker { margin:0; font-size:11px; font-weight:800; letter-spacing:.13em; color:#245eea; }
.cale-bobs-subtitle { margin:0; color:#5a6f8c; font-size:14px; }
.cale-bobs-status { flex:0 0 auto; padding:8px 10px; border-radius:999px; background:#e9f0ff; color:#234f9a; font-size:12px; font-weight:700; }

.cale-bobs-tabs {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px;
  padding:8px; border:1px solid #d7e1ef; border-radius:14px; background:#fff;
  position:sticky; top:8px; z-index:30;
}
.cale-bobs-tabs button {
  appearance:none; min-height:48px; padding:10px 12px; border:0; border-radius:10px;
  background:transparent; color:#47617f; font:inherit; font-size:14px; font-weight:800; cursor:pointer;
}
.cale-bobs-tabs button.is-active { background:#245eea; color:#fff; box-shadow:0 7px 18px rgba(36,94,234,.23); }

.cale-bobs-panel { padding:16px 0 0; }
.cale-bobs-panel[hidden] { display:none !important; }

.cale-bobs-login-intro,.cale-bobs-locked,.cale-bobs-section,.cale-bobs-card {
  border:1px solid #d7e1ef; border-radius:14px; background:#fff;
}
.cale-bobs-login-intro,.cale-bobs-locked { padding:18px; margin-bottom:14px; }
.cale-bobs-login-intro h3,.cale-bobs-locked h3 { margin:0 0 6px; font-size:21px; }
.cale-bobs-login-intro p,.cale-bobs-locked p { margin:0; color:#60738d; font-size:14px; line-height:1.6; }

.cale-bobs-native-calendar .bb.bb-access,
.cale-bobs-native-calendar .owner-login { display:block !important; visibility:visible !important; opacity:1 !important; }
.cale-bobs-native-calendar .bb.bb-access form { display:block !important; }
.cale-bobs-native-calendar input[name="bobs_calendar_password"] { display:block !important; width:100% !important; min-height:48px !important; }
.cale-bobs-native-calendar button[type="submit"] { min-height:48px; }

/* Calendar is only calendar. Standalone finance widgets are moved to Money by JS. */
.cale-bobs-native-calendar [data-cale-moved-finance="1"] { display:none !important; }

.cale-bobs-section { padding:16px; margin-bottom:14px; }
.cale-bobs-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.cale-bobs-section-head h3 { margin:0; font-size:20px; }
.cale-bobs-section-head p { margin:3px 0 0; color:#6b7c94; font-size:13px; }

.cale-bobs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cale-bobs-card { padding:15px; }
.cale-bobs-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.cale-bobs-card h4 { margin:2px 0 4px; font-size:18px; color:#163d74; }
.cale-bobs-card p { margin:7px 0; color:#566b87; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.cale-bobs-pill { display:inline-flex; padding:5px 8px; border-radius:999px; background:#eef4ff; color:#245eea; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.cale-bobs-pay { font-size:20px; font-weight:900; color:#173d74; white-space:nowrap; }

.cale-bobs-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:11px; }
.cale-bobs-button,.cale-bobs-actions button,.cale-bobs-locked button,.cale-bobs-actions a {
  appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:42px;
  padding:9px 12px; border:1px solid #b9cbea; border-radius:9px; background:#fff; color:#244f8e;
  font:inherit; font-size:12px; font-weight:800; text-decoration:none; cursor:pointer;
}
.cale-bobs-actions .primary,.cale-bobs-button.primary { border-color:#245eea; background:#245eea; color:#fff; }
.cale-bobs-actions .danger { border-color:#e1b7b7; color:#a12d2d; }

.cale-bobs-balance-positive { color:#177446 !important; }
.cale-bobs-balance-negative { color:#b13a34 !important; }
.cale-bobs-empty { margin:0; padding:18px; border:1px dashed #cbd7e7; border-radius:12px; color:#6d7e94; background:#fbfdff; font-size:14px; }

.cale-bobs-proof { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
.cale-bobs-proof img { width:88px; height:66px; object-fit:cover; border-radius:8px; border:1px solid #d4deeb; }
.cale-bobs-tier { text-transform:capitalize; font-weight:900; }

.cale-bobs-ledger-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:10px 0; border-bottom:1px solid #edf1f6; }
.cale-bobs-ledger-row:last-child { border-bottom:0; }

.cale-bobs-native-finance-wrap { display:block !important; margin:0 !important; }
.cale-bobs-native-finance-wrap > * { max-width:none !important; }
.cale-bobs-native-money-section:has([data-cale-native-finance]:empty) { display:none; }

@media(max-width:760px) {
  #cale-bobs-business { width:calc(100% - 14px); margin:8px auto 24px; padding:10px; border-radius:14px; }
  .cale-bobs-business__head { display:block; padding:5px 3px 14px; }
  .cale-bobs-status { display:inline-flex; margin-top:10px; }
  .cale-bobs-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:5px; top:4px; }
  .cale-bobs-tabs button { min-height:44px; padding:7px 4px; font-size:12px; }
  .cale-bobs-grid { grid-template-columns:1fr; }
  .cale-bobs-panel { padding-top:12px; }
  .cale-bobs-card { padding:13px; }
}
