:root{
  --bg:#07111a;--bg2:#0d1e2d;--bg3:#122333;
  --border:#1e3a52;--border2:#264d6e;
  --azure:#2a9fd6;--azure-glow:rgba(42,159,214,.25);--azure-dim:rgba(42,159,214,.08);
  --txt:#e8f4fc;--muted:#4a7a9b;
  --win:#22c55e;--loss:#ef4444;--be:#f59e0b;--vio:#a78bfa;
}
*{box-sizing:border-box;}
html,body{overflow-x:hidden;}
body{font-family:'Manrope',sans-serif;background:var(--bg);color:var(--txt);font-size:13px;}
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}

/* TOPBAR */
.topbar{position:fixed;top:0;left:0;right:0;z-index:1030;height:58px;background:rgba(7,17,26,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1rem;}
.logo-svg{width:34px;height:34px;flex-shrink:0;}
.logo-name{font-family:'Syne',sans-serif;font-weight:800;font-size:1.05rem;}
.logo-name em{color:var(--azure);font-style:normal;}
.logo-sub{font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);}

/* SIDEBAR */
.sidebar{width:200px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);position:fixed;top:58px;bottom:0;left:0;padding:1rem 0;overflow-y:auto;}
.snav-lbl{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding:6px 16px 2px;}
.snav-sep{height:1px;background:var(--border);margin:6px 16px;}
.snav-item{display:flex;align-items:center;gap:9px;padding:9px 16px;cursor:pointer;color:var(--muted);font-weight:600;font-size:12px;border-left:2px solid transparent;transition:all .15s;text-decoration:none;}
.snav-item i{font-size:14px;width:18px;text-align:center;}
.snav-item:hover{color:var(--txt);background:var(--azure-dim);}
.snav-item.active{color:var(--azure);background:var(--azure-dim);border-left-color:var(--azure);}

/* BOTTOM NAV */
.botnav{position:fixed;bottom:0;left:0;right:0;z-index:1030;height:62px;background:rgba(7,17,26,.97);backdrop-filter:blur(12px);border-top:1px solid var(--border);display:flex;}
.bnav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;border:none;background:transparent;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-family:'Manrope',sans-serif;border-top:2px solid transparent;transition:color .15s;text-decoration:none;}
.bnav-btn i{font-size:17px;}
.bnav-btn.active{color:var(--azure);border-top-color:var(--azure);}

/* MAIN */
.main-wrap{padding-top:58px;}
@media(min-width:768px){.main-wrap{margin-left:200px;}.botnav{display:none;}body{padding-bottom:0;}}
@media(max-width:767.98px){.sidebar{display:none!important;}.main-wrap{padding-bottom:70px;}}

.ptitle{font-family:'Syne',sans-serif;font-size:1.35rem;font-weight:800;margin-bottom:1.2rem;}
.ptitle em{color:var(--azure);font-style:normal;}
.bcard{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1.2rem;margin-bottom:1.2rem;}
.bcard-title{font-family:'Syne',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border);}
.bstat{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1rem;position:relative;overflow:hidden;container-type:inline-size;}
.bstat::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--azure);opacity:.5;}
.bstat.sw::after{background:var(--win);}
.bstat.sl::after{background:var(--loss);}
.bstat.sb::after{background:var(--be);}
.slbl{font-size:8px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700;margin-bottom:4px;}
.sval{font-family:'Syne',sans-serif;font-size:clamp(.6rem,9cqw,1.4rem);font-weight:800;line-height:1.1;white-space:nowrap;overflow:hidden;width:100%;}
.sval.pos{color:var(--win);}
.sval.neg{color:var(--loss);}
.sval.vi{color:var(--vio);}
.cap-card{background:var(--bg2);border:1px solid var(--border);border-bottom:2px solid var(--vio);border-radius:8px;padding:1rem 1.2rem;overflow:hidden;container-type:inline-size;}
.fbar{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1.2rem;}

.filter-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;}
.filter-group{display:flex;flex-direction:column;}
.filter-group.w-conto,.filter-group.w-asset{width:180px;}
.filter-group.w-dir,.filter-group.w-esito{width:150px;}
.filter-group.w-date{width:150px;}

@media(max-width:767.98px){
  .filter-row{flex-direction:column;align-items:stretch;}
  .filter-group.w-conto,.filter-group.w-asset,
  .filter-group.w-dir,.filter-group.w-esito,
  .filter-group.w-date{width:100%;}
}

.form-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:4px;}

.form-control,.form-select,
.bootstrap-select .btn{
  background:var(--bg3)!important;
  border:none!important;
  color:var(--txt)!important;
  font-size:13px!important;
  font-family:'Manrope',sans-serif!important;
  border-radius:6px!important;
  height:38px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
}
.form-control{padding:0 12px!important;line-height:normal!important;}
.form-control:focus{box-shadow:0 0 0 2px var(--azure-glow)!important;outline:none!important;}

input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.7;cursor:pointer;}
input[type="date"]::-webkit-calendar-picker-indicator:hover{opacity:1;}

.btn-az{background:var(--azure);color:#fff;border:none;border-radius:6px;font-weight:700;font-size:12px;padding:0 18px;cursor:pointer;height:38px;display:inline-flex;align-items:center;gap:6px;}
.btn-gh{background:transparent;color:var(--txt);border:1px solid var(--border);border-radius:6px;font-weight:600;font-size:12px;padding:0 16px;cursor:pointer;height:38px;display:inline-flex;align-items:center;}

.btbl{width:100%;border-collapse:collapse;font-size:12px;}
.btbl th{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700;padding:8px 9px;border-bottom:1px solid var(--border);text-align:left;background:var(--bg);}
.btbl td{padding:8px 9px;border-bottom:1px solid var(--border);}
.mono{font-family:'JetBrains Mono',monospace;font-size:11px;}
.bdg{display:inline-block;font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:2px 7px;border-radius:3px;}
.bl{background:rgba(42,159,214,.15);color:var(--azure);}
.bs{background:rgba(239,68,68,.15);color:var(--loss);}
.bw{background:rgba(34,197,94,.15);color:var(--win);}
.bloss{background:rgba(239,68,68,.15);color:var(--loss);}
.bbe{background:rgba(245,158,11,.15);color:var(--be);}

.bootstrap-select{width:100%!important;}
.bootstrap-select .btn:hover,
.bootstrap-select .btn:active,
.bootstrap-select .btn:focus{background:var(--bg3)!important;color:var(--txt)!important;box-shadow:0 0 0 2px var(--azure-glow)!important;outline:none!important;}
.bootstrap-select .filter-option-inner-inner{color:var(--txt)!important;}
.bootstrap-select .bs-caret .caret{border-top-color:var(--muted)!important;}
.bootstrap-select .dropdown-menu{background:var(--bg2)!important;border:1px solid var(--border2)!important;border-radius:6px!important;padding:4px!important;}
.bootstrap-select .dropdown-menu li a{color:var(--txt)!important;font-size:12px!important;border-radius:4px;padding:6px 10px!important;}
.bootstrap-select .dropdown-menu li a:hover,
.bootstrap-select .dropdown-menu li a:focus{background:var(--azure-dim)!important;color:var(--txt)!important;}
.bootstrap-select .dropdown-menu li.selected a{background:var(--azure-dim)!important;color:var(--azure)!important;}
.bootstrap-select .dropdown-menu .notify{background:var(--bg3)!important;color:var(--muted)!important;}
.bootstrap-select .bs-searchbox{padding:4px 4px 6px;}
.bootstrap-select .bs-searchbox input.form-control{background:var(--bg3)!important;border:none!important;color:var(--txt)!important;font-size:12px!important;border-radius:4px!important;height:32px!important;}
.bootstrap-select .no-results{background:transparent!important;color:var(--muted)!important;font-size:12px!important;}
.bootstrap-select .bs-actionsbox{padding:0 4px 6px!important;border:none!important;background:transparent!important;}
.bootstrap-select .bs-actionsbox .btn-group{width:100%;display:flex;gap:4px;}
.bootstrap-select .bs-actionsbox .btn{background:transparent!important;border:1px solid var(--border)!important;color:var(--muted)!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px!important;border-radius:4px!important;flex:1;height:auto!important;}
.bootstrap-select .bs-actionsbox .btn:hover{border-color:var(--azure)!important;color:var(--azure)!important;}

.table-responsive{overflow-x:auto;}

.btn-xl{background:rgba(34,197,94,.12);color:var(--win);border:1px solid rgba(34,197,94,.25);border-radius:6px;font-weight:700;font-size:12px;padding:0 16px;cursor:pointer;height:38px;display:inline-flex;align-items:center;gap:5px;}
.btn-xl:hover{background:rgba(34,197,94,.22);}

.ch200{position:relative;height:200px;}
.ch260{position:relative;height:260px;}

.btn-silenzioso{
  background:transparent;
  color:var(--txt);
  border:1px solid var(--border);
  border-radius:6px;
  font-weight:600;
  font-size:12px;
  padding:0 16px;
  cursor:pointer;
  height:38px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:all .15s;
}
.btn-silenzioso:hover{
  border-color:var(--azure);
  color:var(--azure);
  background:var(--azure-dim);
}
.btn-silenzioso.attivo{
  background:rgba(239,68,68,.12);
  border-color:var(--loss);
  color:var(--loss);
}
.btn-silenzioso.attivo:hover{
  background:rgba(239,68,68,.22);
}