:root{
  --bg:#f4f6f3;
  --panel:#ffffff;
  --text:#151711;
  --muted:#687060;
  --primary:#55931c;
  --primary-dark:#07130f;
  --ok:#3dae2b;
  --warn:#a8813d;
  --bad:#b91c1c;
  --border:#e1e6de;
  --shadow:0 18px 42px rgba(7,13,10,.08);
  --radius:20px;
  --sidebar:#07130f;
  --black-950:#050806;
  --black-900:#07130f;
  --pantone-125u:#a8813d;
  --pantone-4017u:#dcb845;
  --pantone-2291c:#a7d400;
  --pantone-361c:#3dae2b;
  --pantone-2277c:#55931c;
  --gold-700:var(--pantone-125u);
  --gold-500:var(--pantone-4017u);
  --gold-300:#f0dd9a;
  --green-900:#0f3d2e;
  --green-800:#174b38;
  --green-700:var(--pantone-2277c);
  --green-500:var(--pantone-361c);
  --green-300:var(--pantone-2291c);
  --green-100:#edf7ea;
  --surface-soft:#ffffff;
  --surface-muted:#f4f6f3;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.45;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.hidden{display:none!important}

.login-page{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(420px,1fr) minmax(380px,520px);
  align-items:center;
  gap:clamp(34px,6vw,92px);
  padding:clamp(28px,5vw,70px);
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(5,8,6,.92) 0%,rgba(5,8,6,.72) 42%,rgba(5,8,6,.88) 100%),
    linear-gradient(180deg,rgba(5,8,6,.32),rgba(5,8,6,.74)),
    url('../../photo-1583470790878-4f4f3811a01f.avif') center/cover no-repeat,
    var(--black-950);
}

.login-page::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(214,172,85,.06) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:96px 96px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.72),transparent 64%);
}

.login-page::after{
  content:"";
  position:absolute;
  left:-18vw;
  bottom:-36vw;
  width:62vw;
  height:62vw;
  border:1px solid rgba(214,172,85,.16);
  border-radius:999px;
  pointer-events:none;
}

.login-hero-panel,
.login-access-panel{
  position:relative;
  z-index:1;
}

.login-hero-panel{
  min-height:min(760px,calc(100vh - 120px));
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.login-hero-logo{
  width:min(320px,42vw);
  height:auto;
  display:block;
  object-fit:contain;
}

.login-hero-copy{
  max-width:720px;
  padding-bottom:8vh;
}

.login-hero-copy span,
.login-card-kicker{
  display:block;
  margin-bottom:18px;
  color:#efd28a;
  font-size:11px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.login-hero-copy h1{
  margin:0;
  color:#fff;
  font-size:4.25rem;
  line-height:.94;
  letter-spacing:0;
  font-weight:900;
  text-shadow:0 16px 36px rgba(0,0,0,.45);
}

.login-hero-copy p{
  max-width:640px;
  margin:28px 0 0;
  color:rgba(255,255,255,.82);
  font-size:16px;
  line-height:1.75;
  font-weight:700;
}

.login-access-panel{
  display:grid;
  gap:20px;
  justify-items:center;
}

.login-card{
  width:min(520px,100%);
  background:linear-gradient(180deg,rgba(22,22,20,.92),rgba(14,15,13,.94));
  border-radius:24px;
  padding:38px 34px 34px;
  border:1px solid rgba(239,210,138,.18);
  box-shadow:0 30px 80px rgba(0,0,0,.44);
  backdrop-filter:blur(14px);
}

.login-brand{
  display:grid;
  gap:16px;
  margin-bottom:24px;
}

.login-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:82px;
  padding:18px 20px;
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(5,8,6,.96),rgba(15,61,46,.96));
  border:1px solid rgba(214,172,85,.34);
}

.login-logo img{
  width:min(260px,100%);
  height:auto;
  display:block;
  object-fit:contain;
}

.login-brand h1{
  margin:0;
  color:#10140e;
  font-size:26px;
  letter-spacing:0;
}

.login-brand p{
  margin:5px 0 0;
  color:#6d715d;
}

.login-card h2{
  margin:0;
  color:#fff;
  font-size:32px;
  line-height:1;
  letter-spacing:0;
}

.login-card-copy{
  margin:18px 0 28px;
  color:rgba(255,255,255,.70);
  font-size:14px;
  line-height:1.65;
  font-weight:700;
}

.login-card .form-group{
  margin:18px 0;
}

.login-card .form-group label{
  color:#efd28a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.login-card .form-control{
  min-height:50px;
  border-radius:14px;
  border-color:rgba(239,210,138,.18);
  background:rgba(255,255,255,.92);
  color:#050806;
  box-shadow:none;
}

.password-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}

.password-field .btn{
  min-height:50px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  color:#fff;
  border-color:rgba(239,210,138,.18);
}

.login-remember{
  display:flex;
  align-items:center;
  gap:9px;
  margin:12px 0 20px;
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.login-remember input{
  accent-color:var(--gold-500);
}

.login-card .btn-primary{
  min-height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,#2a2b27,#151711);
  border:1px solid rgba(239,210,138,.16);
  color:#fff;
}

.login-card .btn-primary:hover{
  background:linear-gradient(135deg,var(--green-900),#151711);
}

.login-card .helper{
  margin-top:16px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(239,210,138,.18);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-weight:700;
}

.login-credit{
  margin:0;
  color:rgba(239,210,138,.68);
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}

.brand-logo{
  width:48px;
  height:48px;
  border-radius:16px;
  background:var(--primary);
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:800;
}

.brand-logo-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.brand h1{margin:0;font-size:26px}
.brand p{margin:4px 0 0;color:var(--muted)}

.form-group{margin:16px 0}
.form-group label{display:block;margin-bottom:7px;font-weight:700}

.form-control{
  width:100%;
  min-height:48px;
  padding:12px 15px;
  border:1px solid #dce4d8;
  border-radius:16px;
  background:#fff;
  color:#203044;
  box-shadow:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease;
}

.form-control:focus{
  outline:none;
  border-color:var(--gold-500);
  box-shadow:0 0 0 4px rgba(214,172,85,.12),0 10px 18px rgba(32,64,48,.05);
  background:#fff;
  transform:translateY(-1px);
}

.btn{
  border:0;
  border-radius:14px;
  padding:12px 16px;
  cursor:pointer;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}

.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--green-800),var(--black-900));
  color:#fff;
  box-shadow:0 10px 22px rgba(15,61,46,.18);
  border:1px solid rgba(239,210,138,.14);
}
.btn-primary:hover{
  background:linear-gradient(135deg,var(--green-700),var(--black-900));
  box-shadow:0 12px 22px rgba(15,61,46,.22);
}
.btn-light{
  background:#fff;
  color:#1f3128;
  border:1px solid #dfe5dc;
}
.w-full{width:100%}
.helper{font-size:13px;color:var(--muted);margin-top:15px;line-height:1.45}

.layout{
  min-height:100vh;
  display:grid;
  grid-template-columns:284px 1fr;
}

.sidebar{
  background:
    radial-gradient(circle at top left,rgba(214,172,85,.18),transparent 24%),
    radial-gradient(circle at 84% 8%,rgba(63,126,82,.22),transparent 22%),
    linear-gradient(180deg,var(--black-950) 0%,var(--green-900) 48%,#050806 100%);
  color:#fff;
  padding:20px 16px 18px;
  position:sticky;
  top:0;
  height:100vh;
  border-right:1px solid rgba(214,172,85,.18);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.03);
}

.sidebar-shell{
  display:flex;
  flex-direction:column;
  height:100%;
}

.sidebar-brand{padding:8px 8px 18px}
.sidebar-brand-logo{
  display:grid;
  gap:10px;
  align-items:start;
}

.sidebar-logo-img{
  width:174px;
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

.sidebar .brand-logo{
  width:56px;
  height:56px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(214,172,85,.16),rgba(15,61,46,.10));
  color:var(--gold-300);
  box-shadow:none;
}
.sidebar .brand-logo svg{width:42px;height:42px}
.sidebar-title{
  font-size:24px;
  font-weight:900;
  margin:0;
  color:#f7f3df;
  letter-spacing:-.05em;
  line-height:.95;
}
.sidebar-subtitle{
  font-size:11px;
  color:rgba(239,210,138,.78);
  margin:0;
  letter-spacing:.02em;
}
.sidebar-section-label{
  margin:0 10px 8px;
  font-size:10px;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(239,210,138,.62);
}

.nav{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-top:14px;
}

.nav-group{
  display:grid;
  gap:0;
}

.nav-group-items{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-bottom:2px;
}

.nav a{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border-radius:14px;
  color:#f3f0df;
  font-weight:650;
  position:relative;
  transition:background .16s ease,transform .16s ease,border-color .16s ease,box-shadow .16s ease;
  border:1px solid transparent;
}

.nav a::before{
  content:"";
  position:absolute;
  left:0;
  top:14%;
  bottom:14%;
  width:3px;
  border-radius:999px;
  background:transparent;
}

.nav a:hover{
  background:rgba(214,172,85,.08);
  border-color:rgba(214,172,85,.16);
  transform:translateX(2px);
}

.nav a.active{
  background:linear-gradient(135deg,rgba(15,61,46,.86),rgba(184,137,47,.32));
  border-color:rgba(239,210,138,.28);
  color:#fff;
  box-shadow:0 12px 24px rgba(0,0,0,.25);
}

.nav a.active::before{
  background:var(--gold-500);
  box-shadow:0 0 12px rgba(214,172,85,.48);
}

.nav-link-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#ead9a5;
  flex:0 0 18px;
}

.nav-link-icon svg{width:18px;height:18px}
.nav-link-label{
  line-height:1.2;
  font-size:14px;
}

.sidebar-footer{margin-top:auto;padding:22px 8px 8px}

.sidebar-export{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 14px;
  border-radius:16px;
  border:1px solid rgba(239,210,138,.42);
  color:#f7f3df;
  font-weight:800;
  background:rgba(214,172,85,.08);
}

.sidebar-export:hover{background:rgba(214,172,85,.13);border-color:rgba(239,210,138,.62)}

.main{
  min-width:0;
  position:relative;
  background:var(--bg);
}

.main::before{
  display:none;
}

.topbar{
  min-height:68px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 28px;
  position:sticky;
  top:0;
  z-index:10;
}

.topbar h2{
  margin:0;
  font-size:17px;
  letter-spacing:0;
  color:#151711;
}
.topbar-context p{
  margin:4px 0 0;
  color:#748071;
  font-size:12px;
}
.topbar-tools{
  display:flex;
  align-items:center;
  gap:10px;
}
.topbar-clock{
  display:grid;
  justify-items:end;
  gap:2px;
  padding:0 4px;
  color:#1a261f;
  line-height:1.05;
}
.topbar-clock strong{
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.topbar-clock span{
  color:#687060;
  font-size:11px;
  font-weight:500;
  text-transform:capitalize;
  white-space:nowrap;
}
.topbar-icon-btn{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #e0e5dc;
  background:#fff;
  color:#596359;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.topbar-icon-btn svg{width:17px;height:17px}
.topbar-icon-btn:hover{
  transform:translateY(-1px);
  border-color:#d6ac55;
  background:#fff;
  color:#151711;
}
.topbar-badge{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--pantone-2277c);
  color:#fff;
  border:2px solid #fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
  box-shadow:0 3px 8px rgba(7,13,10,.12);
}
.topbar-divider{
  width:1px;
  height:28px;
  margin:0 3px;
  background:#e2e7df;
}
.topbar-profile-wrap{
  position:relative;
}
.topbar-profile{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:260px;
  max-width:380px;
  padding:5px 9px 5px 5px;
  border-radius:999px;
  background:#fff;
  border:1px solid #e0e5dc;
  box-shadow:0 8px 22px rgba(7,13,10,.045);
  cursor:pointer;
  text-align:left;
  font:inherit;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.topbar-profile:hover{
  border-color:#d6ac55;
  box-shadow:0 10px 24px rgba(7,13,10,.07);
  transform:translateY(-1px);
}
.topbar-avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--green-900),var(--black-900));
  color:#efd28a;
  font-weight:900;
  font-size:12px;
  letter-spacing:.02em;
  border:1px solid rgba(214,172,85,.22);
  overflow:hidden;
}
.topbar-avatar span{
  display:block;
  transform:translateY(.5px);
}
.topbar-avatar-choice{
  background:#eef3ec;
}
.topbar-avatar .avatar-figure{
  width:100%;
  height:100%;
  display:block;
}
.topbar-profile-copy{
  display:grid;
  gap:1px;
  min-width:0;
  flex:1;
}
.topbar-profile-copy strong{
  color:#18251d;
  font-size:12px;
  font-weight:750;
  line-height:1.15;
  white-space:normal;
}
.topbar-profile-copy span{
  color:#687060;
  font-size:10px;
  font-weight:600;
  line-height:1.15;
  white-space:normal;
}
.topbar-profile-caret{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#7e8b84;
  flex:0 0 16px;
}
.topbar-profile-caret svg{width:15px;height:15px}
.topbar-profile-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:180px;
  padding:7px;
  border:1px solid #dde5db;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 38px rgba(7,13,10,.14);
  z-index:25;
}
.topbar-profile-menu button{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#17231d;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
  text-align:left;
}
.topbar-profile-menu button:hover{
  background:#f2f5f0;
}
.topbar-profile-menu svg{
  width:16px;
  height:16px;
}
.profile-modal{
  position:fixed;
  inset:0;
  z-index:60;
  display:grid;
  place-items:center;
  padding:24px;
}
.profile-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,13,10,.46);
  backdrop-filter:blur(4px);
}
.profile-modal-card{
  position:relative;
  z-index:1;
  width:min(560px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:18px;
  border:1px solid #dfe8dc;
  border-radius:18px;
  background:#fff;
  box-shadow:0 26px 70px rgba(7,13,10,.22);
}
.profile-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid #e6ece2;
}
.profile-modal-head h3{
  margin:0;
  font-size:18px;
  line-height:1.1;
}
.profile-modal-head p{
  margin:5px 0 0;
  color:#6c776e;
  font-size:12px;
}
.profile-preview-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:16px 0;
}
.profile-preview-avatar{
  width:76px;
  height:76px;
  border-radius:999px;
  overflow:hidden;
  border:3px solid #eef3ec;
  background:#f5f7f4;
  display:grid;
  place-items:center;
}
.profile-preview-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.profile-preview-avatar .avatar-figure{
  width:100%;
  height:100%;
  display:block;
}
.profile-preview-avatar span{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:18px;
  font-weight:750;
  background:linear-gradient(135deg,var(--green-900),var(--black-900));
}
.profile-photo-picker input{
  display:none;
}
.profile-photo-picker span{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid #d9e3d5;
  border-radius:999px;
  background:#fff;
  color:#203044;
  font-size:12px;
  font-weight:650;
  cursor:pointer;
}
.profile-avatar-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.profile-avatar-option{
  display:grid;
  justify-items:center;
  gap:6px;
  padding:10px 6px;
  border:1px solid #dfe8dc;
  border-radius:14px;
  background:#fbfcfa;
  cursor:pointer;
}
.profile-avatar-option.is-selected{
  border-color:#d6ac55;
  box-shadow:0 0 0 3px rgba(214,172,85,.13);
}
.profile-avatar-option input{
  display:none;
}
.profile-avatar-option > span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:750;
  overflow:hidden;
  background:#eef3ec;
}
.profile-avatar-option .avatar-figure{
  width:100%;
  height:100%;
  display:block;
}
.profile-avatar-option small{
  color:#526158;
  font-size:11px;
  font-weight:600;
}
.profile-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.profile-form-grid .form-group{
  margin:0;
}
.profile-form-grid .form-group > span{
  display:block;
  margin-bottom:6px;
  color:#4a5b68;
  font-size:12px;
  font-weight:650;
}
.profile-form-full{
  grid-column:1 / -1;
}
.profile-modal-actions{
  display:flex;
  justify-content:center;
  margin-top:16px;
}
.topbar-avatar-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.content{
  position:relative;
  z-index:1;
  padding:32px 30px 44px;
}
.content > *{max-width:1460px;margin-inline:auto}

.page-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:24px;
}

.page-header h1{
  margin:0 0 6px;
  font-size:30px;
  line-height:1;
  letter-spacing:0;
  color:#11150f;
}
.page-header p{
  margin:0;
  color:#768271;
  font-size:14px;
}

.grid{display:grid;gap:18px}
.kpi-grid{grid-template-columns:repeat(4,minmax(160px,1fr));margin-bottom:20px}

.card,
.kpi-card,
.chart-card,
.table-card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 14px 34px rgba(7,13,10,.055);
}

.kpi-card{
  position:relative;
  display:grid;
  align-content:space-between;
  min-width:0;
  min-height:148px;
  padding:20px 22px 18px;
  overflow:hidden;
  background:#fff;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.kpi-card:hover{
  transform:translateY(-2px);
  border-color:#d8dece;
  box-shadow:0 20px 44px rgba(7,13,10,.075);
}
.kpi-card::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--green-900),var(--gold-500));
}
.kpi-card span{
  display:block;
  color:#66735f;
  font-weight:800;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.kpi-card strong{
  display:block;
  max-width:100%;
  margin-top:14px;
  color:#0f3327;
  font-size:2rem;
  line-height:1;
  letter-spacing:0;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kpi-card small{
  display:block;
  margin-top:10px;
  color:#667162;
  line-height:1.45;
  font-size:12px;
  font-weight:600;
}

.chart-grid{grid-template-columns:1.15fr .85fr}
.chart-card{
  padding:22px;
  background:#fff;
}
.chart-card h3,
.table-card h3{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.2;
  letter-spacing:-.01em;
}

.filters{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
}

.filters .form-control{
  width:auto;
  min-height:38px;
  flex:1 1 136px;
  max-width:220px;
  padding:8px 11px;
  border-radius:11px;
  font-size:12px;
}

.filters input[id="q"],
.filters input[id="qEstado"],
.filters input[id="qVendedor"],
.filters input[id="qCausa"]{
  flex-basis:220px;
  max-width:320px;
}

.filters input[type="date"]{
  flex:0 1 132px;
}

.filters input[type="number"]{
  flex:0 1 130px;
}

.filters .btn{
  min-height:38px;
  padding:8px 13px;
  border-radius:11px;
  font-size:12px;
  white-space:nowrap;
}

.table-card{
  padding:22px;
  overflow:hidden;
  background:#fff;
}

.table-wrap{
  overflow:auto;
  border-radius:16px;
  border:1px solid #e7ece3;
  background:#fff;
}

.table-wrap::-webkit-scrollbar{height:10px;width:10px}
.table-wrap::-webkit-scrollbar-thumb{
  background:rgba(15,61,46,.16);
  border-radius:999px;
  border:2px solid #fff;
}
.table-wrap::-webkit-scrollbar-track{background:transparent}

table{
  width:100%;
  border-collapse:collapse;
  min-width:850px;
}

th,
td{
  padding:16px 14px;
  border-bottom:1px solid #edf0eb;
  text-align:left;
  font-size:14px;
  vertical-align:top;
}

th{
  font-size:11px;
  text-transform:uppercase;
  color:#6e7c72;
  background:#f7f9f6;
  letter-spacing:.12em;
  font-weight:800;
  position:sticky;
  top:0;
  z-index:1;
}

tbody tr{transition:background .18s ease}
tbody tr:hover td{background:#f8faf7}
tbody tr:last-child td{border-bottom:none}
tbody td:first-child{font-weight:700;color:#1f3028}
tbody td{color:#2f3d47}
.badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
  border:1px solid transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}

.badge.ok{background:#eefaf0;color:var(--ok);border-color:#d5eedb}
.badge.warn{background:#fff3e4;color:var(--warn);border-color:#ffe0bc}
.badge.bad{background:#fff0ef;color:var(--bad);border-color:#ffd6d2}
.badge.info{background:#fbf6e6;color:#8a6421;border-color:#ead9a5}

.metric-text{font-size:13px;font-weight:700;color:var(--text)}
.metric-text.muted{color:var(--muted);font-weight:600}
.plan-date{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.plan-version-token{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 6px;
  border:1px solid #d9dfd8;
  border-radius:999px;
  color:#5d6b62;
  background:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:0;
  cursor:help;
}
.status-text{
  color:#4f5f55;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.notification-feed{
  display:grid;
  gap:10px;
}
.notification-card{
  display:grid;
  grid-template-columns:5px minmax(0,1fr) auto;
  gap:14px;
  align-items:stretch;
  padding:14px;
  border:1px solid #e3e8df;
  border-radius:14px;
  background:#fff;
}
.notification-card.is-unread{
  border-color:#cfd9c9;
  background:#fbfdf9;
}
.notification-marker{
  width:5px;
  border-radius:999px;
  background:#b8c0b7;
}
.notification-marker.bad{background:var(--bad)}
.notification-marker.warn{background:var(--warn)}
.notification-marker.ok{background:var(--pantone-2277c)}
.notification-main{
  min-width:0;
}
.notification-topline{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:5px;
  color:#6d776e;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.notification-card h4{
  margin:0;
  color:#172017;
  font-size:14px;
  line-height:1.25;
}
.notification-card p{
  margin:6px 0 0;
  color:#526052;
  font-size:12px;
  line-height:1.45;
}
.notification-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  min-width:136px;
  color:#687568;
  font-size:11px;
  font-weight:700;
  text-align:right;
}
.notification-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border:1px solid #dde4da;
  border-radius:999px;
  background:#fff;
  color:#50604f;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.request-form-card{
  display:grid;
  gap:16px;
}
.request-form-modal{
  position:fixed;
  top:18px;
  left:50%;
  z-index:70;
  width:min(980px,calc(100vw - 36px));
  max-height:calc(100vh - 36px);
  overflow:auto;
  padding:16px;
  transform:translateX(-50%);
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 0 0 9999px rgba(15,23,42,.48),0 22px 70px rgba(15,23,42,.22);
}
.request-modal-head{
  position:sticky;
  top:-16px;
  z-index:2;
  margin:-16px -16px 0;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.request-modal-head div{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.request-modal-head strong{
  color:#14233b;
  font-size:14px;
  font-weight:650;
}
.request-modal-head span{
  color:#718096;
  font-size:12px;
  font-weight:500;
}
.request-form-card.is-dragging-file{
  outline:2px dashed rgba(23,79,61,.55);
  outline-offset:8px;
}
.request-pdf-dropzone{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border:1px dashed #b8c8d9;
  border-radius:16px;
  background:#f8fbff;
  transition:border-color .18s ease, background .18s ease;
}
.request-pdf-dropzone.is-dragging{
  border-color:#174f3d;
  background:#eef8f2;
}
.request-pdf-dropzone input[type="file"]{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.request-pdf-dropzone > div,
.request-pdf-dropzone > button{
  position:relative;
  z-index:1;
}
.request-pdf-dropzone strong{
  display:block;
  color:#12241c;
  font-size:14px;
}
.request-pdf-dropzone p{
  margin:4px 0 0;
  color:#627265;
  font-size:12px;
  line-height:1.35;
}
.request-pdf-colors{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.request-pdf-colors span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid #d8e2ef;
  border-radius:999px;
  background:#fff;
  color:#26362d;
  font-size:11px;
  font-weight:800;
}
.request-pdf-colors .request-pdf-muted{
  color:#788579;
  font-weight:700;
}
.request-date-row{
  display:grid;
  grid-template-columns:180px 180px;
  gap:16px;
  align-items:end;
}
.request-panel{
  padding:14px;
  border:1px solid #d8e2ef;
  border-radius:16px;
  background:#fff;
}
.request-panel h3{
  margin:0 0 12px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.request-panel-client{background:#f8fbff;border-color:#cfdbe9}
.request-panel-client h3{color:#43536c}
.request-panel-commercial{background:#f4f5ff;border-color:#d9ddff}
.request-panel-commercial h3{color:#453cd0}
.request-panel-quantities{background:#fffdf4;border-color:#f3da94}
.request-panel-quantities h3{color:#b05f10}
.request-panel-base{background:#fbfdff;border-color:#d9e4ee}
.request-panel-base h3{color:#48566b}
.request-panel-handles{background:#f0fff7;border-color:#c6efd8}
.request-panel-handles h3{color:#188556}
.request-panel-production{background:#f0f9ff;border-color:#c8e7f8}
.request-panel-production h3{color:#0b74b7}
.request-panel-files{background:#f8fbff;border-color:#dbe7f4}
.request-panel-files h3{color:#31415c}
.request-grid{
  display:grid;
  gap:14px;
  align-items:end;
}
.request-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.request-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.request-grid-5{grid-template-columns:1fr 1fr 1fr .95fr .95fr}
.request-field{
  display:grid;
  gap:6px;
  min-width:0;
}
.request-field > span{
  color:#354357;
  font-size:11px;
  font-weight:800;
}
.request-field .form-control{
  width:100%;
}
.request-subpanel{
  margin-top:14px;
  padding:14px;
  border:1px solid #dce5ef;
  border-radius:14px;
  background:#f8fbff;
}
.request-subpanel > span{
  display:block;
  margin-bottom:12px;
  color:#60708a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.request-switch{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:38px;
}
.request-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.request-switch-track{
  position:relative;
  width:64px;
  height:32px;
  padding:3px 8px;
  border-radius:999px;
  background:#cbd5df;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  color:#fff;
  transition:background .18s ease;
}
.request-switch-label{
  position:relative;
  z-index:2;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
  text-align:center;
  transition:opacity .18s ease;
}
.request-switch-si{opacity:0}
.request-switch-no{opacity:1}
.request-switch-thumb{
  position:absolute;
  top:4px;
  left:4px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(15,23,42,.16);
  transition:transform .18s ease;
  z-index:1;
}
.request-switch input:checked + .request-switch-track{
  background:#5f9d79;
}
.request-switch input:checked + .request-switch-track .request-switch-thumb{
  transform:translateX(32px);
}
.request-switch input:checked + .request-switch-track .request-switch-si{opacity:1}
.request-switch input:checked + .request-switch-track .request-switch-no{opacity:0}
.request-textarea{
  min-height:88px;
  resize:vertical;
}
.request-actions{
  display:grid;
  grid-template-columns:180px minmax(180px,1fr) auto;
  gap:12px;
  align-items:center;
}
.coordinator-requests{display:grid;grid-template-columns:minmax(420px,1.3fr) minmax(360px,.8fr);min-height:calc(100vh - 72px);background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.coordinator-requests-list{padding:18px;border-right:1px solid var(--line)}
.coordinator-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.coordinator-head h3{margin:0;font-size:18px;color:#1f2d44}
.coordinator-head p,.coordinator-detail-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.coordinator-head span{color:#536484;font-weight:600;font-size:12px}
.coordinator-actions{margin-bottom:12px}
.coordinator-filters{display:grid;gap:10px;margin-bottom:18px}
.coordinator-request-cards{display:grid;gap:12px}
.coordinator-request-card{text-align:left;border:1px solid #dbe4f2;background:#fff;border-radius:12px;padding:14px;display:grid;gap:10px;cursor:pointer;color:#1f2d44;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.coordinator-request-card:hover{border-color:#b9cbe2;background:#fbfdff}
.coordinator-request-card.is-active{border-color:#5d8dff;box-shadow:inset 3px 0 0 #ff9f1c;background:#f7faff}
.request-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.request-card-code{max-width:140px;color:#576981;font-size:12px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.request-card-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.9fr);gap:12px;align-items:start}
.request-card-main strong{color:#17253a;font-size:14px;font-weight:650;line-height:1.35}
.request-card-main small{justify-self:end;color:#52637d;font-size:12px;font-weight:600;line-height:1.35;text-align:right;overflow-wrap:anywhere}
.request-card-meta{display:flex;gap:8px;flex-wrap:wrap}
.request-card-meta span{background:#f5f7fb;border:1px solid #e1e8f2;border-radius:7px;padding:5px 8px;color:#5c6f8b;font-size:12px;font-weight:600}
.request-state-pill{flex:0 0 auto;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:650;font-style:normal;line-height:1;border:1px solid transparent}
.request-state-pill.is-complete{color:#17653d;background:#eaf8ef;border-color:#bde8cc}
.request-state-pill.is-review{color:#174a8b;background:#edf5ff;border-color:#bfdcff}
.request-state-pill.is-warning{color:#9a4b00;background:#fff6e8;border-color:#ffd79d}
.request-state-pill.is-pending{color:#5d6849;background:#f4f7ef;border-color:#dfe8d2}
.coordinator-detail{background:#f8fbff;padding:18px}
.coordinator-detail-shell{border:1px solid #d6e2f0;border-radius:14px;padding:18px;background:#fff}
.coordinator-badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.coordinator-badges span{border:1px solid #d9e4f2;background:#f8fbff;color:#33496b;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:600}
.coordinator-summary{border:1px solid #dbe5f0;border-radius:12px;padding:16px;margin-top:14px}
.coordinator-summary h4{margin:0 0 12px;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:#1f2d44}
.coordinator-detail-actions{display:flex;justify-content:center;margin:14px 0 0}
.detail-tabs{display:grid;gap:12px}
.detail-tab-radio{position:absolute;opacity:0;pointer-events:none}
.detail-tab-list{
  display:flex;
  gap:0;
  flex-wrap:wrap;
  align-items:flex-end;
  padding:0 8px;
  border-bottom:1px solid #cfdbe9;
  background:transparent;
}
.detail-tab-list label{
  position:relative;
  margin:0 -1px -1px 0;
  cursor:pointer;
  border:1px solid #d7e1ee;
  border-bottom-color:#cfdbe9;
  border-radius:10px 10px 0 0;
  padding:8px 15px;
  background:#edf2f7;
  color:#596b84;
  font-size:12px;
  font-weight:600;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.detail-tab-list label:hover{
  background:#f7faff;
  color:#26384f;
}
.detail-tab-panel{
  display:none;
  min-height:190px;
}
.detail-tab-radio:nth-of-type(1):checked ~ .detail-tab-list label:nth-child(1),
.detail-tab-radio:nth-of-type(2):checked ~ .detail-tab-list label:nth-child(2),
.detail-tab-radio:nth-of-type(3):checked ~ .detail-tab-list label:nth-child(3),
.detail-tab-radio:nth-of-type(4):checked ~ .detail-tab-list label:nth-child(4),
.detail-tab-radio:nth-of-type(5):checked ~ .detail-tab-list label:nth-child(5){
  background:#fff;
  color:#173d31;
  border-color:#cfdbe9;
  border-bottom-color:#fff;
  z-index:1;
  box-shadow:0 -1px 0 #fff inset;
}
.detail-tab-radio:nth-of-type(1):checked ~ .detail-tab-panel-0,
.detail-tab-radio:nth-of-type(2):checked ~ .detail-tab-panel-1,
.detail-tab-radio:nth-of-type(3):checked ~ .detail-tab-panel-2,
.detail-tab-radio:nth-of-type(4):checked ~ .detail-tab-panel-3,
.detail-tab-radio:nth-of-type(5):checked ~ .detail-tab-panel-4{
  display:block;
}
.detail-group{
  padding:12px 0;
  border-top:1px solid #eef2f6;
}
.detail-group:first-of-type{border-top:0;padding-top:0}
.detail-group h5{
  margin:0 0 10px;
  color:#60708a;
  font-size:10px;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.coordinator-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.coordinator-summary-grid div{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:start}
.coordinator-summary-grid span{color:#5b6b84;font-size:12px;font-weight:550}
.coordinator-summary-grid strong,.coordinator-summary p{color:#1b2a40;font-size:12px;font-weight:600;margin:0;overflow-wrap:anywhere}
.request-attachments{
  margin-top:18px;
  padding:8px 10px;
  border:1px solid #dbe5f0;
  border-radius:10px;
  background:#fbfdff;
}
.request-attachments summary{
  cursor:pointer;
  color:#33496b;
  font-size:12px;
  font-weight:650;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:28px;
}
.request-attachments summary em{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#7a8698;
  font-size:11px;
  font-style:normal;
  font-weight:600;
  white-space:nowrap;
}
.request-attachments summary svg{
  width:13px;
  height:13px;
  stroke:currentColor;
}
.request-attachments.is-ready summary em{
  color:#167247;
}
.request-attachments .coordinator-summary-grid{
  margin-top:8px;
  grid-template-columns:1fr;
  gap:4px;
}
.request-attachments .request-file-row{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:4px 0;
}
.request-attachments .request-file-row span{
  flex:0 0 130px;
}
.request-attachments .request-file-row strong{
  min-width:0;
  overflow:hidden;
}
.request-attachments .request-file-row a{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.coordinator-op-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
.coordinator-file-row{margin-top:10px;font-size:12px;font-weight:600}
@media (max-width: 980px){
  .request-date-row,
  .request-grid-3,
  .request-grid-4,
  .request-grid-5,
  .request-pdf-dropzone,
  .request-actions{
    grid-template-columns:1fr;
  }
  .request-pdf-dropzone{
    align-items:flex-start;
    flex-direction:column;
  }
  .coordinator-requests{grid-template-columns:1fr}
  .coordinator-requests-list{border-right:0;border-bottom:1px solid var(--line)}
  .coordinator-op-form,.coordinator-summary-grid{grid-template-columns:1fr}
  .coordinator-request-card{grid-template-columns:1fr}
  .detail-tab-panel{min-height:0}
}
.planilla-summary{display:inline-block;font-weight:700;color:var(--text);white-space:nowrap}

.table-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.pagination-info{color:#6f7b8c;font-size:13px;font-weight:700}
.pagination-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn:disabled{opacity:.55;cursor:not-allowed}
.actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.action-label-btn{
  min-height:34px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:#fff;
  color:#274235;
  cursor:pointer;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease;
}
.action-label-btn:hover{
  background:#f3f7f1;
  border-color:#bdd2c2;
  transform:translateY(-1px);
}
.action-label-btn svg{
  width:15px;
  height:15px;
  stroke:currentColor;
}
.action-label-primary{
  background:#0d3b2f;
  border-color:#0d3b2f;
  color:#fff;
}
.action-label-primary:hover{
  background:#14533f;
  border-color:#14533f;
  color:#fff;
}
.icon-action-btn{
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:#fff;
  color:#274235;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease;
}
.icon-action-btn:hover{
  background:#f3f7f1;
  border-color:#bdd2c2;
  transform:translateY(-1px);
}
.icon-action-btn svg{
  width:15px;
  height:15px;
  stroke:currentColor;
}
.icon-action-btn.is-disabled{
  opacity:.45;
  cursor:not-allowed;
  background:#f7f9f6;
  color:#7c8a82;
}
.icon-action-btn.is-disabled:hover{
  transform:none;
  border-color:var(--line);
}
.icon-action-primary{
  background:#0d3b2f;
  border-color:#0d3b2f;
  color:#fff;
}
.icon-action-primary:hover{
  background:#14533f;
  border-color:#14533f;
  color:#fff;
}
.icon-action-danger{
  color:#b42318;
  border-color:#ffd2cc;
}
.icon-action-danger:hover{
  background:#fff1ef;
  border-color:#ffb4aa;
}

.modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.45);
  display:grid;
  place-items:center;
  padding:20px;
  z-index:50;
}

.modal{
  width:min(760px,100%);
  background:#fff;
  border-radius:20px;
  padding:22px;
  box-shadow:none;
  border:1px solid var(--border);
}

.modal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}

.modal-header h3{margin:0}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}

.toast{
  position:fixed;
  right:18px;
  bottom:18px;
  background:#111827;
  color:#fff;
  padding:13px 16px;
  border-radius:14px;
  box-shadow:none;
  z-index:80;
}

.empty{padding:24px;text-align:center;color:var(--muted)}

.module-shell{
  display:grid;
  gap:14px;
}

.module-kpi-band{
  margin-bottom:0;
}

.module-toolbar-card{
  padding:14px;
  border-radius:18px;
  border:1px solid var(--border);
  background:#fff;
  box-shadow:0 10px 24px rgba(7,13,10,.045);
}

.module-section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}

.module-section-kicker{
  display:inline-flex;
  margin-bottom:5px;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7b642d;
}

.module-section-head h3{
  margin:0;
  font-size:14px;
  line-height:1.1;
  letter-spacing:0;
  color:#151711;
}

.module-section-head p{
  margin:4px 0 0;
  color:#6f7b72;
  font-size:11px;
  line-height:1.3;
}

.module-filters{
  margin-bottom:0;
  padding:0;
  background:transparent;
  border:none;
  border-radius:0;
}

.module-toolbar-card .module-filters{
  padding-top:2px;
}

.module-table-card{
  padding:20px;
}

.module-table-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:14px;
}

.module-table-head h3{
  margin:0;
}

.module-table-meta{
  color:#768271;
  font-size:12px;
  font-weight:700;
  text-align:right;
}

.module-shell .kpi-card{
  min-height:148px;
  border-radius:22px;
}

.pedidos-control-strip{
  display:grid;
  grid-template-columns:minmax(220px,1.3fr) repeat(5,minmax(118px,1fr));
  gap:10px;
  align-items:stretch;
  padding:12px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(7,13,10,.045);
}

.pedidos-strip-title{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:78px;
  padding:4px 10px;
}

.pedidos-strip-title h3{
  margin:0;
  color:#111a14;
  font-size:16px;
  line-height:1.15;
}

.pedidos-strip-title p{
  margin:5px 0 0;
  color:#68756c;
  font-size:12px;
  line-height:1.3;
}

.pedido-mini-kpi{
  display:grid;
  align-content:center;
  gap:3px;
  min-height:78px;
  padding:10px 12px;
  border:1px solid #dfe6dc;
  border-left:3px solid var(--green-700);
  border-radius:14px;
  background:#fbfcfa;
}

.projection-kpi-filter{
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}

.projection-kpi-filter:hover,
.projection-kpi-filter:focus-visible{
  outline:none;
  border-color:#d6ac55;
  box-shadow:0 10px 22px rgba(7,13,10,.08);
  transform:translateY(-1px);
}

.projection-kpi-filter.is-active{
  border-color:#d6ac55;
  border-left-color:var(--gold-700);
  background:#fffdf5;
  box-shadow:0 0 0 3px rgba(214,172,85,.14);
}

.pedido-mini-kpi.is-risk{
  border-left-color:var(--gold-700);
}

.pedido-mini-kpi span{
  color:#5c6a61;
  font-size:9px;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.pedido-mini-kpi strong{
  color:#07130f;
  font-size:22px;
  line-height:1;
  font-weight:650;
}

.pedido-mini-kpi small{
  color:#6f7b72;
  font-size:11px;
  line-height:1.2;
}

.pedidos-filter-panel{
  display:grid;
  gap:10px;
}

.pedidos-filter-main,
.pedidos-filter-advanced{
  display:grid;
  gap:10px;
  align-items:end;
}

.pedidos-filter-main{
  grid-template-columns:minmax(240px,1.4fr) minmax(150px,.7fr) repeat(2,minmax(148px,.6fr)) auto auto;
}

.projection-filter-main{
  grid-template-columns:minmax(280px,1.35fr) minmax(110px,.48fr) minmax(140px,.62fr) minmax(165px,.76fr) minmax(175px,.8fr) minmax(205px,.9fr) auto;
}

.projection-filter-field{
  display:grid;
  gap:5px;
  min-width:0;
}

.projection-filter-field > span{
  color:#5d6a61;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}

.projection-filter-field .form-control{
  min-width:0;
}

.projection-filter-search{
  min-width:260px;
}

.projection-filter-actions{
  display:flex;
  align-items:end;
  gap:8px;
  min-height:69px;
}

.projection-filter-actions .btn{
  min-height:48px;
  white-space:nowrap;
}

.pedidos-filter-advanced{
  grid-template-columns:repeat(4,minmax(160px,1fr));
  padding-top:10px;
  border-top:1px solid #e6ece2;
}

.projection-workbar .pedidos-filter-advanced{
  grid-template-columns:repeat(4,minmax(150px,1fr));
}

.pedidos-search{
  min-width:240px;
}

.projection-summary-grid{
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.45fr);
  gap:14px;
}

.projection-workbar{
  display:grid;
  gap:14px;
}

.projection-view-shell{
  padding:10px;
}

.projection-view-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
}

.projection-view-tab{
  min-height:42px;
  padding:10px 14px;
  border:1px solid #dfe6dc;
  border-radius:12px;
  background:#fff;
  color:#1d2d23;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.projection-view-tab:hover{
  transform:translateY(-1px);
  border-color:#d6ac55;
}

.projection-view-tab.is-active{
  border-color:#d6ac55;
  background:#fffdf5;
  box-shadow:0 0 0 3px rgba(214,172,85,.13);
  color:#07130f;
}

.projection-view-panel.projection-summary-grid{
  grid-template-columns:1fr;
}

.projection-spreadsheet-card{
  margin-top:0;
}

.projection-spreadsheet-wrap{
  max-height:62vh;
  overflow:auto;
}

.projection-spreadsheet-table{
  min-width:2260px;
  border-collapse:separate;
  border-spacing:0;
}

.projection-spreadsheet-table th,
.projection-spreadsheet-table td{
  padding:7px 8px;
  vertical-align:middle;
}

.projection-spreadsheet-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f7faf5;
}

.projection-spreadsheet-table th:first-child,
.projection-spreadsheet-table td:first-child{
  position:sticky;
  left:0;
  z-index:1;
  background:#fff;
}

.projection-spreadsheet-table thead th:first-child{
  z-index:3;
  background:#f7faf5;
}

.projection-spreadsheet-table tbody tr.is-dirty{
  background:#fffaf0;
  box-shadow:inset 3px 0 0 #d8a640;
}

.projection-spreadsheet-table tbody tr.is-dirty td:first-child{
  background:#fffaf0;
}

.projection-sheet-input{
  width:100%;
  min-height:34px;
  border:1px solid transparent;
  border-radius:6px;
  background:#fff;
  color:#1f2a22;
  font:inherit;
  font-size:12px;
  padding:7px 8px;
  outline:none;
}

.projection-sheet-input:hover{
  border-color:#d8e3d4;
}

.projection-sheet-input:focus{
  border-color:#75a078;
  box-shadow:0 0 0 2px rgba(117,160,120,.14);
}

.projection-cell-xs{min-width:74px}
.projection-cell-sm{min-width:108px}
.projection-cell-md{min-width:146px}
.projection-cell-lg{min-width:220px}
.projection-cell-xl{min-width:260px}

.projection-readonly{
  color:#425044;
  font-size:12px;
  font-weight:650;
  white-space:nowrap;
  background:#f9fbf8;
}

.projection-entry-card,
.projection-import-details{
  display:grid;
  gap:14px;
}

.projection-entry-card summary,
.projection-import-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  cursor:pointer;
  list-style:none;
}

.projection-entry-card summary::-webkit-details-marker,
.projection-import-details summary::-webkit-details-marker{
  display:none;
}

.projection-entry-card summary strong,
.projection-import-details summary strong{
  display:block;
  color:#17261d;
  font-size:15px;
}

.projection-entry-card summary small,
.projection-import-details summary small{
  color:#6b776d;
  font-size:12px;
}

.projection-entry-card[open] summary,
.projection-import-details[open] summary{
  padding-bottom:12px;
  border-bottom:1px solid #e5ece2;
}

.projection-form-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.projection-import-panel{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid #dfe7d9;
  border-radius:10px;
  background:#fbfdf9;
}

.projection-import-panel h4{
  margin:2px 0 4px;
  color:#17261d;
  font-size:15px;
}

.projection-import-panel p,
.projection-import-panel small{
  margin:0;
  color:#667366;
  font-size:12px;
  line-height:1.45;
}

.projection-import-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.projection-import-upload{
  position:relative;
  overflow:hidden;
}

.projection-import-upload input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}

.projection-form-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.projection-form-wide{
  grid-column:span 2;
}

.projection-form-full{
  grid-column:1 / -1;
}

.projection-form-full textarea{
  min-height:72px;
  resize:vertical;
}

.projection-row-actions{
  display:flex;
  gap:8px;
  align-items:center;
  white-space:nowrap;
}

.projection-row-actions .btn{
  padding:8px 10px;
  font-size:12px;
}

.projection-panel{
  min-width:0;
  padding:18px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 24px rgba(7,13,10,.045);
}

.projection-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.projection-panel-head h3{
  margin:0;
  font-size:16px;
  line-height:1.15;
}

.projection-panel-head small{
  color:#718077;
  font-size:11px;
  font-weight:700;
  text-align:right;
}

.projection-month-list{
  display:grid;
  gap:12px;
}

.projection-month-chart{
  padding:14px;
  border:1px solid #e4ebdf;
  border-radius:12px;
  background:#fff;
}

.projection-month-chart-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.projection-month-chart-head span{
  color:#132019;
  font-size:14px;
  font-weight:850;
}

.projection-month-chart-head strong{
  color:#6c796f;
  font-size:10px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.projection-month-bars{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:8px;
}

.projection-month-axis{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-self:start;
  height:178px;
  margin-top:8px;
  color:#6c796f;
  font-size:10px;
}

.projection-month-axis span{
  line-height:1;
}

.projection-month-plot{
  position:relative;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(76px,1fr);
  gap:18px;
  min-height:230px;
  overflow-x:auto;
  padding:0 10px;
  border-left:1px solid #e2e9df;
  border-bottom:1px solid #dfe7dc;
  background:
    linear-gradient(to right, transparent 0, transparent 99%, #edf2ea 100%),
    repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), #edf2ea calc(25% - 1px), #edf2ea 25%);
}

.projection-month-bar-item{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:minmax(168px,1fr) auto auto;
  gap:5px;
  align-items:end;
  min-width:0;
  padding-top:8px;
  text-align:center;
}

.projection-month-column-track{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:178px;
}

.projection-month-column{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:min(50px,78%);
  min-height:24px;
  overflow:hidden;
  border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,#2cc4dd 0%,#14a9c0 100%);
  box-shadow:0 7px 16px rgba(10,128,149,.16);
}

.projection-month-column::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(7,103,121,.38);
  clip-path:polygon(0 0,52% 100%,0 100%);
}

.projection-month-column span{
  position:relative;
  z-index:1;
  padding-top:8px;
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.projection-month-column.is-empty{
  min-height:8px;
  overflow:visible;
  background:#dfe7dc;
  box-shadow:none;
}

.projection-month-column.is-empty::after{
  display:none;
}

.projection-month-column.is-empty span{
  position:absolute;
  top:-24px;
  color:#6c796f;
  padding:0;
}

.projection-month-bar-item strong{
  color:#132019;
  font-size:11px;
  line-height:1.15;
}

.projection-month-bar-item small{
  color:#6c796f;
  font-size:10px;
  line-height:1.15;
}

.projection-month-row{
  display:grid;
  grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);
  gap:18px;
  align-items:stretch;
  padding:16px 0;
  border-top:1px solid #edf1ea;
}

.projection-month-row:first-child{
  border-top:none;
}

.projection-month-main{
  display:grid;
  align-content:start;
  gap:8px;
}

.projection-month-main strong{
  display:block;
  color:#132019;
  font-size:15px;
}

.projection-month-values span,
.projection-month-values small{
  color:#6c796f;
  font-size:11px;
}

.projection-month-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.projection-month-facts span{
  display:grid;
  gap:3px;
  min-width:0;
  padding:8px;
  border:1px solid #e4ebdf;
  border-radius:10px;
  background:#fbfdf9;
}

.projection-month-facts small{
  color:#6c796f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.projection-month-facts b{
  color:#132019;
  font-size:13px;
  line-height:1.15;
}

.projection-month-values{
  display:grid;
  gap:12px;
}

.projection-month-total{
  display:grid;
  grid-template-columns:auto minmax(120px,1fr) auto;
  align-items:baseline;
  gap:8px 12px;
}

.projection-month-total b{
  color:#0c1711;
  font-size:16px;
  text-align:right;
}

.projection-month-total span{
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.projection-month-total small{
  font-weight:800;
  text-align:right;
}

.projection-month-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.projection-month-metric{
  min-width:0;
  padding:10px;
  border:1px solid #e4ebdf;
  border-radius:12px;
  background:#fbfdf9;
}

.projection-month-metric-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.projection-month-metric-head strong{
  color:#132019;
  font-size:12px;
}

.projection-month-metric-head span{
  min-width:52px;
  padding:3px 7px;
  border-radius:999px;
  background:#eef5eb;
  color:#315c22;
  font-weight:850;
  text-align:center;
}

.projection-month-metric-bars{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.projection-month-mini-bar{
  display:grid;
  grid-template-rows:108px auto auto;
  gap:5px;
  min-width:0;
  text-align:center;
}

.projection-month-mini-track{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:108px;
  border-bottom:1px solid #dfe7dc;
  background:repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), #edf2ea calc(25% - 1px), #edf2ea 25%);
}

.projection-month-mini-fill{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:min(44px,82%);
  min-height:20px;
  overflow:hidden;
  border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,var(--green-500),var(--green-800));
}

.projection-month-mini-fill::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(7,80,58,.28);
  clip-path:polygon(0 0,55% 100%,0 100%);
}

.projection-month-mini-fill span{
  position:relative;
  z-index:1;
  padding-top:6px;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.projection-month-mini-fill.is-empty{
  min-height:6px;
  overflow:visible;
  background:#dfe7dc;
}

.projection-month-mini-fill.is-empty::after{
  display:none;
}

.projection-month-mini-fill.is-empty span{
  position:absolute;
  top:-20px;
  color:#6c796f;
  padding:0;
}

.projection-month-mini-bar strong{
  color:#132019;
  font-size:10px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.projection-month-mini-bar small{
  color:#6c796f;
  font-size:11px;
  font-weight:750;
  line-height:1.15;
  overflow-wrap:anywhere;
}

.projection-month-metric.is-production .projection-month-mini-fill{
  background:linear-gradient(180deg,var(--gold-500),var(--gold-700));
}

.projection-month-metric.is-production .projection-month-mini-fill::after{
  background:rgba(143,94,0,.26);
}

.projection-advisor-wrap{
  overflow:auto;
  border:1px solid #e4e9e1;
  border-radius:12px;
  background:#fff;
  scrollbar-color:#9aa29a #edf1ea;
}

.projection-advisor-table{
  width:100%;
  min-width:1180px;
  border-collapse:separate;
  border-spacing:0;
  font-variant-numeric:tabular-nums;
}

.projection-excel-summary-table{
  min-width:1320px;
}

.projection-advisor-table th,
.projection-advisor-table td{
  padding:10px 10px;
  border-top:1px solid #edf1ea;
  color:#17231b;
  font-size:12px;
  text-align:left;
  white-space:nowrap;
}

.projection-advisor-table th{
  color:#56645b;
  font-size:9px;
  font-weight:850;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.projection-excel-summary-table th,
.projection-excel-summary-table td{
  text-align:right;
}

.projection-excel-summary-table th:first-child,
.projection-excel-summary-table td:first-child{
  text-align:left;
  position:sticky;
  left:0;
  background:#fff;
  z-index:2;
  box-shadow:1px 0 0 #e4e9e1;
}

.projection-excel-summary-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:#f5f8f3;
  border-top:none;
  border-bottom:1px solid #e1e7dd;
  text-align:center;
}

.projection-excel-summary-table thead tr:first-child th{
  top:0;
  background:#eef4ea;
  color:#34473a;
  font-size:9px;
}

.projection-excel-summary-table thead tr:nth-child(2) th{
  top:31px;
  background:#f5f8f3;
}

.projection-excel-summary-table thead th:first-child{
  z-index:4;
  background:#f5f8f3;
  text-align:left;
}

.projection-excel-summary-table tbody td:nth-child(4),
.projection-excel-summary-table tbody td:nth-child(6),
.projection-excel-summary-table tbody td:nth-child(9),
.projection-excel-summary-table thead tr:first-child th:nth-child(2),
.projection-excel-summary-table thead tr:first-child th:nth-child(3),
.projection-excel-summary-table thead tr:first-child th:nth-child(4),
.projection-excel-summary-table thead tr:nth-child(2) th:nth-child(3),
.projection-excel-summary-table thead tr:nth-child(2) th:nth-child(5),
.projection-excel-summary-table thead tr:nth-child(2) th:nth-child(8){
  border-right:1px solid #dfe7dc;
}

.projection-advisor-name{
  min-width:172px;
  max-width:220px;
  color:#07130f;
  font-weight:750;
  overflow:hidden;
  text-overflow:ellipsis;
}

.projection-advisor-table tbody tr:hover td{
  background:#fbfdf9;
}

.projection-advisor-table tbody tr:hover td:first-child{
  background:#fbfdf9;
}

.projection-advisor-table tbody tr:nth-child(even):not(.projection-summary-total) td{
  background:#fcfdfb;
}

.projection-advisor-table tbody tr:nth-child(even):not(.projection-summary-total) td:first-child{
  background:#fcfdfb;
}

.projection-total-value{
  color:#07130f;
  font-weight:800;
}

.projection-summary-total td{
  background:#eef2eb;
  color:#0d1711;
  font-weight:850;
  border-top:2px solid #d8e0d3;
}

.projection-summary-total td:first-child{
  background:#eef2eb;
}

.projection-cumplimiento{
  display:inline-flex;
  min-width:58px;
  justify-content:center;
  padding:4px 8px;
  border-radius:999px;
  background:#eef5eb;
  color:#35661f;
  font-size:11px;
  font-weight:800;
}

.projection-good,
.projection-warn,
.projection-bad,
.projection-neutral{
  display:inline-flex;
  min-width:72px;
  justify-content:center;
  padding:3px 7px;
  border-radius:6px;
  font-weight:850;
}

.projection-soft-pill{
  display:inline-flex;
  min-width:52px;
  justify-content:center;
  padding:3px 7px;
  border-radius:999px;
  background:#eef5eb;
  color:#385a2d;
  font-size:11px;
  font-weight:800;
}

.projection-compliance-cell{
  display:grid;
  justify-items:end;
  gap:5px;
}

.projection-mini-bar{
  display:block;
  width:82px;
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:#e9eee5;
}

.projection-mini-bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--pantone-361c),var(--pantone-2277c));
}

@media(max-width:860px){
  .projection-advisor-wrap{
    overflow:visible;
    border:0;
    background:transparent;
  }

  .projection-advisor-table,
  .projection-excel-summary-table{
    min-width:0;
    width:100%;
    display:block;
  }

  .projection-advisor-table thead{
    display:none;
  }

  .projection-advisor-table tbody,
  .projection-advisor-table tr,
  .projection-advisor-table td{
    display:block;
    width:100%;
  }

  .projection-advisor-table tr{
    margin-bottom:12px;
    border:1px solid #e1e7dd;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
  }

  .projection-advisor-table td{
    position:static!important;
    min-width:0;
    max-width:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 12px;
    white-space:normal;
    text-align:right!important;
    border-top:1px solid #edf1ea;
    box-shadow:none!important;
  }

  .projection-advisor-table td::before{
    content:attr(data-label);
    color:#657269;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    text-align:left;
  }

  .projection-advisor-table td:first-child{
    display:block;
    padding:12px;
    background:#f5f8f3!important;
    text-align:left!important;
    border-top:0;
  }

  .projection-advisor-table td:first-child::before{
    display:none;
  }

  .projection-compliance-cell{
    justify-items:end;
  }
}

.projection-good{
  background:#dff3d9;
  color:#1f6d21;
}

.projection-warn{
  background:#fff1c7;
  color:#796000;
}

.projection-bad{
  background:#ffe0e0;
  color:#b40016;
}

.projection-neutral{
  background:#eef2eb;
  color:#425044;
}

.projection-participation{
  margin-top:16px;
  border-top:1px solid #edf1ea;
  padding-top:14px;
}

.projection-pie-card{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:18px;
  align-items:center;
}

.projection-pie{
  width:170px;
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid #dce6d8;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}

.projection-pie-legend{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
}

.projection-pie-legend span{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#465248;
  font-size:11px;
  font-weight:700;
}

.projection-pie-legend i{
  width:10px;
  height:10px;
  flex:0 0 auto;
  border-radius:3px;
}

.projection-empty{
  padding:18px 0;
  color:#718077;
  font-size:13px;
}

.pedidos-date-control{
  display:grid;
  gap:5px;
}

.pedidos-date-control span{
  color:#5b685f;
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pedidos-date-control .form-control{
  min-height:40px;
}

.pedidos-table th,
.pedidos-table td{
  vertical-align:top;
}

.pedido-control-row td{
  padding-top:14px;
  padding-bottom:14px;
}

.pedido-control-row.is-expanded{
  box-shadow:inset 3px 0 0 var(--gold-500);
}

.pedido-op,
.pedido-money{
  display:block;
  color:#07130f;
  font-size:13px;
  line-height:1.2;
}

.pedido-muted{
  display:block;
  margin-top:4px;
  color:#617066;
  font-size:11px;
  line-height:1.25;
}

.pedido-main-copy{
  display:grid;
  gap:4px;
  max-width:280px;
}

.pedido-main-copy strong{
  color:#102018;
  font-size:13px;
  line-height:1.25;
}

.pedido-main-copy span{
  color:#314035;
  font-size:12px;
  line-height:1.35;
}

.pedido-signal{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border:1px solid #dfe8dc;
  border-radius:999px;
  background:#fff;
  font-size:11px;
  font-weight:750;
}

.pedido-signal-ok{background:#edf8ef;color:#217a28;border-color:#d1ecd4}
.pedido-signal-warn{background:#fff7e8;color:#90651e;border-color:#f0dfb6}
.pedido-signal-bad{background:#fff0ef;color:#b91c1c;border-color:#f3d2cf}
.pedido-signal-info{background:#eef7fb;color:#1d6581;border-color:#d3e8f1}
.pedido-signal-neutral{background:#f5f7f4;color:#617066;border-color:#dfe8dc}

.pedido-timeline{
  min-width:360px;
  display:grid;
  grid-template-columns:repeat(4,minmax(78px,1fr));
  gap:6px;
}

.pedido-timeline span{
  display:grid;
  gap:2px;
  padding:7px 8px;
  border:1px solid #e0e7dc;
  border-radius:10px;
  background:#fbfcfa;
}

.pedido-timeline small{
  color:#6d786f;
  font-size:9px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1.15;
}

.pedido-timeline strong{
  color:#14231b;
  font-size:11px;
  font-weight:650;
  line-height:1.15;
}

.pedido-timeline em{
  color:#90651e;
  font-size:10px;
  font-style:normal;
  font-weight:700;
}

.pedido-timeline .plan-version-token{
  min-height:18px;
  padding:1px 6px;
}

.production-live-panel{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:16px;
  box-shadow:var(--shadow-soft);
}

.production-live-tabs{
  display:flex;
  gap:8px;
  padding:4px;
  margin-bottom:14px;
  border:1px solid #dfe8dc;
  border-radius:14px;
  background:#f5f8f4;
  width:max-content;
  max-width:100%;
}

.production-live-tab{
  border:0;
  border-radius:10px;
  padding:9px 14px;
  color:#5d6b62;
  background:transparent;
  font-weight:800;
  cursor:pointer;
}

.production-live-tab.is-active{
  color:#042f24;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,45,34,.10);
}

.production-live-filter{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(190px,240px);
  gap:10px;
  margin-bottom:14px;
}

.production-live-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:12px;
}

.production-live-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.production-live-card{
  display:grid;
  gap:10px;
  min-height:142px;
  padding:12px;
  border:1px solid #dfe8dc;
  border-left:4px solid var(--green-700);
  border-radius:14px;
  background:#fbfcfa;
}

.production-live-card:only-child{
  max-width:360px;
}

.production-live-top,
.production-live-foot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}

.production-live-top strong{
  color:#14231b;
  font-size:14px;
  line-height:1.15;
}

.production-live-top span,
.production-live-foot span,
.production-live-op span{
  color:#6d786f;
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.production-live-op{
  display:grid;
  gap:2px;
}

.production-live-op b{
  color:#042f24;
  font-size:20px;
  line-height:1;
}

.production-live-card p{
  min-height:32px;
  margin:0;
  color:#334137;
  font-size:12px;
  line-height:1.35;
}

.production-op-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #dce6dc;
  border-left:4px solid #c5b56a;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,45,34,.06);
}

.production-op-card.is-complete{
  border-left-color:#4f9a24;
}

.production-op-card.is-progress{
  border-left-color:#0e7ea8;
}

.production-op-card.is-pending{
  border-left-color:#c7922b;
}

.production-op-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.production-op-card-head strong{
  display:block;
  margin-top:2px;
  color:#031d16;
  font-size:18px;
  line-height:1;
}

.production-machine-card{
  box-shadow:none;
}

.production-machine-op{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:baseline;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  background:#f3f8f3;
}

.production-machine-op span,
.production-machine-op small{
  color:#667369;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.production-machine-op b{
  color:#042f24;
  font-size:18px;
  line-height:1;
}

.production-op-label,
.production-op-metrics small,
.production-op-context small,
.production-op-cause small{
  color:#667369;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.production-op-product{
  display:grid;
  gap:4px;
  min-height:46px;
}

.production-op-product b{
  color:#10221b;
  font-size:14px;
  line-height:1.25;
}

.production-op-product span{
  color:#5f6c63;
  font-size:12px;
}

.production-op-progress{
  display:grid;
  gap:7px;
}

.production-op-progress-top{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
}

.production-op-progress-top strong{
  color:#042f24;
  font-size:22px;
  line-height:1;
}

.production-op-progress-top span{
  color:#5e6d63;
  font-size:12px;
  font-weight:750;
}

.production-op-metrics,
.production-op-context{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.production-op-metrics span,
.production-op-context span{
  display:grid;
  gap:4px;
  min-width:0;
  padding:9px 10px;
  border:1px solid #e0e9df;
  border-radius:12px;
  background:#f8fbf7;
}

.production-op-metrics b,
.production-op-context b{
  min-width:0;
  overflow:hidden;
  color:#07130f;
  font-size:13px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.production-op-cause{
  display:grid;
  gap:4px;
  padding:9px 10px;
  border-radius:12px;
  background:#fff8e7;
  color:#5f4a1e;
  font-size:12px;
  line-height:1.35;
}

.pedido-quantity{
  min-width:150px;
  display:grid;
  gap:6px;
}

.pedido-quantity div:first-child{
  display:flex;
  align-items:baseline;
  gap:5px;
}

.pedido-quantity strong{
  color:#07130f;
  font-size:13px;
}

.pedido-quantity span,
.pedido-quantity small{
  color:#617066;
  font-size:11px;
}

.pedido-progress{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#e7edde;
}

.pedido-progress i{
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--green-700);
}

.pedido-detail-btn{
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
}

.pedido-otif-checks{
  display:flex;
  gap:8px;
  align-items:center;
  min-width:112px;
}

.pedido-check{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:0 8px;
  border:1px solid #dfe8dc;
  border-radius:999px;
  background:#fff;
}

.pedido-check b{
  color:#45564b;
  font-size:10px;
  font-weight:750;
}

.pedido-check i{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-style:normal;
  font-size:12px;
  font-weight:800;
}

.pedido-check svg{
  width:13px;
  height:13px;
}

.pedido-check-ok{
  background:#edf8ef;
  border-color:#cfebd2;
  color:#217a28;
}

.pedido-check-bad{
  background:#fff0ef;
  border-color:#f1cfcc;
  color:#b91c1c;
}

.pedido-check-muted{
  background:#f5f7f4;
  color:#8a958d;
}

.pedido-detail-row td{
  padding:0 12px 14px;
  background:#fbfcfa;
}

.pedido-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:14px;
  border:1px solid #dfe8dc;
  border-radius:14px;
  background:#fff;
}

.pedido-detail-card{
  display:grid;
  gap:9px;
}

.pedido-detail-card h4{
  margin:0 0 2px;
  color:#415246;
  font-size:11px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pedido-detail-card div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid #eef2ec;
  padding-bottom:6px;
}

.pedido-detail-card span{
  color:#607067;
  font-size:11px;
}

.pedido-detail-card strong{
  color:#102018;
  font-size:12px;
  text-align:right;
}

.config-shell{
  gap:16px;
}

.config-hero{
  display:grid;
  gap:12px;
}

.config-tabs{
  display:flex;
  align-items:flex-end;
  gap:2px;
  padding:6px 6px 0;
  border:1px solid #dbe5d6;
  border-radius:14px 14px 10px 10px;
  background:#eef3ee;
}

.config-tab{
  position:relative;
  min-height:38px;
  padding:0 20px;
  border:1px solid transparent;
  border-bottom:none;
  border-radius:12px 12px 0 0;
  background:transparent;
  color:#50605a;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
}

.config-tab.is-active{
  background:#fff;
  color:#102018;
  border-color:#d8e2d2;
  box-shadow:0 -2px 12px rgba(7,13,10,.04);
}

.config-panel{
  display:grid;
  gap:14px;
}

.config-users-grid{
  grid-template-columns:minmax(280px,360px) minmax(0,1fr);
  align-items:start;
}

.config-form-card,
.config-users-card{
  padding:18px;
}

.config-user-form{
  display:grid;
  gap:12px;
}

.config-user-form .form-group{
  margin:0;
}

.config-user-form .form-group > span{
  display:block;
  margin-bottom:6px;
  color:#4a5b68;
  font-size:12px;
  font-weight:650;
}

.config-user-form .btn{
  margin-top:4px;
}

.config-user-edit{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;
  gap:8px;
  align-items:center;
  min-width:430px;
}

.config-user-edit .form-control{
  min-height:38px;
}

.config-user-edit .btn{
  min-height:38px;
  white-space:nowrap;
}

.module-shell .kpi-card strong{
  font-size:1.9rem;
}

.module-shell .chart-card{
  padding:20px;
  border-radius:22px;
}

.module-shell .chart-card canvas{
  width:100% !important;
  height:300px !important;
}

.module-shell .table-card h3,
.module-shell .chart-card h3{
  font-size:18px;
  letter-spacing:-.02em;
}

.module-shell .pagination-info{
  color:#6a756e;
  font-weight:800;
}

.module-shell .table-footer{
  margin-top:14px;
  padding-top:4px;
}

.module-shell .empty{
  padding:30px 16px;
  color:#7b857f;
  font-weight:600;
}

.dashboard-shell{
  display:grid;
  gap:18px;
  max-width:1360px;
  margin:0 auto;
  padding-bottom:6px;
}

.dashboard-toolbar-card{
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(239,210,138,.20);
  background:rgba(255,255,255,.08);
  box-shadow:none;
  backdrop-filter:blur(10px);
}

.dashboard-toolbar{
  display:grid;
  grid-template-columns:minmax(130px,.72fr) minmax(184px,1fr) 34px minmax(184px,1fr) minmax(160px,.9fr);
  gap:8px;
  align-items:end;
}

.dashboard-filter-group{
  display:grid;
  gap:4px;
  min-width:0;
}

.dashboard-filter-group > span{
  color:rgba(247,251,241,.68);
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dashboard-filter-group-period{
  grid-template-columns:1fr 1fr;
}

.dashboard-filter-group-period > span{
  grid-column:1 / -1;
}

.dashboard-filter-vs{
  display:grid;
  place-items:center;
  height:32px;
  border-radius:999px;
  background:rgba(167,212,0,.18);
  color:#eefbd6;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

.dashboard-filter-field{
  display:grid;
  gap:0;
  min-width:0;
}

.dashboard-filter-field span{
  display:none;
}

.dashboard-toolbar .form-control,
.dashboard-toolbar .btn{
  height:34px;
  border-radius:10px;
}

.dashboard-toolbar .form-control{
  border-color:rgba(247,251,241,.22);
  background:rgba(255,255,255,.94);
  width:100%;
  min-width:0;
  text-overflow:ellipsis;
}

.dashboard-filter-actions,
.dashboard-command-actions{
  display:flex;
  gap:7px;
  align-items:center;
  justify-content:flex-end;
  white-space:nowrap;
}

.dashboard-command-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.64fr);
  gap:12px;
  align-items:stretch;
  padding:14px 16px;
  border-radius:22px;
  border:1px solid rgba(26,72,54,.18);
  color:#f7fbf1;
  background:
    linear-gradient(135deg,#102f25 0%,#184c38 54%,#31512d 100%);
  overflow:hidden;
  box-shadow:0 18px 34px rgba(16,47,37,.12);
}

.dashboard-control-card{
  grid-template-columns:minmax(0,1fr) minmax(520px,.56fr);
  grid-template-areas:
    "copy stats"
    "filters filters";
}

.dashboard-control-card .dashboard-command-copy{
  grid-area:copy;
}

.dashboard-control-card .dashboard-command-stats{
  grid-area:stats;
  align-self:center;
}

.dashboard-control-card .dashboard-toolbar{
  grid-area:filters;
}

.dashboard-command-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:42px 42px;
  opacity:.2;
}

.dashboard-command-copy,
.dashboard-command-stats{
  position:relative;
  z-index:1;
}

.dashboard-command-copy h1{
  margin:1px 0 6px;
  font-size:1.65rem;
  line-height:1.04;
  letter-spacing:0;
}

.dashboard-command-copy p{
  max-width:820px;
  margin:0;
  color:rgba(247,251,241,.78);
  font-size:12px;
  line-height:1.45;
}

.dashboard-command-card .dashboard-panel-kicker{
  margin-bottom:6px;
  padding:4px 7px;
  font-size:8px;
  background:rgba(215,236,138,.14);
  color:#d9f5a7;
  border:1px solid rgba(217,245,167,.18);
}

.dashboard-command-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(78px,1fr)) auto;
  gap:7px;
  align-items:center;
}

.dashboard-command-stats div{
  min-width:0;
  display:grid;
  align-content:center;
  gap:3px;
  min-height:48px;
  padding:7px 9px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

.dashboard-command-actions{
  align-self:center;
}

.dashboard-command-actions .btn{
  height:28px;
  border-radius:9px;
  padding:0 10px;
  font-size:11px;
}

.dashboard-command-stats span{
  color:rgba(247,251,241,.64);
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.dashboard-command-stats strong{
  color:#fff;
  font-size:10px;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-kpi-pro-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}

.dashboard-kpi-commercial-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.dashboard-kpi-pro-card{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto auto auto auto auto auto auto 42px;
  column-gap:10px;
  align-items:start;
  min-height:168px;
  padding:14px 14px 12px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(7,13,10,.055);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.dashboard-kpi-pro-card::before{
  display:none;
}

.dashboard-kpi-pro-card::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:10px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(15,61,46,.62),rgba(214,172,85,.46),rgba(214,172,85,0));
}

.dashboard-kpi-pro-card:hover{
  transform:translateY(-2px);
  border-color:#d8dece;
  box-shadow:0 20px 44px rgba(7,13,10,.075);
}

.dashboard-kpi-pro-card-featured,
.dashboard-kpi-pro-card-wide,
.dashboard-kpi-pro-card-compact{
  transform:none;
}

.dashboard-kpi-pro-icon{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#fff;
  background:radial-gradient(circle at 30% 30%,#91c83d,#5d9d22);
  grid-column:1;
  grid-row:1 / span 2;
}

.dashboard-kpi-pro-icon.tone-money{background:linear-gradient(135deg,var(--pantone-4017u),var(--pantone-125u))}
.dashboard-kpi-pro-icon.tone-client{background:linear-gradient(135deg,var(--green-800),var(--gold-700))}
.dashboard-kpi-pro-icon.tone-action{background:linear-gradient(135deg,var(--pantone-4017u),var(--pantone-125u))}

.dashboard-kpi-pro-icon svg{width:17px;height:17px}

.dashboard-kpi-pro-eyebrow{
  display:block;
  margin-top:0;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#8d9d7a;
  grid-column:2;
  grid-row:1;
  align-self:end;
}

.dashboard-kpi-pro-label{
  display:block;
  margin-top:0;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#151711;
  grid-column:2;
  grid-row:2;
  align-self:start;
}

.dashboard-kpi-pro-card strong{
  display:block;
  margin-top:10px;
  font-size:2rem;
  line-height:.95;
  color:#0f3327;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  grid-column:1 / -1;
  grid-row:3;
  letter-spacing:0;
}

.dashboard-kpi-pro-delta,
.dashboard-kpi-pro-meta{
  display:block;
  margin-top:4px;
  min-height:18px;
  font-size:10px;
  font-weight:700;
  line-height:1.4;
  color:#627087;
  grid-column:1 / -1;
  grid-row:4;
}

.dashboard-kpi-pro-delta{color:#5a9728}

.dashboard-kpi-mini-row{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
  grid-column:1 / -1;
  grid-row:6;
  margin-top:2px;
}

.dashboard-kpi-mini-row span{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:4px 7px;
  border-radius:999px;
  background:#f1f7ec;
  color:#4b683a;
  font-size:9px;
  font-weight:900;
}

.dashboard-kpi-pro-track{
  height:6px;
  border-radius:999px;
  background:#ecf1e6;
  overflow:hidden;
  margin-top:6px;
  margin-inline:-2px;
  grid-column:1 / -1;
  grid-row:7;
}

.dashboard-kpi-pro-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#5e9825,#82bb3d);
}

.dashboard-kpi-pro-track.tone-risk span{background:linear-gradient(90deg,var(--pantone-125u),var(--pantone-4017u))}
.dashboard-kpi-pro-track.tone-client span{background:linear-gradient(90deg,var(--green-800),var(--gold-500))}
.dashboard-kpi-pro-track.tone-action span{background:linear-gradient(90deg,var(--pantone-125u),var(--pantone-4017u))}

.dashboard-kpi-pro-spark{
  min-height:42px;
  margin-top:5px;
  opacity:1;
  align-self:end;
  grid-column:1 / -1;
  grid-row:8;
}

.dashboard-kpi-pro-insight{
  display:block;
  margin-top:2px;
  color:#536150;
  font-size:9px;
  font-style:normal;
  font-weight:800;
  line-height:1.3;
  grid-column:1 / -1;
  grid-row:5;
}

.dashboard-kpi-proof{
  display:grid;
  gap:4px;
}

.dashboard-kpi-proof-top,
.dashboard-kpi-proof-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  min-width:0;
  color:#536150;
  font-size:8.5px;
  font-weight:800;
  line-height:1;
}

.dashboard-kpi-proof-top b,
.dashboard-kpi-proof-bottom b{
  color:#203629;
  font-size:9px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.dashboard-kpi-proof-bottom{
  color:#7b8774;
}

.dashboard-kpi-proof-bottom b{
  color:#7b8774;
}

.dashboard-kpi-proof-bar{
  height:7px;
  border-radius:999px;
  background:#edf2e8;
  overflow:hidden;
}

.dashboard-kpi-proof-bar span{
  display:block;
  height:100%;
  min-width:2px;
  border-radius:999px;
}

.dashboard-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.72fr) minmax(280px,.34fr);
  gap:14px;
  align-items:start;
}

.dashboard-primary-column{
  display:grid;
  gap:14px;
  min-width:0;
  overflow:hidden;
}

.dashboard-chart-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}

.dashboard-chart-panel{min-height:280px}

.dashboard-panel-causes{
  min-height:336px;
}

.dashboard-panel-distribution{
  min-height:unset;
  padding-bottom:12px;
}

.dashboard-panel-evolution{
  min-height:auto;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}

.dashboard-panel-evolution .dashboard-chart-frame{
  min-height:340px;
}

.dashboard-panel-evolution canvas{
  height:340px !important;
}

.dashboard-evolution-band{
  width:100%;
}

.dashboard-evolution-head{
  display:grid;
  grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);
  align-items:end;
  gap:14px;
  margin-bottom:6px;
}

.dashboard-evolution-band .dashboard-chart-frame{
  min-height:340px;
}

.dashboard-evolution-band canvas{
  height:340px !important;
}

.dashboard-panel,
.dashboard-highlight-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:0 14px 34px rgba(7,13,10,.055);
}

.dashboard-panel{
  position:relative;
  padding:14px;
  min-height:100%;
  overflow:hidden;
}

.dashboard-panel.dashboard-panel-distribution{
  align-self:start;
  min-height:auto;
  height:auto;
}

.dashboard-panel::before{
  display:none;
}

.dashboard-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:8px;
}

.dashboard-panel-kicker{
  display:inline-flex;
  margin-bottom:8px;
  padding:5px 8px;
  border-radius:999px;
  background:#f4f6f3;
  color:var(--pantone-125u);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dashboard-panel-head h3{
  margin:0;
  font-size:12px;
  color:#1f2a34;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}

.dashboard-panel-head p{
  margin:4px 0 0;
  color:#768271;
  line-height:1.4;
  font-size:10px;
}

.dashboard-chart-frame{
  position:relative;
  padding:6px 2px 0;
  min-height:168px;
}

.dashboard-panel canvas{width:100%!important;height:160px!important}

.dashboard-panel-evolution .dashboard-chart-frame{
  height:340px;
  min-height:340px;
}

.dashboard-panel.dashboard-panel-evolution canvas{
  height:340px!important;
}

.dashboard-donut-stage canvas{
  height:210px!important;
}

.dashboard-distribution-scoreboard{
  display:grid;
  gap:10px;
  padding:4px 2px 0;
  min-height:unset;
}

.dashboard-subchannel-chart{
  display:grid;
  gap:10px;
  min-width:0;
}

.dashboard-subchannel-legend{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:34px;
  padding:2px 0 4px;
  color:#2f352d;
  font-size:11px;
  font-weight:800;
}

.dashboard-subchannel-legend span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}

.dashboard-subchannel-legend i{
  width:12px;
  height:12px;
  border-radius:999px;
  display:inline-block;
  box-shadow:0 0 0 2px rgba(85,147,28,.08);
}

.dashboard-subchannel-legend .is-previous{
  background:rgba(167,212,0,.22);
}

.dashboard-subchannel-legend .is-current{
  background:var(--pantone-2277c);
}

.dashboard-subchannel-plot{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:8px;
  overflow-x:auto;
  padding:0 6px 2px 0;
}

.dashboard-subchannel-axis{
  height:190px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-end;
  padding:22px 5px 0 0;
  color:#2a3029;
  font-size:11px;
  font-weight:800;
}

.dashboard-subchannel-groups{
  position:relative;
  min-width:max(100%, calc(var(--channel-count) * 126px));
  min-height:238px;
  display:grid;
  grid-template-columns:repeat(var(--channel-count),minmax(112px,1fr));
  align-items:end;
}

.dashboard-subchannel-groups::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:190px;
  border-left:1px solid #dfe6dc;
  background:linear-gradient(180deg,rgba(85,147,28,.08) 1px,transparent 1px) 0 0 / 100% 40px;
  pointer-events:none;
}

.dashboard-subchannel-group{
  position:relative;
  z-index:1;
  height:100%;
  display:grid;
  grid-template-rows:190px 25px 20px;
  justify-items:center;
  align-items:end;
  min-width:0;
  padding:0 6px;
}

.dashboard-subchannel-bars{
  position:relative;
  width:86px;
  height:158px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:10px;
  border-bottom:2px solid #d8dfd4;
}

.dashboard-subchannel-bar{
  position:relative;
  width:32px;
  min-height:5px;
  border-radius:7px 7px 0 0;
  z-index:1;
}

.dashboard-subchannel-bar.is-previous{
  background:linear-gradient(180deg,rgba(167,212,0,.28),rgba(85,147,28,.16));
}

.dashboard-subchannel-bar.is-current{
  background:linear-gradient(180deg,#1f6d1c,var(--pantone-2277c));
}

.dashboard-subchannel-bar span{
  position:absolute;
  left:50%;
  top:-22px;
  transform:translateX(-50%);
  color:#20281f;
  font-size:10px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.dashboard-subchannel-group strong{
  align-self:center;
  max-width:100%;
  color:#20281f;
  font-size:11px;
  line-height:1.15;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  position:relative;
  z-index:1;
}

.dashboard-subchannel-group small{
  align-self:start;
  color:#6f7b72;
  font-size:11px;
  font-weight:900;
  line-height:1.15;
  position:relative;
  z-index:1;
}

.dashboard-subchannel-group small.is-up{
  color:var(--pantone-2277c);
}

.dashboard-subchannel-group small.is-down{
  color:var(--pantone-125u);
}

.dashboard-distribution-row{
  display:grid;
  grid-template-columns:minmax(130px,.8fr) minmax(180px,1.2fr) minmax(68px,.35fr);
  gap:14px;
  align-items:center;
  padding:13px;
  border:1px solid #e8ede4;
  border-radius:16px;
  background:#fff;
}

.dashboard-distribution-main{
  display:grid;
  gap:4px;
}

.dashboard-distribution-main span,
.dashboard-distribution-bars span,
.dashboard-distribution-delta small{
  color:#75826f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.dashboard-distribution-main strong{
  color:#214b20;
  font-size:1.65rem;
  line-height:.95;
  font-weight:900;
}

.dashboard-distribution-main small{
  color:#6e7a70;
  font-size:10px;
  font-weight:700;
  line-height:1.35;
}

.dashboard-distribution-bars{
  display:grid;
  gap:8px;
}

.dashboard-distribution-bars div{
  display:grid;
  grid-template-columns:minmax(76px,.7fr) 46px minmax(78px,1fr);
  gap:8px;
  align-items:center;
}

.dashboard-distribution-bars b{
  color:#213024;
  font-size:11px;
  font-weight:900;
  text-align:right;
}

.dashboard-distribution-bars i{
  display:block;
  height:8px;
  border-radius:999px;
  background:#edf2e8;
  overflow:hidden;
}

.dashboard-distribution-bars em{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--pantone-361c),var(--pantone-2277c));
}

.dashboard-distribution-bars div:first-child em{
  background:var(--pantone-2291c);
}

.dashboard-distribution-delta{
  display:grid;
  justify-items:end;
  gap:4px;
}

.dashboard-distribution-delta strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  min-height:28px;
  padding:6px 8px;
  border-radius:999px;
  color:#557018;
  background:#f1f7e8;
  font-size:11px;
  font-weight:900;
}

.dashboard-distribution-row.is-down .dashboard-distribution-delta strong{
  color:#b33d2a;
  background:#fff0ed;
}

.dashboard-distribution-row.is-flat .dashboard-distribution-delta strong{
  color:#6f7b72;
  background:#f4f6f2;
}

.dashboard-evolution-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0;
}

.dashboard-evolution-summary div{
  display:grid;
  gap:3px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid #e8ede4;
  background:#fff;
}

.dashboard-evolution-summary span{
  color:#75826f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.dashboard-evolution-summary strong{
  color:#213024;
  font-size:12px;
  font-weight:900;
}

.dashboard-evolution-summary strong.is-up{color:var(--pantone-2277c)}
.dashboard-evolution-summary strong.is-down{color:var(--pantone-125u)}

.dashboard-donut-wrap{
  display:grid;
  grid-template-columns:minmax(176px,210px) minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding-top:4px;
}

.dashboard-donut-stage{
  position:relative;
  width:100%;
  max-width:210px;
  margin:0 auto;
}

.dashboard-donut-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:76px;
  height:76px;
  border-radius:999px;
  background:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  align-content:center;
  gap:0;
}

.dashboard-donut-center strong{
  color:var(--pantone-2277c);
  font-size:1.45rem;
  line-height:1;
  font-weight:900;
}

.dashboard-donut-center small{
  color:#75826f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.dashboard-cause-list{
  display:grid;
  gap:10px;
  padding:0 4px 0 0;
  border-top:0;
  min-width:0;
  position:relative;
  z-index:1;
}

.dashboard-cause-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.dashboard-cause-item > div{
  flex:1;
  min-width:0;
}

.dashboard-cause-item-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.dashboard-cause-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
  margin-top:4px;
  background:var(--cause-color,var(--pantone-2277c));
}

.dashboard-cause-item strong{
  display:block;
  font-size:11px;
  color:#1d2b3a;
  font-weight:800;
}

.dashboard-cause-item b{
  color:var(--pantone-2277c);
  font-size:10px;
  font-weight:900;
}

.dashboard-cause-bar{
  height:7px;
  margin-top:8px;
  border-radius:999px;
  background:rgba(85,147,28,.12);
  overflow:hidden;
}

.dashboard-cause-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--cause-color,var(--pantone-2277c));
}

.dashboard-cause-item small{
  display:block;
  margin-top:4px;
  color:#73806f;
  font-weight:700;
  line-height:1.35;
  font-size:10px;
}

.tone-1{background:var(--pantone-2277c)}
.tone-2{background:var(--pantone-361c)}
.tone-3{background:var(--pantone-4017u)}
.tone-4{background:var(--pantone-2291c)}
.tone-5{background:var(--pantone-125u)}
.tone-6{background:var(--cause-color,var(--pantone-2277c))}

.dashboard-rail{
  display:grid;
  gap:14px;
  align-content:start;
}

.dashboard-rail-panel{
  min-height:unset;
}

.dashboard-focus-panel{
  height:390px;
  overflow:hidden;
}

.dashboard-incidents-panel{
  height:390px;
  overflow:hidden;
}

.dashboard-focus-list{
  display:grid;
  gap:7px;
  max-height:278px;
  overflow:auto;
  padding-right:2px;
}

.dashboard-focus-item{
  display:grid;
  gap:6px;
  padding:10px;
  border:1px solid #e8ede4;
  border-radius:14px;
  background:#fff;
}

.dashboard-focus-item span{
  color:#718166;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dashboard-focus-item strong{
  color:#1f2d1d;
  font-size:12px;
  line-height:1.25;
}

.dashboard-focus-item div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.dashboard-focus-item b{
  color:var(--pantone-125u);
  font-size:12px;
  font-weight:900;
}

.dashboard-focus-item small{
  color:#6f7b72;
  font-size:10px;
  font-weight:700;
  text-align:right;
}

.dashboard-focus-item em{
  display:block;
  padding-top:6px;
  border-top:1px solid #edf2e8;
  color:#536150;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  line-height:1.3;
}

.dashboard-ranking-list{
  display:grid;
  gap:12px;
}

.dashboard-ranking-group{
  display:grid;
  gap:12px;
}

.dashboard-ranking-row{
  display:grid;
  grid-template-columns:22px minmax(90px,1fr) minmax(90px,1fr) auto;
  gap:8px;
  align-items:center;
}

.dashboard-ranking-row strong{
  font-size:11px;
  color:#233121;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.dashboard-ranking-index{
  font-weight:900;
  color:#708066;
  font-size:11px;
}

.dashboard-ranking-bar{
  position:relative;
  height:6px;
  border-radius:999px;
  background:#e7eee3;
  overflow:hidden;
}

.dashboard-ranking-bar span{
  position:absolute;
  inset:0 auto 0 0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--pantone-361c),var(--pantone-2277c));
}

.dashboard-ranking-value{
  font-weight:900;
  color:#205020;
  font-size:11px;
}

.dashboard-ranking-critical{
  margin-top:4px;
  padding-top:14px;
  border-top:1px solid #edf2e8;
}

.dashboard-ranking-critical-label{
  display:block;
  margin-bottom:10px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#91814d;
}

.dashboard-ranking-row.is-critical .dashboard-ranking-bar span{
  background:linear-gradient(90deg,#f05e43,#cf3526);
}

.dashboard-ranking-row.is-critical .dashboard-ranking-index,
.dashboard-ranking-row.is-critical .dashboard-ranking-value{
  color:#c53b2d;
}

.dashboard-incidents-panel{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.dashboard-incident-list{
  display:grid;
  align-content:start;
  gap:8px;
  flex:1;
  min-height:0;
  overflow:auto;
  padding-right:2px;
}

.dashboard-incident-item{
  display:grid;
  gap:5px;
  padding:8px 9px;
  border:1px solid #e8ede4;
  border-radius:14px;
  background:#fff;
}

.dashboard-incident-item.is-critical{
  border-color:#ffd6d2;
  background:linear-gradient(180deg,#fff,#fff8f7);
}

.dashboard-incident-item.is-warning{
  border-color:#f2e4bd;
  background:linear-gradient(180deg,#fff,#fffaf0);
}

.dashboard-incident-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.dashboard-incident-top strong{
  font-size:11px;
  color:#1f2d1d;
  line-height:1.2;
}

.dashboard-incident-client{
  font-size:10px;
  color:#233121;
  font-weight:800;
  line-height:1.35;
}

.dashboard-incident-reason{
  display:grid;
  gap:2px;
}

.dashboard-incident-reason b{
  color:#1f2d1d;
  font-size:9px;
  font-weight:900;
}

.dashboard-incident-reason span,
.dashboard-incident-item small{
  font-size:9px;
  font-weight:700;
  color:#73806f;
  line-height:1.35;
}

.dashboard-incident-meta{
  display:flex;
  justify-content:space-between;
  gap:8px;
}

.dashboard-incident-meta span{
  color:var(--pantone-125u);
  font-size:9px;
  font-weight:900;
}

.dashboard-incident-action{
  padding:6px 8px;
  border-radius:10px;
  background:#eef6e8;
  color:#315b1e;
  font-size:9px;
  font-weight:900;
  line-height:1.25;
}

.dashboard-incidents-band{
  width:100%;
}

.dashboard-incidents-band .table-wrap{
  overflow:auto;
  border:1px solid #edf2ea;
  border-radius:16px;
  background:#fff;
}

.dashboard-incidents-band table{
  min-width:100%;
}

.dashboard-rail .dashboard-data-panel .table-wrap{
  overflow:visible;
  border:none;
  border-radius:0;
  background:transparent;
}

.dashboard-rail .dashboard-data-panel table{
  min-width:100%;
}

.dashboard-data-panel th,
.dashboard-data-panel td{
  padding:8px 8px;
  font-size:11px;
}

.dashboard-data-panel th{
  font-size:9px;
  letter-spacing:.1em;
}

.dashboard-data-panel tbody td:first-child{
  font-weight:800;
}

.dashboard-delta{
  font-weight:800;
  font-size:10px;
}

.dashboard-delta.is-up{color:#429d2e}
.dashboard-delta.is-down{color:#d33f2f}

.dashboard-formula-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 15px;
  border-radius:18px;
  border:1px solid var(--border);
  background:#fff;
}

.dashboard-formula-copy{
  display:flex;
  align-items:center;
  gap:12px;
}

.dashboard-formula-copy p{
  margin:0;
  color:#617060;
  font-size:12px;
  line-height:1.5;
}

.dashboard-formula-copy strong{
  color:#23412c;
}

.dashboard-formula-icon{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eff6e7;
  color:#4d8c2a;
  flex:0 0 34px;
}

.dashboard-formula-icon svg{width:18px;height:18px}

.dashboard-last-update{
  color:#7b8680;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

tr.row-ok td{background:#f2fbef}
tr.row-warn td{background:#fff7ea}
tr.row-bad td{background:#fff1f0}
tr.row-neutral td{background:#fff}

@media(max-width:1280px){
  .pedidos-control-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .pedidos-strip-title{
    grid-column:1 / -1;
    min-height:auto;
  }

  .pedidos-filter-main{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .projection-filter-main{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pedidos-filter-main .pedidos-search,
  .projection-filter-search{
    grid-column:1 / -1;
  }

  .projection-filter-actions{
    min-height:auto;
  }

  .pedidos-filter-advanced,
  .projection-workbar .pedidos-filter-advanced{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .projection-summary-grid{
    grid-template-columns:1fr;
  }

  .projection-form-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .projection-form-wide{
    grid-column:span 2;
  }

  .login-page{
    grid-template-columns:1fr;
    align-content:center;
  }

  .login-hero-panel{
    min-height:auto;
    gap:42px;
  }

  .login-hero-copy{
    padding-bottom:0;
  }

  .login-hero-copy h1{
    font-size:3.25rem;
  }

  .dashboard-kpi-pro-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:end;
  }

  .dashboard-filter-vs{
    display:none;
  }

  .dashboard-command-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
  }

  .dashboard-command-card{
    grid-template-columns:1fr;
  }

  .dashboard-control-card{
    grid-template-areas:
      "copy"
      "stats"
      "filters";
  }

  .dashboard-main-grid{
    grid-template-columns:1fr;
  }

  .dashboard-focus-panel,
  .dashboard-incidents-panel{
    height:auto;
    max-height:none;
  }

  .dashboard-focus-list,
  .dashboard-incident-list{
    max-height:none;
    overflow:visible;
  }

  .dashboard-chart-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "evolution evolution"
      "distribution causes";
  }

  .dashboard-evolution-head{
    grid-template-columns:1fr;
    align-items:start;
  }
}

@media(max-width:860px){
  .pedidos-control-strip,
  .pedidos-filter-main,
  .pedidos-filter-advanced,
  .projection-workbar .pedidos-filter-advanced{
    grid-template-columns:1fr;
  }

  .pedidos-filter-main .pedidos-search{
    grid-column:auto;
  }

  .projection-filter-search{
    grid-column:auto;
    min-width:0;
  }

  .projection-filter-actions{
    align-items:stretch;
    flex-wrap:wrap;
  }

  .projection-filter-actions .btn{
    flex:1 1 140px;
  }

  .projection-month-row{
    grid-template-columns:1fr;
  }

  .projection-month-total,
  .projection-month-split{
    grid-template-columns:1fr;
  }

  .projection-month-chart-head{
    display:grid;
    justify-content:start;
  }

  .projection-month-plot{
    grid-auto-columns:minmax(74px,92px);
  }

  .projection-month-total b,
  .projection-month-total small{
    text-align:left;
  }

  .projection-form-grid{
    grid-template-columns:1fr;
  }

  .projection-form-wide,
  .projection-form-full{
    grid-column:auto;
  }

  .projection-form-actions{
    justify-content:flex-start;
  }

  .projection-import-panel{
    grid-template-columns:1fr;
  }

  .projection-import-actions{
    justify-content:flex-start;
  }

  .projection-panel{
    padding:14px;
  }

  .production-live-filter{
    grid-template-columns:1fr;
  }

  .pedido-detail-grid{
    grid-template-columns:1fr;
  }

  .pedido-timeline{
    grid-template-columns:repeat(2,minmax(72px,1fr));
  }

  .profile-avatar-grid,
  .profile-form-grid{
    grid-template-columns:1fr 1fr;
  }

  .profile-preview-row{
    align-items:flex-start;
  }

  .config-users-grid{
    grid-template-columns:1fr;
  }

  .config-tabs{
    overflow-x:auto;
  }

  .login-page{
    padding:22px;
    gap:24px;
  }

  .login-page::after{
    display:none;
  }

  .login-hero-logo{
    width:min(230px,72vw);
  }

  .login-hero-copy span,
  .login-card-kicker{
    margin-bottom:12px;
  }

  .login-hero-copy h1{
    font-size:2.35rem;
    line-height:1;
  }

  .login-hero-copy p{
    margin-top:18px;
    font-size:14px;
  }

  .login-card{
    padding:26px 20px 22px;
    border-radius:20px;
  }

  .login-card h2{
    font-size:26px;
  }

  .password-field{
    grid-template-columns:1fr;
  }

  .layout{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .nav{display:grid;grid-template-columns:repeat(2,1fr)}

  .kpi-grid,
  .chart-grid,
  .dashboard-toolbar,
  .dashboard-kpi-pro-grid{
    grid-template-columns:1fr;
  }

  .dashboard-filter-group-period{
    grid-template-columns:1fr;
  }

  .dashboard-filter-group-period > span{
    grid-column:auto;
  }

  .dashboard-command-actions{
    grid-column:auto;
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .dashboard-main-grid{
    grid-template-columns:1fr;
  }

  .dashboard-command-card{
    padding:15px;
    border-radius:20px;
  }

  .dashboard-control-card{
    padding:14px;
  }

  .dashboard-command-copy h1{
    font-size:1.5rem;
  }

  .dashboard-kpi-pro-card strong{
    font-size:1.75rem;
  }

  .dashboard-command-stats{
    grid-template-columns:1fr;
  }

  .dashboard-distribution-row{
    grid-template-columns:1fr;
    gap:10px;
  }

  .dashboard-distribution-delta{
    justify-items:start;
  }

  .dashboard-distribution-bars div{
    grid-template-columns:minmax(78px,.8fr) 48px minmax(90px,1fr);
  }

  .dashboard-evolution-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashboard-chart-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "evolution"
      "distribution"
      "causes";
  }

  .dashboard-formula-bar{
    flex-direction:column;
    align-items:flex-start;
  }

  .module-table-head,
  .module-section-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .module-table-meta{
    text-align:left;
  }

  .dashboard-panel canvas{height:250px!important}
  .dashboard-panel.dashboard-panel-evolution canvas{height:340px!important}
  .dashboard-donut-stage canvas{height:210px!important}
  .topbar{
    min-height:auto;
    padding:12px 18px;
    gap:12px;
    align-items:flex-start;
  }

  .topbar-tools{
    gap:7px;
  }

  .topbar-context p{
    display:none;
  }

  .topbar-profile{
    min-width:0;
    padding-right:6px;
  }

  .topbar-profile-copy{
    display:none;
  }

  .content{padding:18px}
  .form-grid{grid-template-columns:1fr}
}

@media(max-width:520px){
  .projection-month-facts,
  .projection-month-metric-bars{
    grid-template-columns:1fr;
  }

  .projection-month-bars{
    grid-template-columns:32px minmax(0,1fr);
  }

  .projection-month-axis{
    height:154px;
    font-size:9px;
  }

  .projection-month-plot{
    min-height:204px;
    gap:12px;
  }

  .projection-month-bar-item{
    grid-template-rows:minmax(146px,1fr) auto auto;
  }

  .projection-month-column-track{
    height:154px;
  }

  .dashboard-donut-wrap{
    grid-template-columns:1fr;
    justify-items:center;
  }

  .dashboard-cause-list{
    width:100%;
    padding:0;
  }
}

/* Capa global de lectura: reduce negrillas pesadas en todo el aplicativo. */
body{
  font-weight:400;
}

h1,h2,h3,h4,h5,h6,
.module-title,
.module-section-head h3,
.module-table-head h3,
.chart-card h3,
.table-card h3,
.coordinator-head h3{
  font-weight:650;
}

.module-section-kicker,
.kpi-card span,
th,
.badge,
.request-state-pill,
.form-group label,
.request-field > span,
.detail-tab-list label,
.coordinator-summary-grid span,
.dashboard-card-label,
.dashboard-panel-kicker,
.dashboard-ranking-label,
.dashboard-alert-label,
.topbar-context span,
.sidebar-section-label{
  font-weight:600;
}

.kpi-card strong,
.metric-value,
.dashboard-big-number,
.dashboard-total-number,
.dashboard-ranking-value,
.coordinator-summary-grid strong,
.coordinator-summary p,
tbody td:first-child,
.metric-text,
.btn,
.action-label-btn,
.icon-action-btn,
.form-control{
  font-weight:600;
}

tbody td,
.kpi-card small,
.module-table-meta,
.pagination-info,
.topbar-context p,
.coordinator-head p,
.coordinator-detail-head p{
  font-weight:400;
}
