/* FibeSegur ERP v3 - UI definitiva responsive (Sprint 5.2) */
:root{
  --fs-bg:#f3f6fb;--fs-surface:#fff;--fs-surface-soft:#f8fafc;--fs-text:#172033;
  --fs-muted:#64748b;--fs-border:#e2e8f0;--fs-primary:#285ed7;--fs-primary-dark:#1e49aa;
  --fs-sidebar:#101a31;--fs-radius:16px;--fs-shadow:0 8px 26px rgba(15,23,42,.07);
  --fs-gap:16px;--fs-header-h:64px;
}
*,*::before,*::after{box-sizing:border-box}
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{margin:0;max-width:100%;min-width:0;overflow-x:hidden;background:var(--fs-bg);color:var(--fs-text)}
img,svg,canvas,video{max-width:100%;height:auto}
a{color:inherit}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;min-width:0;background:var(--fs-bg)}
.app-shell>aside{width:250px;min-width:0;background:var(--fs-sidebar);color:#dbe5f5;overflow:hidden}
.app-shell>aside .logo{min-height:64px;display:flex;align-items:center;gap:10px;padding:12px 16px}
.app-shell>aside .logo>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:10px;background:linear-gradient(145deg,#3978f2,#234db1);color:#fff;font-weight:800}
.app-shell>aside .logo>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accordion-nav,.nav-fixed,.nav-group,.nav-group-items{min-width:0}
.accordion-nav a,.nav-group-toggle{max-width:100%}
.workspace{min-width:0;width:100%;max-width:100%;overflow:hidden}
.workspace>header{min-height:var(--fs-header-h);display:flex;align-items:center;gap:14px;padding:10px 20px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--fs-border);position:sticky;top:0;z-index:50}
.workspace>header>*{min-width:0}
.workspace>header>div:last-child{margin-left:auto;white-space:nowrap;color:var(--fs-muted)}
#menuBtn{display:none;flex:0 0 44px;width:44px;padding:0;border:1px solid var(--fs-border);background:#fff;color:#172033;font-size:21px}
main,.exec-shell,.docs-shell,.auto-shell,.v20-shell,.s10-content{width:100%;max-width:1680px;min-width:0;margin-inline:auto}
.panel,.card,.exec-panel,.doc-card,.stats article,.stats8 article,.exec-kpis article{min-width:0;max-width:100%;overflow:hidden;background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:var(--fs-radius);box-shadow:var(--fs-shadow)}
.page-title,.page-header,.exec-title,.docs-top,.panel-head,.rank-main,.objective-row{min-width:0}
.page-title>*,.page-header>*,.exec-title>*,.docs-top>*,.panel-head>*,.rank-main>*,.objective-row>*{min-width:0}
h1,h2,h3,p{overflow-wrap:anywhere}
form,fieldset,label,.form-stack,.form-grid,.filters,.actions,.toolbar{min-width:0;max-width:100%}
input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%!important;max-width:100%!important;min-width:0!important}
input[type=checkbox],input[type=radio]{flex:0 0 auto}
textarea{resize:vertical}
.btn,button{max-width:100%}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.form-grid>*,.exec-grid>*,.exec-kpis>*,.stats>*,.stats8>*{min-width:0}
.table-wrap,.responsive-table,.table-responsive{width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.exec-shell{padding:22px}
.exec-grid,.exec-grid.wide{min-width:0}
.multi-chart{max-width:100%;scrollbar-width:thin}
.year-filter{flex:0 1 auto}
.year-filter label{min-width:0;white-space:nowrap}
.year-filter select{width:auto!important;min-width:78px!important}
.check{display:flex!important;align-items:center!important;gap:8px!important}

@media(max-width:1100px){
  .app-shell{display:block;min-height:100dvh}
  .app-shell>aside{position:fixed!important;left:0;top:0;bottom:0;z-index:1000;width:min(86vw,310px)!important;height:100dvh!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 45px rgba(0,0,0,.28)}
  .app-shell>aside.mobile-open{transform:translateX(0)}
  .workspace{width:100%;margin:0!important}
  .workspace>header{padding:9px 12px;gap:10px}
  #menuBtn{display:inline-flex}
  .exec-grid,.exec-grid.wide,.auto-grid,.split,.detail-grid{grid-template-columns:1fr!important}
  .exec-title,.page-title,.page-header,.docs-top{align-items:flex-start}
  .exec-title{flex-direction:column}
  .exec-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .exec-actions .btn,.exec-actions button{width:100%}
}

@media(max-width:760px){
  :root{--fs-radius:13px;--fs-gap:12px}
  body{font-size:14px}
  .workspace>header{min-height:58px;flex-wrap:nowrap}
  .workspace>header>div:last-child{font-size:.82rem}
  .exec-shell,.docs-shell,.auto-shell,.v20-shell,.s10-content,main{padding:12px!important}
  .exec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .exec-kpis article{min-height:96px!important;padding:12px!important}
  .exec-panel,.panel,.card,.doc-card{padding:14px!important}
  .form-grid{grid-template-columns:1fr!important}
  .stats,.stats8,.kpi-grid,.auto-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .actions,.toolbar,.filters{width:100%}
  .actions>.btn,.actions>button,.toolbar>.btn,.toolbar>button{flex:1 1 140px}
  .panel-head{flex-wrap:wrap}
  .rank-main,.objective-row{gap:8px}
  .rank-main strong,.objective-row strong{white-space:normal;text-align:right}
  .multi-chart{height:235px!important;padding-inline:0!important}
  .month-group{min-width:32px!important}
}

@media(max-width:480px){
  .workspace>header{gap:8px;padding-inline:9px}
  #menuBtn{width:40px;flex-basis:40px;min-height:40px}
  .year-filter label{font-size:0;gap:0}
  .year-filter label select{font-size:13px}
  .exec-title h1,.page-title h1,.page-header h1{font-size:1.65rem!important}
  .exec-actions{grid-template-columns:1fr}
  .exec-kpis,.stats,.stats8,.kpi-grid,.auto-kpis{grid-template-columns:1fr!important}
  .exec-kpis article{min-height:88px!important}
  .rank-main,.objective-row{align-items:flex-start;flex-direction:column}
  .rank-main strong,.objective-row strong{text-align:left}
  .alert-row{align-items:flex-start;flex-wrap:wrap}
  .alert-row strong{margin-left:auto}
  .legend{display:none!important}
  .month-group{min-width:29px!important}
}

@media print{
  .app-shell{display:block!important}.app-shell>aside,.workspace>header,.exec-actions,.form-stack,#menuBtn{display:none!important}
  .workspace,.exec-shell,main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
  .exec-grid,.exec-grid.wide{grid-template-columns:1fr 1fr!important}
  .exec-panel,.exec-kpis article{box-shadow:none!important;break-inside:avoid}
}
