/* ============================================================
   SOLSTITIUM APP — v30 Mobile reale + Print/Export polish
   Base: v29. Non cambia logiche Supabase: sistema layout, mobile,
   stampa leggibile e hub esportazioni.
   ============================================================ */
:root{
  --sol-v30-bg:#050604;
  --sol-v30-panel:#10100c;
  --sol-v30-panel-2:#17150e;
  --sol-v30-border:rgba(212,175,55,.25);
  --sol-v30-border-strong:rgba(212,175,55,.46);
  --sol-v30-gold:#d7b64c;
  --sol-v30-gold-soft:#f3e7b5;
  --sol-v30-muted:#b6ad91;
  --sol-v30-danger:#e35b52;
  --sol-v30-ok:#56c780;
  --sol-v30-warn:#f0b950;
  --sol-v30-radius:22px;
}

html,body{max-width:100%;overflow-x:hidden!important;background:var(--sol-v30-bg)!important;}
*{box-sizing:border-box;}
#app{min-height:100dvh;background:radial-gradient(circle at 30% 0%,rgba(212,175,55,.075),transparent 34%),var(--sol-v30-bg)!important;}
main, .view, .view-section{max-width:100%;}
.view.active,.view-section.active{display:block!important;}
.view[hidden],.view-section[hidden]{display:none!important;}
.container,.sol-v12-page,.sol-v29-page,#eventi,#plantina-interattiva,#archivio-menu,#analytics,#gestione,#clienti,#check-in,#prenotazioni{width:min(1220px,calc(100vw - 32px));margin-inline:auto;}

/* Header meno invasivo su desktop, molto più controllato su mobile */
.site-header{position:relative!important;z-index:80!important;border-bottom:1px solid var(--sol-v30-border)!important;background:linear-gradient(180deg,rgba(7,7,5,.98),rgba(7,7,5,.88))!important;}
.header-inner{width:min(1220px,calc(100vw - 28px));margin:auto!important;display:grid!important;grid-template-columns:minmax(160px,250px) minmax(260px,1fr) auto minmax(130px,190px)!important;align-items:center!important;gap:18px!important;min-height:86px!important;padding:8px 0!important;}
.brand-logo{max-width:230px!important;max-height:66px!important;object-fit:contain!important;}
.brand-title{text-align:center!important;min-width:0!important;}
.brand-main{font-size:clamp(28px,3vw,42px)!important;line-height:1!important;letter-spacing:.17em!important;white-space:normal!important;}
.brand-sub{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:100%!important;}
.brand-datetime{font-size:12px!important;display:flex!important;gap:12px!important;justify-content:center!important;flex-wrap:wrap!important;}
.lux-badge-supabase{justify-self:end!important;white-space:nowrap!important;}
.sol-weather-widget{justify-self:end!important;min-width:150px!important;max-width:190px!important;}

.command-bar{position:sticky!important;top:0!important;z-index:70!important;width:100%!important;border-bottom:1px solid var(--sol-v30-border)!important;background:rgba(5,6,4,.92)!important;backdrop-filter:blur(14px)!important;box-shadow:0 12px 34px rgba(0,0,0,.22)!important;}
.command-inner{width:min(1220px,calc(100vw - 32px));margin:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;flex-wrap:wrap!important;padding:12px 0!important;}
.cmd-btn{min-height:38px!important;padding:8px 16px!important;border-radius:999px!important;font-size:14px!important;line-height:1!important;white-space:nowrap!important;}

/* Dashboard: stessa sostanza, impaginazione più ordinata e meno colonna infinita */
#dashboard .container{padding-block:28px 44px!important;}
.sol-service-hero{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;gap:18px!important;align-items:stretch!important;padding:26px!important;border-radius:28px!important;background:linear-gradient(135deg,rgba(36,33,20,.92),rgba(12,12,9,.98))!important;}
.sol-service-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:160px!important;}
.sol-service-copy h2{font-size:clamp(38px,5vw,68px)!important;line-height:.96!important;margin:10px 0!important;}
.sol-service-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.sol-action-card{min-height:118px!important;padding:18px!important;border-radius:20px!important;background:linear-gradient(180deg,rgba(31,29,20,.94),rgba(13,13,10,.98))!important;border:1px solid var(--sol-v30-border)!important;}
.sol-action-card strong{font-size:15px!important;line-height:1.08!important;}
.sol-action-card small{font-size:11px!important;line-height:1.35!important;color:var(--sol-v30-muted)!important;}
.sol-service-strip,.status-grid,.kpi-grid,.panel-grid{gap:12px!important;}
.sol-strip-card,.status-card,.kpi-card,.panel{background:linear-gradient(180deg,rgba(22,21,15,.94),rgba(10,10,8,.96))!important;border:1px solid rgba(212,175,55,.22)!important;border-radius:16px!important;}
#contatori-area{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}

/* Plantina desktop: torna vera schermata tavoli, con mappa a sinistra e dettagli a destra */
#plantina-interattiva{padding-block:28px 48px!important;}
.sol-plantina-hero{width:min(1220px,100%)!important;margin:0 auto 18px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,380px)!important;gap:20px!important;padding:26px!important;border-radius:28px!important;background:linear-gradient(135deg,rgba(22,21,15,.96),rgba(8,8,6,.98))!important;border:1px solid var(--sol-v30-border)!important;}
.sol-plantina-hero h2{font-size:clamp(40px,4.6vw,62px)!important;line-height:.95!important;margin:.15em 0!important;}
.sol-plantina-layout{width:min(1220px,100%)!important;margin-inline:auto!important;display:grid!important;grid-template-columns:minmax(760px,880px) minmax(320px,1fr)!important;gap:18px!important;align-items:start!important;overflow:visible!important;}
#plantina-interactive-container{position:relative!important;width:100%!important;min-width:0!important;height:620px!important;min-height:620px!important;overflow:auto!important;border-radius:24px!important;border:1px solid var(--sol-v30-border-strong)!important;background:linear-gradient(135deg,rgba(12,14,10,.98),rgba(6,7,6,.98))!important;}
#plantina-toolbar{position:sticky!important;top:0!important;z-index:60!important;display:flex!important;gap:8px!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding:12px!important;background:rgba(7,8,6,.92)!important;backdrop-filter:blur(12px)!important;border-bottom:1px solid rgba(212,175,55,.18)!important;}
.plantina-btn{min-height:36px!important;padding:8px 13px!important;border-radius:999px!important;font-size:12px!important;white-space:nowrap!important;}
#plantina-canvas{position:absolute!important;top:50px!important;left:0!important;width:900px!important;height:570px!important;min-width:900px!important;min-height:570px!important;}
#plantina-interactive-container > div[style*="pointer-events:none"]{transform-origin:top left!important;}
#plantina-interactive-container::-webkit-scrollbar{width:10px;height:10px;}
#plantina-interactive-container::-webkit-scrollbar-thumb{background:rgba(212,175,55,.45);border-radius:999px;}
#plantina-interactive-container::-webkit-scrollbar-track{background:rgba(255,255,255,.05);}
#plantina-interattiva .sol-plantina-layout > div:last-child{display:flex!important;flex-direction:column!important;gap:16px!important;min-width:0!important;}
#tavolo-interactive-detail,#lista-attesa-panel{border-radius:18px!important;background:linear-gradient(180deg,rgba(18,17,12,.98),rgba(7,7,5,.98))!important;border:1px solid var(--sol-v30-border)!important;color:var(--sol-v30-gold-soft)!important;}
.tavolo-elem{display:flex!important;align-items:center!important;justify-content:center!important;border-radius:14px!important;font-weight:800!important;font-size:13px!important;color:#201a09!important;text-shadow:none!important;box-shadow:0 9px 20px rgba(0,0,0,.35),inset 0 2px 4px rgba(255,255,255,.45)!important;}
.tavolo-elem::after{content:'';position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-radius:999px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.25);}

/* Eventi: form più leggibile, senza popup alto/spezzato */
#modal-evento.lux-modal-backdrop:not(.closed){position:fixed!important;inset:0!important;z-index:5000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;background:rgba(0,0,0,.76)!important;backdrop-filter:blur(10px)!important;}
#modal-evento .lux-modal{width:min(980px,calc(100vw - 32px))!important;max-height:min(86dvh,820px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:26px!important;background:linear-gradient(180deg,rgba(17,16,12,.98),rgba(5,5,4,.98))!important;border:1px solid var(--sol-v30-border-strong)!important;}
#modal-evento .modal-head{flex:0 0 auto!important;}
#modal-evento .lux-form-eventi{flex:1 1 auto!important;overflow:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px 18px!important;padding:20px!important;}
#modal-evento .lux-form-eventi .form-section{grid-column:1 / -1!important;}
#modal-evento .modal-actions{position:sticky!important;bottom:0!important;z-index:3!important;grid-column:1 / -1!important;display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;padding:12px 0 0!important;background:linear-gradient(180deg,transparent,rgba(5,5,4,.98) 28%)!important;}
#modal-evento .modal-actions .btn{min-height:48px!important;}

/* Meteo: popup sempre leggibile e stampabile mentalmente */
body.sol-v30-weather-open{overflow:hidden!important;}
#weather-backdrop:not(.hidden){position:fixed!important;inset:0!important;z-index:4800!important;background:rgba(0,0,0,.62)!important;backdrop-filter:blur(8px)!important;display:block!important;}
#weather-dropdown:not(.hidden){position:fixed!important;z-index:4810!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(720px,calc(100vw - 28px))!important;max-height:min(78dvh,620px)!important;overflow:auto!important;border-radius:26px!important;background:linear-gradient(180deg,rgba(17,16,12,.99),rgba(7,7,5,.99))!important;border:1px solid var(--sol-v30-border-strong)!important;box-shadow:0 30px 90px rgba(0,0,0,.6)!important;padding:22px!important;}
#weather-dropdown .forecast-row{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))!important;gap:10px!important;}
#weather-dropdown .forecast-box{min-height:116px!important;border-radius:16px!important;}

/* Hub esportazioni */
.sol-v30-export-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;}
.sol-v30-export-card{border:1px solid var(--sol-v30-border);border-radius:18px;padding:16px;background:linear-gradient(180deg,rgba(24,22,15,.96),rgba(8,8,6,.98));}
.sol-v30-export-card h3{margin:0 0 6px;color:var(--sol-v30-gold-soft);font-size:16px;}
.sol-v30-export-card p{margin:0 0 12px;color:var(--sol-v30-muted);font-size:12px;line-height:1.35;}
.sol-v30-export-card .btn{width:100%;margin-top:6px;}
.sol-v30-modal{position:fixed;inset:0;z-index:6000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);}
.sol-v30-modal.open{display:flex;}
.sol-v30-modal-card{width:min(760px,calc(100vw - 24px));max-height:86dvh;overflow:auto;border-radius:26px;border:1px solid var(--sol-v30-border-strong);background:linear-gradient(180deg,rgba(19,18,13,.99),rgba(6,6,5,.99));box-shadow:0 26px 90px rgba(0,0,0,.6);padding:22px;}
.sol-v30-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;}
.sol-v30-modal-head h2{margin:0;color:var(--sol-v30-gold-soft);font-size:24px;}
.sol-v30-modal-close{border:1px solid var(--sol-v30-border);background:rgba(255,255,255,.04);color:var(--sol-v30-gold-soft);border-radius:999px;width:38px;height:38px;cursor:pointer;}

/* Stampa controllata: non stampare pagine vuote dell'app intera */
@media print{
  body:not(.sol-v30-printing) *{visibility:hidden!important;}
  body.sol-v30-printing #sol-v30-print-root,
  body.sol-v30-printing #sol-v30-print-root *{visibility:visible!important;}
  body.sol-v30-printing #sol-v30-print-root{position:absolute!important;left:0!important;top:0!important;width:100%!important;background:#fff!important;color:#111!important;}
}

@media (max-width:1100px){
  .header-inner{grid-template-columns:190px 1fr auto!important;}
  .sol-weather-widget{display:none!important;}
  .sol-plantina-layout{grid-template-columns:1fr!important;}
  #plantina-interactive-container{width:100%!important;}
}

/* Mobile reale: non più desktop schiacciato */
@media (max-width:760px){
  body{font-size:14px!important;padding-bottom:76px!important;}
  .site-header{position:sticky!important;top:0!important;z-index:120!important;}
  .header-inner{width:100%!important;min-height:74px!important;padding:8px 12px!important;grid-template-columns:64px minmax(0,1fr) auto!important;gap:10px!important;}
  .brand-logo{width:58px!important;height:42px!important;object-fit:contain!important;}
  .brand-main{font-size:16px!important;letter-spacing:.14em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .brand-sub{font-size:11px!important;padding:4px 10px!important;max-width:100%!important;}
  .brand-datetime{font-size:10px!important;gap:6px!important;}
  .lux-badge-supabase{display:none!important;}
  .sol-weather-widget{display:flex!important;min-width:54px!important;max-width:54px!important;width:54px!important;height:46px!important;padding:5px!important;border-radius:14px!important;align-items:center!important;justify-content:center!important;}
  .sol-weather-temp{font-size:12px!important;line-height:1!important;}
  .sol-weather-desc,.sol-weather-meta,.sol-weather-hint,#weather-desc,#weather-widget div:not(#weather-temp){display:none!important;}

  .command-bar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;z-index:300!important;border-top:1px solid var(--sol-v30-border-strong)!important;border-bottom:0!important;background:rgba(8,8,6,.98)!important;}
  .command-inner{width:100%!important;justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:8px!important;padding:9px 10px 10px!important;scroll-snap-type:x mandatory!important;}
  .cmd-btn{min-width:82px!important;min-height:52px!important;padding:7px 9px!important;border-radius:16px!important;font-size:10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;scroll-snap-align:start!important;}
  .cmd-btn:nth-child(n+10){display:none!important;}

  main{padding:12px 0 18px!important;}
  .container,.sol-v12-page,.sol-v29-page,#eventi,#plantina-interattiva,#archivio-menu,#analytics,#gestione,#clienti,#check-in,#prenotazioni{width:100%!important;padding-inline:12px!important;margin:0!important;}
  .sol-service-hero{grid-template-columns:1fr!important;padding:18px!important;border-radius:24px!important;gap:14px!important;}
  .sol-service-copy{min-height:auto!important;}
  .sol-service-copy h2{font-size:34px!important;line-height:.98!important;}
  .sol-service-copy p{font-size:12px!important;}
  .sol-service-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .sol-action-card{min-height:94px!important;padding:12px!important;border-radius:18px!important;}
  .sol-action-card span{font-size:20px!important;}
  .sol-action-card strong{font-size:12px!important;}
  .sol-action-card small{font-size:9px!important;}
  .sol-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .sol-service-strip .sol-strip-card:last-child{grid-column:1/-1!important;}
  .status-grid,.kpi-grid,.panel-grid,.sol-v22-dashboard-grid,.sol-v29-grid-2,.sol-v12-grid-2{grid-template-columns:1fr!important;}
  #contatori-area{grid-template-columns:1fr 1fr!important;}
  .status-card.status-wide{grid-column:auto!important;}

  form,.form-grid,.lux-form-eventi{grid-template-columns:1fr!important;}
  input,select,textarea,button{font-size:16px!important;}
  .btn,.btn-eventi-primary,.plantina-btn,.checkin-scan-btn{min-height:44px!important;}

  #modal-evento.lux-modal-backdrop:not(.closed){align-items:flex-end!important;padding:0!important;}
  #modal-evento .lux-modal{width:100%!important;max-height:88dvh!important;border-radius:26px 26px 0 0!important;}
  #modal-evento .lux-form-eventi{grid-template-columns:1fr!important;padding:16px!important;}
  #modal-evento .modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;}
  #modal-evento .modal-actions .btn.primary{grid-column:1/-1!important;}

  #weather-dropdown:not(.hidden){left:10px!important;right:10px!important;bottom:82px!important;top:auto!important;transform:none!important;width:auto!important;max-height:68dvh!important;border-radius:24px!important;padding:16px!important;}
  #weather-dropdown .forecast-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  .sol-plantina-hero{grid-template-columns:1fr!important;padding:18px!important;border-radius:24px!important;}
  .sol-plantina-hero h2{font-size:34px!important;}
  .sol-plantina-layout{display:block!important;}
  #plantina-interactive-container{display:none!important;}
  .sol-mobile-plantina{display:block!important;margin-top:10px!important;}
  #plantina-interattiva .sol-plantina-layout > div:last-child{display:none!important;}
  .sol-mobile-plantina-card,.sol-mobile-table-card{min-height:64px!important;border-radius:18px!important;}

  .sol-v30-export-panel{grid-template-columns:1fr!important;}
  .sol-v29-history-shell{grid-template-columns:1fr!important;}
  .sol-v29-history-sidebar{display:flex!important;overflow-x:auto!important;position:static!important;}
  .sol-v29-tab{min-width:120px!important;}
}
