
/* Solid white cards */
#goc-root .glass-effect,
#goc-root .stat-card,
#goc-root .record-card { background:#fff !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; border:1px solid rgba(0,0,0,.06) !important; }
#goc-root .card-shadow { box-shadow: 0 8px 24px rgba(0,0,0,.08); }

/* Pill buttons */
#goc-root button, #goc-root .btn-primary, #goc-root .btn-secondary { border-radius:100px !important; }

/* Delete buttons */
#goc-root .btn-danger { color:#fff !important; background:#ef4444 !important; border-radius:100px !important; padding:10px 10px !important; border:1px solid rgba(0,0,0,.05); }
#goc-root .btn-danger:hover { background:#dc2626 !important; }

/* Nav menu style */
#goc-root nav { background: transparent !important; border-bottom: 1px solid rgba(0,0,0,.06) !important; }
#goc-root .nav-wrap { width:100%; }
#goc-root .nav-scroll { display:flex !important; flex-wrap:wrap !important; gap:.5rem .75rem !important; width:100% !important; }
#goc-root .nav-btn { background:transparent !important; color:#374151 !important; border:0 !important; padding:.7rem 1rem !important; position:relative !important; box-shadow:none !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:.5rem; min-height:44px; }
#goc-root .nav-btn::after{ content:''; position:absolute; left:.75rem; right:.75rem; bottom:.15rem; height:2px; background:transparent; border-radius:2px; transform:scaleX(0); transform-origin:left; transition:transform .25s ease, background-color .25s ease; }
#goc-root .nav-btn:hover::after{ background: rgba(55,65,81,.5); transform:scaleX(1); }
#goc-root .nav-btn.active{ color:#111827 !important; }
#goc-root .nav-btn.active::after{ background: linear-gradient(90deg,#667eea 0%,#764ba2 100%); transform:scaleX(1); }

/* Mobile nav: icons only, label only on active */



@media (max-width:768px){
  #goc-root #reset-data-btn { display:none !important; }
  #goc-root #app-title { font-size:1.125rem !important; }
  #goc-root #company-name { font-size:.75rem !important; }
  /* Hide labels by default, show only on active */
  #goc-root .nav-btn > span > span:last-child { display:none !important; }
  #goc-root .nav-btn.active > span > span:last-child { display:inline !important; }
  /* Force one-row, no wrap */
  #goc-root .nav-scroll{ display:flex !important; flex-wrap:nowrap !important; gap:0 !important; }
  /* 5 icons perfectly fitting */
  #goc-root .nav-scroll .nav-btn{ flex:0 0 20% !important; max-width:20% !important; text-align:center; font-size:.9rem !important; padding:.55rem .1rem !important; box-sizing:border-box !important; }
}
@media (max-width:480px){
  #goc-root .nav-scroll .nav-btn{ flex:0 0 20% !important; max-width:20% !important; }
}

}

}

}

/* Horizontal scroll areas */
#goc-root .table-responsive{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
#goc-root .h-row { min-width: 640px; }
@media (max-width:640px){ #goc-root .h-row { min-width: 560px; } }

/* Prevent dashboard activity from overflowing on mobile */
#goc-root #recent-activity { overflow: hidden; }
#goc-root #recent-activity .record-card,
#goc-root #recent-activity .h-row { min-width: 0 !important; width: 100% !important; }


/* === GFX ONLY: Improve 'Ore Registrate' visual separation & mobile behavior === */
#goc-root #hours-list{ display:grid; gap:.75rem; }
#goc-root #hours-list > div{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
}
#goc-root #hours-list > div .text-sm{ line-height:1.4; }
#goc-root #hours-list > div .bg-gray-50{ background:#f9fafb; border-radius:12px; }

/* Avoid overflow of the first row content */
#goc-root #hours-list > div > .flex{ flex-wrap:wrap; gap:.5rem .75rem; }
#goc-root #hours-list > div > .flex .flex.items-center.gap-4.text-sm{ flex-wrap:wrap; gap:.35rem .6rem; }
#goc-root #hours-list > div .text-gray-700, 
#goc-root #hours-list > div .text-gray-600, 
#goc-root #hours-list > div .font-medium{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Mobile stacking: actions on new line, keep inside screen */
@media (max-width:768px){
  #goc-root #hours-list > div > .flex{ flex-direction:column; align-items:flex-start; }
  #goc-root #hours-list > div > .flex > .text-sm{ width:100%; }
  #goc-root #hours-list > div > .flex > button,
  #goc-root #hours-list > div .hours-actions,
  #goc-root #hours-list > div [data-del-hour]{ align-self:flex-end; }
  #goc-root #hours-list > div .bg-gray-50{ margin-top:.5rem; }
}

/* Ensure Dashboard 'Attività del Mese' never overflows */
#goc-root #recent-activity{ overflow:hidden; }
#goc-root #recent-activity .record-card, 
#goc-root #recent-activity .h-row{ min-width:0 !important; width:100% !important; }

/* Keep nav to one row, five icons (already in 1.3.5, reinforce here) */
@media (max-width:768px){
  #goc-root .nav-scroll{ display:flex !important; flex-wrap:nowrap !important; gap:0 !important; }
  #goc-root .nav-scroll .nav-btn{ flex:0 0 20% !important; max-width:20% !important; padding:.55rem .1rem !important; }
  #goc-root .nav-btn > span > span:last-child { display:none !important; }
  #goc-root .nav-btn.active > span > span:last-child { display:inline !important; }
}


/* === GFX2: Prevent overflow in 'Ore registrate' and 'Analisi' === */

/* Main content slightly darker gradient to detach from header/footer */
#goc-root main{
  background: linear-gradient(135deg, #eceff4 0%, #d7dde7 100%) !important;
  border-top: 1px solid rgba(0,0,0,.03);
}

/* ORE REGISTRATE: keep inside viewport */
#goc-root #hours-list{ overflow:hidden; }
#goc-root #hours-list > div{
  max-width:100%;
  overflow:hidden;
}
#goc-root #hours-list > div *{ min-width:0; }
#goc-root #hours-list > div > .flex{ flex-wrap:wrap; gap:.5rem .75rem; }
#goc-root #hours-list > div > .flex .flex.items-center.gap-4.text-sm{
  flex-wrap:wrap;
  gap:.35rem .6rem;
}
#goc-root #hours-list .font-medium,
#goc-root #hours-list .text-gray-700,
#goc-root #hours-list .text-gray-600{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  word-break:break-word;
}
#goc-root #hours-list .bg-gray-50{ word-break:break-word; }

@media (max-width:768px){
  #goc-root #hours-list > div > .flex{ flex-direction:column; align-items:flex-start; }
  #goc-root #hours-list [data-del-hour]{ align-self:flex-end; }
  #goc-root #hours-list .bg-gray-50{ width:100%; margin-top:.5rem; }
}

/* ANALISI: cards and rows should never overflow */
#goc-root #analytics-results{ overflow:hidden; }
#goc-root #analytics-results .space-y-3 > div,
#goc-root #analytics-results .p-4,
#goc-root #analytics-results .p-3{ max-width:100%; overflow:hidden; }
#goc-root #analytics-results .h-row{ min-width:0 !important; width:100% !important; }
#goc-root #analytics-results .text-gray-900,
#goc-root #analytics-results .text-gray-500,
#goc-root #analytics-results .text-gray-700{ word-break:break-word; }
