
/* ==========================================================
   PORTALE BANDI 8.3.2 — FINAL VISUAL QA LAYER
   Ultimo foglio caricato: rende deterministico desktop/mobile.
   ========================================================== */

#pio-bandi-reserved,
#pio-bandi-reserved *{box-sizing:border-box}

#pio-bandi-reserved{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
  color:#213740;
  font-size:16px;
  line-height:1.5;
}

#pio-bandi-reserved img{max-width:100%;height:auto}
#pio-bandi-reserved input,
#pio-bandi-reserved textarea,
#pio-bandi-reserved select,
#pio-bandi-reserved button{font:inherit}

#pio-bandi-reserved .pio-button{
  min-height:42px!important;
  padding:10px 15px!important;
  font-size:13px!important;
  line-height:1.2!important;
  border-radius:9px!important;
}

/* ---------- DESKTOP ---------- */
@media (min-width: 821px){
  .pio8-app{
    display:grid!important;
    grid-template-columns:240px minmax(0,1fr)!important;
    width:100%!important;
    min-height:100vh!important;
  }

  .pio8-sidebar{
    display:flex!important;
    width:240px!important;
    min-width:240px!important;
  }

  .pio8-workspace{min-width:0!important;width:100%!important}
  .pio8-main{
    width:100%!important;
    max-width:1260px!important;
    margin:0 auto!important;
    padding:30px 32px 48px!important;
  }

  .pio8-page-head h1,
  .pio83-page-head h1{font-size:34px!important;line-height:1.12!important}

  .pio8-page-head p,
  .pio83-page-head p{font-size:14px!important;line-height:1.5!important}

  .pio8-app-copy h3{font-size:15px!important}
  .pio8-app-copy p{font-size:12px!important;line-height:1.45!important}

  .pio83-commission-head{
    display:flex!important;
    align-items:center!important;
  }

  .pio83-review-row{
    grid-template-columns:minmax(260px,1.5fr) 150px 160px 120px!important;
    min-height:76px!important;
  }

  .pio83-review-main strong{font-size:13px!important}
  .pio83-review-main small{font-size:10px!important}
  .pio83-review-info span{font-size:10px!important}
  .pio83-review-info strong{font-size:13px!important}

  .pio4-eval-layout{
    grid-template-columns:minmax(0,1.65fr) minmax(300px,.35fr)!important;
    gap:14px!important;
  }

  .pio3-wizard-layout{
    grid-template-columns:210px minmax(0,1fr)!important;
  }

  .pio3-field>label{font-size:13px!important}
  .pio3-field input,
  .pio3-field textarea,
  .pio3-field select{font-size:15px!important}
}

/* ---------- TABLET ---------- */
@media (min-width: 821px) and (max-width: 1100px){
  .pio8-app{grid-template-columns:210px minmax(0,1fr)!important}
  .pio8-sidebar{width:210px!important;min-width:210px!important}
  .pio8-main{padding:24px 22px 40px!important}

  .pio83-commission-head{display:grid!important}
  .pio83-review-row{
    grid-template-columns:minmax(0,1fr) 130px 130px 105px!important;
    gap:9px!important;
  }

  .pio4-eval-layout{grid-template-columns:1fr!important}
  .pio3-wizard-layout{grid-template-columns:180px minmax(0,1fr)!important}
}

/* ---------- MOBILE ---------- */
@media (max-width: 820px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body.pio-standalone-portal{margin:0!important}

  #pio-bandi-reserved{
    width:100%!important;
    max-width:100%!important;
    min-height:100dvh!important;
    font-size:16px!important;
    overflow-x:hidden!important;
  }

  /* Floor tipografico: niente più testi microscopici */
  #pio-bandi-reserved small{font-size:11px!important;line-height:1.4!important}
  #pio-bandi-reserved .pio8-eyebrow,
  #pio-bandi-reserved .pio81-kicker,
  #pio-bandi-reserved .pio4-kicker,
  #pio-bandi-reserved .pio7-eyebrow{font-size:10px!important}
  #pio-bandi-reserved .pio7-status{font-size:10px!important}

  /* Login */
  .pio81-auth{padding:10px!important}
  .pio81-auth-main{display:block!important;padding:16px 0 22px!important}
  .pio81-auth-intro h1{font-size:28px!important;line-height:1.1!important}
  .pio81-auth-intro>p{font-size:14px!important}
  .pio81-auth-steps{display:none!important}
  .pio81-login-card{padding:18px!important}
  .pio81-login-form input{font-size:16px!important;min-height:50px!important}
  .pio81-register-box{display:grid!important;gap:8px!important}

  /* Modal registrazione */
  .pio81-modal{padding:0!important;align-items:end!important}
  .pio81-modal-card{
    width:100%!important;
    max-width:none!important;
    max-height:92dvh!important;
    padding:22px 16px calc(18px + env(safe-area-inset-bottom))!important;
    border-radius:18px 18px 0 0!important;
  }

  /* Shell */
  .pio8-app{
    display:block!important;
    width:100%!important;
    min-height:100dvh!important;
    padding-bottom:calc(66px + env(safe-area-inset-bottom))!important;
  }
  .pio8-sidebar{display:none!important}
  .pio8-workspace{width:100%!important;min-width:0!important}

  .pio8-topbar{
    position:sticky!important;
    top:0!important;
    z-index:80!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    height:auto!important;
    padding:9px 10px 10px!important;
  }

  .pio8-mobile-brand{display:flex!important;align-items:center!important;gap:8px!important}
  .pio8-mobile-brand strong{display:block!important;font-size:15px!important}

  .pio8-search{
    display:grid!important;
    grid-template-columns:20px minmax(0,1fr)!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .pio8-search input{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    font-size:16px!important;
  }
  .pio8-search .pio4-search-button,
  .pio8-top-role{display:none!important}

  .pio8-main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:16px 10px 24px!important;
  }

  /* Dashboard */
  .pio8-page-head{display:block!important}
  .pio8-page-head h1,
  .pio83-page-head h1{font-size:26px!important;line-height:1.15!important}
  .pio8-page-head p,
  .pio83-page-head p{font-size:13px!important}

  .pio8-status-strip{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin-top:12px!important;
  }
  .pio8-status-strip>div{min-width:0!important;padding:9px 4px!important}
  .pio8-status-strip strong{font-size:19px!important}
  .pio8-status-strip span{font-size:9px!important;line-height:1.2!important}

  .pio8-next{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:10px!important;
    padding:13px!important;
  }
  .pio8-next h2{font-size:17px!important}
  .pio8-next p{font-size:12px!important}
  .pio8-next-action{grid-column:1/-1!important}
  .pio8-next-action .pio-button{width:100%!important}

  /* Candidate cards */
  .pio8-app-list{
    display:grid!important;
    gap:8px!important;
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .pio8-app-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"status action" "copy copy" "meta score"!important;
    gap:9px!important;
    width:100%!important;
    min-height:0!important;
    padding:14px!important;
    border:1px solid #dce7eb!important;
    border-radius:11px!important;
  }
  .pio8-app-status{grid-area:status!important;min-width:0!important}
  .pio8-app-copy{grid-area:copy!important;min-width:0!important}
  .pio8-app-copy h3{font-size:16px!important;white-space:normal!important;overflow:visible!important}
  .pio8-app-copy p{font-size:12px!important;white-space:normal!important;line-height:1.45!important}
  .pio8-mini-stage{grid-area:meta!important;justify-content:flex-start!important}
  .pio8-score,.pio8-deadline{grid-area:score!important;text-align:right!important}
  .pio8-score small,.pio8-deadline small{font-size:10px!important}
  .pio8-app-action{grid-area:action!important}

  /* Bottom nav */
  .pio8-mobile-nav{
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;
    z-index:100!important;
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:1fr!important;
    padding:6px 7px calc(6px + env(safe-area-inset-bottom))!important;
  }
  .pio8-mobile-nav button{min-height:46px!important;font-size:11px!important}

  /* Wizard */
  .pio3-wizard{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-bottom:calc(78px + env(safe-area-inset-bottom))!important;
  }
  .pio3-wizard-layout{display:block!important}
  .pio3-wizard-nav{display:none!important}
  .pio3-wizard-main{width:auto!important;margin:0 6px!important;padding:13px!important}
  .pio3-step-head h3{font-size:21px!important}
  .pio3-step-head p{font-size:12px!important}
  .pio3-field-grid{display:block!important}
  .pio3-field{width:100%!important;margin-bottom:16px!important}
  .pio3-field>label{font-size:13px!important}
  .pio3-field input:not([type="checkbox"]):not([type="radio"]),
  .pio3-field textarea,
  .pio3-field select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:49px!important;
    font-size:16px!important;
  }
  .pio3-field textarea{min-height:145px!important}
  .pio3-wizard-actions{
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;
    z-index:120!important;
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;
  }
  .pio3-wizard-actions .pio-button{min-height:49px!important}

  /* Commission */
  .pio83-commission-head{display:grid!important;padding:13px!important}
  .pio83-commission-head h2{font-size:18px!important}
  .pio83-commission-head p{font-size:12px!important}
  .pio83-commission-summary{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .pio83-commission-summary>div{min-width:0!important;padding:8px 3px!important}
  .pio83-commission-summary span{font-size:9px!important}

  .pio83-commission-toolbar{display:grid!important;padding:8px!important}
  .pio83-commission-toolbar>.pio-button{width:100%!important}

  .pio83-review-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    min-height:0!important;
    padding:12px 10px!important;
  }
  .pio83-review-main{grid-column:1/-1!important;min-width:0!important}
  .pio83-review-main strong{font-size:13px!important}
  .pio83-review-main small{font-size:10px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .pio83-review-info span{font-size:10px!important}
  .pio83-review-info strong{font-size:12px!important}
  .pio83-review-actions{grid-column:1/-1!important;display:flex!important;justify-content:flex-end!important}

  .pio83-ranking-panel .pio7-ranking{overflow-x:auto!important}
  .pio83-ranking-panel .pio7-ranking-head,
  .pio83-ranking-panel .pio7-ranking-row{min-width:360px!important}

  /* Single evaluation */
  .pio4-eval-layout{display:block!important}
  .pio4-eval-sidebar{margin-top:10px!important}
  .pio4-answer{padding:11px!important}
  .pio4-answer-content p{font-size:13px!important}
  .pio4-score-box input,
  .pio83-shared-score input,
  .pio740-criterion input{font-size:16px!important;min-height:46px!important}

  /* Admin */
  .pio7-admin-grid{grid-template-columns:1fr!important}
  .pio7-admin-card.wide{grid-column:auto!important}
  .pio7-lifecycle{grid-template-columns:1fr 1fr!important}
  .pio7-lifecycle>i{display:none!important}
  .pio7-lifecycle strong{font-size:11px!important}
  .pio7-lifecycle small{font-size:10px!important}

  /* Summary */
  .pio3-summary{width:100%!important;max-width:none!important;padding:0 10px 24px!important}
  .pio3-summary-status{grid-template-columns:1fr!important}
  .pio7-result-grid{grid-template-columns:1fr!important}
  .pio7-documents-card{display:grid!important}
  .pio7-documents-card .pio-button{width:100%!important}
  .pio3-summary-list>div,
  .pio7-review-section>div{grid-template-columns:1fr!important}

  /* Public bando */
  .pio7-public-body{display:block!important;padding:26px 14px!important}
  .pio7-public-main h1{font-size:30px!important;line-height:1.1!important}
  .pio7-public-lead{font-size:14px!important}
  .pio7-public-cta{display:grid!important}
  .pio7-public-cta .pio-button{width:100%!important}
  .pio7-public-aside{margin-top:22px!important}
}

@media (max-width: 390px){
  .pio8-main{padding-left:8px!important;padding-right:8px!important}
  .pio8-status-strip span{font-size:8px!important}
  .pio8-app-row{padding:12px!important}
  .pio3-wizard-main{margin-inline:4px!important;padding:12px!important}
}

@media(max-width:820px){#pio-bandi-reserved .pio84-evaluated-badge{font-size:9px!important}#pio-bandi-reserved .pio84-answer-head>b{font-size:9px!important}#pio-bandi-reserved .pio84-guidance strong{font-size:10px!important}#pio-bandi-reserved .pio84-guidance p{font-size:11px!important}}
