body { padding-top: 70px; padding-bottom: 75px;}
.fc { font-size: 0.92rem; }


/* niente sottolineatura sul numero giorno */
a.fc-daygrid-day-number { text-decoration: none !important; }

/* -------------------------------------------------
   TOOLTIP CUSTOM
------------------------------------------------- */
.finance-tooltip{
position: fixed;
z-index: 2147483647;
max-width: 320px;
background: rgba(0,0,0,0.88);
color: #fff;
padding: 10px 12px;
border-radius: 10px;
font-size: 12px;
line-height: 1.25;
box-shadow: 0 8px 24px rgba(0,0,0,0.25);
display: none;
pointer-events: none;
white-space: pre-line;
}

/* -------------------------------------------------
   LOADING OVERLAY
------------------------------------------------- */
.loading-overlay{
position: fixed;
inset: 0;
background: rgba(0,0,0,0.35);
display: none; /* IMPORTANT: di default nascosto */
align-items: center;
justify-content: center;
z-index: 999999;
}
.loading-box{
background: #fff;
padding: 18px 22px;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0,0,0,0.25);
text-align: center;
}

/* -------------------------------------------------
   DAYGRID: noi NON usiamo gli eventi visivi di FullCalendar
   (usiamo solo overlay nostro)
------------------------------------------------- */
/* nasconde completamente gli strati eventi/background di FullCalendar */
.fc .fc-daygrid-day-events,
.fc .fc-daygrid-day-bg {display: none !important;}

/* -------------------------------------------------
   CELLA: contenitore + overlay centrato
------------------------------------------------- */
/* frame a tutta altezza per permettere centratura */
.fc .fc-daygrid-day-frame{position: relative;height: 100%;min-height: 90px;}

/* overlay centrato */
.finance-overlay{
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
justify-content: center;  /* centro verticale */
align-items: center;      /* centro orizzontale */
text-align: center;
padding: 6px 8px;
padding-top: 16px;        /* lascia spazio al numero giorno */
background: transparent !important;
cursor: pointer;
pointer-events: auto;     /* IMPORTANT: serve per hover tooltip */
overflow: hidden;
}

/* testi overlay */
.finance-overlay .saldo{
font-size: 1.05rem;
font-weight: 800;
line-height: 1.1;
}
.finance-overlay .busta-row{
margin-top: 6px;
font-size: 0.78rem;
font-weight: 600;
}


.finance-overlay .saldo,
.finance-overlay .busta-row{
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}


.finance-overlay .note-ico{ margin-left: 6px; }

/* -------------------------------------------------
   COLORE CELLA: positivo/negativo
------------------------------------------------- */
.fc .fc-daygrid-day.has-finance-pos { background: #dff5df; } /* verde chiaro */
.fc .fc-daygrid-day.has-finance-neg { background: #f8d7da; } /* rosso chiaro */

/* evita “doppie tonalità”: qualsiasi bg-event / highlight trasparente */
.fc .fc-daygrid-day.has-finance-pos .fc-bg-event,
.fc .fc-daygrid-day.has-finance-pos .fc-highlight,
.fc .fc-daygrid-day.has-finance-pos .fc-daygrid-bg-harness,
.fc .fc-daygrid-day.has-finance-pos .fc-daygrid-event-harness,
.fc .fc-daygrid-day.has-finance-pos .fc-daygrid-event,
.fc .fc-daygrid-day.has-finance-neg .fc-bg-event,
.fc .fc-daygrid-day.has-finance-neg .fc-highlight,
.fc .fc-daygrid-day.has-finance-neg .fc-daygrid-bg-harness,
.fc .fc-daygrid-day.has-finance-neg .fc-daygrid-event-harness,
.fc .fc-daygrid-day.has-finance-neg .fc-daygrid-event {background: transparent !important; border-color: transparent !important;}


/* mese: testo più compatto per evitare overflow */
.fc-dayGridMonth-view .finance-overlay .saldo{font-size: 0.95rem;}
.fc-dayGridMonth-view .finance-overlay .busta-row{ font-size: 0.72rem;}
.fc-dayGridMonth-view .finance-overlay{ padding: 4px 6px;}


.fc-daygrid-day.has-finance-extra {background-color: var(--bs-primary-bg-subtle) !important;}
.fc-daygrid-day.has-finance-extra .fc-daygrid-day-frame {background-color: transparent !important;}
.fc-daygrid-day.has-finance-extra .extra-only-label {
display: inline-block;
font-size: 0.80rem;
font-weight: 600;
color: var(--bs-primary-text-emphasis);
background: transparent;
padding: 2px 6px;
border-radius: 6px;
margin-top: 2px;
}


.note-btn{
border: 0;
background: transparent;
padding: 4px 8px;
margin-left: 6px;
border-radius: 10px;
font-size: 16px;
line-height: 1;
}
.note-btn:active{background: rgba(0,0,0,0.08);}

.add-btn{
position: absolute;
right: 6px;
bottom: 6px;
width: 32px;
height: 32px;
border-radius: 999px;
border: 0;
background: rgba(255,255,255,0.92);
box-shadow: 0 2px 8px rgba(0,0,0,0.18);
font-size: 20px;
font-weight: 700;
line-height: 32px;
text-align: center;
}

.add-btn:active{ transform: scale(0.95); }

.details-btn{
background: transparent;
/*box-shadow: 0 2px 6px rgba(0,0,0,0.15);*/
border: 0;
padding: 6px 10px;
border-radius: 10px;
font-size: 22px;
font-weight: 600;
}
.details-btn:active{transform: scale(0.96);}

/* offcanvas dettagli più alto */
#detailsCanvas.offcanvas-bottom{
height: 75vh;          /* puoi mettere 70vh / 80vh */
max-height: 85vh;
}


#mobileCalBar{
position: fixed;
  left: 0;
right: 0;
bottom: 0;
z-index: 999999;
background: #fff;
border-top: 1px solid rgba(0,0,0,0.12);
padding: 10px 12px;
}

.subscription-box{min-width: 180px;}
.subscription-box .progress{
background-color:#e9ecef;
border-radius:20px;
overflow:hidden;
}

.subscription-box .progress-bar{transition: width .4s ease;}

.chart-wrap{
position: relative;
width: 100%;
height: 260px;           /* desktop */
}


/* -------------------------------------------------
   MOBILE
------------------------------------------------- */

/* Desktop: mostra il + solo al passaggio del mouse */
@media (min-width: 769px){
.add-btn{ opacity: 0; pointer-events: none; }
.fc-daygrid-day:hover .add-btn{ opacity: 1; pointer-events: auto; }
}



@media (max-width: 768px){
#exportBar a{ flex: 1 1 auto; }
.card .h4 { font-size: 1.15rem; }
body { padding-bottom: 72px; } /* spazio per non coprire contenuti */
.set_locale{margin-bottom:5px}
.fc { font-size: 0.82rem; }
.fc .fc-toolbar-title { font-size: 1rem; }
.fc .fc-daygrid-day-number { font-size: 0.8rem; }
.finance-overlay .saldo { font-size: 0.9rem; }
.fc .fc-daygrid-day-frame { min-height: 55px; }
  
#detailsCanvas.offcanvas-bottom{height: 80vh;max-height: 80vh;}

/* lascia spazio alla toolbar fissa in basso */
.modal-dialog{margin-bottom: 85px !important;} /* uguale o poco più della tua toolbar */
/* in caso di modale lungo, mantieni footer sempre visibile */
.modal-content{max-height: calc(100vh - 110px);display: flex;flex-direction: column;}
.modal-body{overflow: auto;}
.subscription-box .small{ font-size:11px;  }
.chart-wrap{height: 320px; }        /* mobile: più spazio */
}


@media (max-width: 1200px){
.fc-dayGridMonth-view .finance-overlay .busta-row{display:none;}
}
