
/* ==========================================================
   PORTALE BANDI 8.1.1 — MOBILE CANONICAL LAYOUT
   Loaded after front.css to neutralize previous responsive layers.
   ========================================================== */
@media (max-width: 820px) {
  html,body{max-width:100%!important;overflow-x:hidden!important}
  body.pio-standalone-portal{margin:0!important;background:#f5f8f9!important}
  #pio-bandi-reserved{width:100%!important;max-width:100%!important;min-height:100dvh!important;overflow-x:hidden!important;font-size:16px!important}

  /* LOGIN */
  .pio81-auth{min-height:100dvh!important;padding:12px!important;background:#f5f8f9!important}
  .pio81-auth-shell{width:100%!important;min-height:calc(100dvh - 24px)!important}
  .pio81-auth-brand{gap:9px!important;padding:2px 2px 12px!important}
  .pio81-auth-logo{width:50px!important;height:50px!important;flex:0 0 50px!important}
  .pio81-auth-brand strong{font-size:17px!important;line-height:1.15!important}
  .pio81-auth-brand small{font-size:10px!important;line-height:1.35!important}
  .pio81-auth-main{display:block!important;padding:16px 0 22px!important}
  .pio81-auth-intro{margin-bottom:18px!important}
  .pio81-kicker{font-size:10px!important}
  .pio81-auth-intro h1{margin:7px 0 10px!important;font-size:29px!important;line-height:1.08!important;letter-spacing:-.025em!important}
  .pio81-auth-intro>p{font-size:14px!important;line-height:1.55!important}
  .pio81-auth-steps{display:none!important}
  .pio81-login-card{width:100%!important;padding:18px!important;border-radius:13px!important}
  .pio81-login-head h2{font-size:24px!important}
  .pio81-login-head p{font-size:13px!important}
  .pio81-login-form{gap:13px!important;margin-top:18px!important}
  .pio81-login-form label>span{font-size:13px!important}
  .pio81-login-form input{min-height:50px!important;font-size:16px!important;border-radius:10px!important}
  .pio81-login-form .pio-button{min-height:50px!important;font-size:14px!important}
  .pio81-register-box{display:grid!important;gap:8px!important;padding:12px!important}
  .pio81-register-box strong{font-size:13px!important}
  .pio81-register-box small{font-size:11px!important}
  .pio81-register-open{justify-self:start!important;font-size:13px!important;padding:2px 0!important}
  .pio81-login-note p{font-size:11px!important}
  .pio81-auth-footer{display:grid!important;gap:5px!important;font-size:10px!important;padding-bottom:4px!important}

  /* REGISTRATION MODAL */
  .pio81-modal{padding:8px!important;align-items:end!important}
  .pio81-modal-card{width:100%!important;max-height:92dvh!important;padding:22px 16px calc(18px + env(safe-area-inset-bottom))!important;border-radius:18px 18px 0 0!important}
  .pio81-modal-card h2{font-size:22px!important;line-height:1.18!important;padding-right:28px!important}
  .pio81-modal-card>p{font-size:13px!important;line-height:1.55!important}
  .pio81-modal-flow{gap:6px!important;margin:16px 0!important}
  .pio81-modal-flow>div{padding:10px!important}
  .pio81-modal-flow strong{font-size:12px!important}
  .pio81-modal-flow small{font-size:10px!important}
  .pio81-modal-actions{grid-template-columns:1fr!important;gap:7px!important}
  .pio81-modal-actions .pio-button{min-height:48px!important;font-size:13px!important}

  /* APP SHELL */
  .pio8-app{display:block!important;width:100%!important;min-height:100dvh!important;padding:0 0 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;min-height:0!important;
    padding:9px 11px 10px!important;
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid #dce7eb!important;
    box-shadow:0 4px 14px rgba(29,56,67,.06)!important;
  }
  .pio8-mobile-brand{display:flex!important;align-items:center!important;gap:8px!important}
  .pio8-mobile-brand .pio8-logo{width:38px!important;height:38px!important;flex:0 0 38px!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;gap:5px!important;width:100%!important;max-width:none!important;min-width:0!important}
  .pio8-search>span{font-size:17px!important}
  .pio8-search input{width:100%!important;min-width:0!important;min-height:43px!important;padding:9px 10px!important;font-size:16px!important;border-radius:9px!important}
  .pio8-search .pio4-search-button,.pio8-top-role{display:none!important}
  .pio3-search-results{width:100%!important;padding:0 10px!important}
  .pio4-search-results-list{margin-top:7px!important;border-radius:9px!important}
  .pio4-search-results-list button{grid-template-columns:1fr auto!important;gap:5px 10px!important;padding:11px!important}
  .pio4-search-results-list button>span{grid-column:2!important;grid-row:1/3!important;align-self:center!important}
  .pio4-search-results-list strong{font-size:12px!important}
  .pio4-search-results-list small{font-size:10px!important;white-space:normal!important;overflow-wrap:anywhere!important}

  .pio8-main{width:100%!important;max-width:none!important;margin:0!important;padding:17px 10px 22px!important}
  .pio8-page{gap:15px!important}
  .pio8-page-head{display:block!important;padding:0 2px!important}
  .pio8-eyebrow{font-size:10px!important}
  .pio8-page-head h1{font-size:27px!important;line-height:1.12!important}
  .pio8-page-head p{font-size:13px!important;line-height:1.5!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;border-radius:9px!important}
  .pio8-status-strip strong{font-size:19px!important}
  .pio8-status-strip span{font-size:7.5px!important;line-height:1.25!important}

  .pio8-next{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important;padding:13px!important;border-radius:11px!important}
  .pio8-next-mark{width:34px!important;height:34px!important;font-size:15px!important}
  .pio8-next h2{font-size:17px!important;line-height:1.25!important}
  .pio8-next p{font-size:12px!important;line-height:1.45!important}
  .pio8-next-action{grid-column:1/-1!important}
  .pio8-next-action .pio-button{width:100%!important;min-height:46px!important}

  .pio8-block{gap:8px!important}
  .pio8-block-head{padding:0 2px!important}
  .pio8-block-head h2{font-size:18px!important}
  .pio8-block-head p{font-size:11px!important;line-height:1.4!important}
  .pio8-block-head>span{min-width:28px!important;height:28px!important;font-size:10px!important}

  .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 10px!important;
    width:100%!important;min-height:0!important;
    padding:14px!important;
    border:1px solid #dce7eb!important;border-radius:11px!important;
    background:#fff!important;
  }
  .pio8-app-status{grid-area:status!important;min-width:0!important}
  .pio8-app-status code{font-size:9.5px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .pio8-app-copy{grid-area:copy!important;min-width:0!important}
  .pio8-app-copy h3{font-size:16px!important;line-height:1.3!important;white-space:normal!important;overflow:visible!important}
  .pio8-app-copy p{font-size:12px!important;line-height:1.45!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!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:9px!important}
  .pio8-score strong{font-size:18px!important}
  .pio8-deadline strong{font-size:10px!important}
  .pio8-app-action{grid-area:action!important;align-self:start!important}
  .pio8-app-action .pio-button{min-width:auto!important;min-height:38px!important;padding:8px 11px!important;font-size:12px!important}

  .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;
    border-top:1px solid #dce7eb!important;background:rgba(255,255,255,.98)!important;
    box-shadow:0 -6px 20px rgba(29,56,67,.08)!important;
  }
  .pio8-mobile-nav button{display:grid!important;justify-items:center!important;gap:3px!important;min-height:45px!important;padding:5px 3px!important;border:0!important;background:transparent!important;color:#6d7e85!important;font-size:10px!important}
  .pio8-mobile-nav button.active{color:#316a80!important;font-weight:850!important}

  /* CANDIDATE FORM: standalone, no bottom app nav */
  .pio3-wizard{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 calc(76px + env(safe-area-inset-bottom))!important;gap:9px!important}
  .pio3-wizard-head{position:static!important;width:100%!important;padding:13px 12px 11px!important;border:0!important;border-bottom:1px solid #dce7eb!important;border-radius:0!important}
  .pio3-wizard-head .pio3-back{min-height:34px!important;margin-bottom:8px!important;font-size:11px!important}
  .pio3-wizard-head h2{font-size:23px!important;line-height:1.2!important}
  .pio3-wizard-head p{font-size:12px!important;line-height:1.45!important}
  .pio3-save-state{font-size:9px!important}
  .pio3-progress{margin:0 11px!important}
  .pio731-mobile-steps{display:flex!important;padding:4px 10px 7px!important;gap:6px!important}
  .pio731-mobile-steps button{min-height:42px!important;max-width:170px!important}
  .pio731-mobile-steps button>b{font-size:10px!important}
  .pio4-form-intro{margin:0 10px!important;padding:10px!important}
  .pio3-wizard-layout{display:block!important}
  .pio3-wizard-nav{display:none!important}
  .pio3-wizard-main{width:auto!important;margin:0 7px!important;padding:14px!important;border-radius:11px!important}
  .pio4-form-help{display:none!important}
  .pio3-step-head h3{font-size:21px!important}
  .pio3-step-head p{font-size:11px!important}
  .pio3-field-grid{display:block!important}
  .pio3-field{width:100%!important;margin:0 0 16px!important}
  .pio3-field>label{font-size:13px!important;line-height:1.35!important}
  .pio3-field input:not([type="checkbox"]):not([type="radio"]),
  .pio3-field textarea,.pio3-field select{
    width:100%!important;max-width:100%!important;min-width:0!important;
    min-height:49px!important;padding:11px 12px!important;
    font-size:16px!important;border-radius:10px!important;
  }
  .pio3-field textarea{min-height:145px!important}
  .pio3-field small{font-size:10px!important;line-height:1.4!important}
  .pio3-wizard-actions{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:120!important;
    display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;gap:8px!important;
    margin:0!important;padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;
    border-top:1px solid #dce7eb!important;background:rgba(255,255,255,.98)!important;
    box-shadow:0 -7px 22px rgba(29,56,67,.1)!important;
  }
  .pio3-wizard-actions .pio-button{min-height:49px!important;font-size:13px!important}
  .pio3-wizard-actions .pio3-submit:not([hidden]){grid-column:1/-1!important}
  .pio3-wizard-actions button[hidden]{display:none!important}

  /* SUMMARY standalone */
  .pio3-summary{width:100%!important;max-width:none!important;margin:0!important;padding:0 10px 24px!important}
  .pio3-summary-head{display:block!important;margin:0 -10px 12px!important;padding:13px 12px!important;border-radius:0!important;border-inline:0!important}
  .pio3-summary-head .pio3-back{margin-bottom:10px!important}
  .pio3-summary-head h2{font-size:22px!important;line-height:1.25!important}
  .pio3-summary-head p{font-size:11px!important}
  .pio3-summary-status{grid-template-columns:1fr!important;gap:7px!important}
  .pio3-summary-status>div{padding:10px!important}
  .pio3-summary-status strong{font-size:13px!important}
  .pio3-summary-status small{font-size:11px!important}
  .pio7-result-grid{grid-template-columns:1fr!important}
  .pio7-commission-note p{font-size:13px!important}
  .pio7-documents-card{display:grid!important;gap:10px!important}
  .pio7-documents-card .pio-button{width:100%!important}
  .pio3-summary-list>div,.pio7-review-section>div{grid-template-columns:1fr!important;gap:3px!important}
  .pio3-summary-list span,.pio7-review-section span{font-size:10px!important}
  .pio3-summary-list strong,.pio7-review-section strong{font-size:12px!important;overflow-wrap:anywhere!important}

  /* COMMISSION */
  .pio7-page,.pio8-page{min-width:0!important}
  .pio7-review-board{width:100%!important;overflow:hidden!important;border-radius:10px!important}
  .pio7-review-board-head{display:block!important;padding:13px!important}
  .pio7-review-board-head h2{font-size:19px!important}
  .pio7-review-board-head p{font-size:11px!important;overflow-wrap:anywhere!important}
  .pio7-board-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin-top:10px!important}
  .pio7-board-metrics>div{min-width:0!important;padding:7px 3px!important}
  .pio7-board-metrics strong{font-size:17px!important}
  .pio7-board-metrics span{font-size:7px!important}
  .pio7-review-toolbar{display:grid!important;gap:8px!important;padding:8px!important}
  .pio7-segment{display:flex!important;width:100%!important;overflow-x:auto!important}
  .pio7-segment button{flex:0 0 auto!important;font-size:10px!important;white-space:nowrap!important}
  .pio7-review-layout{display:block!important}
  .pio7-review-list{padding:7px!important}
  .pio7-review-row{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;
    padding:11px 8px!important;border-bottom:1px solid #edf1f3!important;
  }
  .pio7-review-main{grid-column:1/-1!important;min-width:0!important;align-items:flex-start!important}
  .pio7-review-main strong{font-size:13px!important}
  .pio7-review-main small{font-size:10px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .pio7-review-stat span{font-size:8px!important}
  .pio7-review-stat strong{font-size:12px!important}
  .pio7-review-actions{grid-column:1/-1!important;display:flex!important;gap:6px!important;justify-content:flex-end!important}
  .pio7-rank-panel{border-left:0!important;border-top:1px solid #dce7eb!important;padding:10px!important}
  .pio7-ranking{overflow-x:auto!important}
  .pio7-ranking-head,.pio7-ranking-row{min-width:360px!important}

  /* ADMIN */
  .pio7-admin-procedure{width:100%!important;overflow:hidden!important}
  .pio7-admin-procedure>header{display:flex!important;padding:13px!important}
  .pio7-admin-procedure>header h2{font-size:18px!important}
  .pio7-lifecycle{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px!important}
  .pio7-lifecycle>i{display:none!important}
  .pio7-lifecycle>div{min-width:0!important}
  .pio7-lifecycle strong{font-size:11px!important}
  .pio7-lifecycle small{font-size:9px!important}
  .pio7-admin-grid{grid-template-columns:1fr!important;padding:8px!important;gap:8px!important}
  .pio7-admin-card.wide{grid-column:auto!important}
  .pio7-admin-card{padding:12px!important}
  .pio7-outcomes>div{grid-template-columns:1fr!important}
  .pio740-criterion{grid-template-columns:1fr!important}
  .pio740-criterion input{font-size:16px!important;min-height:46px!important}
  .pio740-final-total{position:static!important}

  /* PUBLIC BANDO */
  .pio7-public-top{padding:12px!important}
  .pio7-public-top .pio7-sidebar-brand{padding:0!important}
  .pio7-public-body{display:block!important;padding:28px 14px!important}
  .pio7-public-main h1{font-size:31px!important;line-height:1.08!important}
  .pio7-public-lead{font-size:14px!important;line-height:1.55!important}
  .pio7-public-meta{display:grid!important;gap:7px!important}
  .pio7-public-meta>div{min-width:0!important}
  .pio7-public-cta{display:grid!important;gap:10px!important}
  .pio7-public-cta .pio-button{width:100%!important}
  .pio7-public-aside{margin-top:24px!important}

  /* Generic safety */
  table{max-width:100%!important}
  img{max-width:100%!important}
  pre,code{max-width:100%!important;overflow-wrap:anywhere!important}
}

@media (max-width: 390px) {
  .pio81-auth{padding:9px!important}
  .pio81-auth-intro h1{font-size:27px!important}
  .pio8-main{padding-left:8px!important;padding-right:8px!important}
  .pio8-status-strip span{font-size:6.8px!important}
  .pio8-app-row{padding:12px!important}
  .pio3-wizard-main{margin-inline:5px!important;padding:12px!important}
}

@media(max-width:820px){
 .pio83-commission-page{gap:12px}
 .pio83-commission-board{border-radius:10px}
 .pio83-ranking-panel .pio7-ranking{overflow-x:auto}
 .pio83-ranking-panel .pio7-ranking-head,.pio83-ranking-panel .pio7-ranking-row{min-width:360px}
 .pio83-evaluation .pio4-eval-layout{display:block!important}
 .pio83-evaluation .pio4-eval-sidebar{margin-top:10px}
 .pio83-evaluation.collegial .pio4-score-box{margin-top:8px}
}

@media(max-width:820px){.pio84-evaluated-badge{display:block;width:max-content;max-width:100%;margin:5px 0 0}.pio84-answer-head{display:grid;gap:5px}.pio84-answer-head>b{justify-self:start;font-size:9px}.pio84-guidance{padding:9px}}

@media(max-width:820px){.pio84-score-transparency{margin:0 10px 10px;padding:10px 11px}.pio84-score-transparency p{font-size:11px}.pio84-score-transparency strong{font-size:11px}}

@media(max-width:820px){.pio9-project-card,.pio9-request,.pio9-form-grid{grid-template-columns:1fr}.pio9-detail h1{font-size:23px}}

@media(max-width:820px){.pio9-profile-banner{align-items:flex-start;flex-direction:column}.pio9-profile-banner .pio-button{width:100%}.pio9-communications article{padding:14px}.pio9-tabs{margin-left:-4px;margin-right:-4px}}

@media(max-width:820px){.pio92-projects-head,.pio92-readonly-head{display:grid}.pio92-project-card{grid-template-columns:1fr}.pio92-project-metrics{flex-wrap:wrap}.pio92-readonly-grid{grid-template-columns:1fr}.pio92-readonly-card dl{grid-template-columns:1fr}.pio92-original,.pio92-row,.pio92-expense{align-items:flex-start;flex-direction:column}.pio92-project-card .pio-button,.pio92-row .pio-button{width:100%}}

@media(max-width:820px){.pio910-report-summary,.pio910-report-totals{grid-template-columns:1fr}.pio910-report-head{display:none}.pio910-report-row{grid-template-columns:1fr}.pio910-report-docs{grid-column:auto}.pio910-form-grid{grid-template-columns:1fr}.pio910-management-title{display:grid;align-items:start}.pio910-management-title>div:last-child{text-align:left}.pio910-management-row header{display:grid}.pio910-row-request,.pio910-review-request,.pio910-request-form{grid-template-columns:1fr}}
