/* Solstitium v35.2 - Compact UI polish
   Obiettivo: ridurre leggermente font, spaziature e densità visiva senza cambiare logica. */
:root{
  --sol-font-body: 14px;
  --sol-font-small: 12px;
  --sol-font-mini: 11px;
  --sol-radius-compact: 10px;
}

html{font-size:14px;}
body{
  font-size:var(--sol-font-body);
  line-height:1.42;
}

/* Header più compatto */
.site-header{padding-top:8px;padding-bottom:8px;}
.header-inner{gap:12px;}
.brand-logo{max-height:58px;}
.brand-main,
.brand-title h1{
  font-size:clamp(22px,2.4vw,34px)!important;
  letter-spacing:.08em;
  line-height:1.05;
}
.brand-sub{font-size:12px;}
.brand-datetime{font-size:12px;}
.sol-weather-widget{padding:8px 10px;min-width:122px;}
.sol-weather-temp{font-size:18px;}
.sol-weather-desc,.sol-weather-hint{font-size:11px;}
.lux-badge-supabase{font-size:11px;padding:6px 9px;}

/* Navigazione: più bottoni in una riga, meno effetto “cartellone” */
.command-bar{padding:8px 10px;}
.command-row{gap:7px;}
.cmd-btn{
  min-height:34px;
  padding:7px 10px!important;
  border-radius:999px;
  font-size:12px!important;
  line-height:1.15;
  white-space:nowrap;
}

/* Contenitori e sezioni */
.main-content{padding-top:14px;}
.container{max-width:1360px;}
.view h2,
.section-title,
.panel-title{
  font-size:clamp(19px,1.8vw,26px)!important;
  line-height:1.15;
}
.view h3,
.card h3,
.panel h3{
  font-size:clamp(16px,1.35vw,20px)!important;
  line-height:1.18;
}
.view p,.card p,.panel p{font-size:13px;}

/* Card dashboard e pannelli */
.card,.panel,.glass-card,
.sol-v22-panel,
.sol-service-hero,
.sol-strip-card,
.sol-action-card,
.stat-card,
.kpi-card,
.metric-card{
  border-radius:var(--sol-radius-compact)!important;
}
.card,.panel,.glass-card,
.sol-v22-panel{
  padding:14px!important;
}
.sol-service-hero{
  padding:18px!important;
  gap:14px!important;
}
.sol-service-copy h2{font-size:clamp(24px,2.5vw,38px)!important;}
.sol-service-copy p{font-size:13px;}
.sol-eyebrow{font-size:11px;}
.sol-service-actions{gap:10px!important;}
.sol-action-card{
  padding:12px!important;
  min-height:auto!important;
}
.sol-action-card span{font-size:20px!important;}
.sol-action-card strong{font-size:13px!important;}
.sol-action-card small{font-size:11px!important;}
.sol-service-strip{gap:9px!important;margin:12px 0!important;}
.sol-strip-card{padding:11px 12px!important;}
.sol-strip-card span,.sol-strip-card small{font-size:11px!important;}
.sol-strip-card strong{font-size:22px!important;line-height:1.05;}

/* Tabelle e liste */
table{font-size:12.5px;}
th,td{padding:8px 9px!important;}
.sol-v35-table th,.sol-v35-table td{padding:8px 9px!important;}
.sol-v35-table{min-width:760px;}
.table-wrapper,.sol-v35-table-scroll{border-radius:10px;}
.sol-v35-status{font-size:11px;min-height:24px;padding:3px 8px;}
.sol-v35-mini-list div,.sol-v35-rank{padding:8px 9px;}

/* Form: più leggibili e meno ingombranti */
label{font-size:12px!important;}
input,select,textarea,button{
  font-size:13px;
}
input,select,textarea{
  min-height:38px;
  padding:8px 10px!important;
}
textarea{min-height:82px;}
.form-group{gap:5px;margin-bottom:10px!important;}
.btn,.btn-primary,.btn-secondary,
button[type="submit"]{
  min-height:38px;
  padding:8px 12px!important;
  font-size:13px!important;
}

/* Check-in, gestione, storico e analytics */
.checkin-kpi-row,
.sol-checkin-kpi-row,
.analytics-grid,
.sol-v35-stats-grid,
.sol-v35-area-grid{
  gap:10px!important;
}
.checkin-card,
.sol-checkin-card,
.analytics-card,
.gestione-card{
  padding:12px!important;
}
.sol-v35-area-card,.sol-v35-stats-grid>div{padding:10px!important;}
.sol-v35-area-card strong,.sol-v35-stats-grid strong{font-size:18px;}
.sol-v35-area-card span,.sol-v35-stats-grid span{font-size:11px;}
.sol-v35-datebar{padding:10px;margin:10px 0 14px;gap:8px;}
.sol-v35-datebar strong{font-size:13px;}
.sol-v35-datebar input,.sol-v35-datebar button,.sol-v35-small-btn,.sol-v35-row-btn{
  min-height:36px;
  padding:7px 10px;
  font-size:12px;
}
.sol-v35-week-schema{gap:7px;}
.sol-v35-week-day{padding:9px;}
.sol-v35-week-day span{font-size:11px;}
.sol-v35-week-day b{font-size:16px;}

/* Plantina: comandi e pannelli più snelli */
.plantina-toolbar,
.table-toolbar,
.plantina-actions{
  gap:8px!important;
}
.plantina-toolbar button,
.table-toolbar button,
.plantina-actions button{
  min-height:36px;
  padding:7px 10px!important;
  font-size:12px!important;
}
.table-card,.table-detail,.table-popup{
  font-size:12.5px;
}

/* Modal e popup */
.modal-content,.popup-content,.dialog-content{
  max-width:min(920px,94vw);
  padding:16px!important;
  border-radius:12px!important;
}
.modal-content h2,.popup-content h2{font-size:20px!important;}

/* Mobile: compatto ma ancora touch-friendly */
@media (max-width: 760px){
  html{font-size:13px;}
  body{font-size:13px;}
  .site-header{padding:6px 8px;}
  .header-inner{gap:8px;}
  .brand-logo{max-height:46px;}
  .brand-main,.brand-title h1{font-size:19px!important;letter-spacing:.05em;}
  .brand-sub,.brand-datetime{font-size:11px;}
  .sol-weather-widget{min-width:0;padding:6px 8px;}
  .sol-weather-temp{font-size:16px;}
  .command-bar{padding:7px 8px;}
  .command-row{
    gap:6px;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    padding-bottom:3px;
  }
  .cmd-btn{
    min-height:36px;
    padding:8px 10px!important;
    font-size:12px!important;
  }
  .main-content{padding:10px 8px!important;}
  .container{padding-left:0!important;padding-right:0!important;}
  .card,.panel,.glass-card,.sol-v22-panel{padding:12px!important;}
  .sol-service-hero{padding:14px!important;}
  .sol-service-actions{grid-template-columns:1fr 1fr!important;}
  .sol-action-card{padding:10px!important;}
  .sol-strip-card strong{font-size:20px!important;}
  input,select,textarea{font-size:13px;min-height:40px;}
  .btn,.btn-primary,.btn-secondary,button[type="submit"]{min-height:40px;}
}

@media (max-width: 430px){
  .sol-service-actions{grid-template-columns:1fr!important;}
  .brand-main,.brand-title h1{font-size:17px!important;}
  .cmd-btn{font-size:11.5px!important;}
}
