@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans/IBMPlexSans-Regular.5aaadb685d3c.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans/IBMPlexSans-Medium.02ec16345450.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans/IBMPlexSans-SemiBold.51d76d33ef85.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans/IBMPlexSans-Bold.ea5f696de389.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/ibm-plex-mono/IBMPlexMono-Medium.91abacd323ba.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}

:root{
  --brand-dark:#031f49;
  --brand-deep:#052c63;
  --brand-blue:#1262ef;
  --brand-blue-hover:#0754df;
  --brand-light:#e7f0ff;
  --brand-border:#bcd2f5;
  --ui-font:"IBM Plex Sans","Segoe UI",Arial,sans-serif;
  --ui-mono:"IBM Plex Mono",Consolas,"Courier New",monospace;
  --ui-text:#0b2855;
  --ui-muted:#6c7f9c;
  --ui-surface:#fff;
  --ui-canvas:#f5f8fc;
  --ui-line:#dce5f0;
  --ui-radius-sm:8px;
  --ui-radius-md:12px;
  --ui-shadow:0 8px 24px rgba(13,45,85,.055);
}

html,body,button,input,select,textarea{font-family:var(--ui-font)}
body{color:var(--ui-text);background:var(--ui-canvas);font-synthesis:none;text-rendering:optimizeLegibility}
table,.metric strong,.dashboard-cards strong,.tc-stats strong{font-variant-numeric:tabular-nums}
.company-cnpj,.key-cell,code,kbd,pre{font-family:var(--ui-mono)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid rgba(18,98,239,.24);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:760px){input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px!important}}

.platform-topbar{position:fixed;inset:0 0 auto 0;width:100%;height:72px;padding:0 32px 0 24px;background:linear-gradient(100deg,var(--brand-dark),var(--brand-deep));border-bottom-color:#123d74;z-index:130}
.platform-topbar nav{border-right-color:rgba(255,255,255,.2)}
.platform-topbar nav a:hover{background:rgba(255,255,255,.1)}
.topbar-avatar{background:var(--brand-blue)}
.desktop-topbar-brand{display:flex;align-items:center;margin-right:auto;height:100%}
.desktop-topbar-brand img{display:block;width:174px;height:52px;object-fit:contain;object-position:left center}

.button,.client-primary-action,.directory-add,.detail-refresh,.editor-save,.detail-tabs button.active{
  background:var(--spy-mint);
  color:var(--spy-navy);
}
.button:hover,.client-primary-action:hover,.directory-add:hover,.detail-refresh:hover,.editor-save:hover{
  background:var(--spy-mint-hover);
  color:var(--spy-navy);
}
.button.secondary{
  background:var(--brand-light);
  color:var(--brand-blue);
  border:1px solid var(--brand-border);
}

.client-secondary-action,.view-company,.certificate-detail button,.certificate-add{
  background:var(--brand-blue);
  border-color:var(--brand-blue);
  color:#fff;
}
.client-secondary-action:hover,.view-company:hover,.certificate-detail button:hover,.certificate-add:hover{
  background:var(--brand-blue-hover);
  border-color:var(--brand-blue-hover);
  color:#fff;
}

.client-tabs a.active{border-bottom-color:var(--brand-blue)}
.client-tabs a span,.new-badge,.account-nav .new-badge{background:var(--brand-blue)}
.client-tabs a.disabled span{background:#a9c5ef}
.company-status.active{background:#e7f0ff;color:#0754df}
.company-status.active i{background:#1262ef;box-shadow:0 0 0 3px rgba(18,98,239,.12)}

.side-card-tabs strong{background:var(--brand-blue)}
.contact-tabs span.active{background:var(--brand-blue)}
.tax-regime-status{background:#e7f0ff;color:#0754df}
.summary-icon.green{background:#e7f0ff;color:#1262ef}

/* Sidebar compacta e recolhível */
.sidebar{inset:72px auto 0 0;width:234px;border-right:0;padding:16px 16px;transition:width .22s ease}
.app-shell{margin-left:234px;padding-top:72px;transition:margin-left .22s ease}
.side-brand{display:none;min-height:76px;padding:3px 2px 14px;overflow:visible}
.brand-logo{display:block;object-fit:contain}
.brand-logo-full{width:198px;height:50px;object-position:left center}
.brand-logo-symbol{display:none;width:47px;height:47px;object-fit:contain}
.nav-label{padding:10px 12px 7px;color:#83a3cf;font-size:11px;font-weight:700;letter-spacing:.09em}.sidebar-scroll,.side-nav{width:100%;min-width:0}.sidebar-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:18px;scrollbar-width:thin;scrollbar-color:rgba(140,174,216,.28) transparent}.side-nav{gap:4px}.side-nav a{width:100%;min-width:0;max-width:100%;min-height:46px;padding:0 12px;gap:13px;border-radius:9px;font-family:"IBM Plex Sans","Segoe UI",sans-serif;font-size:14px;font-weight:600}
.side-nav .icon{width:22px;height:22px;flex:0 0 22px}.product-menu{margin-bottom:4px}
.side-nav .product-heading>.product-icon{color:#d7e3f5;background:transparent}.side-nav .product-heading>.product-icon .icon{color:inherit;filter:none}
.product-topnav{min-height:68px;padding:0 32px;background:#fff;border-bottom:1px solid #dce5f0;display:flex;align-items:stretch;gap:34px;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.product-topnav-brand{display:flex;align-items:center;gap:10px;color:#08234d;flex:0 0 auto}.product-topnav-brand>span{width:34px;height:34px;border-radius:9px;background:#e7f0ff;color:#1765e8;display:grid;place-items:center}.product-topnav-brand .icon{width:19px;height:19px}.product-topnav-brand strong{font-size:18px}.product-topnav-links{display:flex;align-items:stretch;gap:25px}.product-topnav-links a{position:relative;display:flex;align-items:center;color:#8593aa;font-size:12px;font-weight:600}.product-topnav-links a:hover{color:#1765e8}.product-topnav-links a.active{color:#08234d}.product-topnav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px 2px 0 0;background:#1765e8}
@media(max-width:760px){.product-topnav{padding:0 16px;gap:22px;min-height:60px}.product-topnav-brand strong{font-size:15px}.product-topnav-links{gap:20px}}
.side-nav .product-heading{position:relative;width:100%;min-width:0;min-height:50px;padding:6px 10px;gap:10px;overflow:hidden}.side-nav .product-heading>.product-icon{width:32px;height:32px;flex:0 0 32px;border-radius:8px}
.side-nav .product-heading,.product-placeholder .product-heading{border-color:transparent;background:transparent}
.side-nav .product-heading:hover,.product-placeholder .product-heading:hover{border-color:transparent;background:rgba(255,255,255,.07)}
.side-nav .product-heading:hover>.product-icon{color:#24f0a5}
.side-nav .product-heading.selected,.side-nav .product-heading.selected:hover{padding-left:11px;border-color:transparent;background:rgba(30,75,132,.78)}
.side-nav .product-heading.selected:before{content:"";position:absolute;inset:7px auto 7px 0;width:3px;border-radius:0 3px 3px 0;background:#24f0a5}
.side-nav .product-heading.selected>.product-icon{color:#24f0a5;background:rgba(36,240,165,.09)}
.side-nav .product-heading>.product-arrow{display:none}
.product-heading strong{font-family:"IBM Plex Sans","Segoe UI",sans-serif;font-size:14px;font-weight:600}.product-heading .product-soon{padding:3px 5px;font-size:10px}.account-nav{margin-top:13px;padding-top:13px;border-top:1px solid rgba(133,174,224,.2)}
.account-nav a{white-space:nowrap}.account-nav .new-badge{padding:3px 5px;font-size:12px}
.dashboard-action{
  padding-right:10px;
  margin-top:0;
  margin-bottom:16px;
}
.sidebar-toggle{position:absolute;right:-16px;top:50%;width:29px;height:29px;border:1px solid #cbd8e7;border-radius:50%;background:#fff;color:#31547f;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 10px rgba(5,39,82,.12);z-index:110}
.sidebar-toggle:hover{background:var(--brand-light);color:var(--brand-blue)}
.sidebar-toggle .icon{width:14px;height:14px;transform:rotate(90deg);transition:transform .22s ease}
.mobile-menu-toggle,.mobile-topbar-brand,.mobile-sidebar-close,.mobile-sidebar-overlay{display:none}

body.sidebar-collapsed .sidebar{width:76px;padding-left:9px;padding-right:9px}
body.sidebar-collapsed .app-shell{margin-left:76px}
body.sidebar-collapsed .side-brand{min-height:76px;justify-content:center;padding:0 0 14px}
body.sidebar-collapsed .brand-logo-full,
body.sidebar-collapsed .nav-label,
body.sidebar-collapsed .product-arrow,
body.sidebar-collapsed .new-badge{display:none}
body.sidebar-collapsed .side-nav .product-heading>.product-copy{display:none}
body.sidebar-collapsed .brand-logo-symbol{display:block}
body.sidebar-collapsed .side-nav a,
body.sidebar-collapsed .side-nav a.active,
body.sidebar-collapsed .side-nav a:not(.active){padding:0;justify-content:center;font-size:0}
body.sidebar-collapsed .side-nav a .icon{width:23px;height:23px}
body.sidebar-collapsed .side-nav .product-heading{padding:8px;justify-content:center}
body.sidebar-collapsed .side-nav .product-heading>.product-icon{width:38px;height:38px;flex-basis:38px}
body.sidebar-collapsed .account-nav{margin-top:10px;padding-top:10px}
body.sidebar-collapsed .sidebar-toggle .icon{transform:rotate(-90deg)}

@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body.mobile-menu-open{overflow:hidden}
  .sidebar,body.sidebar-collapsed .sidebar{inset:0 auto 0 0;width:min(310px,86vw);padding:20px 18px;background:linear-gradient(165deg,#031a3c 0%,#052b60 58%,#031d43 100%);color:#fff;border-right:1px solid rgba(126,171,226,.2);box-shadow:16px 0 40px rgba(3,28,63,.32);transform:translateX(-105%);transition:transform .24s ease;z-index:140}
  body.mobile-menu-open .sidebar{transform:translateX(0)}
  .app-shell,body.sidebar-collapsed .app-shell{width:100%;min-width:0;margin-left:0;padding-top:64px}
  .side-brand,body.sidebar-collapsed .side-brand{display:flex;min-height:58px;justify-content:center;padding:0 42px 14px}
  .brand-logo-full,body.sidebar-collapsed .brand-logo-full{display:block;width:174px;height:48px;object-position:center}
  .brand-logo-symbol,body.sidebar-collapsed .brand-logo-symbol{display:none}
  .sidebar-toggle{display:none}
  .mobile-sidebar-close{position:absolute;display:grid;place-items:center;right:16px;top:21px;width:38px;height:38px;padding:0;border:0;background:transparent;color:#dce9fb;cursor:pointer}
  .mobile-sidebar-close .icon{width:23px;height:23px}
  .mobile-sidebar-overlay{position:fixed;display:block;inset:0;padding:0;border:0;background:rgba(4,18,39,.54);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease;z-index:110}
  body.mobile-menu-open .mobile-sidebar-overlay{opacity:1;visibility:visible;pointer-events:auto}
  .sidebar-scroll{overflow-y:auto;overflow-x:hidden;padding:10px 0 24px}
  .nav-label,body.sidebar-collapsed .nav-label{display:block;padding:10px 12px 7px;color:#7fa3d3;font-size:12px}
  .side-nav{gap:4px}
  .product-menu{margin:0}
  .side-nav a,.side-nav a.active,.side-nav a:not(.active),body.sidebar-collapsed .side-nav a,body.sidebar-collapsed .side-nav a.active,body.sidebar-collapsed .side-nav a:not(.active){min-height:48px;justify-content:flex-start;padding:0 13px;gap:13px;border-radius:8px;color:#dce9fb;background:transparent;font-size:12px;box-shadow:none}
  .side-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
  .side-nav a.active{color:#fff;background:linear-gradient(110deg,rgba(8,112,255,.9),rgba(36,88,232,.9));border-left:4px solid #24f0a5;padding-left:9px}
  .side-nav a .icon,body.sidebar-collapsed .side-nav a .icon{width:20px;height:20px;color:#24f0a5}
  .side-nav .product-heading,body.sidebar-collapsed .side-nav .product-heading{min-height:55px;padding:7px 10px;justify-content:flex-start;border:0;background:transparent}
  .side-nav .product-heading.selected{background:rgba(12,73,148,.75)}
  .side-nav .product-heading>.product-icon,body.sidebar-collapsed .side-nav .product-heading>.product-icon{width:36px;height:36px;flex-basis:36px;color:#d7e3f5;background:transparent}
  .side-nav .product-heading:hover>.product-icon,.side-nav .product-heading.selected>.product-icon{color:#24f0a5;background:rgba(36,240,165,.09)}
  .side-nav .product-heading>.product-copy,body.sidebar-collapsed .side-nav .product-heading>.product-copy{display:grid}
  .side-nav .product-heading>.product-copy,
  body.sidebar-collapsed .side-nav .product-heading>.product-copy{color:#fff}
  .product-heading strong{color:#fff;font-size:12px}.product-heading small{color:#91add0;font-size:12px}
  .side-nav .product-heading>.product-arrow,body.sidebar-collapsed .side-nav .product-heading>.product-arrow{display:none}
  .side-nav .product-heading .product-soon{display:inline-block}
  .account-nav{margin-top:10px;padding-top:10px;border-top-color:rgba(133,174,224,.2)}
  .account-nav .new-badge,body.sidebar-collapsed .new-badge{display:inline-block;margin-left:auto}
  .platform-topbar{position:fixed;width:100%;min-width:0;height:64px;padding:0 14px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;justify-content:normal;gap:8px}
  body.mobile-menu-open .platform-topbar{visibility:hidden}
  .mobile-menu-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer}
  .mobile-menu-toggle .icon{width:25px;height:25px}
  .mobile-topbar-brand{display:flex;align-items:center;justify-content:center;min-width:0}
  .mobile-topbar-brand img{display:block;width:148px;height:46px;object-fit:contain}
  .desktop-topbar-brand{display:none}
  .platform-topbar>nav{display:none}
  .topbar-user{justify-self:end}.topbar-avatar{width:36px;height:36px}.topbar-user form{display:none}
  .content{width:100%;min-width:0;overflow-x:hidden}
  .content>*{max-width:100%}
}
