/* Navegação adaptada ao espaço disponível, incluindo janelas baixas. */
html,body{min-width:0}body{overflow-x:clip}[hidden]{display:none!important}
#shell,.main-wrap,main,.grid-main>*,.config-grid>*,.cards>*,.media-grid>*,.panel,.toolbar,.page-heading>div{min-width:0}
aside{height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#454545 transparent;padding:24px 18px 0}
aside>*{flex-shrink:0}aside nav{gap:3px}aside nav a{padding:11px 12px;min-height:44px}
.workspace{margin:26px 0 22px}.personal{padding-top:24px}.profile{padding:16px 4px}
.main-wrap{min-height:100dvh;display:flex;flex-direction:column}header{flex-shrink:0}main{width:100%;flex:1}footer{flex-shrink:0}
.page-heading{gap:20px}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.heading-actions>*{max-width:100%}
.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.media-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.account-card,.caption-card{padding:22px}.account-top>div{min-width:0}.account-top h3{overflow-wrap:anywhere}.card-actions>*{min-height:40px}
.search{flex:1;min-width:0;width:auto}.toolbar{align-items:center}.toolbar .filters{flex-wrap:wrap}.toolbar>select{max-width:100%}
.config-row>*{min-width:0}.config-row strong{overflow-wrap:anywhere}.caption-card p,.tags,.tip,.notice{overflow-wrap:anywhere}
.calendar-grid{width:100%;min-width:0;overscroll-behavior-x:contain}.table-scroll{max-width:100%;overscroll-behavior-x:contain}
.drive-library>div{min-width:0}.drive-library .card-actions{flex-shrink:1}
.menu-toggle,.drawer-close,.nav-overlay,.mobile-dock{display:none}
button:focus-visible,a:focus-visible{outline:2px solid #eee;outline-offset:3px}
@media(min-width:1181px) and (max-height:800px){aside{padding-top:18px}.workspace{margin:20px 0 18px}.personal{display:none}.profile{margin-top:12px}aside nav a{padding-block:9px;min-height:40px}.nav-label{margin-bottom:10px}}
@media(max-width:1180px){
  .main-wrap{margin-left:0}header{position:sticky;top:0;z-index:20;height:64px;padding:0 24px;gap:16px}
  .menu-toggle{display:inline-grid;place-items:center;width:40px;height:40px;padding:8px;flex-shrink:0;background:transparent;border-color:transparent;font-size:23px}
  .breadcrumb{flex:1;min-width:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb span{padding:0 10px}
  .header-right{flex-shrink:0}.header-right .avatar{margin-left:10px}
  aside{position:fixed;inset:0 auto 0 0;width:min(304px,calc(100vw - 40px));height:100dvh;padding:24px 18px 0;z-index:60;display:flex;transform:translateX(-105%);visibility:hidden;transition:transform .2s ease,visibility .2s;background:#0b0b0b;border-right:1px solid #333;border-bottom:0}
  aside .brand{font-size:24px;padding-right:40px}aside .workspace{display:flex}aside .nav-label,aside .logout{display:block}aside .profile{display:flex}aside .personal{display:none}
  aside nav{position:static;inset:auto;display:grid;overflow:visible;margin:0;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;gap:4px}
  aside nav a{font-size:14px;padding:12px;min-height:46px;white-space:normal}aside nav a>span{display:inline-block;font-size:19px;width:22px;flex-shrink:0}
  aside .logout{margin-top:24px}.drawer-close{display:grid;place-items:center;position:absolute;top:22px;right:16px;width:36px;height:36px;padding:0;font-size:25px;background:transparent;border-color:transparent}
  .nav-overlay{display:block;position:fixed;inset:0;z-index:50;padding:0;border:0;border-radius:0;background:#0009;opacity:0;visibility:hidden;cursor:default;transition:opacity .2s,visibility .2s}
  body.menu-open{overflow:hidden}body.menu-open aside{visibility:visible;transform:translateX(0)}body.menu-open .nav-overlay{visibility:visible;opacity:1}
  main{padding:30px 24px 24px;max-width:1440px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,1fr)}
  .mobile-dock{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 12px max(10px,env(safe-area-inset-bottom));z-index:30;margin:0 auto;padding:5px;max-width:660px;gap:3px;border:1px solid #333;border-radius:17px;background:#0b0b0bf5;backdrop-filter:blur(16px);overflow:visible}
  .mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 2px;min-height:49px;font-size:10px;color:#a5a5a5;border-radius:11px;white-space:nowrap}
  .mobile-dock a>span{display:block;width:auto;font-size:20px;line-height:1;color:inherit}.mobile-dock a.active{background:#242424;color:#fff}.mobile-dock a.active>span{color:#fff}
  footer{padding:16px 24px calc(90px + env(safe-area-inset-bottom));font-size:10px}.date-chip{display:none}
  #toast{bottom:calc(88px + env(safe-area-inset-bottom));left:20px;right:20px;width:fit-content;max-width:calc(100% - 40px);margin-left:auto;z-index:80}
}
@media(max-width:760px){
  header{height:64px;padding:0 16px;gap:10px}.breadcrumb{font-size:11px}.breadcrumb>span{padding:0 7px}.header-right>span:not(.avatar){display:none}.header-right .avatar{margin:0}
  main{padding:26px 20px 18px}.page-heading{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding-bottom:24px;margin-bottom:24px}.heading-actions{justify-content:flex-start;gap:8px}
  h1{font-size:clamp(25px,5.2vw,34px);line-height:1.15;letter-spacing:-1px}.subtitle{font-size:13px;line-height:1.6}.eyebrow{font-size:9px;line-height:1.6}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{padding:18px}.stat-value{font-size:29px}.stat-top{font-size:11px}
  .panel-heading{padding:20px;gap:14px;flex-wrap:wrap}.panel-body{padding:20px}.panel-heading p{line-height:1.6}
  .cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:16px}.account-card,.caption-card{padding:20px}.card-actions{gap:8px}.card-actions button{font-size:12px;padding:10px 12px}
  .group-grid{grid-template-columns:minmax(0,1fr)}.toolbar{gap:12px}.toolbar input,.toolbar select{width:100%;min-width:0}.toolbar .filters{width:100%;gap:6px}
  .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.media-preview{height:auto;aspect-ratio:4/3}.media-card>div:last-child{padding:14px}.media-card h3{font-size:12px}.media-card select{font-size:11px;padding:10px 7px}
  .folder-tabs{padding:16px;gap:8px}.folder-tabs button{min-width:0;max-width:100%;padding:12px;font-size:12px;overflow-wrap:anywhere}
  .drive-library{padding:20px;gap:14px}.drive-library .card-actions{margin-top:0;gap:8px;flex-wrap:wrap}.drive-library p{font-size:13px}
  .config-grid{grid-template-columns:minmax(0,1fr)}.config-row{flex-direction:column;gap:8px}.config-row strong{text-align:left;font-size:12px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .full{grid-column:auto}
  dialog{width:calc(100% - 24px);max-width:700px;max-height:calc(100dvh - 24px);margin:auto;border-radius:17px;overflow-y:auto;overscroll-behavior:contain}.dialog-head{position:sticky;top:0;z-index:2;background:#0d0d0d;padding:18px 20px}.dialog-head h2{font-size:19px}#dialog-body{padding:0 20px 20px}
  .wizard-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.wizard-steps span{font-size:10px;text-align:center;padding:9px 2px}.form-actions{flex-wrap:wrap;gap:8px}.form-actions button{flex:1;min-width:100px;min-height:42px}.choices label{align-items:flex-start;overflow-wrap:anywhere}.choices input{flex-shrink:0}.advanced-fields{min-width:0;padding:16px}
  .report-numbers{padding:20px;flex-wrap:wrap;gap:20px}.report-numbers>div{min-width:90px}.bar-row{grid-template-columns:85px minmax(0,1fr) 30px;gap:10px}.notice{align-items:flex-start;font-size:12px}.tip{font-size:12px}
  footer{padding-inline:20px;gap:8px;flex-wrap:wrap}#last-sync{margin-left:0;width:100%}
}
@media(max-width:380px){main{padding-inline:14px}header{padding-inline:10px}.breadcrumb{font-size:10px}.media-grid{grid-template-columns:minmax(0,1fr)}.heading-actions>*{flex:1;text-align:center;justify-content:center}.stat{padding:14px}.stat-value{font-size:26px}.mobile-dock{left:8px;right:8px}.mobile-dock a{font-size:9px}.wizard-steps span{font-size:9px}}
@media(prefers-reduced-motion:reduce){aside,.nav-overlay{transition:none}}

