/* Camada responsiva: preserva o desktop e organiza toque, leitura e navegação em celulares. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
button,.button,input,select,textarea{-webkit-tap-highlight-color:transparent}
.date-control{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px}
.date-control .date-picker{width:48px;padding:8px;color:transparent;cursor:pointer}
.date-control .date-picker::-webkit-calendar-picker-indicator{width:24px;height:24px;margin:auto;cursor:pointer}

@media(max-width:850px){
  body{font-size:15px}
  #appShell{min-height:100dvh}
  aside{position:sticky;z-index:50;inset:0 0 auto;width:100%;min-height:62px;padding:calc(8px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;box-shadow:0 5px 18px rgba(4,31,25,.2)}
  aside>.logo{font-size:18px;white-space:nowrap}
  aside>.logo span{display:none}
  aside nav{display:flex;gap:4px;min-width:0;margin:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  aside nav::-webkit-scrollbar{display:none}
  .nav{flex:0 0 auto;min-height:44px;padding:10px 12px;border-radius:9px;white-space:nowrap;scroll-snap-align:center;font-size:13px;text-align:center}
  .selected-nav{display:flex}
  .nav-count{min-width:21px;padding:1px 6px}
  .logout{min-height:44px;margin:0;padding:10px 11px;color:#fff;border:1px solid #ffffff25}
  main{width:100%;max-width:none;margin:0;padding:24px max(14px,env(safe-area-inset-right)) calc(36px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .session-timer{z-index:45;top:calc(70px + env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));bottom:auto;padding:7px 9px;box-shadow:0 4px 16px rgba(4,31,25,.16)}
  .session-timer span{display:none}
  h1{margin:6px 0 9px;font-size:clamp(28px,8vw,34px);line-height:1.12;letter-spacing:-1px;overflow-wrap:anywhere}
  h2{font-size:21px;line-height:1.25}
  h3{line-height:1.35}
  .lead,.section-head p{margin-top:7px;line-height:1.55}
  button,.button{min-height:44px;padding:11px 14px}
  input,select,textarea{min-height:46px;padding:11px 12px;border-radius:10px;font-size:16px}
  textarea{min-height:120px;line-height:1.5;resize:vertical}
  input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 auto}
  input[type=date],input[type=datetime-local]{display:block;min-width:0;appearance:auto}
  label{gap:8px;line-height:1.4}
  label.inline{align-items:flex-start}
  small{line-height:1.45}
  .card{margin:12px 0;padding:16px;border-radius:14px}
  .grid,.metric-grid,.plan-grid,.admin-list,.detail-grid,.result-filters,.split,.primary-result-filters,.advanced-filters{grid-template-columns:minmax(0,1fr)}
  .grid{gap:15px}
  .metric-grid{gap:10px;margin:18px 0}
  .metric{padding:16px}
  .metric b{font-size:25px}
  .section-head,.toolbar{align-items:stretch;flex-direction:column;gap:10px;margin:20px 0 12px}
  .toolbar>*{width:100%;text-align:center}
  .toolbar select{min-width:0}
  .job,.opportunity,.user-card,.order-card{padding:15px;border-radius:13px}
  .job{display:grid;gap:10px}
  .job .status{justify-self:start}
  .opportunity{content-visibility:auto;contain-intrinsic-size:300px}
  .opportunity-top{align-items:flex-start;flex-direction:column}
  .opportunity h3{font-size:17px}
  .opportunity p{margin:10px 0;line-height:1.5}
  .opportunity-labels{justify-content:flex-start}
  .meta{display:grid;gap:8px;font-size:13px}
  .selection-choice{width:100%;min-height:46px;margin-top:13px}
  .result-filters,.advanced-filters{gap:13px}
  .filter-toggle,.filter-actions button{width:100%}
  .advanced-filters{padding-top:13px}
  .srp-filter{padding:14px;border:1px solid var(--line);border-radius:11px}
  .check-panel{max-height:230px;padding:10px;grid-template-columns:1fr;gap:8px}
  .check-panel label{min-height:34px;font-size:14px}
  .uf-panel{grid-template-columns:repeat(3,minmax(0,1fr))}
  .date-picker{min-height:46px}
  .output-options,.profile-form{grid-template-columns:1fr}
  .file-options>div{gap:12px 20px}
  .extraction-filter-choice{grid-template-columns:auto minmax(0,1fr)!important}
  .selected-summary{align-items:stretch;flex-direction:column;gap:14px}
  .selected-summary label{width:100%}
  .selected-actions,.detail-actions,.area-actions,.notice-form-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .selected-actions>*,.detail-actions>*,.area-actions>*,.notice-form-actions>*{width:100%;text-align:center}
  .area-sidebar{position:static}
  .area-terms textarea{min-height:170px}
  .tabs{max-width:100%;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tabs::-webkit-scrollbar{display:none}
  .tabs button{flex:0 0 auto;white-space:nowrap}
  .notice-admin-card{grid-template-columns:1fr;padding:15px}
  .notice-admin-actions{display:grid;grid-template-columns:1fr;width:100%}
  .notice-admin-actions button{width:100%}
  .notice-form-heading{display:grid;gap:12px}
  .notice-schedule{padding:15px}
  .notice-once-choice{padding:14px}
  .order-card{align-items:flex-start;flex-direction:column}
  .order-value{text-align:left}
  .modal{display:flex;align-items:flex-end;padding:8px 8px 0;overscroll-behavior:contain}
  .modal-content{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - 8px);margin:0;padding:29px 17px calc(22px + env(safe-area-inset-bottom));overflow:auto;border-radius:18px 18px 0 0}
  .modal-content>.close{position:sticky;z-index:2;float:right;top:0;margin:-18px -7px 0 0;width:44px;height:44px;padding:5px;background:#eef6f3;border-radius:50%}
  .detail-grid{gap:8px}
  .detail-link{align-items:stretch;flex-direction:column}
  .detail-link .button{width:100%;text-align:center}
  .notice-modal{align-items:flex-end;padding:8px 8px 0;background:rgba(5,39,34,.7);backdrop-filter:none}
  .notice-dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 8px);padding:29px 17px calc(20px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}
  .notice-dialog h2{margin-right:42px;font-size:26px}
  .notice-dialog img{max-height:250px}
  .notice-dialog-footer{align-items:stretch;flex-direction:column}
  .notice-dialog-footer button{width:100%}
  #toast{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));text-align:center}
  .auth-layout,.center-screen{min-height:100dvh;padding:0}
  .auth-panel{min-height:100dvh;padding:calc(22px + env(safe-area-inset-top)) 15px calc(22px + env(safe-area-inset-bottom));border-radius:0}
  .auth-card{width:100%;padding:22px 18px;gap:15px;border-radius:15px;box-shadow:0 8px 28px rgba(9,40,30,.08)}
}

@media(max-width:390px){
  aside{grid-template-columns:minmax(0,1fr) auto}
  aside>.logo{display:none}
  main{padding-top:20px}
  .nav{padding-inline:11px;font-size:12px}
  .uf-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  h1{font-size:28px}
  .card{padding:14px}
}

@media(max-width:850px) and (orientation:landscape){
  aside{position:relative;padding-top:8px}
  main{padding-top:18px}
  .modal-content,.notice-dialog{max-height:100dvh;border-radius:14px 14px 0 0}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
