/* Ajustes de legibilidade e navegação para o painel em telas pequenas. */
.mobile-admin-header,.sidebar-close,.sidebar-backdrop{display:none}

@media (max-width:980px){
  body{font-size:15px}
  body.admin-menu-open{overflow:hidden}
  .app-shell{display:block;min-height:100dvh}
  .app-content{min-width:0}
  .sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:min(86vw,340px);height:100dvh;padding:20px 16px;display:flex;flex-direction:column;gap:24px;transform:translateX(-105%);transition:transform .22s cubic-bezier(.23,1,.32,1);box-shadow:22px 0 46px rgba(20,32,58,.24)}
  .admin-menu-open .sidebar{transform:translateX(0)}
  .sidebar-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .sidebar .nav-label,.sidebar .nav,.sidebar-foot{display:block}
  .sidebar .nav{display:grid;gap:7px;margin-top:8px}
  .sidebar .nav a{min-height:48px;padding:12px;font-size:15px}
  .sidebar .nav a svg{width:19px;height:19px}
  .sidebar-foot{display:block;margin-top:auto;padding-top:18px}
  .admin-identity{font-size:14px;white-space:normal;overflow:visible}
  .admin-identity small{display:block;margin-top:3px;color:#8491ad}
  .logout-link{font-size:14px;margin-top:12px}
  .sidebar-close{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;font-size:27px;line-height:1}
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:40;border:0;background:rgba(10,20,40,.42);opacity:0;pointer-events:none;transition:opacity .2s ease}
  .admin-menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}
  .mobile-admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:12px 18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
  .mobile-admin-header .brand{padding:0;font-size:14px;min-width:0;overflow:hidden}
  .mobile-admin-header .brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-menu-toggle{display:grid;gap:4px;place-content:center;flex:0 0 42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff}
  .mobile-menu-toggle span{display:block;width:19px;height:2px;border-radius:2px;background:var(--ink)}
  .mobile-logout{font-size:13px;font-weight:800;color:var(--accent);padding:9px 0}
  .main{padding:26px 20px 44px}
  .main>.mobile-bar{display:none!important}
  .page-head h1{font-size:31px}
  .page-head p{font-size:15px;line-height:1.6}
  .form-section h2{font-size:19px}
  .input-group label,.builder-grid label,.builder-footer label{font-size:14px}
  input,textarea,select{min-height:48px;padding:12px 13px;font-size:16px}
  textarea{min-height:128px}
  .button{min-height:46px;padding:12px 16px;font-size:14px}
  .button.small{min-height:38px;font-size:13px}
}

@media (max-width:700px){
  .auth-page{display:flex;flex-direction:column;min-height:100dvh;background:#eef0f5}
  .auth-art{min-height:310px;padding:24px 24px 42px;justify-content:flex-start}
  .auth-art:before{width:330px;height:330px;right:-105px;top:-115px}
  .auth-art:after{width:220px;height:220px;left:-112px;bottom:-125px}
  .auth-art .brand{padding:0;font-size:14px;position:relative;z-index:1}
  .auth-copy{margin-top:auto;max-width:390px}
  .auth-copy h1{font-size:clamp(38px,10vw,50px);line-height:.96;margin:28px 0 13px}
  .auth-copy p{font-size:16px;line-height:1.58;margin:0;max-width:360px}
  .auth-footer{display:none}
  .auth-form-wrap{display:block;padding:0 16px 30px;margin-top:-28px;position:relative;z-index:2}
  .auth-form{width:100%;max-width:470px;margin:0 auto;padding:28px 24px;border-radius:18px;box-shadow:0 18px 44px rgba(20,32,58,.14)}
  .auth-form h2{font-size:29px;line-height:1.1}
  .auth-form>p{font-size:15px;line-height:1.55;margin:9px 0 24px}
  .auth-form form{gap:17px}
  .auth-form .button{width:100%;min-height:54px;margin-top:6px;font-size:15px}
  .main{padding:22px 16px 38px}
  .page-head{gap:10px}
  .page-head h1{font-size:29px}
  .page-head p{font-size:15px}
  .section-card,.form-card{padding:20px}
  .detail-hero h1{font-size:29px}
  .alert{font-size:14px;padding:14px}
}

@media (max-width:390px){
  .mobile-admin-header{padding-inline:14px}
  .auth-art{min-height:288px;padding-inline:20px}
  .auth-copy h1{font-size:37px}
  .auth-copy p{font-size:15px}
  .auth-form-wrap{padding-inline:12px}
  .auth-form{padding:24px 20px}
}
