/* Portal Blessed · Design System v4
   Rediseño visual global. Capa exclusivamente presentacional.
   Se carga al final para unificar las generaciones visuales anteriores sin tocar lógica. */

:root{
  --bl-green:#278f16;
  --bl-green-deep:#1d6714;
  --bl-green-ink:#173d1d;
  --bl-green-soft:#edf7eb;
  --bl-yellow:#ffd400;
  --bl-yellow-soft:#fff8cf;
  --bl-red:#f01422;
  --bl-red-soft:#fff0f1;

  --bl-bg:#f5f7f5;
  --bl-surface:#ffffff;
  --bl-surface-2:#fafbfa;
  --bl-surface-3:#f1f4f1;
  --bl-text:#17211a;
  --bl-text-2:#46534a;
  --bl-text-3:#718078;
  --bl-border:#e1e7e2;
  --bl-border-strong:#cad5cc;

  --bl-radius-xs:8px;
  --bl-radius-sm:12px;
  --bl-radius-md:16px;
  --bl-radius-lg:22px;
  --bl-radius-xl:28px;

  --bl-shadow-xs:0 1px 2px rgba(20,37,25,.03);
  --bl-shadow-sm:0 1px 2px rgba(20,37,25,.025),0 8px 24px rgba(20,37,25,.035);
  --bl-shadow-md:0 2px 5px rgba(20,37,25,.035),0 18px 46px rgba(20,37,25,.065);
  --bl-focus:0 0 0 4px rgba(39,143,22,.12);

  --bl-font:"Segoe UI Variable","Aptos","Segoe UI",Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}

*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;background:var(--bl-bg)}
body{
  margin:0!important;
  font-family:var(--bl-font)!important;
  font-size:15px!important;
  line-height:1.55!important;
  letter-spacing:-.008em!important;
  color:var(--bl-text)!important;
  background:
    radial-gradient(circle at 8% -5%,rgba(255,212,0,.075),transparent 28rem),
    radial-gradient(circle at 96% 0%,rgba(39,143,22,.055),transparent 32rem),
    var(--bl-bg)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body a{transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
body p,body .muted{color:var(--bl-text-2)!important}
body small{color:var(--bl-text-3)}
body h1,body h2,body h3,body strong{color:var(--bl-text)}

/* ------------------------------------------------------------------
   Shell global / navegación
   ------------------------------------------------------------------ */
.topbar.app-topbar{
  position:sticky!important;
  top:0!important;
  z-index:100!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  display:block!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(202,213,204,.8)!important;
  background:rgba(255,255,255,.93)!important;
  backdrop-filter:saturate(150%) blur(18px);
  -webkit-backdrop-filter:saturate(150%) blur(18px);
  box-shadow:0 1px 0 rgba(255,255,255,.8),0 10px 35px rgba(20,37,25,.035)!important;
}
.app-topbar-row{
  max-width:1540px;
  min-height:68px;
  margin:0 auto;
  padding:0 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand.brand-v4{
  display:inline-flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0;
  color:inherit!important;
  text-decoration:none!important;
}
.brand-mark{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(145deg,var(--bl-green),var(--bl-green-deep));
  box-shadow:0 5px 16px rgba(39,143,22,.2);
  font-size:17px;
  font-weight:850;
  letter-spacing:-.05em;
}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{
  font-size:15px!important;
  font-weight:820!important;
  letter-spacing:.065em!important;
  color:#16391c!important;
}
.brand-copy span{
  margin-top:4px;
  font-size:9px!important;
  font-weight:750;
  letter-spacing:.15em!important;
  color:#7b897f!important;
}
.app-topbar .userbox{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  min-width:0;
}
.user-identity{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding-right:4px;
}
.user-avatar{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--bl-green-soft);
  color:var(--bl-green-deep);
  border:1px solid #d5e8d1;
  font-weight:800;
  font-size:13px;
}
.user-copy{display:flex;flex-direction:column;min-width:0;line-height:1.12}
.app-topbar .user-name{
  max-width:210px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px!important;
  font-weight:720!important;
  color:#314138!important;
}
.app-topbar .role{
  width:max-content;
  max-width:190px;
  margin-top:4px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#829087!important;
  font-size:10px!important;
  font-weight:650!important;
}
.app-topbar .security-link,.app-topbar .logout-link{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:0 11px!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:700!important;
}
.app-topbar .security-link{
  color:#405046!important;
  background:#f6f8f6!important;
  border:1px solid var(--bl-border)!important;
}
.app-topbar .security-link:hover{background:#eef3ef!important;border-color:#d4ddd6!important}
.app-topbar .logout-link{
  color:#8c3940!important;
  background:#fff!important;
  border:1px solid #f0dfe1!important;
}
.app-topbar .logout-link:hover{background:#fff5f5!important;border-color:#eecfd2!important}
.portal-nav{
  max-width:1540px;
  margin:0 auto;
  padding:0 28px 9px;
  display:flex;
  align-items:center;
  gap:5px;
  overflow-x:auto;
  scrollbar-width:none;
}
.portal-nav::-webkit-scrollbar{display:none}
.portal-nav a{
  flex:0 0 auto;
  min-height:34px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  color:#66736b!important;
  text-decoration:none!important;
  font-size:11px;
  font-weight:690;
  white-space:nowrap;
}
.portal-nav a:hover{background:#f1f4f1;color:#31473a!important}
.portal-nav a.portal-nav-home{
  color:var(--bl-green-deep)!important;
  background:var(--bl-green-soft);
}
.portal-nav-separator{width:1px;height:18px;flex:0 0 1px;background:var(--bl-border);margin:0 3px}

main{
  width:100%!important;
  max-width:1460px!important;
  margin:0 auto!important;
  padding:34px 30px 88px!important;
}
main.admin-docs-wide,main.people-page,main.web-orders-page,main.bultos-page,main.price-tags-page,main.bitacora-page{max-width:1540px!important}

/* ------------------------------------------------------------------
   Tipografía / encabezados / navegación contextual
   ------------------------------------------------------------------ */
.eyebrow{
  margin-bottom:7px!important;
  color:var(--bl-green-deep)!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:.11em!important;
  text-transform:uppercase;
}
.page-head,.product-head,.wo-head,.gp-head,.pt-head,.bultos-head,.bl-hero{
  margin-top:6px!important;
  margin-bottom:24px!important;
}
.page-head h1,.product-head h1,.wo-head h1,.gp-head h1,.pt-head h1,.bultos-head h1,.bl-hero h1{
  margin:0!important;
  font-size:clamp(31px,3.1vw,44px)!important;
  line-height:1.06!important;
  letter-spacing:-.04em!important;
  font-weight:745!important;
  color:#152019!important;
}
.page-head p,.product-head p,.wo-head p,.gp-head p,.pt-head p,.bultos-head p,.bl-hero p{
  max-width:830px!important;
  margin:9px 0 0!important;
  font-size:14px!important;
  line-height:1.6!important;
  color:#66736b!important;
}
.back,.category-back{
  width:max-content!important;
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0 0 18px!important;
  padding:0 9px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#657269!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:680!important;
  box-shadow:none!important;
}
.back:hover,.category-back:hover{background:#edf1ed!important;color:#33453a!important}

/* ------------------------------------------------------------------
   Inicio v4
   ------------------------------------------------------------------ */
.portal-home{max-width:1380px;margin:0 auto}
.portal-welcome{
  position:relative;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:30px!important;
  padding:18px 0 34px!important;
  border-bottom:1px solid var(--bl-border);
}
.portal-welcome:before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:46px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--bl-green) 0 55%,var(--bl-yellow) 55% 82%,var(--bl-red) 82%);
}
.portal-welcome .eyebrow{margin-top:18px!important}
.portal-welcome h1{
  max-width:820px!important;
  margin:0!important;
  font-size:clamp(38px,4.4vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.052em!important;
  font-weight:735!important;
  color:#132018!important;
}
.portal-welcome p{max-width:690px!important;margin-top:14px!important;font-size:15px!important;color:#66736b!important}
.welcome-badge{
  min-width:220px;
  padding:14px 16px!important;
  border:1px solid var(--bl-border)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:var(--bl-shadow-sm)!important;
}
.welcome-badge>span{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:var(--bl-yellow-soft)!important;
  color:#8b7400!important;
}
.welcome-badge strong{font-size:12px!important}.welcome-badge small{font-size:9.5px!important}
.category-home{padding-top:30px!important}
.category-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}
.category-heading h2{margin:0!important;font-size:22px!important;line-height:1.2!important;letter-spacing:-.025em!important;font-weight:730!important}
.category-heading p{max-width:720px;margin:0!important;text-align:right;font-size:12px!important;line-height:1.5!important;color:#738078!important}
.category-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:18px!important;
}
.category-card{
  position:relative;
  min-height:232px!important;
  padding:18px 17px 15px!important;
  align-items:flex-start!important;
  text-align:left!important;
  border:1px solid var(--bl-border)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--bl-shadow-xs)!important;
  overflow:hidden;
}
.category-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--card-accent,var(--bl-green));
  opacity:.72;
}
.category-card:hover{transform:translateY(-2px)!important;border-color:var(--bl-border-strong)!important;box-shadow:var(--bl-shadow-md)!important}
.category-card--gold{--card-accent:#cfa900;--card-icon-bg:#fff8d8;--card-icon-fg:#8d7400}
.category-card--sage{--card-accent:#5f9f51;--card-icon-bg:#eff7ec;--card-icon-fg:#3e7f31}
.category-card--blue{--card-accent:#4b79a8;--card-icon-bg:#eef4fa;--card-icon-fg:#3e6b95}
.category-card--peach{--card-accent:#c77b56;--card-icon-bg:#fff2ec;--card-icon-fg:#a95f3d}
.category-card--mint{--card-accent:#408672;--card-icon-bg:#ebf6f2;--card-icon-fg:#33705f}
.category-card .category-icon{
  width:44px!important;
  height:44px!important;
  margin:0 0 20px!important;
  border-radius:13px!important;
  background:var(--card-icon-bg)!important;
  color:var(--card-icon-fg)!important;
}
.category-icon svg{width:22px!important;height:22px!important;stroke-width:1.75!important}
.category-card>strong{
  max-width:none!important;
  font-size:16px!important;
  line-height:1.24!important;
  letter-spacing:-.02em!important;
  font-weight:720!important;
}
.category-card>small{
  max-width:none!important;
  margin:8px 0 18px!important;
  font-size:11px!important;
  line-height:1.48!important;
  color:#748078!important;
}
.category-action{
  width:auto!important;
  margin-top:auto!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#45564b!important;
  font-size:10.5px!important;
  font-weight:740!important;
  justify-content:flex-start!important;
}
.category-action b{margin-left:3px;font-size:13px!important;color:var(--card-accent,var(--bl-green))}
.role-note{
  margin-top:24px!important;
  padding:13px 15px!important;
  border:1px solid var(--bl-border)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:none!important;
}
.role-note-icon{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:9px!important;background:var(--bl-green-soft)!important;color:var(--bl-green-deep)!important}
.role-note strong{font-size:11px!important}.role-note p{font-size:10.5px!important;margin-top:2px!important}
.category-detail-target{padding-top:4px!important}
.category-detail-head{margin-bottom:19px!important}
.category-detail-head h2{margin:0!important;font-size:clamp(30px,3vw,40px)!important;letter-spacing:-.04em!important;line-height:1.08!important;font-weight:735!important}
.category-detail-head p{max-width:800px!important;margin:8px 0 0!important;font-size:13px!important;color:#69766e!important}

/* ------------------------------------------------------------------
   Tarjetas de módulos / operaciones
   ------------------------------------------------------------------ */
.module-grid-v2,.category-tools,.ops-grid,.gp-tools{gap:12px!important}
.module-grid-v2 .module-card,.category-tools .module-card,.ops-card,.gp-card{
  position:relative;
  min-height:176px!important;
  padding:18px!important;
  border:1px solid var(--bl-border)!important;
  border-radius:16px!important;
  background:var(--bl-surface)!important;
  box-shadow:var(--bl-shadow-xs)!important;
  overflow:hidden;
}
.module-grid-v2 .module-card:hover,.category-tools .module-card:hover,.ops-card:hover,.gp-card:hover{
  transform:translateY(-1px)!important;
  border-color:var(--bl-border-strong)!important;
  box-shadow:var(--bl-shadow-sm)!important;
}
.module-grid-v2 .module-card.restricted,.category-tools .module-card.restricted{
  background:#f7f8f7!important;
  box-shadow:none!important;
  opacity:.82;
}
.module-grid-v2 .module-icon,.category-tools .module-icon{
  width:40px!important;
  height:40px!important;
  border-radius:12px!important;
  background:#f0f4f1!important;
  color:#466253!important;
}
.module-grid-v2 .module-icon svg,.category-tools .module-icon svg{width:20px!important;height:20px!important;stroke-width:1.75!important}
.module-card--products .module-icon{background:#fff7d9!important;color:#947900!important}
.module-card--web_orders .module-icon{background:#f1eff8!important;color:#655b86!important}
.module-card--my_blessed .module-icon{background:#fff1eb!important;color:#a96142!important}
.module-card--training .module-icon{background:#eef4fa!important;color:#426f9a!important}
.module-card--procedures .module-icon{background:#edf6f3!important;color:#327060!important}
.module-card--help .module-icon{background:#eff6ed!important;color:#4f7d43!important}
.module-card--documents .module-icon{background:#f0f3f5!important;color:#536a79!important}
.module-card--replenishment .module-icon{background:#eef4fa!important;color:#426e9a!important}
.module-card--labels .module-icon{background:#fff3e9!important;color:#aa6739!important}
.module-card--price_tags .module-icon{background:#fff8db!important;color:#8d7600!important}
.module-card--operations .module-icon{background:#f1eff8!important;color:#625a82!important}
.module-card--leadership_log .module-icon{background:#f0f2f8!important;color:#53658f!important}
.module-card--administration .module-icon{background:#edf6f1!important;color:#386d58!important}
.module-card--suppliers .module-icon{background:#f8f2e9!important;color:#806846!important}
.module-card--infrastructure .module-icon{background:#f0f2f3!important;color:#5b6870!important}
.module-card--admin .module-icon{background:#eef1ef!important;color:#4a5c51!important}
.module-grid-v2 .module-card h3,.category-tools .module-card h3,.ops-card h2,.gp-card h3{
  margin:16px 0 6px!important;
  font-size:15px!important;
  line-height:1.3!important;
  letter-spacing:-.018em!important;
  font-weight:710!important;
}
.module-grid-v2 .module-card p,.category-tools .module-card p,.ops-card p,.gp-card p{
  margin:0!important;
  font-size:11.5px!important;
  line-height:1.52!important;
  color:#6d7971!important;
}
.module-grid-v2 .module-footer,.category-tools .module-footer{
  margin-top:auto!important;
  padding-top:16px!important;
  font-size:10.5px!important;
  font-weight:740!important;
  color:#45584c!important;
}
.access-tag,.gp-tag,.ops-kicker{
  min-height:22px;
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  padding:0 8px!important;
  font-size:8.5px!important;
  font-weight:820!important;
  letter-spacing:.06em!important;
  background:#f0f3f1!important;
  color:#68756d!important;
}
.gp-tag.active,.ops-kicker{background:var(--bl-green-soft)!important;color:var(--bl-green-deep)!important}
.ops-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.ops-card{display:flex!important;flex-direction:column!important;text-decoration:none!important;color:inherit!important}
.ops-card strong{margin-top:auto;padding-top:17px;font-size:10.5px!important;color:#53645a!important}
.ops-card.muted-card{background:#f7f8f7!important;box-shadow:none!important}

/* ------------------------------------------------------------------
   Superficies, métricas, formularios, tablas
   ------------------------------------------------------------------ */
.panel,.wo-panel,.gp-panel,.pt-panel,.bultos-panel,.dispatch-group,.bl-section,.product-shell,
.label-catalog-v107,.label-print-panel-v107,.label-presentation-card-v1011{
  border:1px solid var(--bl-border)!important;
  border-radius:18px!important;
  background:var(--bl-surface)!important;
  box-shadow:var(--bl-shadow-xs)!important;
}
.panel,.wo-panel,.gp-panel,.pt-panel,.bultos-panel,.bl-section{padding:20px!important}
.panel-head,.section-title,.section-head-bultos,.bl-section-head{gap:16px!important}
.panel h2,.wo-panel h2,.gp-panel h2,.pt-panel h2,.bultos-panel h2,.bl-section h2{
  margin-top:0!important;
  font-size:18px!important;
  line-height:1.28!important;
  letter-spacing:-.022em!important;
  font-weight:715!important;
}
.panel h3{font-size:14px!important}
.panel p,.panel .muted{font-size:12px!important;line-height:1.58!important}

.mini-stats,.stats,.admin-stat-grid,.wo-summary,.bultos-summary,.gp-stats,.pt-stats,.bl-stats{
  gap:10px!important;
}
.mini-stats>div,.stats>div,.admin-stat-grid>article,.wo-stat,.bultos-stat,.gp-stats article,.pt-stat,.bl-stat{
  min-height:94px;
  padding:15px!important;
  border:1px solid var(--bl-border)!important;
  border-radius:14px!important;
  background:var(--bl-surface)!important;
  box-shadow:var(--bl-shadow-xs)!important;
}
.mini-stats strong,.stats strong,.admin-stat-grid strong,.wo-stat strong,.bultos-stat strong,.gp-stats strong,.pt-stat strong,.bl-stat strong{
  font-size:24px!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  font-weight:730!important;
}
.mini-stats span,.stats span,.admin-stat-grid span,.wo-stat span,.bultos-stat span,.gp-stats span,.pt-stat span,.bl-stat span{
  margin-top:6px!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  color:#748078!important;
}
.admin-stat-grid article.danger,.wo-stat.payment,.bl-stat.alert{background:#fffaf4!important;border-color:#eedfc9!important}

label{font-size:11.5px!important;font-weight:690!important;color:#46554b!important}
input,textarea,select{
  min-height:42px!important;
  padding:9px 11px!important;
  border:1px solid #d6ded8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#27332b!important;
  font-family:var(--bl-font)!important;
  font-size:13px!important;
  line-height:1.35!important;
  box-shadow:none!important;
}
textarea{min-height:84px!important}
input::placeholder,textarea::placeholder{color:#98a29c!important}
input:hover,textarea:hover,select:hover{border-color:#c4d0c7!important}
input:focus,textarea:focus,select:focus{outline:none!important;border-color:#82ae78!important;box-shadow:var(--bl-focus)!important}

button,.button,.small-btn,.secondary-btn{
  min-height:40px!important;
  border-radius:10px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px;
  font-family:var(--bl-font)!important;
  font-size:11.5px!important;
  font-weight:735!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
button:not(.secondary-btn):not(.danger),.button:not(.secondary):not(.danger),.small-btn:not(.secondary-btn){
  border:1px solid var(--bl-green)!important;
  background:var(--bl-green)!important;
  color:#fff!important;
}
button:not(.secondary-btn):not(.danger):hover,.button:not(.secondary):not(.danger):hover,.small-btn:not(.secondary-btn):hover{
  border-color:var(--bl-green-deep)!important;
  background:var(--bl-green-deep)!important;
  transform:translateY(-1px);
}
.button.secondary,.secondary-btn,.small-link{
  border:1px solid var(--bl-border-strong)!important;
  background:#fff!important;
  color:#46564c!important;
}
.button.secondary:hover,.secondary-btn:hover,.small-link:hover{background:#f3f6f3!important;border-color:#bfcbbf!important}
.button.danger,button.danger{border-color:#efc9cc!important;background:#fff!important;color:#a43a42!important}

.table-wrap,.bultos-table-wrap{border-radius:13px;overflow:auto}
table{width:100%;font-size:12px!important}
th{
  padding:10px 11px!important;
  background:#f6f8f6!important;
  color:#68766d!important;
  font-size:9.5px!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  border-color:var(--bl-border)!important;
}
td{padding:11px!important;color:#3f4d44!important;border-color:#e7ebe8!important}
tbody tr:hover{background:#fafcfa}

.product-row,.user-row,.wo-row,.gp-row,.admin-doc-row:not(.header),.admin-email-item,.bl-entry,.bl-person,.pt-task,.pt-batch-row{
  border-color:var(--bl-border)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.product-row:hover,.wo-row:hover,.admin-email-item:hover,.bl-entry:hover,.bl-person:hover{border-color:var(--bl-border-strong)!important;background:#fcfdfc!important;box-shadow:var(--bl-shadow-xs)!important}
.status,.integration,.admin-status,.wo-status,.wo-live,.branch-badge,.dispatch-chip,.bl-pill,.pt-tag{
  border-radius:999px!important;
  font-size:9.5px!important;
  font-weight:780!important;
  letter-spacing:.015em!important;
}

.flash-stack{max-width:760px;margin:0 0 18px}
.flash{
  padding:11px 13px!important;
  border-radius:11px!important;
  border:1px solid var(--bl-border)!important;
  background:#fff!important;
  color:#46544b!important;
  font-size:11.5px!important;
  box-shadow:var(--bl-shadow-sm)!important;
}
.flash.success{border-color:#cfe4ca!important;background:#f3faf1!important;color:#32652b!important}
.flash.error{border-color:#efced1!important;background:#fff5f5!important;color:#8f333a!important}

.empty,.empty-state,.wo-empty,.bl-empty,.pt-empty,.empty-state-bultos{
  color:#7c8981!important;
  font-size:12px!important;
}
.warning-note,.wo-help,.gp-note,.bultos-note,.pt-note,.weekly-banner,.purchase-workspace-intro{
  border-radius:12px!important;
  font-size:11.5px!important;
}

/* ------------------------------------------------------------------
   Pantallas específicas: unificación sin alterar su estructura
   ------------------------------------------------------------------ */
.wo-panel,.bultos-panel,.pt-panel,.gp-panel{margin-bottom:12px!important}
.wo-summary,.bultos-summary,.gp-stats,.pt-stats,.bl-stats{margin-bottom:14px!important}
.wo-row{padding:13px 15px!important;border-radius:13px!important}
.wo-order{font-size:14px!important}
.wo-cell small,.wo-external{font-size:9.5px!important}.wo-cell strong{font-size:11.5px!important}
.gp-tools{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.gp-stats article,.gp-card,.gp-panel{border-color:var(--bl-border)!important}
.gp-row{padding:12px 13px!important}.gp-row small{font-size:9.5px!important}.gp-row strong,.gp-row span{font-size:11px!important}
.bultos-layout{gap:12px!important}.bultos-form-grid{gap:11px!important}
.dispatch-group{overflow:hidden!important}.dispatch-group-head{background:#f8faf8!important;border-color:var(--bl-border)!important}
.pt-panel{padding:18px!important}.pt-product,.pt-task,.pt-batch-row{border-color:var(--bl-border)!important}
.bl-section{padding:18px!important}.bl-stat{padding:14px!important}.bl-entry{padding:12px 13px!important}
.admin-docs-layout{gap:12px!important}.admin-doc-row.header{background:#f5f7f5!important;border-color:var(--bl-border)!important}.admin-doc-row{font-size:11px!important}
.admin-email-item{padding:12px!important}

/* Acción peligrosa nunca se pinta como primaria por la capa global */
button[data-action="danger"],.button[data-action="danger"],button.danger,.button.danger{
  border-color:#efc9cc!important;
  background:#fff!important;
  color:#a43740!important;
}

/* Accesibilidad */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(39,143,22,.2)!important;outline-offset:2px!important}
::selection{background:#d8efd3;color:#173d1d}

/* ------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------ */
@media(max-width:1180px){
  .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ops-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .app-topbar-row,.portal-nav{padding-left:20px;padding-right:20px}
  main{padding-left:22px!important;padding-right:22px!important}
}

@media(max-width:900px){
  .category-heading{display:block}.category-heading p{margin-top:6px!important;text-align:left}
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ops-grid,.gp-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .user-copy{display:none}
  .app-topbar .role{display:none}
  .app-topbar-row{min-height:62px}
}

@media(max-width:700px){
  body{font-size:14px!important;background:var(--bl-bg)!important}
  .app-topbar-row{padding:0 13px;min-height:58px;gap:10px}
  .brand-mark{width:34px;height:34px;flex-basis:34px;border-radius:10px;font-size:15px}
  .brand-copy strong{font-size:13px!important}.brand-copy span{font-size:8px!important}
  .user-identity{display:none}
  .app-topbar .security-link,.app-topbar .logout-link{min-height:34px;padding:0 9px!important;font-size:10px!important}
  .portal-nav{padding:0 12px 7px;gap:3px}
  .portal-nav a{min-height:31px;padding:0 9px;font-size:10px}
  .portal-nav-separator{display:none}
  main{padding:22px 13px 58px!important}
  .portal-welcome{grid-template-columns:1fr!important;padding:13px 0 24px!important}
  .portal-welcome:before{width:38px;height:3px}
  .portal-welcome .eyebrow{margin-top:14px!important}
  .portal-welcome h1{font-size:36px!important;line-height:1.04!important}
  .portal-welcome p{font-size:13px!important}
  .welcome-badge{display:none!important}
  .category-home{padding-top:22px!important}
  .category-heading h2{font-size:19px!important}.category-heading p{font-size:11px!important}
  .category-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .category-card{min-height:190px!important;padding:14px 13px 12px!important;border-radius:15px!important}
  .category-card .category-icon{width:38px!important;height:38px!important;margin-bottom:15px!important;border-radius:11px!important}
  .category-icon svg{width:19px!important;height:19px!important}
  .category-card>strong{font-size:14px!important}.category-card>small{font-size:9.5px!important;margin:7px 0 12px!important}.category-action{font-size:9.5px!important}
  .category-detail-head h2{font-size:29px!important}.category-detail-head p{font-size:11.5px!important}
  .module-grid-v2 .module-card,.category-tools .module-card,.ops-card,.gp-card{min-height:158px!important;padding:15px!important}
  .module-grid-v2 .module-icon,.category-tools .module-icon{width:36px!important;height:36px!important}
  .module-grid-v2 .module-card h3,.category-tools .module-card h3,.ops-card h2,.gp-card h3{font-size:13.5px!important;margin-top:13px!important}
  .module-grid-v2 .module-card p,.category-tools .module-card p,.ops-card p,.gp-card p{font-size:10.5px!important}
  .ops-grid,.gp-tools{grid-template-columns:1fr!important}
  .panel,.wo-panel,.gp-panel,.pt-panel,.bultos-panel,.bl-section{padding:15px!important;border-radius:15px!important}
  .page-head h1,.product-head h1,.wo-head h1,.gp-head h1,.pt-head h1,.bultos-head h1,.bl-hero h1{font-size:29px!important}
  .page-head p,.product-head p,.wo-head p,.gp-head p,.pt-head p,.bultos-head p,.bl-hero p{font-size:12px!important}
  .admin-stat-grid,.wo-summary,.bultos-summary,.gp-stats,.pt-stats,.bl-stats{grid-template-columns:1fr 1fr!important}
  input,textarea,select{font-size:16px!important}
  button,.button,.small-btn,.secondary-btn{min-height:42px!important}
}

@media(max-width:430px){
  .category-grid{grid-template-columns:1fr!important}
  .category-card{min-height:160px!important}
  .category-card>small{max-width:320px!important}
  .admin-stat-grid,.wo-summary,.bultos-summary,.gp-stats,.pt-stats,.bl-stats{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}
