/* BEQUALITY — langage visuel commun à toute l'application */
:root{
  --be-ink:#15343e;
  --be-muted:#58727b;
  --be-bg:#ecf5fc;
  --be-primary:#1294aa;
  --be-primary-strong:#0e7d8f;
  --be-line:rgba(255,255,255,.82);
  --be-line-soft:rgba(173,205,218,.62);
  --be-glass:rgba(255,255,255,.62);
  --be-glass-strong:rgba(255,255,255,.82);
  --be-shadow:0 14px 34px rgba(14,56,68,.11),inset 0 1px 0 rgba(255,255,255,.88);
  --be-radius-xl:24px;
  --be-radius-lg:18px;
  --be-radius-md:13px;
}

html{background:var(--be-bg)}
body{
  color:var(--be-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body:not(.home-view){background:var(--be-bg)}
body:not(.home-view)::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 5% -12%,rgba(18,148,170,.30) 0,rgba(18,148,170,.12) 30%,transparent 59%),
    radial-gradient(circle at 96% 3%,rgba(67,197,219,.22) 0,rgba(67,197,219,.08) 27%,transparent 56%),
    linear-gradient(125deg,#ecf5fc 0%,#dceff7 48%,#ecf5fc 100%);
  background-size:145% 145%,150% 150%,180% 180%;
  animation:be-app-gradient 16s ease-in-out infinite alternate;
}
body[data-zone-theme]{
  background:var(--zone-interface-bg)!important;
}
body[data-zone-theme]::before{
  display:none!important;
}
body.home-view,
body:not(.home-view):not([data-zone-theme]){
  min-height:100vh;
  background:
    radial-gradient(circle at 5% -12%,rgba(18,148,170,.30) 0,rgba(18,148,170,.12) 30%,transparent 59%),
    radial-gradient(circle at 96% 3%,rgba(67,197,219,.22) 0,rgba(67,197,219,.08) 27%,transparent 56%),
    linear-gradient(125deg,#ecf5fc 0%,#dceff7 48%,#ecf5fc 100%)!important;
  background-size:145% 145%,150% 150%,180% 180%!important;
  background-attachment:fixed,fixed,fixed!important;
  background-repeat:no-repeat!important;
  animation:be-app-gradient 16s ease-in-out infinite alternate;
}
body.home-view::before,
body:not(.home-view):not([data-zone-theme])::before{
  display:none!important;
}
@keyframes be-app-gradient{
  0%{background-position:0% 0%,100% 0%,50% 0%}
  50%{background-position:12% 8%,88% 18%,50% 48%}
  100%{background-position:4% 18%,96% 4%,50% 100%}
}

body:not(.home-view) :is(.container,.wrap){
  position:relative;
  width:100%;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.home-view) .container.products-full{max-width:1440px!important}
body:not(.home-view) .container.products-full .appbar.appbar--section{
  width:100%!important;
  max-width:none!important;
}
body:not(.home-view) .container{padding-top:18px;padding-bottom:34px}
body:not(.home-view) .wrap{padding-top:18px;padding-bottom:34px}

body:not(.home-view) :is(.appbar,.topbar,.top){
  border:1px solid var(--be-line)!important;
  border-radius:22px!important;
  background:var(--be-glass)!important;
  color:var(--be-ink);
  box-shadow:var(--be-shadow)!important;
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
}
body:not(.home-view) .appbar{
  min-height:68px;
  padding:10px 14px!important;
  margin-bottom:18px!important;
}
body:not(.home-view) :is(.topbar,.top){padding:13px 16px!important}
body:not(.home-view) :is(.appbar,.topbar,.top) h1{
  color:var(--be-ink);
  font-family:"Space Grotesk","Avenir Next","Segoe UI",sans-serif;
  letter-spacing:-.02em;
}
body:not(.home-view) :is(.appbar-logo,.topbar img,.top .brand img){
  filter:none;
  object-fit:contain;
}
body:not(.home-view) .appbar-back{
  width:42px;height:42px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.88);
  background:rgba(255,255,255,.66);
  color:var(--be-ink);
  box-shadow:none;
}

/* Une seule composition de navigation : logo extérieur, commandes dans une surface dédiée. */
body:not(.home-view) .appbar.appbar--section,
.be-page-header{
  display:flex!important;
  min-height:0!important;
  margin-bottom:9px!important;
  align-items:center!important;
  gap:18px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.home-mode .appbar-logo,
.appbar--section>.appbar-logo,
.be-page-header-logo{
  width:168px!important;
  height:58px!important;
  flex:0 0 168px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  object-fit:contain!important;
  filter:none!important;
  box-shadow:none!important;
}
.appbar-home-surface,
.appbar-section-surface,
.be-page-header-surface{
  width:auto!important;
  min-width:0;
  min-height:58px!important;
  margin-left:auto!important;
  flex:0 1 760px!important;
  padding:8px 11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.52),rgba(224,248,250,.34))!important;
  color:#15343e!important;
  box-shadow:0 16px 38px rgba(14,56,68,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
}
/* Navigation identique sur l'accueil, les pages internes et les pages statiques. */
.appbar-user{
  max-width:180px;
  min-height:40px;
  padding:7px 11px;
  border:1px solid #bfd4de;
  border-radius:12px;
  background:#fff;
  color:#173943;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.appbar-nav{display:flex;gap:4px;flex:0 0 auto}
.appbar-nav a{padding:8px 12px;border-radius:10px;font-size:14px;font-weight:900;color:#173943}
.appbar-nav a:hover{background:rgba(255,255,255,.48);text-decoration:none}
.appbar-mobile-menu{display:none;position:relative;flex:0 0 auto}
.appbar-mobile-menu summary{
  width:40px;height:40px;border:1px solid rgba(255,255,255,.84);border-radius:12px;
  background:rgba(255,255,255,.46);color:#173943;
  display:grid;place-items:center;list-style:none;font-size:23px;font-weight:900;line-height:1;cursor:pointer;
}
.appbar-mobile-menu summary::-webkit-details-marker{display:none}
.appbar-mobile-menu[open] summary{background:#eaf5f8;border-color:#82bac7}
.appbar-mobile-menu nav{
  position:absolute;top:calc(100% + 8px);right:0;width:180px;padding:7px;
  border:1px solid #bfd4de;border-radius:12px;background:#fff;
  box-shadow:0 14px 34px rgba(8,36,44,.2);display:grid;gap:3px;
}
.appbar-mobile-menu nav a{padding:12px;border-radius:8px;color:#173943;font-size:14px;font-weight:900}
.appbar-mobile-menu nav a:hover{background:#eaf5f8;text-decoration:none}
.appbar-menu-spacer{min-width:0;flex:1 1 auto}
.appbar-section-heading{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
}
.appbar-section-heading h1{
  min-width:0;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:clamp(18px,2vw,25px);
  letter-spacing:-.025em;
}
.appbar-section-heading .pill{flex:0 0 auto}
.appbar--section .appbar-user{
  max-width:190px;
  border-color:rgba(255,255,255,.84);
  background:rgba(255,255,255,.46);
  color:#173943;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}
.appbar--section .appbar-nav{margin-left:4px}
.appbar--section .appbar-nav a{color:#173943;font-weight:900}
.appbar--section .appbar-nav a:hover{background:rgba(255,255,255,.48)}
.appbar--section .appbar-mobile-menu summary{
  border-color:rgba(255,255,255,.84);
  background:rgba(255,255,255,.46);
  color:#173943;
}
.appbar-context{
  min-width:0;
  margin:-9px 0 18px 186px;
  padding:0 5px;
  display:none;
  align-items:center;
  gap:11px;
}
.appbar-context h1{
  margin:0;
  min-width:0;
  flex:1 1 auto;
  font-size:clamp(21px,2.2vw,30px);
  letter-spacing:-.025em;
}
.appbar-context .pill{flex:0 0 auto}
.appbar-section-surface h1,
.be-page-header-surface h1{margin:0;min-width:0;flex:1 1 auto}
.be-page-header-copy{min-width:0;flex:1 1 auto}
.be-page-header-copy h1{margin:0}
.be-page-header{
  width:100%!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body> .be-page-header{width:calc(100% - 40px)!important}
.be-page-context{
  position:relative;
  width:100%;
  max-width:1440px;
  min-width:0;
  margin:-9px auto 18px;
  padding:0 5px 0 186px;
}
.be-page-context h1{margin:0;font-size:clamp(21px,2.2vw,30px);letter-spacing:-.025em}
.be-page-context .sub{margin-top:3px}
.be-page-context-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}
body> .be-page-context{width:calc(100% - 40px)}
body:not(.home-view)>:is(.tabs,.panel,.alert){
  width:calc(100% - 40px)!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.be-page-header-links,
.be-page-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.be-page-header-links a{padding:8px 11px;border-radius:10px;font-weight:900}
.be-page-header-links a:hover{background:rgba(255,255,255,.7);text-decoration:none}

body:not(.home-view) :is(section,.panel,.subsection,.hist,.filters,.card,.mini-panel,.create-card,.products-panel,.inventory-panel,.bethermo-panel){
  border-color:var(--be-line)!important;
  border-radius:var(--be-radius-lg)!important;
  background:var(--be-glass)!important;
  box-shadow:var(--be-shadow)!important;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
body:not(.home-view) :is(section,.panel,.subsection,.hist){padding:16px}
body:not(.home-view) :is(.subsection,.hist,section,.panel)+:is(.subsection,.hist,section,.panel){margin-top:16px}
body:not(.home-view) :is(h1,h2,h3,h4){
  color:var(--be-ink);
  font-family:"Space Grotesk","Avenir Next","Segoe UI",sans-serif;
}
body:not(.home-view) h2{letter-spacing:-.015em}
body:not(.home-view) :is(.muted,.small,.sub){color:var(--be-muted)}

body:not(.home-view) :is(input,select,textarea){
  border:1px solid rgba(167,197,209,.78)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.88)!important;
  color:var(--be-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
body:not(.home-view) :is(input,select,textarea):focus{
  outline:3px solid rgba(18,148,170,.18)!important;
  outline-offset:1px;
  border-color:var(--be-primary)!important;
}
body:not(.home-view) :is(.btn,button.btn){
  border-radius:12px!important;
  background:var(--be-primary)!important;
  border-color:var(--be-primary-strong)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body:not(.home-view) :is(.btn,button.btn):hover{
  background:var(--be-primary-strong)!important;
  transform:translateY(-1px);
}
body:not(.home-view) :is(.btn.secondary,.btn.ghost){
  background:rgba(255,255,255,.78)!important;
  border-color:rgba(167,197,209,.82)!important;
  color:#15505d!important;
}
body:not(.home-view) :is(.btn.danger,.btn.photo,.logout-btn){
  background:#d94d3e!important;
  border-color:#c84639!important;
  color:#fff!important;
}

body:not(.home-view) :is(.toolbar,.tabs,.product-filter-toolbar,.bethermo-toolbar){
  border:1px solid var(--be-line)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.52)!important;
  box-shadow:0 8px 22px rgba(14,56,68,.07)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
body:not(.home-view) .tabs{padding:7px!important}
body:not(.home-view) .tab{
  border-radius:11px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:#375760!important;
  box-shadow:none!important;
}
body:not(.home-view) .tab.active{
  border-color:rgba(255,255,255,.9)!important;
  background:rgba(255,255,255,.88)!important;
  color:#123b46!important;
}

body:not(.home-view) table{
  border:1px solid rgba(178,204,214,.72)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:none!important;
  overflow:hidden;
}
body:not(.home-view) th{
  background:rgba(226,241,247,.86)!important;
  color:#3d5963!important;
}
body:not(.home-view) td{background:rgba(255,255,255,.46)}
body:not(.home-view) :is(.pill,.badge,.panel-kpi,.system-section-chip,.site-period){
  border-color:rgba(165,196,208,.72)!important;
  background:rgba(238,248,251,.82)!important;
  color:#365762;
}
body:not(.home-view) :is(.empty-state,.zone-note,.language-panel,.product-filter-toolbar){
  border-color:rgba(171,202,214,.72)!important;
  background:rgba(255,255,255,.54)!important;
}
body:not(.home-view) img.thumb{border-radius:13px!important}

body:not(.home-view) :is(.metric,.status-card,.site-kpis>div,.printer-kpi,.ops-card,.watch-row,.account-section,.user-table tr,.product-table tr,.bethermo-card){
  border-color:rgba(181,207,217,.72)!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:none!important;
  border-radius:15px!important;
}
body:not(.home-view) .login{
  background:
    radial-gradient(circle at 18% 12%,rgba(190,217,228,.8),transparent 42%),
    radial-gradient(circle at 82% 80%,rgba(198,228,190,.62),transparent 44%),
    #ecf5fc!important;
}
body:not(.home-view) .login .card{
  background:rgba(255,255,255,.8)!important;
  border-radius:26px!important;
}

.home-overdue-alert{
  border-color:#d94d3e!important;
  animation:be-home-alert 1.05s ease-in-out infinite!important;
}
.home-card--system.home-overdue-alert{
  background:#fff1ef!important;
  color:#3f241f!important;
}
.home-card--system.home-overdue-alert .home-card-title{
  color:#3f241f!important;
  text-shadow:none!important;
}
.home-overdue-badge{
  position:absolute;top:10px;right:10px;z-index:8;
  min-width:28px;height:28px;padding:0 8px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #8f251c;background:#d94d3e;color:#fff;
  font-size:11px;font-weight:950;line-height:1;
}
@keyframes be-home-alert{
  0%,100%{box-shadow:0 0 0 0 rgba(217,77,62,0)}
  50%{box-shadow:0 0 0 5px rgba(217,77,62,.28)}
}

/* Les alertes métier gardent toujours la priorité sur le nouveau thème. */
@keyframes be-overdue-outline{
  0%,44%{opacity:1}
  45%,100%{opacity:0}
}
@keyframes be-module-alert{
  0%,100%{border-color:#e34b36;background:#fff1ef;box-shadow:0 0 0 0 rgba(227,75,54,0)}
  50%{border-color:#7f190f;background:#ffd9d4;box-shadow:0 0 0 5px rgba(227,75,54,.28)}
}
.blink{animation:blink 1s step-start infinite!important}
.task-card.task-overdue,
.task-card.red.blink,
.card.red{
  border-color:#df5a45!important;
  background:#fff1f1!important;
}
.task-card.task-overdue,
.task-card.red.blink{
  position:relative!important;
  isolation:isolate;
  overflow:visible!important;
  animation:none!important;
}
.task-card.task-overdue::after,
.task-card.red.blink::after{
  content:"";
  position:absolute;
  inset:-5px;
  z-index:8;
  pointer-events:none;
  border:4px solid #f23824;
  border-radius:22px;
  box-shadow:0 0 0 2px rgba(255,255,255,.82),0 0 18px rgba(242,56,36,.62);
  opacity:1;
  animation:be-overdue-outline .9s steps(1,end) infinite!important;
}
.module-stale,.stale-alert{
  border-color:#e34b36!important;
  background:#fff1ef!important;
}
.module-stale{animation:be-module-alert 1.15s ease-in-out infinite!important}
.stale-summary,.module-stale-note{
  border-color:#e34b36!important;
  background:#fff6f4!important;
  color:#ac2d1f!important;
}
.printer-state.error,.printer-result.error,.alert.err{color:#c53f2d!important}

@media(max-width:760px){
  body:not(.home-view) :is(.container,.wrap){padding:10px 10px 28px}
  .appbar.appbar--section,.be-page-header{gap:9px!important}
  .home-mode .appbar-logo,.appbar--section>.appbar-logo,.be-page-header-logo{
    width:126px!important;height:50px!important;flex-basis:126px!important
  }
  .appbar-home-surface,.appbar-section-surface,.be-page-header-surface{min-height:50px!important;padding:5px 7px!important;border-radius:16px!important;gap:6px!important}
  .appbar-section-heading{display:none}
  .appbar-context{display:flex;margin:-7px 0 16px 135px;padding:0 2px;gap:8px}
  .be-page-context{margin:-7px auto 16px;padding-left:135px}
  .appbar-context h1{font-size:21px}
  .be-page-header-links{display:none}
  .appbar-user{max-width:92px;padding:7px 9px;font-size:12px}
  .appbar-nav{display:none}
  .appbar-mobile-menu{display:block}
  body:not(.home-view) :is(.appbar,.topbar,.top){border-radius:18px!important}
  body:not(.home-view) :is(section,.panel,.subsection,.hist,.card){border-radius:16px!important}
  body:not(.home-view) .appbar{align-items:center;gap:8px}
}
@media(prefers-reduced-motion:reduce){
  body.home-view,body:not(.home-view):not([data-zone-theme]){animation:none!important}
}

@media(max-width:560px){
  .appbar-context{margin-left:0}
  .be-page-context{padding-left:0}
}
@media(max-width:390px){
  .home-mode .appbar-logo,.appbar--section>.appbar-logo{
    width:108px!important;height:44px!important;flex-basis:108px!important
  }
}

/* Fonds continus : aucune coupure, superposition ou seconde teinte. */
html{background:#ecf5fc!important}
body.home-view,
body:not(.home-view):not([data-zone-theme]){
  min-height:100vh;
  background:#ecf5fc!important;
  background-image:none!important;
  background-attachment:initial!important;
  animation:none!important;
}
body.home-view::before,
body:not(.home-view)::before{
  display:none!important;
  content:none!important;
}
body[data-zone-theme]{
  height:auto!important;
  min-height:100vh!important;
  background:var(--zone-interface-bg)!important;
  background-image:none!important;
}

/* Modules métier en retard : même halo rouge pulsé que les tuiles de zone. */
body:not(.home-view) .subsection.module-stale{
  position:relative!important;
  isolation:isolate;
  overflow:visible!important;
  border-color:#d94d3e!important;
  background:rgba(255,242,240,.78)!important;
  animation:none!important;
}
body:not(.home-view) .subsection.module-stale::after{
  display:block!important;
  content:"";
  position:absolute;
  inset:-3px;
  z-index:8;
  pointer-events:none;
  border:2px solid #d94d3e;
  border-radius:inherit;
  animation:be-home-alert 1.05s ease-in-out infinite!important;
}

/* Retards : même alerte visuelle que les tuiles de zone de l'accueil. */
.task-card.task-overdue,
.task-card.red.blink{
  position:relative!important;
  isolation:isolate;
  overflow:visible!important;
  outline:0!important;
  animation:none!important;
}
.task-card.task-overdue::after,
.task-card.red.blink::after{
  display:block!important;
  content:"";
  position:absolute;
  inset:-3px;
  z-index:8;
  pointer-events:none;
  border:2px solid #d94d3e;
  border-radius:inherit;
  animation:be-home-alert 1.05s ease-in-out infinite!important;
}

/* Priorités des tâches : les couleurs métier passent après le thème global. */
body:not(.home-view) .task-card{
  border-left-width:5px!important;
}
body:not(.home-view) .task-card.task-slot:not(.task-overdue){
  border-color:#e29a22!important;
  background:#fff8e8!important;
}
body:not(.home-view) .task-card.task-day:not(.task-overdue){
  border-color:#1595a7!important;
  background:#f0fbfd!important;
}
body:not(.home-view) .task-card.task-week:not(.task-overdue){
  border-color:#7659b5!important;
  background:#f7f3ff!important;
}
body:not(.home-view) .task-card.task-overdue{
  border-color:#df5a45!important;
  background:#fff1f1!important;
}
body:not(.home-view) .task-due-pill.task-slot{
  border-color:#d58a12!important;
  color:#704600!important;
  background:#fff1c9!important;
}
body:not(.home-view) .task-due-pill.task-day{
  border-color:#13889a!important;
  color:#075765!important;
  background:#dcf6fa!important;
}
body:not(.home-view) .task-due-pill.task-week{
  border-color:#7659b5!important;
  color:#4c337e!important;
  background:#ece4ff!important;
}
body:not(.home-view) .task-due-pill.task-overdue{
  border-color:#df5a45!important;
  color:#b93427!important;
  background:#fff!important;
}

.configuration-empty{
  width:100%;min-height:82px;padding:13px 14px;border:1px dashed rgba(112,132,141,.62);border-radius:14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.5);color:#526970;font-weight:750
}
.configuration-empty-action{flex:0 0 auto;text-decoration:none!important;white-space:nowrap}

/* Vue synthétique non persistée : tous les contrôles regroupés par métier. */
body[data-zone-theme="all"]{
  --zone-interface-bg:#d5d9dc;
  --be-glass:rgba(247,249,250,.78);
  --be-glass-strong:rgba(255,255,255,.9);
  background:#d5d9dc!important;
}
.all-zones-loading,.all-zones-error{
  min-height:240px;padding:28px;border:1px solid rgba(255,255,255,.9);border-radius:22px;
  display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.7);box-shadow:var(--be-shadow)
}
.all-zones-dashboard{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.all-zones-dashboard>*{min-width:0}
.all-zones-hero>div,.all-zones-group>header>div{min-width:0}
.all-zones-group>header span,.all-zones-group>header>strong{flex-shrink:0}
.all-zones-hero{
  margin:0!important;padding:20px!important;display:flex;align-items:center;justify-content:space-between;gap:18px;
  border:1px solid rgba(255,255,255,.92)!important;background:linear-gradient(135deg,rgba(249,250,251,.9),rgba(226,231,234,.86))!important
}
.all-zones-kicker{display:block;margin-bottom:4px;color:#56636a;font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.all-zones-hero h1{margin:0;font-size:clamp(25px,3vw,38px);letter-spacing:-.045em}
.all-zones-hero p{margin:6px 0 0;color:#586970;font-weight:750}
.all-zones-kpis{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:8px;flex:0 1 480px}
.all-zones-kpis span{min-height:72px;padding:10px;border:1px solid rgba(169,181,187,.75);border-radius:14px;display:grid;align-content:center;background:rgba(255,255,255,.78);color:#53636a;font-size:11px;font-weight:900;text-align:center}
.all-zones-kpis strong{display:block;color:#172f38;font-size:24px;line-height:1}
.all-zones-kpis .is-overdue{border-color:#d94d3e;background:#fff0ed;color:#a23328}.all-zones-kpis .is-overdue strong{color:#a23328}
.all-zones-warning{padding:12px 15px;border:1px solid #d49b43;border-radius:13px;background:#fff7e8;color:#704b12;font-weight:800}
.all-zones-jump{position:static;padding:7px;border:1px solid rgba(255,255,255,.9);border-radius:15px;display:flex;gap:6px;overflow-x:auto;background:rgba(36,42,45,.9);box-shadow:0 10px 24px rgba(23,30,34,.18);backdrop-filter:blur(18px)}
.all-zones-jump a{min-height:38px;padding:9px 13px;border-radius:10px;display:inline-flex;align-items:center;color:#fff;font-size:12px;font-weight:900;white-space:nowrap}.all-zones-jump a:hover{background:rgba(255,255,255,.13);text-decoration:none}
.all-zones-group{scroll-margin-top:68px;margin:0!important;padding:16px!important;border-color:rgba(255,255,255,.94)!important;background:rgba(245,247,248,.82)!important}
.all-zones-group>header{margin-bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.all-zones-group>header>div{display:flex;align-items:center;gap:9px}.all-zones-group>header span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#23292c;color:#fff;font-size:10px;font-weight:950}.all-zones-group>header h2{margin:0;font-size:clamp(18px,2vw,24px)}.all-zones-group>header>strong{min-width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:#e1e6e8;color:#263b43;font-size:13px}
.all-zones-task-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.all-zones-task{min-width:0}.all-zones-card-top{min-height:31px;margin-bottom:5px;display:flex;align-items:center;justify-content:space-between;gap:8px}.all-zones-card-top .quick-validate{position:static;margin-left:auto}
.all-zones-source{min-height:29px;padding:5px 9px;border:1px solid #242a2d;border-radius:9px;background:#242a2d;color:#fff;font:inherit;font-size:10px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.all-zones-source:hover{background:#000}
.all-zones-table-wrap{min-width:0;max-width:100%;overflow-x:auto}.all-zones-table-wrap table{min-width:920px}
.all-zones-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.all-zones-module-card{min-width:0;padding:15px;border:1px solid rgba(173,185,191,.76);border-radius:16px;background:rgba(255,255,255,.76);box-shadow:0 8px 20px rgba(38,48,53,.07)}
.all-zones-module-head{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.all-zones-module-head h3{margin:0}.all-zones-module-card.module-stale{position:relative;border-color:#d94d3e;background:#fff1ef}
.all-zones-history-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.all-zones-history-title strong{min-width:0}

@media(max-width:980px){.all-zones-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.all-zones-module-grid{grid-template-columns:1fr}.all-zones-hero{align-items:flex-start;flex-direction:column}.all-zones-kpis{width:100%;flex-basis:auto}}
@media(max-width:620px){.all-zones-dashboard{gap:11px}.all-zones-hero{padding:14px!important}.all-zones-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.all-zones-kpis span{min-height:62px}.all-zones-task-grid{grid-template-columns:1fr!important}.all-zones-group{padding:12px!important}.all-zones-group>header>div{align-items:flex-start}.all-zones-module-card{padding:11px}.all-zones-module-card .process-fields{grid-template-columns:1fr}.all-zones-source{min-height:32px}}
@media(max-width:560px){.configuration-empty{align-items:stretch;flex-direction:column}.configuration-empty-action{width:100%;text-align:center}}

