/* Gestor PRO Fiscal UI V4 — fundo sólido + mobile realmente responsivo */

/* Desktop/Web: o módulo fiscal deve ser visualmente separado do painel ao fundo. */
#fiscalModal.fiscal-modal-overlay{
  background:#041118 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
#fiscalModal .fiscal-shell{
  background:#081820 !important;
  border:1px solid rgba(104,226,207,.22) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.58) !important;
}
#fiscalModal .fiscal-head,
#fiscalModal .fiscal-tabs,
#fiscalModal .fiscal-body{
  background:#081820 !important;
}
#fiscalModal .fiscal-dev-banner{
  background:#0d1c22 !important;
}
#fiscalModal .fiscal-card,
#fiscalModal .fiscal-roadmap-item,
#fiscalModal .fiscal-setting,
#fiscalModal .fiscal-kpis>div,
#fiscalModal .fiscal-empty{
  background:#0a1b23 !important;
}
#fiscalModal .fiscal-card-primary{
  background:#0b211f !important;
}

/* Mobile: layout próprio. Usamos 900px para cobrir celulares e navegadores com viewport incomum. */
@media (max-width:900px){
  html.gp-fiscal-open,
  body.gp-fiscal-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
  }

  #fiscalModal.fiscal-modal-overlay{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    padding:0 !important;
    margin:0 !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    overflow:hidden !important;
    background:#06151d !important;
  }

  #fiscalModal .fiscal-shell{
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    background:#071820 !important;
  }

  #fiscalModal .fiscal-head{
    position:relative !important;
    flex:0 0 auto !important;
    min-height:0 !important;
    padding:15px 16px 12px !important;
    border-bottom:1px solid rgba(111,220,203,.12) !important;
    background:#081b23 !important;
  }
  #fiscalModal .fiscal-head-copy{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    padding-right:48px !important;
  }
  #fiscalModal .fiscal-icon{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }
  #fiscalModal .fiscal-kicker{
    margin:0 0 2px !important;
    font-size:10px !important;
    letter-spacing:.08em !important;
  }
  #fiscalModal .fiscal-head h2{
    margin:0 !important;
    font-size:23px !important;
    line-height:1.08 !important;
  }
  #fiscalModal .fiscal-head p{display:none !important;}
  #fiscalModal .fiscal-close{
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    width:42px !important;
    height:42px !important;
    margin:0 !important;
    z-index:3 !important;
  }

  #fiscalModal .fiscal-dev-banner{
    flex:0 0 auto !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:10px !important;
    margin:10px 14px 0 !important;
    padding:11px 12px !important;
    border-radius:13px !important;
    background:#111e21 !important;
  }
  #fiscalModal .fiscal-dev-mark{display:none !important;}
  #fiscalModal .fiscal-dev-banner b{
    font-size:13px !important;
    line-height:1.25 !important;
  }
  #fiscalModal .fiscal-dev-banner span:not(.fiscal-status-badge){
    display:block !important;
    margin-top:3px !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
  }
  #fiscalModal .fiscal-status-badge{
    order:initial !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    padding:5px 8px !important;
    font-size:9px !important;
  }

  #fiscalModal .fiscal-tabs{
    flex:0 0 auto !important;
    width:100% !important;
    display:flex !important;
    gap:7px !important;
    padding:10px 14px 8px !important;
    box-sizing:border-box !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    background:#071820 !important;
  }
  #fiscalModal .fiscal-tabs::-webkit-scrollbar{display:none !important;}
  #fiscalModal .fiscal-tab{
    flex:0 0 auto !important;
    min-width:auto !important;
    min-height:40px !important;
    padding:9px 12px !important;
    font-size:12px !important;
    border-radius:10px !important;
  }
  #fiscalModal .fiscal-tab span{display:none !important;}

  #fiscalModal .fiscal-body{
    flex:1 1 auto !important;
    min-height:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:8px 14px calc(104px + env(safe-area-inset-bottom)) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    background:#071820 !important;
  }

  /* Ações principais: uma por linha, como app mobile. */
  #fiscalModal .fiscal-overview-grid{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    width:100% !important;
    gap:9px !important;
  }
  #fiscalModal .fiscal-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:78px !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) 30px !important;
    grid-template-rows:auto auto !important;
    align-items:center !important;
    column-gap:11px !important;
    row-gap:2px !important;
    padding:13px !important;
    border-radius:14px !important;
    background:#0a1b23 !important;
  }
  #fiscalModal .fiscal-card-primary{background:#0b211f !important;}
  #fiscalModal .fiscal-card-icon{
    grid-column:1 !important;
    grid-row:1 / 3 !important;
    width:42px !important;
    height:42px !important;
    margin:0 !important;
    align-self:center !important;
  }
  #fiscalModal .fiscal-card>div:nth-child(2){
    grid-column:2 !important;
    grid-row:1 / 3 !important;
    min-width:0 !important;
  }
  #fiscalModal .fiscal-card small{display:none !important;}
  #fiscalModal .fiscal-card h3{
    margin:0 0 3px !important;
    font-size:16px !important;
    line-height:1.2 !important;
  }
  #fiscalModal .fiscal-card p{
    margin:0 !important;
    max-width:none !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
    white-space:normal !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
  }
  #fiscalModal .fiscal-link{
    grid-column:3 !important;
    grid-row:1 / 3 !important;
    width:30px !important;
    min-width:30px !important;
    height:44px !important;
    align-self:center !important;
    justify-self:end !important;
    padding:0 !important;
    margin:0 !important;
    font-size:0 !important;
    display:grid !important;
    place-items:center !important;
  }
  #fiscalModal .fiscal-link::after{
    content:'›' !important;
    font-size:28px !important;
    line-height:1 !important;
    color:#70e1d0 !important;
  }

  /* Roadmap em lista vertical: nada de quatro colunas estreitas. */
  #fiscalModal .fiscal-roadmap{
    width:100% !important;
    box-sizing:border-box !important;
    margin:14px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  #fiscalModal .fiscal-section-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:0 0 9px !important;
  }
  #fiscalModal .fiscal-section-head small{font-size:9px !important;}
  #fiscalModal .fiscal-section-head h3{
    margin:3px 0 0 !important;
    font-size:16px !important;
    line-height:1.2 !important;
  }
  #fiscalModal .fiscal-roadmap-status,
  #fiscalModal .fiscal-coming{
    flex:0 0 auto !important;
    padding:5px 8px !important;
    font-size:9px !important;
  }
  #fiscalModal .fiscal-roadmap-list{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    width:100% !important;
    gap:7px !important;
  }
  #fiscalModal .fiscal-roadmap-item{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    min-height:62px !important;
    padding:11px 12px !important;
    border-radius:13px !important;
    background:#0a1b23 !important;
  }
  #fiscalModal .fiscal-roadmap-item i{
    width:32px !important;
    height:32px !important;
    flex:0 0 32px !important;
    font-size:13px !important;
  }
  #fiscalModal .fiscal-roadmap-item>div{min-width:0 !important;}
  #fiscalModal .fiscal-roadmap-item b{
    font-size:13px !important;
    line-height:1.25 !important;
  }
  #fiscalModal .fiscal-roadmap-item span{
    margin-top:2px !important;
    font-size:11px !important;
    line-height:1.35 !important;
  }

  #fiscalModal .fiscal-form-grid,
  #fiscalModal .fiscal-settings-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  #fiscalModal .fiscal-form-grid label.wide{grid-column:auto !important;}
  #fiscalModal .fiscal-kpis{
    grid-template-columns:1fr 1fr !important;
  }
  #fiscalModal .fiscal-kpis>div:last-child{grid-column:1 / -1 !important;}
  #fiscalModal .fiscal-setting{
    width:100% !important;
    box-sizing:border-box !important;
    align-items:flex-start !important;
  }
}

@media (max-width:390px){
  #fiscalModal .fiscal-dev-banner{
    grid-template-columns:1fr !important;
  }
  #fiscalModal .fiscal-status-badge{
    justify-self:start !important;
  }
}

/* Fiscal Desktop V5 — modal centralizado, clean e premium */
@media (min-width:901px){
  #fiscalModal.fiscal-modal-overlay{
    display:flex;
    align-items:center !important;
    justify-content:center !important;
    padding:32px !important;
    background:rgba(2,10,15,.82) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }

  #fiscalModal .fiscal-shell{
    width:min(1120px, calc(100vw - 84px)) !important;
    max-width:1120px !important;
    max-height:min(760px, calc(100vh - 64px)) !important;
    margin:auto !important;
    overflow:hidden !important;
    border-radius:22px !important;
    border:1px solid rgba(101,226,207,.20) !important;
    background:linear-gradient(180deg,#0a1b23 0%,#08171e 100%) !important;
    box-shadow:0 30px 90px rgba(0,0,0,.58), 0 0 0 1px rgba(255,255,255,.018) inset !important;
  }

  #fiscalModal .fiscal-head{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    padding:22px 26px 18px !important;
    border-bottom:1px solid rgba(120,220,205,.10) !important;
    background:linear-gradient(180deg,rgba(14,37,45,.96),rgba(9,27,35,.96)) !important;
  }
  #fiscalModal .fiscal-head-copy{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
  }
  #fiscalModal .fiscal-icon{
    width:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
    border-radius:14px !important;
  }
  #fiscalModal .fiscal-kicker{
    margin-bottom:3px !important;
    font-size:11px !important;
    letter-spacing:.08em !important;
  }
  #fiscalModal .fiscal-head h2{
    margin:0 !important;
    font-size:28px !important;
    line-height:1.08 !important;
  }
  #fiscalModal .fiscal-head p{
    margin:6px 0 0 !important;
    font-size:13px !important;
    color:rgba(224,240,244,.66) !important;
  }
  #fiscalModal .fiscal-close{
    position:static !important;
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    margin:0 !important;
    border-radius:12px !important;
  }

  #fiscalModal .fiscal-dev-banner{
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
    margin:16px 26px 12px !important;
    padding:13px 15px !important;
    border-radius:14px !important;
    border:1px solid rgba(255,198,91,.13) !important;
    background:rgba(62,48,20,.28) !important;
  }
  #fiscalModal .fiscal-dev-mark{
    width:36px !important;
    height:36px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:11px !important;
    background:rgba(255,199,92,.10) !important;
    color:#f3c76b !important;
  }
  #fiscalModal .fiscal-dev-banner b{
    display:block !important;
    font-size:13px !important;
    margin-bottom:2px !important;
  }
  #fiscalModal .fiscal-dev-banner span:not(.fiscal-status-badge){
    display:block !important;
    font-size:12px !important;
    line-height:1.4 !important;
    color:rgba(235,226,203,.72) !important;
  }

  #fiscalModal .fiscal-tabs{
    display:flex !important;
    gap:8px !important;
    padding:0 26px 14px !important;
    background:transparent !important;
  }
  #fiscalModal .fiscal-tab{
    min-height:40px !important;
    padding:9px 14px !important;
    border-radius:11px !important;
    font-size:12px !important;
  }

  #fiscalModal .fiscal-body{
    max-height:520px !important;
    overflow-y:auto !important;
    padding:0 26px 26px !important;
    background:transparent !important;
  }
  #fiscalModal .fiscal-overview-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  #fiscalModal .fiscal-card{
    min-height:154px !important;
    padding:18px !important;
    border-radius:16px !important;
    border:1px solid rgba(126,224,209,.12) !important;
    background:#0b1d25 !important;
  }
  #fiscalModal .fiscal-card-primary{
    background:linear-gradient(180deg,#0d2926 0%,#0b211f 100%) !important;
    border-color:rgba(84,221,196,.24) !important;
  }
  #fiscalModal .fiscal-card h3{
    font-size:18px !important;
    margin:8px 0 6px !important;
  }
  #fiscalModal .fiscal-card p{
    font-size:12px !important;
    line-height:1.45 !important;
    min-height:36px !important;
  }
  #fiscalModal .fiscal-link{
    margin-top:16px !important;
    font-size:12px !important;
  }

  #fiscalModal .fiscal-roadmap{
    margin-top:20px !important;
  }
  #fiscalModal .fiscal-section-head{
    margin-bottom:10px !important;
  }
  #fiscalModal .fiscal-section-head h3{
    font-size:18px !important;
    margin-top:3px !important;
  }
  #fiscalModal .fiscal-roadmap-list{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  #fiscalModal .fiscal-roadmap-item{
    min-height:72px !important;
    padding:12px !important;
    border-radius:13px !important;
    background:#0a1b23 !important;
  }
  #fiscalModal .fiscal-roadmap-item b{font-size:12px !important;}
  #fiscalModal .fiscal-roadmap-item span{font-size:10.5px !important;line-height:1.35 !important;}
}
