/* =========================================================
   Balancio – NEON SKIN (drop-in, no HTML changes)
   ✅ cleaned: removed anything that changes SIZES / LAYOUT
   - no heights, paddings, margins, widths, min-widths
   - no grid/flex layout rules
   - only colors, backgrounds, borders, shadows, typography
   ========================================================= */

:root{
  /* core */
  --bg: #0b1020;
  --panel: rgba(255,255,255,.06);
  --panel2: rgba(255,255,255,.04);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.62);
  --border: rgba(255,255,255,.10);
  --border2: rgba(255,255,255,.07);

  --primary: #60a5fa;
  --success: #34d399;
  --danger: #fb7185;

  --radius: 18px;
  --radius-sm: 14px;

  --shadow: 0 18px 40px rgba(0,0,0,.35);

  /* neon accents */
  --glow1: rgba(96,165,250,.28);
  --glow2: rgba(167,139,250,.22);
  --glow3: rgba(52,211,153,.18);
}

/* base */
html, body{ max-width:100%; overflow-x:hidden; }

body{
  background:
    radial-gradient(1000px 600px at 15% 0%, rgba(96,165,250,.22), transparent 60%),
    radial-gradient(900px 600px at 90% 15%, rgba(167,139,250,.20), transparent 60%),
    radial-gradient(900px 700px at 50% 100%, rgba(52,211,153,.12), transparent 55%),
    var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

/* links */
a{ color: var(--primary); text-decoration:none; }
a:hover{ text-decoration: underline; }

/* =========================================================
   NAVBAR (visual only)
   ========================================================= */
.navbar-blur{
  background: rgba(10,16,34,.70);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border2);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
}

.navbar-brand{
  font-weight: 900;
  letter-spacing: .2px;
  color: var(--text) !important;
}

/* brand chip helpers (visual only) */
.brand-chip{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

.brand-dot{
  background: radial-gradient(circle at 30% 30%, #fff, #60a5fa 55%, #a78bfa);
  box-shadow: 0 0 0 4px rgba(96,165,250,.14);
}

/* buttons in navbar (visual only) */
.navbar .btn{
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--text);
}
.navbar .btn:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.18);
}

.navbar .btn.btn-primary{
  background: linear-gradient(135deg, rgba(96,165,250,.95), rgba(167,139,250,.90));
  border-color: rgba(96,165,250,.55);
  color: #0b1020;
  box-shadow: 0 10px 26px rgba(96,165,250,.22);
}
.navbar .btn.btn-primary:hover{ filter: brightness(1.03); }

.navbar .btn.btn-outline-primary{ border-color: rgba(96,165,250,.45); }
.navbar .btn.btn-outline-secondary{ border-color: rgba(255,255,255,.18); }

/* selects in navbar (visual only) */
.navbar .form-select{
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
}
.navbar .form-select:focus{
  border-color: rgba(96,165,250,.55);
  box-shadow: 0 0 0 .22rem rgba(96,165,250,.16);
}

/* =========================================================
   CARDS
   ========================================================= */
.card-soft{
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.text-muted{ color: var(--muted) !important; }

/* =========================================================
   FORMS
   ========================================================= */
.form-control,
.form-select{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-sm);
  box-shadow:none;
  color: var(--text);
}
.form-control::placeholder{ color: rgba(255,255,255,.45); }

.form-control:focus,
.form-select:focus{
  border-color: rgba(96,165,250,.55);
  box-shadow: 0 0 0 .22rem rgba(96,165,250,.16);
}

/* =========================================================
   TABLES (visual only)
   ========================================================= */
.table.balancio-table thead th{
  color: rgba(255,255,255,.65);
}

.table.balancio-table tbody td{
  background: rgba(255,255,255,.06);
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.table.balancio-table tbody tr:hover td{
  background: rgba(96,165,250,.10);
}

.table.balancio-table tbody tr td:first-child{
  border-left: 1px solid rgba(255,255,255,.08);
}
.table.balancio-table tbody tr td:last-child{
  border-right: 1px solid rgba(255,255,255,.08);
}

/* table inputs (visual only) */
.table.balancio-table .form-control-sm,
.table.balancio-table .form-select-sm{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  box-shadow:none;
  color: var(--text);
}

.table.balancio-table .form-control-sm:focus,
.table.balancio-table .form-select-sm:focus{
  border-color: rgba(96,165,250,.55);
  box-shadow: 0 0 0 .18rem rgba(96,165,250,.14);
  background: rgba(255,255,255,.08);
}

.table.balancio-table input[readonly]{
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.70);
}

/* =========================================================
   ICON BUTTONS (visual only)
   ========================================================= */
.icon-btn{
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.88);
}
.icon-btn:hover{ background: rgba(255,255,255,.10); }
.icon-btn.danger{ border-color: rgba(251,113,133,.45); }

/* =========================================================
   FLAGS (visual only)
   ========================================================= */
.flag-toggle label{
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
}

.flag-toggle input:checked + label{
  background: rgba(96,165,250,.18);
  border-color: rgba(96,165,250,.45);
}

/* =========================================================
   SUMMARY TILES (visual only)
   ========================================================= */
.bal-summary__head{ border-bottom: 1px solid var(--border2); }

.bal-tile{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
  border-radius: var(--radius);
}

.bal-tile--hero{
  background: linear-gradient(135deg, rgba(96,165,250,.20), rgba(167,139,250,.16));
  border-color: rgba(96,165,250,.24);
  box-shadow: 0 22px 50px rgba(96,165,250,.18);
}

.bal-tile__value{ font-weight: 800; }

.bal-tile--hero .bal-tile__value{
  letter-spacing: .25px;
}

/* =========================================================
   TOAST (visual only)
   ========================================================= */
.toast.text-bg-dark{
  background: rgba(10,16,34,.88);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
}

/* icons font */
.bi::before{
  font-family: "bootstrap-icons" !important;
  display:inline-block;
}

/* =========================================================
   NEON FIX PATCH – visual overrides only
   ========================================================= */

/* page background + base text */
html, body{ background: transparent !important; }
body{
  color: var(--text) !important;
  background:
    radial-gradient(1000px 600px at 15% 0%, rgba(96,165,250,.22), transparent 60%),
    radial-gradient(900px 600px at 90% 15%, rgba(167,139,250,.20), transparent 60%),
    radial-gradient(900px 700px at 50% 100%, rgba(52,211,153,.12), transparent 55%),
    var(--bg) !important;
}

/* common “white surfaces” from bootstrap */
.bg-white,
.bg-light,
.bg-body,
.card,
.card-body,
.modal-content,
.dropdown-menu,
.offcanvas,
.list-group,
.list-group-item{
  background-color: rgba(255,255,255,.06) !important;
  color: var(--text) !important;
  border-color: rgba(255,255,255,.12) !important;
}

/* navbar must stay dark */
.navbar,
.navbar-blur{
  background: rgba(10,16,34,.70) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

/* muted text from bootstrap is too gray */
.text-muted,
.small,
.muted{
  color: var(--muted) !important;
}

/* forms: bootstrap loves white */
.form-control,
.form-select,
.form-control-sm,
.form-select-sm{
  background-color: rgba(255,255,255,.06) !important;
  color: var(--text) !important;
  border-color: rgba(255,255,255,.12) !important;
}

.form-control::placeholder{
  color: rgba(255,255,255,.45) !important;
}

/* tables: bootstrap sets white background + dark text */
.table,
.table thead,
.table tbody,
.table td,
.table th{
  color: var(--text) !important;
}

.table thead th{
  color: rgba(255,255,255,.65) !important;
}

/* buttons: outline buttons become unreadable in dark */
.btn{ color: var(--text); }

.btn-outline-primary{
  color: var(--text) !important;
  border-color: rgba(96,165,250,.45) !important;
  background: rgba(255,255,255,.06) !important;
}
.btn-outline-primary:hover{
  background: rgba(96,165,250,.14) !important;
  border-color: rgba(96,165,250,.60) !important;
  color: var(--text) !important;
}

.btn-outline-secondary{
  color: var(--text) !important;
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.06) !important;
}
.btn-outline-secondary:hover{
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.24) !important;
  color: var(--text) !important;
}

/* btn-primary: force readable contrast */
.btn-primary{
  background: linear-gradient(135deg, rgba(96,165,250,.95), rgba(167,139,250,.90)) !important;
  border-color: rgba(96,165,250,.55) !important;
  color: #0b1020 !important;
}

/* icons/buttons in tables */
.icon-btn{
  color: rgba(255,255,255,.90) !important;
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
}

/* last sanity: make sure base text wins */
body{ color: rgba(255,255,255,.92) !important; }
.text-muted{ color: rgba(255,255,255,.65) !important; }

/* === PATCH: fix pale background + brand chip frame === */

/* do not make body transparent (causes pale/white bleed) */
html{ background: var(--bg) !important; }
body{
  background:
    radial-gradient(1000px 600px at 15% 0%, rgba(96,165,250,.22), transparent 60%),
    radial-gradient(900px 600px at 90% 15%, rgba(167,139,250,.20), transparent 60%),
    radial-gradient(900px 700px at 50% 100%, rgba(52,211,153,.12), transparent 55%),
    var(--bg) !important;
}

/* remove the “frame” around the logo (brand chip) */
.brand-chip{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* fix: bootstrap table background variables */
.table{
  --bs-table-bg: transparent;
  --bs-table-striped-bg: rgba(255,255,255,.04);
  --bs-table-hover-bg: rgba(96,165,250,.10);
  background-color: transparent !important;
}

.table td,
.table th{
  background-color: transparent !important;
}