#cu-runtime-updates, .cu-panel, .cu-balance-strip, .cu-modal { box-sizing: border-box; }
.cu-updates-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:16px; margin:16px 0; }
.cu-panel { background:linear-gradient(180deg,rgba(12,27,43,.98),rgba(7,18,31,.98)); border:1px solid rgba(105,164,224,.18); border-radius:18px; padding:18px; box-shadow:0 14px 35px rgba(0,0,0,.18); }
.cu-panel-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:14px; }
.cu-panel h2 { margin:2px 0 0; font-size:18px; line-height:1.25; color:#f6f9fc; }
.cu-kicker { font-size:11px; letter-spacing:.12em; color:#67b6ff; font-weight:800; }
.cu-muted { color:#8fa6bb; line-height:1.45; }
.cu-status { font-size:12px; font-weight:800; border-radius:999px; padding:6px 10px; border:1px solid rgba(255,255,255,.12); color:#aebdcb; white-space:nowrap; }
.cu-status.running { color:#66e3a4; border-color:rgba(102,227,164,.35); background:rgba(31,162,103,.09); }
.cu-status.paused { color:#ffd46d; border-color:rgba(255,212,109,.35); background:rgba(200,148,23,.08); }
.cu-status.finished { color:#85bfff; border-color:rgba(133,191,255,.3); background:rgba(68,137,214,.08); }
.cu-timer-time { font-variant-numeric:tabular-nums; font-size:clamp(36px,5vw,56px); line-height:1; font-weight:900; letter-spacing:.02em; color:#fff; margin:16px 0 8px; }
.cu-timer-meta { color:#a6bbce; margin-bottom:16px; }
.cu-timer-actions { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0; }
.cu-btn { min-height:42px; border-radius:11px; padding:0 14px; border:1px solid transparent; font-weight:800; cursor:pointer; transition:.15s ease; }
.cu-btn:hover { transform:translateY(-1px); }
.cu-btn:disabled, .cu-busy .cu-btn { opacity:.55; cursor:wait; transform:none; }
.cu-btn.primary { color:#fff; background:#1976d2; border-color:#2c8be5; }
.cu-btn.secondary { color:#dbe9f6; background:#0c2135; border-color:#29465f; }
.cu-btn.danger { color:#ffd8de; background:#35131a; border-color:#7f2b3b; }
.cu-cash-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cu-stat { background:rgba(3,11,19,.55); border:1px solid rgba(127,164,196,.13); border-radius:14px; padding:13px; min-width:0; }
.cu-stat span { display:block; color:#94aabc; font-size:12px; line-height:1.25; min-height:31px; }
.cu-stat strong { display:block; margin-top:7px; font-size:19px; color:#f8fbff; overflow-wrap:anywhere; }
.cu-stat.good strong { color:#68e3a6; }
.cu-stat.danger strong { color:#ff7f91; }
.cu-cash-note { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:#7f97aa; font-size:11px; margin-top:12px; }
.cu-balance-strip { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:12px; padding:16px; margin-top:16px; background:rgba(8,22,35,.92); border:1px solid rgba(99,154,204,.16); border-radius:16px; }
.cu-balance-strip div { min-width:0; }
.cu-balance-strip span { display:block; font-size:12px; color:#8fa6bb; }
.cu-balance-strip strong { display:block; margin-top:3px; font-size:18px; color:#f5f9fc; }
.cu-balance-strip b { color:#5c7890; }
.cu-balance-strip .cu-good strong { color:#68e3a6; }
.cu-balance-strip .cu-bad strong { color:#ff7f91; }
.cu-loading { color:#8fa6bb; }
.cu-modal { position:fixed; inset:0; z-index:99999; display:none; place-items:center; padding:18px; background:rgba(0,0,0,.68); backdrop-filter:blur(5px); }
.cu-modal.open { display:grid; }
.cu-modal-card { width:min(100%,470px); position:relative; background:#081725; border:1px solid #27445d; border-radius:18px; padding:22px; box-shadow:0 24px 70px rgba(0,0,0,.48); }
.cu-modal-card h2 { margin:3px 0 6px; color:#fff; font-size:23px; }
.cu-modal-close { position:absolute; right:12px; top:10px; width:36px; height:36px; border-radius:50%; border:1px solid #2a465d; background:#0c2135; color:#fff; font-size:24px; cursor:pointer; }
.cu-label { display:block; margin-top:14px; color:#a9bdd0; font-size:13px; font-weight:700; }
.cu-input { width:100%; min-height:46px; margin-top:6px; padding:0 12px; border-radius:10px; border:1px solid #294760; background:#06111d; color:#fff; outline:none; }
.cu-input:focus { border-color:#318ee6; box-shadow:0 0 0 3px rgba(49,142,230,.14); }
.cu-modal-card .cu-btn { width:100%; margin-top:18px; }
.cu-toast { position:fixed; left:50%; bottom:90px; z-index:100000; transform:translate(-50%,18px); max-width:min(92vw,520px); padding:12px 16px; border-radius:12px; background:#10263a; color:#fff; border:1px solid #31526c; opacity:0; pointer-events:none; transition:.2s ease; box-shadow:0 14px 40px rgba(0,0,0,.3); text-align:center; font-weight:700; }
.cu-toast.show { opacity:1; transform:translate(-50%,0); }
.cu-toast.ok { border-color:#2d805b; }
.cu-toast.err { border-color:#a23d50; }
@media (max-width: 900px) {
  .cu-updates-grid { grid-template-columns:1fr; }
  .cu-cash-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .cu-updates-grid { gap:12px; margin:12px 0; }
  .cu-panel { padding:15px; border-radius:15px; }
  .cu-panel-head { align-items:center; }
  .cu-panel-head h2 { font-size:16px; }
  .cu-cash-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .cu-stat { padding:11px; }
  .cu-stat span { min-height:30px; font-size:11px; }
  .cu-stat strong { font-size:16px; }
  .cu-timer-time { font-size:43px; }
  .cu-timer-actions .cu-btn { flex:1 1 120px; }
  .cu-balance-strip { grid-template-columns:1fr; gap:8px; }
  .cu-balance-strip > b { display:none; }
  .cu-balance-strip div { display:flex; justify-content:space-between; align-items:center; gap:12px; }
  .cu-balance-strip strong { margin-top:0; font-size:16px; }
  .cu-toast { bottom:82px; }
}

/* v3: resumo mensal do caixa */
.cu-balance-strip { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.cu-balance-strip > div:not(.cu-strip-note) { background:rgba(3,11,19,.38); border:1px solid rgba(127,164,196,.10); border-radius:12px; padding:11px 12px; }
.cu-balance-strip .cu-strip-note { grid-column:1 / -1; padding-top:2px; }
.cu-balance-strip .cu-strip-note span { color:#7f97aa; font-size:11px; }
@media (max-width: 900px) {
  .cu-balance-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .cu-balance-strip { grid-template-columns:1fr; }
  .cu-balance-strip > div:not(.cu-strip-note) { display:flex; justify-content:space-between; align-items:center; gap:12px; }
  .cu-balance-strip .cu-strip-note { display:block; }
}
