/* MINHA PROXITI | Shell do cliente v2
 * Única fonte de estilos do painel autenticado: o login e os fluxos existentes
 * continuam nos arquivos originais. Largura do cabeçalho e do painel alinhadas.
 */
body:has(#customer-app:not([hidden])) .customer-header{
 width:calc(100% - 48px);min-height:68px;
 margin-inline:auto;padding:10px 0;box-shadow:none;
}
body:has(#customer-app:not([hidden])) .customer-header>.customer-brand{display:none}
body:has(#customer-app:not([hidden])) .customer-header-actions{
 width:100%;justify-content:flex-end;gap:10px;
}
body:has(#customer-app:not([hidden])) .customer-header-caption{
 margin-right:auto;font-weight:750;letter-spacing:.025em;
}
#customer-app{
 display:grid;grid-template-columns:252px minmax(0,1fr);gap:20px;
 align-items:start;width:calc(100% - 48px);max-width:none;
 min-height:calc(100dvh - 170px);margin:22px auto 24px;
 background:transparent;
}
#customer-app .customer-sidebar{
 position:sticky;top:18px;align-self:start;
 display:flex;flex-direction:column;gap:0;
 height:min(800px,calc(100dvh - 112px));min-height:620px;max-height:none;
 min-width:0;padding:19px 12px 13px;
 overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;
 border:1px solid var(--line);border-radius:17px;
 background:var(--surface);
 box-shadow:0 9px 28px rgba(15,39,74,.035);
}
#customer-app .customer-sidebar-head{
 display:flex;align-items:center;gap:8px;min-width:0;
 padding:0 4px 18px;border-bottom:1px solid var(--line);
}
#customer-app .sidebar-brand{
 display:inline-flex;align-items:center;gap:10px;
 flex:1 1 auto;min-width:0;margin:0;text-decoration:none;color:var(--text);
}
#customer-app .sidebar-brand .brand-mark{
 flex:none;width:40px;height:40px;border-radius:11px;
}
#customer-app .sidebar-brand-label{
 display:grid;gap:2px;min-width:0;line-height:1.16;
}
#customer-app .sidebar-brand-label .brand-name{
 display:inline-flex;align-items:baseline;gap:0;
 font-family:Inter,Manrope,system-ui,sans-serif;
 font-size:.92rem;font-weight:850;letter-spacing:.075em;
}
#customer-app .sidebar-brand-label small{
 display:block;color:var(--muted);font-size:.57rem;
 font-weight:800;letter-spacing:.12em;white-space:nowrap;
}
#customer-app .sidebar-collapse,#customer-app .sidebar-mobile-toggle{
 appearance:none;display:inline-flex;align-items:center;justify-content:center;
 flex:none;width:34px;height:34px;min-height:34px;margin:0;padding:0;
 border:1px solid var(--line);border-radius:9px;
 background:var(--surface);color:var(--muted);
 transition:background-color .17s ease,border-color .17s ease,color .17s ease;
}
#customer-app .sidebar-collapse:hover,#customer-app .sidebar-mobile-toggle:hover{
 background:var(--soft-blue);border-color:var(--blue);color:var(--blue);
}
#customer-app .customer-sidebar svg{display:block;flex:none;width:19px;height:19px}
#customer-app .sidebar-collapse svg{width:17px;height:17px}
#customer-app .sidebar-mobile-toggle{display:none}
#customer-app .customer-sidebar-body{
 display:flex;flex:1;flex-direction:column;gap:0;min-width:0;
}
#customer-app .sidebar-section-label{
 display:block;margin:20px 10px 9px;
 font-size:.61rem;font-weight:850;letter-spacing:.13em;
 line-height:1.45;color:var(--muted);
}
#customer-app .customer-nav{
 display:grid;gap:4px;min-width:0;margin:0;padding:0;
}
#customer-app .customer-nav button{
 position:relative;display:flex;align-items:center;justify-content:flex-start;
 gap:11px;width:100%;min-height:44px;margin:0;padding:10px 11px;
 border:1px solid transparent;border-radius:10px;
 background:transparent;color:var(--muted);
 font-family:inherit;font-size:.83rem;font-weight:690;line-height:1.36;
 text-align:left;white-space:normal;
 transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
#customer-app .customer-nav button svg{color:var(--muted)}
#customer-app .customer-nav button span{min-width:0}
#customer-app .customer-nav button:is(:hover,:focus-visible){
 background:var(--surface2);border-color:var(--line);color:var(--text);
}
#customer-app .customer-nav button.active{
 border-color:color-mix(in srgb,var(--blue) 28%,var(--line));
 background:var(--soft-blue);color:var(--text);
 box-shadow:inset 3px 0 0 var(--blue);
 font-weight:800;
}
#customer-app .customer-nav button.active svg{color:var(--blue)}
#customer-app .customer-sidebar-bottom{
 display:grid;gap:7px;min-width:0;margin-top:auto;padding-top:15px;
 border-top:1px solid var(--line);
}
#customer-app .customer-sidebar-bottom button{
 position:relative;display:flex;align-items:center;justify-content:flex-start;
 gap:10px;min-width:0;width:100%;min-height:42px;
 margin:0;padding:9px 10px;border:1px solid transparent;
 border-radius:10px;background:transparent;color:var(--text);
 text-align:left;font:inherit;font-size:.78rem;font-weight:720;line-height:1.35;
}
#customer-app .customer-sidebar-bottom button:hover{
 background:var(--surface2);border-color:var(--line);
}
#customer-app .customer-sidebar-bottom .sidebar-support{
 background:var(--soft-blue);
 border-color:color-mix(in srgb,var(--blue) 25%,var(--line));
}
#customer-app .customer-sidebar-bottom .sidebar-support svg{color:var(--blue)}
#customer-app .customer-sidebar-bottom .sidebar-support:hover{border-color:var(--blue)}
#customer-app .customer-sidebar-account{
 min-height:63px!important;margin-top:6px!important;padding:8px!important;
 border:1px solid var(--line)!important;background:var(--surface2)!important;
}
#customer-app .customer-sidebar-account:hover{border-color:var(--blue)!important}
#customer-app .customer-sidebar-avatar{
 display:grid;place-items:center;flex:none;width:35px;height:35px;
 border-radius:11px;background:var(--soft-blue);color:var(--blue);
 font-size:.91rem;font-weight:850;text-transform:uppercase;
}
#customer-app .sidebar-name{
 display:grid;flex:1 1 auto;min-width:0;gap:2px;
 padding:0;margin:0;border:0;overflow-wrap:anywhere;
}
#customer-app .sidebar-name small{
 display:block;color:var(--muted);font-size:.59rem;font-weight:780;letter-spacing:.065em;
}
#customer-app .sidebar-name strong{
 color:var(--text);font-size:.82rem;font-weight:800;
 line-height:1.32;letter-spacing:-.016em;
}
#customer-app .sidebar-name>span{
 color:var(--muted);font-size:.68rem;line-height:1.36;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#customer-app .customer-sidebar-account>svg:last-child{
 width:15px;height:15px;color:var(--muted);
}
#customer-app .customer-sidebar-bottom .sidebar-logout{
 min-height:39px;color:var(--muted);font-weight:650;
}
#customer-app .customer-sidebar-bottom .sidebar-logout:hover{color:var(--text)}
#customer-app .customer-content{
 display:grid;align-content:start;gap:15px;
 min-width:0;width:100%;max-width:none;padding:0;margin:0;
}
#customer-app .app-toolbar{
 display:flex;align-items:center;justify-content:space-between;
 gap:12px;min-height:40px;padding:0 1px;
}
#customer-app .customer-toolbar-path{
 display:inline-flex;align-items:center;gap:9px;min-width:0;
 color:var(--muted);font-size:.77rem;font-weight:650;
}
#customer-app .customer-toolbar-path strong{
 color:var(--text);font-weight:800;white-space:nowrap;
}
#customer-app .customer-toolbar-path svg{
 display:block;flex:none;width:14px;height:14px;color:var(--muted);
}
#customer-app #customer-refresh{
 display:inline-flex;align-items:center;justify-content:center;
 gap:7px;min-height:38px;margin:0;padding:8px 11px;
 border:1px solid var(--line);border-radius:10px;
 background:var(--surface);color:var(--text);
 font-size:.76rem;font-weight:760;
}
#customer-app #customer-refresh svg{display:block;width:16px;height:16px}
#customer-app #customer-refresh:hover{background:var(--surface2);border-color:var(--blue)}
#customer-app #customer-app-status:empty{display:none}
#customer-app #customer-app-status{
 margin:0;font-size:.77rem;line-height:1.45;
}
#customer-app [data-customer-panel="home"]{
 display:grid;align-content:start;gap:14px;min-width:0;
}
#customer-app [data-customer-panel="home"]>*{min-width:0;margin-block:0}
#customer-app .customer-home-intro{display:block;padding:0 1px 1px}
#customer-app .customer-home-intro .eyebrow{
 color:var(--blue);font-size:.65rem;letter-spacing:.115em;
}
#customer-app .customer-home-intro h1{
 margin:5px 0 5px;color:var(--text);
 font-size:clamp(1.75rem,2.8vw,2.25rem);
 font-weight:800;line-height:1.17;letter-spacing:-.055em;
}
#customer-app .customer-home-intro h1 span{color:var(--blue)}
#customer-app .customer-home-intro p{
 margin:0;font-size:.83rem;line-height:1.52;color:var(--muted);
}
#customer-app .welcome-hero{
 display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.65fr);
 align-items:center;gap:17px;
 min-height:202px;padding:24px 26px;
 border:1px solid #466d97;border-radius:16px;
 background:linear-gradient(114deg,#18385f 0%,#1d4e7c 100%);
 color:#fff;box-shadow:0 7px 22px rgba(20,57,99,.085);
}
#customer-app .welcome-hero-copy{min-width:0}
#customer-app .welcome-hero .eyebrow{
 color:#bcd5fb;font-size:.63rem;font-weight:850;letter-spacing:.11em;
}
#customer-app .welcome-hero h2{
 margin:7px 0 9px;max-width:38ch;text-wrap:balance;
 color:#fff;font-size:clamp(1.65rem,2.65vw,2.05rem);
 font-weight:800;line-height:1.18;letter-spacing:-.043em;
}
#customer-app .welcome-hero h2 span{color:#b7d3ff}
#customer-app .welcome-hero p{
 margin:0;max-width:52ch;color:#e4eefb;
 font-size:.81rem;line-height:1.58;
}
#customer-app .welcome-hero #customer-home-action{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 min-height:39px;margin-top:13px;padding:9px 13px;
 border:1px solid #77a3e7;border-radius:9px;
 background:#2b66cb;color:#fff;font-size:.77rem;font-weight:800;
}
#customer-app .welcome-hero #customer-home-action:hover{
 background:#3e78d8;border-color:#9bbef1;
}
#customer-app .customer-hero-art{
 display:grid;place-items:center;min-width:0;width:100%;max-width:250px;
 justify-self:end;padding:10px;
 border:1px solid rgba(179,211,253,.14);border-radius:13px;
 background:rgba(11,29,51,.34);
}
#customer-app .customer-hero-art img{
 display:block;width:100%;max-height:148px;margin:0;object-fit:contain;
}
#customer-app .customer-metrics{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:11px;margin:0;
}
#customer-app .customer-metrics article{
 display:grid;grid-template-columns:35px minmax(0,1fr);
 grid-template-rows:auto auto auto;column-gap:10px;row-gap:3px;
 align-content:start;min-height:110px;padding:15px;
 border:1px solid var(--line);border-radius:13px;
 background:var(--surface);box-shadow:0 3px 10px rgba(17,41,76,.025);
}
#customer-app .customer-metric-icon{
 display:grid;place-items:center;grid-column:1;grid-row:1/3;
 width:35px;height:35px;border-radius:10px;
 background:var(--soft-blue);color:var(--blue);
}
#customer-app .customer-metric-icon svg{display:block;width:18px;height:18px}
#customer-app .customer-metrics article>span{
 grid-column:2;grid-row:1;
 font-size:.72rem;line-height:1.35;font-weight:740;color:var(--muted);
}
#customer-app .customer-metrics article strong{
 grid-column:2;grid-row:2;
 font-size:1.64rem;line-height:1.12;letter-spacing:-.05em;
 color:var(--text);font-weight:850;font-variant-numeric:tabular-nums;
}
#customer-app .customer-metrics article small{
 grid-column:1/-1;grid-row:3;
 margin-top:8px;font-size:.7rem;line-height:1.4;color:var(--muted);
}
#customer-app .customer-next-steps{
 display:grid;grid-template-columns:40px minmax(0,1fr) auto;
 align-items:center;gap:13px;
 min-height:104px;padding:16px 19px;
 border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));
 border-left:3px solid var(--blue);border-radius:13px;
 background:var(--surface);box-shadow:0 4px 16px rgba(17,41,76,.025);
}
#customer-app .customer-next-icon{
 display:grid;place-items:center;width:40px;height:40px;
 border-radius:11px;background:var(--soft-blue);color:var(--blue);
}
#customer-app .customer-next-icon svg{display:block;width:21px;height:21px}
#customer-app .customer-next-copy{display:grid;gap:4px;min-width:0}
#customer-app .customer-next-copy .eyebrow{
 font-size:.62rem;line-height:1.4;letter-spacing:.095em;color:var(--blue);
}
#customer-app .customer-next-copy h2{
 margin:0;font-size:1.12rem;line-height:1.25;
 font-weight:800;letter-spacing:-.03em;
}
#customer-app .customer-next-copy p{
 margin:0;max-width:58ch;color:var(--muted);
 font-size:.78rem;line-height:1.5;overflow-wrap:anywhere;
}
#customer-app #customer-next-action{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 min-height:39px;padding:8px 12px;
 border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));
 border-radius:9px;background:var(--soft-blue);color:var(--text);
 font:inherit;font-size:.74rem;font-weight:790;white-space:nowrap;
}
#customer-app #customer-next-action:hover{border-color:var(--blue);color:var(--blue)}
#customer-app #customer-next-action svg{display:block;width:15px;height:15px}
#customer-app .customer-home-bottom{
 display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);
 gap:12px;align-items:start;
}
#customer-app .customer-home-bottom>.customer-card{
 display:grid;align-content:start;gap:12px;
 padding:18px;border:1px solid var(--line);border-radius:13px;
 background:var(--surface);
}
#customer-app .customer-card-heading{
 display:flex;align-items:center;justify-content:space-between;gap:10px;
}
#customer-app .customer-home-bottom h2{
 margin:0;font-size:1.03rem;line-height:1.35;letter-spacing:-.025em;
}
#customer-app .customer-subtle-action{
 display:inline-flex;align-items:center;gap:5px;flex:none;
 padding:7px 3px;border:0;background:transparent;color:var(--blue);
 font:inherit;font-size:.73rem;font-weight:800;
}
#customer-app .customer-subtle-action:hover{text-decoration:underline}
#customer-app .customer-subtle-action svg{width:15px;height:15px}
#customer-app .customer-home-bottom .customer-record.compact{padding:12px}
#customer-app .customer-home-bottom .customer-record.compact strong{font-size:.84rem}
#customer-app .customer-tools-card>p{
 margin:0;color:var(--muted);font-size:.77rem;line-height:1.5;
}
#customer-app .customer-tool-link{
 display:flex;align-items:center;gap:11px;min-width:0;width:100%;min-height:60px;
 margin:0;padding:10px;border:1px solid var(--line);border-radius:10px;
 background:var(--surface);color:var(--text);text-align:left;font:inherit;
}
#customer-app .customer-tool-link:hover{
 border-color:color-mix(in srgb,var(--blue) 40%,var(--line));
 background:var(--surface2);
}
#customer-app .customer-tool-link>svg:first-child{
 display:block;width:19px;height:19px;flex:none;color:var(--blue);
}
#customer-app .customer-tool-link>span{display:grid;gap:3px;min-width:0;flex:1}
#customer-app .customer-tool-link strong{font-size:.78rem;line-height:1.35}
#customer-app .customer-tool-link small{font-size:.7rem;color:var(--muted);line-height:1.45}
#customer-app .customer-tool-link>svg:last-child{
 display:block;width:15px;height:15px;flex:none;color:var(--muted);
}
/* O painel recolhido continua na MESMA grade e mantém o conteúdo alinhado. */
#customer-app.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}
#customer-app.sidebar-collapsed .customer-sidebar{
 padding-inline:8px;overflow:visible;
}
#customer-app.sidebar-collapsed .customer-sidebar-head{
 flex-direction:column;gap:9px;justify-content:flex-start;
 padding:0 0 14px;
}
#customer-app.sidebar-collapsed .sidebar-brand{
 display:flex;justify-content:center;flex:none;width:44px;height:44px;
 margin:0;padding:0;
}
#customer-app.sidebar-collapsed .sidebar-brand .brand-mark{
 width:40px;height:40px;
}
#customer-app.sidebar-collapsed .sidebar-brand-label,
#customer-app.sidebar-collapsed .sidebar-section-label,
#customer-app.sidebar-collapsed .customer-nav button span,
#customer-app.sidebar-collapsed .customer-sidebar-bottom button>.sidebar-name,
#customer-app.sidebar-collapsed .customer-sidebar-bottom button>span:not(.customer-sidebar-avatar),
#customer-app.sidebar-collapsed .customer-sidebar-account>svg:last-child{display:none}
#customer-app.sidebar-collapsed .sidebar-collapse{
 display:flex;width:44px;height:37px;
}
#customer-app.sidebar-collapsed .sidebar-collapse svg{transform:rotate(180deg)}
#customer-app.sidebar-collapsed .customer-sidebar-body{gap:0}
#customer-app.sidebar-collapsed .customer-nav{justify-items:center;gap:6px;padding-top:15px}
#customer-app.sidebar-collapsed .customer-nav button,
#customer-app.sidebar-collapsed .customer-sidebar-bottom button{
 display:flex;justify-content:center;gap:0;
 width:46px;min-width:46px;height:46px;min-height:46px;
 margin-inline:auto;padding:0;border-radius:11px;
}
#customer-app.sidebar-collapsed .customer-nav button.active{
 box-shadow:inset 3px 0 0 var(--blue);
}
#customer-app.sidebar-collapsed .customer-sidebar-bottom{justify-items:center;gap:7px}
#customer-app.sidebar-collapsed .customer-sidebar-account{
 min-height:46px!important;margin-top:5px!important;padding:4px!important;
}
#customer-app.sidebar-collapsed .customer-sidebar-avatar{
 width:36px;height:36px;min-width:36px;
}
#customer-app.sidebar-collapsed .customer-content{max-width:none}
#customer-app.sidebar-collapsed .customer-sidebar :is(button[title],a[title]):is(:hover,:focus-visible)::after{
 content:attr(title);position:absolute;left:calc(100% + 12px);
 top:50%;transform:translateY(-50%);z-index:20;
 min-width:max-content;max-width:220px;padding:8px 10px;
 border:1px solid var(--line);border-radius:8px;
 background:var(--surface);color:var(--text);
 box-shadow:0 8px 24px rgba(11,30,59,.16);
 font-family:inherit;font-size:.72rem;font-weight:750;line-height:1.35;
 pointer-events:none;
}
#customer-app.sidebar-collapsed .sidebar-brand{position:relative}
/* Tablet: a navegação vira um menu real, não uma sidebar esmagada. */
@media(max-width:960px){
 body:has(#customer-app:not([hidden])) .customer-header{
  width:calc(100% - 36px);min-height:65px;
 }
 #customer-app,#customer-app.sidebar-collapsed{
  display:block;width:calc(100% - 36px);max-width:760px;
  margin:17px auto 42px;min-height:0;
 }
 #customer-app .customer-sidebar,#customer-app.sidebar-collapsed .customer-sidebar{
  position:relative;top:auto;display:flex;flex-direction:column;
  height:auto;min-height:0;max-height:none;
  gap:0;padding:11px 14px;overflow:visible;
  margin-bottom:17px;border-radius:14px;
 }
 #customer-app .customer-sidebar-head,
 #customer-app.sidebar-collapsed .customer-sidebar-head{
  display:flex;flex-direction:row;justify-content:space-between;
  align-items:center;gap:10px;padding:0;border:0;
 }
 #customer-app .sidebar-brand,#customer-app.sidebar-collapsed .sidebar-brand{
  display:inline-flex;justify-content:flex-start;
  flex:1 1 auto;width:auto;height:auto;min-width:0;
 }
 #customer-app .sidebar-brand-label,#customer-app.sidebar-collapsed .sidebar-brand-label{
  display:grid;
 }
 #customer-app .sidebar-collapse,#customer-app.sidebar-collapsed .sidebar-collapse{display:none}
 #customer-app .sidebar-mobile-toggle,#customer-app.sidebar-collapsed .sidebar-mobile-toggle{
  display:inline-flex;width:auto;min-width:44px;height:40px;
  gap:7px;padding:8px 11px;font-size:.76rem;font-weight:770;
  color:var(--text);
 }
 #customer-app .sidebar-mobile-toggle span{display:inline}
 #customer-app .customer-sidebar-body,
 #customer-app.sidebar-collapsed .customer-sidebar-body{display:none}
 #customer-app.sidebar-mobile-open .customer-sidebar-body,
 #customer-app.sidebar-collapsed.sidebar-mobile-open .customer-sidebar-body{
  display:flex;gap:0;padding-top:12px;
 }
 #customer-app .sidebar-section-label,#customer-app.sidebar-collapsed .sidebar-section-label{
  display:block;margin:5px 8px 8px;
 }
 #customer-app .customer-nav,#customer-app.sidebar-collapsed .customer-nav{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  justify-items:stretch;gap:5px;overflow:visible;padding:0;margin:0;
 }
 #customer-app .customer-nav button,#customer-app.sidebar-collapsed .customer-nav button{
  justify-content:flex-start;gap:11px;
  width:100%;height:auto;min-width:0;min-height:43px;
  margin:0;padding:10px 11px;font-size:.81rem;
 }
 #customer-app.sidebar-collapsed .customer-nav button span{display:inline}
 #customer-app .customer-sidebar-bottom,#customer-app.sidebar-collapsed .customer-sidebar-bottom{
  display:grid;grid-template-columns:1fr 1fr;justify-items:stretch;
  gap:7px;margin:13px 0 0;padding-top:12px;
 }
 #customer-app .customer-sidebar-bottom button,
 #customer-app.sidebar-collapsed .customer-sidebar-bottom button{
  display:flex;justify-content:flex-start;
  gap:10px;width:100%;height:auto;min-width:0;min-height:43px;
  padding:9px 11px;margin:0;
 }
 #customer-app .customer-sidebar-bottom .customer-sidebar-account,
 #customer-app.sidebar-collapsed .customer-sidebar-bottom .customer-sidebar-account{
  grid-column:1/-1;grid-row:2;min-height:61px!important;margin:0!important;
  padding:8px!important;
 }
 #customer-app .customer-sidebar-bottom .sidebar-logout{grid-column:2;grid-row:1}
 #customer-app .customer-sidebar-bottom .sidebar-support{grid-column:1;grid-row:1}
 #customer-app.sidebar-collapsed .sidebar-name{display:grid!important}
 #customer-app.sidebar-collapsed .sidebar-support span,
 #customer-app.sidebar-collapsed .sidebar-logout span{display:inline!important}
 #customer-app.sidebar-collapsed .customer-sidebar-account>svg:last-child{display:block}
 #customer-app.sidebar-collapsed .customer-sidebar :is(button[title],a[title]):is(:hover,:focus-visible)::after{display:none}
 #customer-app .customer-content,#customer-app.sidebar-collapsed .customer-content{
  max-width:none;width:100%;
 }
 #customer-app .welcome-hero{grid-template-columns:minmax(0,1fr) 185px}
 #customer-app .welcome-hero h2{font-size:clamp(1.65rem,4vw,2.05rem)}
 #customer-app .customer-hero-art{max-width:185px}
}
@media(max-width:620px){
 body:has(#customer-app:not([hidden])) .customer-header{width:calc(100% - 24px)}
 body:has(#customer-app:not([hidden])) .customer-header-caption-secondary{display:none}
 #customer-app,#customer-app.sidebar-collapsed{
  width:calc(100% - 24px);margin-top:12px;
 }
 #customer-app .customer-sidebar{margin-bottom:15px}
 #customer-app .customer-nav,#customer-app.sidebar-collapsed .customer-nav{
  grid-template-columns:1fr;
 }
 #customer-app .customer-content{gap:13px}
 #customer-app .app-toolbar{min-height:37px}
 #customer-app .customer-toolbar-path{font-size:.72rem;gap:5px}
 #customer-app .customer-home-intro h1{font-size:clamp(1.65rem,6.3vw,2rem)}
 #customer-app .customer-home-intro p{font-size:.81rem}
 #customer-app .welcome-hero{
  display:block;min-height:0;padding:21px 19px;
 }
 #customer-app .welcome-hero h2{
  max-width:31ch;font-size:clamp(1.6rem,6.1vw,2.02rem);
 }
 #customer-app .customer-hero-art{display:none}
 #customer-app .customer-metrics{
  grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;
 }
 #customer-app .customer-metrics article{
  min-height:111px;padding:13px 12px;
 }
 #customer-app .customer-metrics article:last-child{grid-column:1/-1}
 #customer-app .customer-metrics article strong{font-size:1.49rem}
 #customer-app .customer-next-steps{
  grid-template-columns:37px minmax(0,1fr);gap:10px;
  padding:14px;
 }
 #customer-app .customer-next-icon{width:37px;height:37px}
 #customer-app #customer-next-action{grid-column:2;justify-self:start}
 #customer-app .customer-home-bottom{grid-template-columns:1fr}
 #customer-app .customer-home-bottom>.customer-card{padding:16px}
}
@media(max-width:375px){
 #customer-app .customer-metrics{grid-template-columns:1fr}
 #customer-app .customer-metrics article:last-child{grid-column:auto}
 #customer-app .customer-sidebar-bottom,
 #customer-app.sidebar-collapsed .customer-sidebar-bottom{grid-template-columns:1fr}
 #customer-app .customer-sidebar-bottom .sidebar-support,
 #customer-app .customer-sidebar-bottom .sidebar-logout,
 #customer-app .customer-sidebar-bottom .customer-sidebar-account{grid-column:1;grid-row:auto}
}
@media(prefers-reduced-motion:reduce){
 #customer-app .customer-nav button,
 #customer-app .sidebar-collapse,#customer-app .sidebar-mobile-toggle,
 #customer-app .customer-sidebar-bottom button{transition:none}
}

/* V3: harmonização das telas privadas sem modificar os fluxos.
   Mantém o rodapé/login público com a largura original fora da área autenticada. */
body:has(#customer-app:not([hidden])) .customer-footer-inner,
body:has(#customer-app:not([hidden])) .customer-footer-bottom{
 width:calc(100% - 48px);max-width:none;
}
body:has(#customer-app:not([hidden])) .customer-footer-inner{
 display:grid;grid-template-columns:minmax(0,1fr) auto;
 align-items:start;gap:24px;
}
body:has(#customer-app:not([hidden])) .customer-footer-about{
 min-width:0;max-width:650px;
}
body:has(#customer-app:not([hidden])) .customer-footer nav{
 max-width:100%;align-content:start;
}
#customer-app #customer-home-tickets .customer-empty{
 margin:0;padding:13px 15px;
 border:1px dashed var(--line);border-radius:10px;
 background:var(--surface2);color:var(--muted);
 font-size:.77rem;line-height:1.6;
}
#customer-app .customer-home-bottom>.customer-card{
 min-height:0;
}
/* Perfil: informações editáveis e segurança ficam em cartões independentes.
   Nada muda nos IDs dos campos, no envio ou na recuperação de acesso. */
#customer-app [data-customer-panel="profile"] .customer-profile-layout{
 display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.85fr);
 align-items:start;gap:16px;width:100%;min-width:0;
}
#customer-app .customer-profile-layout>.customer-card{
 display:grid;align-content:start;gap:18px;
 min-width:0;max-width:none;margin:0;padding:clamp(19px,2vw,26px);
 border:1px solid var(--line);border-radius:15px;
 background:var(--surface);
}
#customer-app .customer-profile-layout h2{
 margin:0;color:var(--text);font-size:1.09rem;
 font-weight:800;line-height:1.35;letter-spacing:-.024em;
}
#customer-app .customer-profile-card .customer-form{
 display:grid;align-content:start;gap:19px;
}
#customer-app .customer-profile-fields{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 align-items:start;gap:16px 15px;min-width:0;
}
#customer-app .customer-profile-fields label{
 display:grid;gap:7px;min-width:0;
 font-size:.78rem;font-weight:730;line-height:1.5;
 color:var(--text);
}
#customer-app .customer-profile-fields :is(input,select){
 width:100%;min-width:0;min-height:46px;
}
#customer-app .customer-profile-fields input[readonly]{
 cursor:default;opacity:1;color:var(--muted);
 background:var(--surface2);
}
#customer-app .customer-profile-card .customer-form>button{
 justify-self:start;min-width:160px;min-height:43px;
 padding:10px 19px;border-radius:10px;
 font-size:.81rem;
}
#customer-app .customer-profile-security{
 gap:16px;
}
#customer-app .customer-security-heading{
 display:flex;align-items:center;gap:11px;min-width:0;
}
#customer-app .customer-security-icon{
 display:grid;place-items:center;flex:none;width:37px;height:37px;
 border:1px solid color-mix(in srgb,var(--blue) 27%,var(--line));
 border-radius:11px;background:var(--soft-blue);color:var(--blue);
}
#customer-app .customer-security-icon svg{display:block;width:20px;height:20px}
#customer-app .customer-profile-security>p{
 margin:0;max-width:56ch;color:var(--muted);
 font-size:.82rem;line-height:1.64;overflow-wrap:anywhere;
}
#customer-app .customer-profile-security>button{
 width:100%;min-height:43px;margin-top:3px;
 padding:10px 12px;font-size:.78rem;font-weight:760;
 white-space:normal;line-height:1.4;
}
@media(max-width:1180px){
 #customer-app [data-customer-panel="profile"] .customer-profile-layout{
  grid-template-columns:1fr;
 }
 #customer-app .customer-profile-security{
  max-width:none;
 }
}
@media(max-width:960px){
 body:has(#customer-app:not([hidden])) .customer-footer-inner,
 body:has(#customer-app:not([hidden])) .customer-footer-bottom{
  width:calc(100% - 36px);
 }
 body:has(#customer-app:not([hidden])) .customer-footer-inner{
  grid-template-columns:1fr;gap:14px;
 }
 body:has(#customer-app:not([hidden])) .customer-footer nav{
  justify-content:flex-start;padding-top:0;
 }
}
@media(max-width:620px){
 body:has(#customer-app:not([hidden])) .customer-footer-inner,
 body:has(#customer-app:not([hidden])) .customer-footer-bottom{
  width:calc(100% - 24px);
 }
 #customer-app .customer-profile-fields{grid-template-columns:1fr;gap:14px}
 #customer-app .customer-profile-layout>.customer-card{padding:18px}
 #customer-app .customer-profile-card .customer-form>button{
  justify-self:stretch;
 }
}
