/* KM Classificador v3.3.1.001.001 — Redesign de navegação e redistribuição por menus */
:root{
  --km-sidebar:236px;
  --km-mobile-nav:76px;
  --km-appbar:68px;
  --km-shell-bg:#eef3f7;
}
body.km-redesign{min-height:100vh;padding-left:var(--km-sidebar);background:radial-gradient(circle at 70% -10%,#fbfdff 0,#f3f6f9 38%,#edf2f6 100%)}
body.km-redesign.theme-dark{--km-shell-bg:#07131f;background:radial-gradient(circle at 65% -10%,#11283e 0,#091826 42%,#06111b 100%)}
body.km-redesign *{scroll-margin-top:92px}

/* Shell */
.km-sidebar{position:fixed;inset:0 auto 0 0;width:var(--km-sidebar);z-index:45;background:linear-gradient(180deg,#06192b 0%,#09223a 62%,#0b2d4a 100%);border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 42px rgba(5,20,34,.12);padding:max(22px,env(safe-area-inset-top)) 16px 18px;display:flex;flex-direction:column;color:#eef5fb}
.km-side-brand{display:flex;align-items:center;gap:11px;padding:0 8px 19px;border-bottom:1px solid rgba(255,255,255,.09)}
.km-side-brand img{width:44px;height:44px;object-fit:contain;border-radius:13px;background:rgba(255,255,255,.06);padding:5px}
.km-side-brand strong{display:block;font-size:14px;letter-spacing:-.01em}.km-side-brand span{display:block;color:#9fb4c7;font-size:10px;margin-top:2px}
.km-side-nav{display:grid;gap:7px;margin-top:20px}
.km-nav-btn{appearance:none;border:0;background:transparent;color:#afc0cf;border-radius:14px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;text-align:left;padding:10px 11px;cursor:pointer;font-weight:800;transition:.18s ease}
.km-nav-btn:hover{background:rgba(255,255,255,.065);color:#fff}.km-nav-btn.active{background:linear-gradient(135deg,rgba(218,159,88,.22),rgba(255,255,255,.07));color:#fff;box-shadow:inset 0 0 0 1px rgba(226,171,105,.18)}
.km-nav-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.055);color:#dbe8f2}.km-nav-btn.active .km-nav-icon{background:#d0954f;color:#071725}
.km-nav-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.km-nav-label{min-width:0}.km-nav-label small{display:block;color:#7891a7;font-weight:600;font-size:9px;margin-top:1px}.km-nav-btn.active .km-nav-label small{color:#d8e5ef}
.km-side-footer{margin-top:auto;padding:16px 8px 0;border-top:1px solid rgba(255,255,255,.08);font-size:10px;color:#8da3b7;line-height:1.5}.km-side-footer b{color:#d9e5ef}

.km-topbar{position:sticky;top:0;z-index:40;height:var(--km-appbar);display:flex;align-items:center;gap:12px;padding:10px clamp(16px,3vw,34px);background:rgba(247,250,252,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,49,75,.09)}
.theme-dark .km-topbar{background:rgba(7,19,31,.9);border-color:#203548}
.km-back{width:40px;height:40px;border-radius:12px;border:1px solid #d8e2e9;background:#fff;color:#29455a;display:grid;place-items:center;cursor:pointer;font-size:19px}.km-back[disabled]{opacity:.28;cursor:default}.theme-dark .km-back{background:#102333;border-color:#294257;color:#e4edf5}
.km-route-title{min-width:0}.km-route-title small{display:block;color:#8191a0;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.km-route-title strong{display:block;color:var(--navy);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-dark .km-route-title strong{color:#edf4f9}
.km-topbar-spacer{flex:1}.km-topbar .theme-toggle{position:static!important;transform:none!important;right:auto!important;top:auto!important}
.km-top-status{display:flex;align-items:center;gap:7px;border:1px solid #dce5eb;background:#fff;border-radius:999px;padding:7px 10px;color:#647788;font-size:10px;font-weight:800}.km-top-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#28a064;box-shadow:0 0 0 3px rgba(40,160,100,.12)}.km-top-status.offline:before{background:#c1842f}.theme-dark .km-top-status{background:#102232;border-color:#294157;color:#b8c8d5}

.km-bottom-nav{display:none}

/* Home cover: visible only on home and uses new transparent logo */
body.km-redesign header{display:none;margin:0;border-radius:0;box-shadow:none}
body.km-redesign.km-route-home header{display:block}
body.km-redesign header:after{display:none}
body.km-redesign .brand-hero{max-width:1240px}
body.km-redesign .version-chip{display:inline-flex;margin-left:8px;vertical-align:middle}
body.km-redesign .logo-stage{width:min(100%,470px);min-height:310px;padding:8px;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
body.km-redesign .logo-stage:before{display:none}
body.km-redesign .logo-stage img{width:min(100%,440px);max-height:320px;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,.25))}

/* Main/pages */
body.km-redesign main{max-width:1280px;margin:0 auto 42px;padding:24px clamp(16px,3vw,32px) 0;z-index:2}
body.km-redesign.km-route-home main{margin-top:-18px}
.km-global-notices{margin-bottom:12px}.km-page{display:none;animation:kmPageIn .18s ease}.km-page.active{display:block}@keyframes kmPageIn{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.km-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:3px 0 16px}.km-page-head h2{margin:0;color:var(--navy);font-size:clamp(22px,2.8vw,30px);letter-spacing:-.025em}.km-page-head p{margin:4px 0 0;color:var(--muted);font-size:13px;max-width:68ch}.theme-dark .km-page-head h2{color:#f1f6fa}
.km-page-head .km-page-badge{white-space:nowrap;border:1px solid #dbe4ea;background:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;color:#65788a}.theme-dark .km-page-head .km-page-badge{background:#102333;border-color:#294156;color:#c3d1dd}

.km-subnav{display:flex;gap:8px;overflow:auto;padding:3px 1px 12px;margin-bottom:5px;scrollbar-width:none}.km-subnav::-webkit-scrollbar{display:none}.km-subnav button{border:1px solid #d8e2e9;background:#fff;color:#526879;border-radius:12px;padding:9px 12px;white-space:nowrap;font-weight:850;cursor:pointer}.km-subnav button.active{background:var(--navy2);border-color:var(--navy2);color:#fff;box-shadow:0 8px 20px rgba(14,46,79,.13)}.theme-dark .km-subnav button{background:#102231;border-color:#294155;color:#c7d5e0}.theme-dark .km-subnav button.active{background:#d0954f;border-color:#d0954f;color:#101a22}
.km-subview{display:none}.km-subview.active{display:block}

/* Home */
.km-home-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:start}.km-home-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.km-home-action{border:1px solid #dce5eb;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:18px;padding:17px;text-align:left;cursor:pointer;min-height:118px;transition:.18s ease}.km-home-action:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(7,29,49,.08)}.km-home-action.primary{background:linear-gradient(145deg,#0b2a47,#113e65);border-color:#184f7d;color:#fff}.km-home-action .ico{width:38px;height:38px;border-radius:12px;background:#eef4f8;color:#234a66;display:grid;place-items:center;margin-bottom:12px}.km-home-action.primary .ico{background:rgba(255,255,255,.12);color:#fff}.km-home-action .ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.km-home-action strong{display:block;font-size:14px}.km-home-action span{display:block;font-size:11px;color:#738494;margin-top:3px;line-height:1.4}.km-home-action.primary span{color:#cedce8}.theme-dark .km-home-action{background:#0d1d2b;border-color:#243a4d}.theme-dark .km-home-action:not(.primary){color:#eaf1f6}.theme-dark .km-home-action:not(.primary) span{color:#9fb1bf}.theme-dark .km-home-action .ico{background:#173044;color:#d8e6f1}
.km-home-side{display:grid;gap:12px}.km-home-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}.km-home-kpi{border:1px solid #dce5eb;background:#fff;border-radius:16px;padding:14px}.km-home-kpi b{display:block;font-size:24px;color:var(--navy);letter-spacing:-.03em}.km-home-kpi span{display:block;color:#758696;font-size:10px;margin-top:2px}.theme-dark .km-home-kpi{background:#0d1d2b;border-color:#243a4d}.theme-dark .km-home-kpi b{color:#f2f6fa}
.km-home-note{border:1px solid #e5d4bd;background:linear-gradient(145deg,#fffaf3,#fff);border-radius:16px;padding:14px}.km-home-note strong{display:block;color:#79501f}.km-home-note p{margin:4px 0 0;color:#7d6b57;font-size:11px}.theme-dark .km-home-note{background:#251f17;border-color:#4e3b26}.theme-dark .km-home-note strong{color:#efcb99}.theme-dark .km-home-note p{color:#cdb797}

/* Redistributed content: remove nested shell styles that made pages look like pages-inside-pages */
.km-redesign #productionHub,.km-redesign #dataCenterCard{display:none!important}
.km-redesign .km-reservoir{display:none!important}
.km-redesign .km-subview>[data-ops-panel],.km-redesign .km-subview>.dc-panel{display:block!important}
.km-redesign .km-subview>[data-ops-panel].hidden,.km-redesign .km-subview>.dc-panel:not(.active){display:none!important}
.km-redesign .km-subview .rule-suite-panel{margin-top:0}
.km-redesign .km-subview .rule-suite-panel.active{display:block}
.km-redesign .km-subview .rule-suite-panel:not(.active){display:none}
.km-redesign .dc-panel{margin:0}.km-redesign .dc-panel.active{display:block}
.km-redesign .ops-panel{padding-top:0}
.km-redesign .ops-toolbar,.km-redesign .scopebar{border-radius:16px}
.km-redesign .rule-suite-head{margin-bottom:12px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fff}.theme-dark .km-redesign .rule-suite-head{background:#0d1d2b;border-color:#294158}
.km-redesign .account-admin{margin:0;padding-top:0;border-top:0}.km-redesign .account-admin>summary{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}.theme-dark .km-redesign .account-admin>summary{background:#0f2130;border-color:#294158}
.km-redesign .data-center{padding:0!important}.km-redesign .dc-body{padding:0}.km-redesign .dc-panel{padding:0}
.km-redesign #workspace{display:block}.km-redesign #workspace.hidden{display:none!important}
.km-redesign #workspace>.card{margin-bottom:14px}

/* Settings app info */
.km-app-info{display:grid;grid-template-columns:1fr 1fr;gap:12px}.km-app-info-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:17px}.km-app-info-card h3{margin:0 0 6px;color:var(--navy);font-size:15px}.km-app-info-card p{margin:0;color:var(--muted);font-size:11px}.km-app-info-card .version-big{font-size:24px;font-weight:900;color:#b5752e;letter-spacing:-.04em}.theme-dark .km-app-info-card{background:#0d1d2b;border-color:#294158}.theme-dark .km-app-info-card h3{color:#edf5fa}
.km-app-list{display:grid;gap:7px;margin-top:10px}.km-app-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:11px}.km-app-row b{color:var(--navy)}.theme-dark .km-app-row b{color:#e8f0f6}

/* Footer and update banner around mobile nav */
body.km-redesign .footer{padding-bottom:10px}
body.km-redesign .update-banner{left:calc(var(--km-sidebar) + 18px)}

/* Mobile */
@media(max-width:900px){
  :root{--km-sidebar:0px}
  body.km-redesign{padding-left:0;padding-bottom:calc(var(--km-mobile-nav) + env(safe-area-inset-bottom))}
  .km-sidebar{display:none}
  .km-topbar{height:auto;min-height:60px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;top:0}
  .km-top-status{display:none}
  .km-route-title small{display:none}.km-route-title strong{font-size:14px}
  .km-bottom-nav{position:fixed;z-index:50;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));height:64px;border:1px solid rgba(21,48,69,.16);border-radius:20px;background:rgba(248,251,253,.95);box-shadow:0 16px 45px rgba(5,22,37,.2);backdrop-filter:blur(18px);display:grid;grid-template-columns:repeat(5,1fr);padding:5px}
  .theme-dark .km-bottom-nav{background:rgba(9,24,37,.96);border-color:#294056}
  .km-mobile-btn{border:0;background:transparent;border-radius:14px;color:#718392;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:8px;font-weight:850;min-width:0}.km-mobile-btn.active{background:#eaf1f6;color:#113858}.theme-dark .km-mobile-btn.active{background:#173146;color:#efd3ab}.km-mobile-btn svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  body.km-redesign header{padding:24px 18px 24px}
  body.km-redesign .brand-hero{grid-template-columns:1fr;gap:8px}.brand-visual{order:-1}.brand-copy{gap:10px}.brand-copy h1{font-size:31px}.brand-copy p{font-size:14px}.brand-values{gap:7px}.brand-values span{padding:8px 10px;font-size:10px}.brand-kicker{font-size:9px;padding:6px 9px}.version-chip{font-size:9px!important}
  body.km-redesign .logo-stage{min-height:180px;width:100%;padding:0}.body.km-redesign .logo-stage img{width:100%}body.km-redesign .logo-stage img{width:min(94vw,360px);max-height:210px}
  body.km-redesign main,body.km-redesign.km-route-home main{margin:0 auto 24px;padding:16px 12px 0}
  .km-page-head{align-items:flex-start;margin-bottom:12px}.km-page-head .km-page-badge{display:none}.km-page-head h2{font-size:23px}
  .km-home-grid{grid-template-columns:1fr}.km-home-actions{grid-template-columns:1fr 1fr}.km-home-action{min-height:108px;padding:14px}.km-home-side{grid-template-columns:1fr}.km-home-kpis{grid-template-columns:repeat(4,1fr)}.km-home-kpi{padding:11px 8px}.km-home-kpi b{font-size:19px}.km-home-kpi span{font-size:8px}
  .km-app-info{grid-template-columns:1fr}
  body.km-redesign .update-banner{left:12px;right:12px;bottom:86px}
}
@media(max-width:560px){
  .km-home-actions{grid-template-columns:1fr}.km-home-action{min-height:auto;display:grid;grid-template-columns:38px 1fr;column-gap:11px;align-items:center}.km-home-action .ico{grid-row:1/3;margin:0}.km-home-action span{margin-top:1px}
  .km-home-kpis{grid-template-columns:1fr 1fr}
  .km-subnav{margin-left:-2px;margin-right:-2px}.km-subnav button{padding:8px 10px;font-size:11px}
  .km-topbar .theme-toggle{scale:.9;transform-origin:right center!important}
  .km-back{width:36px;height:36px}
  .km-mobile-btn span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .km-redesign .card{border-radius:18px;padding:15px}.km-redesign #uploadCard{padding:0}.km-redesign .hero-copy,.km-redesign .hero-upload{padding:18px 14px}.km-redesign .hero-logo{display:none}.km-redesign .quick-points{grid-template-columns:1fr}.km-redesign .quick-points .point{padding:11px}
}
/* Overflow hardening after route redistribution */
body.km-redesign{overflow-x:hidden}
.km-redesign .rule-layout>*,.km-redesign .export-layout>*,.km-redesign .library-filters>*,.km-redesign .rule-form-grid>*,.km-redesign .sim-grid>*{min-width:0}
.km-redesign .library-filters .field,.km-redesign .rule-form-grid .field,.km-redesign .sim-grid .field{min-width:0}
.km-redesign .library-filters input,.km-redesign .library-filters select,.km-redesign .rule-form-grid input,.km-redesign .rule-form-grid select,.km-redesign .sim-grid input,.km-redesign .sim-grid select{min-width:0;max-width:100%}
body.km-route-home .km-back{visibility:hidden}
