
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
  background: var(--bg);
  color: var(--text);
  transition: background 0.2s, color 0.2s;
}
body.center-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}
h1, h2, h3 {
  margin: 0;
}
.login-container,
.chat-container {
  background: var(--panel);
  border: 1px solid var(--border);
  padding: 2.5rem;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  width: 100%;
  max-width: 360px;
  text-align: center;
}
.chat-container {
  max-width: 640px;
  text-align: left;
}
.chat-container h1 {
  text-align: center;
}
.login-container h1,
.chat-container h1 {
  margin: 0 0 0.25rem;
  color: var(--slate-dark);
}
.login-container h2,
.chat-container h2 {
  margin: 0 0 1.5rem;
  font-weight: normal;
  color: var(--text-muted);
}
.form-group {
  text-align: left;
  margin-bottom: 1rem;
}
.form-group label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.9rem;
  color: var(--text);
}
.form-group input {
  width: 100%;
  padding: 0.6rem;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 1rem;
  background: var(--panel);
  color: var(--text);
}
.login-container button {
  width: 100%;
  padding: 0.7rem;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
  margin-top: 0.5rem;
}
.login-container button:hover {
  background: var(--accent-hover);
}
.error-message {
  background: var(--error-bg);
  color: var(--error-text);
  padding: 0.6rem;
  border-radius: 4px;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}
.chat-history {
  height: 360px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 0.75rem;
  margin-bottom: 1rem;
  background: var(--bg);
}
.chat-msg {
  margin-bottom: 0.75rem;
  padding: 0.6rem 0.75rem;
  border-radius: 6px;
  font-size: 0.9rem;
  white-space: pre-wrap;
}
.chat-msg.user {
  background: var(--accent-soft);
  text-align: right;
}
.chat-msg.ia {
  background: var(--badge-ativo-bg);
}
.chat-msg.erro {
  background: var(--error-bg);
  color: var(--error-text);
}
.chat-form {
  display: flex;
  gap: 0.5rem;
}
.chat-form input {
  flex: 1;
  padding: 0.6rem;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 1rem;
  background: var(--panel);
  color: var(--text);
}
.chat-form button {
  width: auto;
  padding: 0.7rem 1.2rem;
  margin-top: 0;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
}
.chat-form button:hover {
  background: var(--accent-hover);
}
.chat-back {
  display: block;
  text-align: center;
  margin-top: 1rem;
  color: var(--accent);
  font-size: 0.85rem;
}
nav.menu {
  display: flex;
  flex-direction: column;
  padding: 8px 12px;
  gap: 1px;
}
.welcome-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 26px 30px;
  margin-bottom: 30px;
  max-width: 560px;
}
.welcome-card h2 {
  margin: 0 0 6px;
  font-size: 18px;
  color: var(--slate-dark);
  font-weight: 600;
}
.welcome-card p {
  margin: 0;
  color: var(--text-muted);
  font-size: 14px;
}
.label-tag {
  font-size: 11.5px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 14px;
  font-weight: 700;
}
.grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  max-width: 560px;
}
.module-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 22px;
}
.module-card h3 {
  margin: 0 0 4px;
  font-size: 15px;
  color: var(--slate-dark);
  font-weight: 600;
}
.module-card .sub {
  margin: 0 0 16px;
  font-size: 12.5px;
  color: var(--text-muted);
}
.status-badge {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 3px 9px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.status-ativo {
  background: var(--badge-ativo-bg);
  color: var(--badge-ativo-text);
}
.status-dev {
  background: var(--badge-dev-bg);
  color: var(--badge-dev-text);
}
.btn-outline {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-muted);
}
.btn-outline:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.sub-feature-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 4px;
}
.sub-feature {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--bg);
  gap: 12px;
}
.sub-feature .name {
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
}
.sub-feature .name small {
  display: block;
  font-size: 11.5px;
  color: var(--text-muted);
  font-weight: 400;
  margin-top: 2px;
}
.success-message {
  background: var(--badge-ativo-bg);
  color: var(--badge-ativo-text);
  padding: 0.6rem;
  border-radius: 4px;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}
.password-card {
  max-width: 420px;
}
.password-card p {
  color: var(--text-muted);
  font-size: 13px;
  margin: 0 0 18px;
}
.btn-block {
  width: 100%;
  margin-top: 4px;
}
.table-card {
  max-width: 900px;
}
.table-card p {
  color: var(--text-muted);
  font-size: 13px;
  margin: 0 0 18px;
}
.table-card p a {
  color: var(--accent);
}
.table-scroll {
  overflow-x: auto;
}
.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.data-table th,
.data-table td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.data-table th {
  color: var(--text-muted);
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.table-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.inline-form {
  display: inline;
}
.select-inline,
.input-inline {
  padding: 5px 8px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--panel);
  color: var(--text);
  font-size: 12.5px;
}
.input-inline {
  width: 180px;
}
.status-inativo {
  background: var(--error-bg);
  color: var(--error-text);
}
.permission-block {
  margin-bottom: 24px;
}
.permission-block:last-child {
  margin-bottom: 0;
}
.permission-block h3 {
  font-size: 14px;
  margin-bottom: 10px;
  color: var(--slate-dark);
}
.btn-mt {
  margin-top: 10px;
}
.form-inline-add {
  margin-top: 16px;
}
.tab-btn {
  padding: 9px 16px;
  border: none;
  background: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  font-family: inherit;
}
.tab-btn:hover {
  color: var(--text);
}
.tab-btn.active {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.hidden {
  display: none;
}
.module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
}
.module-perm-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 16px;
  background: var(--bg);
}
.module-perm-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Consolas", "SFMono-Regular", Menlo, monospace;
  font-size: 12px;
  font-weight: 700;
  color: var(--slate-dark);
  margin-bottom: 12px;
  letter-spacing: 0.2px;
}
.module-perm-title .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  flex-shrink: 0;
}
.segmented-item {
  flex: 1;
  position: relative;
}
.segmented-item + .segmented-item {
  border-left: 1px solid var(--border);
}
.segmented-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  cursor: pointer;
}
.segmented-label {
  display: block;
  text-align: center;
  padding: 7px 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  background: var(--panel);
  cursor: pointer;
  user-select: none;
  transition: background 0.15s, color 0.15s;
}
.segmented-input:hover + .segmented-label {
  filter: brightness(0.96);
}
.segmented-input:focus-visible + .segmented-label {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}
.segmented-input:checked + .segmented-label.segmented-none {
  background: var(--seg-none-bg);
  color: var(--seg-none-text);
}
.segmented-input:checked + .segmented-label.segmented-leitura {
  background: var(--seg-leitura-bg);
  color: var(--seg-leitura-text);
}
.segmented-input:checked + .segmented-label.segmented-edicao {
  background: var(--seg-edicao-bg);
  color: var(--seg-edicao-text);
}
.perm-badge-static {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
}
.perm-badge-static.seg-none { background: var(--seg-none-bg); color: var(--seg-none-text); }
.perm-badge-static.seg-leitura { background: var(--seg-leitura-bg); color: var(--seg-leitura-text); }
.perm-badge-static.seg-edicao { background: var(--seg-edicao-bg); color: var(--seg-edicao-text); }
@media (max-width: 900px) {
  .welcome-card,
    .module-card,
    .table-card,
    .password-card {
      padding: 18px 20px;
      max-width: 100%;
    }
  .grid {
      max-width: 100%;
    }
}
@media (max-width: 480px) {
  .login-container,
    .chat-container {
      padding: 1.75rem 1.5rem;
    }
}
:root{
  color-scheme: light;
  --texto-max: 68ch;
  --sombra-modal:  rgba(15, 18, 24, .42);
  --on-cor-clara:  #ffffff;
  --on-cor-escura: #14171f;
  --bg:            #f2f4f8;   
  --surface:       #ffffff;   
  --surface-2:     #eaedf3;   
  --surface-3:     #e1e6ee;   
  --border:        #dfe3ea;   
  --border-strong: #c6cdd9;   
  --text:          #161a22;   
  --text-muted:    #5c6472;   
  --text-faint:    #8b93a2;   
  --accent:        #2f56d9;
  --accent-solid:  #2f56d9;   
  --accent-hover:  #2545b8;
  --accent-on:     #ffffff;   
  --accent-soft:   #e4e9fc;   
  --ok:        #0f7a4f;   --ok-soft:   #dcf3e8;   
  --warn:      #9a6100;   --warn-soft: #fbeed6;   
  --crit:      #c02b3f;   --crit-soft: #fbe3e6;   
  --idle:      #6b7484;   --idle-soft: #e7eaf0;   
  --shadow-sm: 0 1px 2px rgba(18,24,38,.05);
  --shadow-md: 0 1px 2px rgba(18,24,38,.05), 0 8px 20px rgba(18,24,38,.06);
  --r-sm: 6px;  --r-md: 10px;  --r-lg: 14px;  --r-xl: 18px;
  --font-display: 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif;
  --font-ui:      'Public Sans', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-code:    'IBM Plex Mono', ui-monospace, SFMono-Regular, monospace;
  --sidebar-w:  264px;
  --topbar-h:   64px;
  --content-max: 1240px;
  --row-thumb:  50px;
  --row-stat:  106px;
  --row-badges:154px;
  --cat-1: #2a78d6;   
  --cat-2: #eb6834;   
  --cat-3: #1baf7a;   
  --cat-outros: #8b93a2;
  --cat-4: #8a5bd6;   
  --cat-5: #d19a14;   
  --cat-6: #d6477f;   
  --cat-7: #2f9fc4;   
  --cat-8: #7c8a22;   
  --cat-9: #a8523d;   
  --cat-10: #5a6472;  
  --canal-mercado_livre: var(--cat-1);   
  --canal-amazon:        var(--cat-3);   
  --canal-shopee:        var(--cat-2);   
  --canal-tiktok_shop:   var(--cat-6);   
  --canal-temu:          var(--cat-7);   
  --canal-magalu:        var(--cat-4);   
  --canal-novo:          var(--cat-outros);
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --sombra-modal:  rgba(0, 0, 0, .62);
  --bg:            #0f1218;
  --surface:       #171b23;
  --surface-2:     #1e232d;
  --surface-3:     #262c38;
  --border:        #2a303c;
  --border-strong: #3c4453;
  --text:          #e6e9ef;
  --text-muted:    #98a1b1;
  --text-faint:    #6b7484;
  --accent:        #8fa8ff;   
  --accent-solid:  #4560d8;   
  --accent-hover:  #3a53c4;
  --accent-on:     #ffffff;
  --accent-soft:   #1c2440;
  --ok:        #3ecf8e;   --ok-soft:   #11301f;
  --warn:      #f2b544;   --warn-soft: #33260c;
  --crit:      #ff7a88;   --crit-soft: #351319;
  --idle:      #8b93a2;   --idle-soft: #232936;
  --cat-1: #3987e5;   --cat-2: #d95926;   --cat-3: #199e70;   --cat-outros: #6b7484;
  --cat-4: #a07be6;   --cat-5: #e0a92e;   --cat-6: #e2639a;   --cat-7: #4bb4d8;
  --cat-8: #98a83a;   --cat-9: #c47058;   --cat-10: #8b93a2;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.35);
  --shadow-md: 0 1px 2px rgba(0,0,0,.35), 0 10px 24px rgba(0,0,0,.4);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]):not([data-theme="dark"]){
    color-scheme:dark;
    --bg:#0f1218; --surface:#171b23; --surface-2:#1e232d; --surface-3:#262c38;
    --border:#2a303c; --border-strong:#3c4453;
    --text:#e6e9ef; --text-muted:#98a1b1; --text-faint:#6b7484;
    --accent:#8fa8ff; --accent-solid:#4560d8; --accent-hover:#3a53c4; --accent-soft:#1c2440;
    --ok:#3ecf8e; --ok-soft:#11301f; --warn:#f2b544; --warn-soft:#33260c;
    --crit:#ff7a88; --crit-soft:#351319; --idle:#8b93a2; --idle-soft:#232936;
    --cat-1:#3987e5; --cat-2:#d95926; --cat-3:#199e70; --cat-outros:#6b7484;
    --cat-4:#a07be6; --cat-5:#e0a92e; --cat-6:#e2639a; --cat-7:#4bb4d8;
    --cat-8:#98a83a; --cat-9:#c47058; --cat-10:#8b93a2;
    --shadow-sm:0 1px 2px rgba(0,0,0,.35);
    --shadow-md:0 1px 2px rgba(0,0,0,.35), 0 10px 24px rgba(0,0,0,.4);
  }
}
*{box-sizing:border-box;}
html,body{margin:0; padding:0;}
body{
  background:var(--bg);            
  color:var(--text);
  font-family:var(--font-ui);
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  margin:0;
  text-wrap:balance;
  letter-spacing:-.015em;
}
a{color:var(--accent); text-decoration:none;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:4px;}
.code{font-family:var(--font-code); font-size:.82em; overflow-wrap:anywhere;}   
.tnum{font-variant-numeric:tabular-nums; letter-spacing:-.01em;} 
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important; transition-duration:.01ms !important;}
}
.layout{
  display:grid;
  grid-template-columns:var(--sidebar-w) 1fr;
  min-height:100vh;
}
.sidebar{
  background:var(--surface);
  border-right:1px solid var(--border);
  position:sticky; top:0; height:100vh;
  display:flex; flex-direction:column;
  overflow-y:auto;
}
.sidebar .brand{
  padding:22px 22px 18px;
  font-family:var(--font-display);
  font-weight:800; font-size:1.35rem; letter-spacing:-.03em;
  color:var(--accent);
}
.menu{padding:0 12px; display:flex; flex-direction:column; gap:2px; flex:1;}
.menu-group-label{
  font-family:var(--font-display);
  font-size:.68rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--text-faint);
  padding:16px 12px 6px;
}
.menu-item{
  appearance:none; border:none; background:transparent; width:100%;
  display:flex; align-items:center; gap:10px;
  padding:9px 12px; border-radius:var(--r-md);
  font-size:.88rem; font-weight:500; color:var(--text-muted);
  cursor:pointer; text-align:left;
  transition:background .12s ease, color .12s ease;
}
.menu-item:hover{background:var(--surface-2); color:var(--text);}
.menu-item.active{background:var(--accent-soft); color:var(--accent); font-weight:600;}
.menu-item .icon{width:16px; text-align:center; flex-shrink:0; opacity:.85;}
.menu-item .icon img.icone-canal{
  display:block; width:16px; height:16px;
  object-fit:contain; border-radius:3px; opacity:1;
}
.menu-item.sub{padding-left:34px; font-size:.85rem;}
.menu-item.neto{
  padding-left:52px; font-size:.82rem;
  position:relative;
}
.menu-item.neto::before{
  content:""; position:absolute; left:40px; top:6px; bottom:6px;
  width:1px; background:var(--border-strong);
}
.menu-item.neto.active::before{background:var(--accent);}
.menu-sep{height:1px; background:var(--border); margin:14px 12px;}
.sidebar-foot{
  padding:16px 22px 20px; border-top:1px solid var(--border);
  font-size:.74rem; color:var(--text-faint); line-height:1.45;
}
.sidebar-foot .versao-link{color:var(--accent); text-decoration:none; font-weight:600;}
.sidebar-foot .versao-link:hover, .sidebar-foot .versao-link:focus-visible{text-decoration:underline;}
.calc-modal.nov-modal{width:min(640px, 100%); height:auto; max-height:min(86vh, 820px);}
.nov-corpo{flex:1; min-height:0; overflow-y:auto; padding:6px 20px 18px; display:flex; flex-direction:column; gap:18px;}
.nov-versao h3{margin:14px 0 6px; font-size:.95rem; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.nov-data{font-weight:400; color:var(--text-muted); font-size:.82rem;}
.nov-versao ul{margin:0; padding-left:18px; display:flex; flex-direction:column; gap:6px; max-width:var(--texto-max); font-size:.9rem;}
@media (max-width:700px){ .calc-modal.nov-modal{height:100%; max-height:none;} }
html[data-sidebar="collapsed"] .layout{grid-template-columns:68px 1fr;}
html[data-sidebar="collapsed"] .sidebar .label,
html[data-sidebar="collapsed"] .menu-group-label,
html[data-sidebar="collapsed"] .sidebar-foot{display:none;}
.main{min-width:0; display:flex; flex-direction:column;}
.topbar{
  position:sticky; top:0; z-index:20;
  background:var(--surface);
  border-bottom:1px solid var(--border);
  padding:0 32px; height:var(--topbar-h);
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.topbar h1{font-size:1.02rem; font-weight:700;}
.topbar-right{display:flex; align-items:center; gap:16px;}
.user-chip{display:flex; align-items:center; gap:10px;}
.user-chip .u-name{font-size:.8rem; font-weight:600; line-height:1.25;}
.user-chip .u-link{font-size:.72rem; color:var(--text-faint);}
.avatar{
  width:34px; height:34px; border-radius:50%;
  background:var(--accent-soft); color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; font-size:.78rem;
}
.content{padding:28px 32px 72px; max-width:var(--content-max); width:100%;}
.page-head{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:24px; margin-bottom:22px; flex-wrap:wrap;
}
.page-head h2{font-size:1.5rem; font-weight:800; margin-bottom:6px;}
.page-head p{margin:0; color:var(--text-muted); font-size:.9rem; max-width:64ch;}
.page-head > .ph-texto{flex:1 1 24rem; min-width:0;}
.page-about{margin:0; color:var(--text-muted); font-size:.9rem; max-width:var(--texto-max);}
.page-about > summary{display:block; cursor:pointer; list-style:none;}
.page-about > summary::-webkit-details-marker{display:none;}
.page-about > summary::marker{content:'';}
.page-about-abrir{color:var(--accent); font-weight:600; white-space:nowrap;}
.page-about-abrir::after{content:' ▾';}
.page-about[open] .page-about-abrir::after{content:' ▴';}
.page-about > summary:hover .page-about-abrir{text-decoration:underline;}
.page-about-corpo{
  margin-top:8px; padding-left:12px; border-left:2px solid var(--border-strong);
  display:flex; flex-direction:column; gap:6px;
}
.page-about-corpo p{margin:0;}
.btn{
  appearance:none; cursor:pointer; font-family:var(--font-ui);
  font-size:.83rem; font-weight:600; padding:9px 16px;
  border-radius:var(--r-md); border:1px solid transparent;
  display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  transition:background .12s, border-color .12s, color .12s;
}
.btn-primary{background:var(--accent-solid); color:var(--accent-on);}
.btn-primary:hover{background:var(--accent-hover);}
.btn-ghost{background:var(--surface); color:var(--text); border-color:var(--border-strong);}
.btn-ghost:hover{border-color:var(--accent); color:var(--accent);}
.btn-quiet{background:transparent; color:var(--text-muted); border-color:var(--border);}
.btn-quiet:hover{background:var(--surface-2); color:var(--text);}
.btn-danger{background:transparent; color:var(--crit); border-color:var(--crit);}
.btn-danger:hover{background:var(--crit-soft);}
.btn-sm{padding:6px 12px; font-size:.78rem;}
.btn:disabled{opacity:.45; cursor:not-allowed;}
.segmented{
  display:flex; background:var(--surface-2); border:1px solid var(--border);
  border-radius:999px; padding:3px;
  flex-wrap:wrap;
}
.segmented button{
  appearance:none; border:none; background:transparent; cursor:pointer;
  font-family:var(--font-ui); font-size:.78rem; font-weight:600;
  color:var(--text-muted); padding:6px 14px; border-radius:999px;
  transition:background .12s, color .12s;
}
.segmented button.on{
  background:var(--accent-soft); color:var(--accent);
  box-shadow:var(--shadow-sm);
}
.card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-lg); box-shadow:var(--shadow-sm);
}
.card-pad{padding:22px 24px;}
.card-head{padding:20px 24px 0;}
.card-head h3{font-size:1.02rem; font-weight:700; margin-bottom:4px;}
.card-head p{margin:0 0 18px; color:var(--text-muted); font-size:.84rem;}
.filters{margin-bottom:18px;}
.filters-top{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px; cursor:pointer; gap:12px;
}
.filters-top .ft-left{display:flex; align-items:center; gap:10px; font-size:.86rem; font-weight:600;}
.filters-count{
  background:var(--accent-soft); color:var(--accent);
  font-size:.7rem; font-weight:700; padding:2px 8px; border-radius:999px;
}
.filters-body{padding:18px 20px 18px; border-top:1px solid var(--border);}
.filters-actions{display:flex; gap:10px; justify-content:flex-end;}
.filters-top .ft-left{min-width:0;}
.filters-top .filters-count{flex-shrink:0; white-space:nowrap;}
.filters-resumo{
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-size:.8rem; font-weight:400; color:var(--text-muted);
}
.filters-seta{flex-shrink:0; font-size:.8rem; color:var(--text-faint); white-space:nowrap;}
details.filters > summary{list-style:none;}
details.filters > summary::-webkit-details-marker{display:none;}
details.filters > summary::marker{content:'';}
details.filters:not([open]) .so-aberto, details.filters[open] .so-fechado{display:none;}
.filters-pill{min-width:0; max-width:100%;}
.filters-pill .filters-resumo{max-width:30ch;}
.filters-pill[aria-expanded="true"]{border-color:var(--accent); color:var(--accent);}
.filters-pill[aria-pressed="true"]{border-color:var(--accent); color:var(--accent);}
.filters.is-da-barra > .filters-body{border-top:0;}
.field-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px 16px; margin-bottom:16px;
}
.field.is-larga{grid-column:1 / -1;}
.field-grid.is-esparsa{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
.field label{
  display:block; font-family:var(--font-display);
  font-size:.7rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  color:var(--text-faint); margin-bottom:6px;
}
.field input, .field select, .field textarea{
  width:100%; font-family:var(--font-ui); font-size:.86rem;
  padding:9px 12px; border-radius:var(--r-md);
  border:1px solid var(--border-strong); background:var(--surface); color:var(--text);
}
.field input::placeholder{color:var(--text-faint);}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:2px solid var(--accent); outline-offset:-1px; border-color:var(--accent);
}
.field .hint{font-size:.78rem; color:var(--text-faint); margin-top:6px; max-width:var(--texto-max);}
.field .hint.is-warn{color:var(--warn); font-weight:600;}
.checks{display:flex; gap:18px; flex-wrap:wrap; margin-bottom:16px;}
.check{display:flex; align-items:center; gap:8px; font-size:.84rem; color:var(--text-muted); cursor:pointer;}
.check input{accent-color:var(--accent); width:15px; height:15px;}
.field label.check{
  display:flex; align-items:center; gap:8px; color:var(--text-muted); cursor:pointer;
  font-family:inherit; font-size:.84rem; font-weight:400;
  text-transform:none; letter-spacing:normal; margin-bottom:0;
}
.field label.check input{width:15px; padding:0; flex:none;}
.check .tab-n{margin-left:0;}
.rows{display:flex; flex-direction:column; gap:8px;}
.rows[hidden]{display:none;}
.row-comp{
  width:100%; margin-top:9px; padding-top:9px;
  border-top:1px dashed var(--border-strong);
  display:flex; flex-wrap:wrap; gap:8px 14px;
  font-size:12px; color:var(--text-muted);
  font-variant-numeric:tabular-nums;
}
.row-comp b{color:var(--text); font-weight:600;}
.row-comp small{color:var(--text-faint);}
.row-card.has-comp{flex-wrap:wrap;}
.row-card.has-comp > .comp-alvo{flex:1 0 100%;}
.comp-alvo[hidden]{display:none;}
.row-comp-abrir{
  background:none; border:0; padding:0; margin-top:5px; cursor:pointer;
  font-size:11.5px; color:var(--accent); font-family:inherit; text-align:left;
}
.row-comp-abrir:hover{text-decoration:underline;}
@media (max-width: 640px){
  .row-comp{gap:4px 10px; font-size:11.5px;}
}
.row-card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-lg); box-shadow:var(--shadow-sm);
  padding:14px 18px;
  display:flex; align-items:center; gap:16px;
  transition:border-color .12s, box-shadow .12s;
}
.row-card:hover{border-color:var(--border-strong); box-shadow:var(--shadow-md);}
.row-card.is-crit{box-shadow:inset 3px 0 0 var(--crit), var(--shadow-sm);}
.row-card.is-warn{box-shadow:inset 3px 0 0 var(--warn), var(--shadow-sm);}
.thumb{
  position:relative; overflow:hidden;
  width:var(--row-thumb); height:var(--row-thumb); border-radius:12px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; font-size:.86rem;
  color:#fff; letter-spacing:.02em;
}
.thumb img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; background:#fff;   
  opacity:0; transition:opacity .15s ease;
}
.thumb img.loaded{opacity:1;}
.thumb.is-person{border-radius:50%;}
.row-main{flex:1; min-width:0;}
.row-title{font-weight:600; font-size:.94rem; line-height:1.3; margin-bottom:3px; overflow-wrap:anywhere;}
.row-meta{display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-size:.78rem; color:var(--text-faint);}
.row-meta .strong{color:var(--text-muted); font-weight:500;}
.row-meta .sep{opacity:.45;}
.row-meta{clip-path:inset(-8px 0);}
.row-meta > * + *{position:relative;}
.row-meta > * + *::before{
  content:"·"; position:absolute; right:100%; margin-right:3px;
  opacity:.45; pointer-events:none;
}
.row-meta.sem-separador > * + *::before{content:none;}
.stats{display:flex; gap:6px; flex-shrink:0;}
.stat{width:var(--row-stat); text-align:right;}
.stat.is-estreita{width:74px;}
.stat .k{
  display:block; font-family:var(--font-display);
  font-size:.64rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color:var(--text-faint); margin-bottom:2px;
}
.stat .v{
  display:block; font-size:.92rem; font-weight:700;
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
.stat .v.ok{color:var(--ok);} .stat .v.warn{color:var(--warn);} .stat .v.crit{color:var(--crit);}
.stat .v.sub{
  font-size:.7rem; font-weight:500; color:var(--text-faint);
  display:block; margin-top:1px; white-space:nowrap;
}
.badges{
  display:flex; flex-direction:column; align-items:flex-start; gap:5px;
  flex-shrink:0; width:var(--row-badges);
}
.row-actions{display:flex; flex-direction:column; gap:6px; flex-shrink:0;}
.chip{
  display:inline-flex; align-items:center; gap:5px;
  font-size:.71rem; font-weight:600; padding:4px 9px; border-radius:999px;
  white-space:nowrap;
}
.chip.ok{background:var(--ok-soft); color:var(--ok);}
.chip.warn{background:var(--warn-soft); color:var(--warn);}
.chip.crit{background:var(--crit-soft); color:var(--crit);}
.chip.idle{background:var(--idle-soft); color:var(--idle);}
.chip.accent{background:var(--accent-soft); color:var(--accent);}
.chip .dot{width:6px; height:6px; border-radius:50%; background:currentColor; flex-shrink:0;}
.chip{max-width:100%;}
.chip .rotulo{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.chip-quando{font-size:.68rem; color:var(--idle); line-height:1.2; padding-left:9px; max-width:100%;}
.list-foot{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-top:16px; padding:14px 18px; flex-wrap:wrap;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  font-size:.82rem; color:var(--text-muted);
}
.list-foot .grp{display:flex; align-items:center; gap:10px;}
.list-foot select{
  font-family:var(--font-ui); font-size:.82rem; padding:5px 10px;
  border-radius:var(--r-sm); border:1px solid var(--border-strong);
  background:var(--surface); color:var(--text);
}
.state{
  padding:44px 24px; text-align:center; color:var(--text-muted);
  background:var(--surface); border:1px dashed var(--border-strong); border-radius:var(--r-lg);
}
.state .st-title{font-family:var(--font-display); font-weight:700; color:var(--text); margin-bottom:5px;}
.state .st-desc{font-size:.86rem; max-width:46ch; margin:0 auto;}
.state.is-error{border-color:var(--crit); border-style:solid;}
.state.is-error .st-title{color:var(--crit);}
.skeleton{
  height:78px; border-radius:var(--r-lg); border:1px solid var(--border);
  background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);
  background-size:200% 100%; animation:sk 1.4s ease-in-out infinite;
}
@keyframes sk{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.notice{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:13px 18px; border-radius:var(--r-md); margin-bottom:18px;
  background:var(--warn-soft); color:var(--warn);
  font-size:.85rem; font-weight:500; flex-wrap:wrap;
}
.notice.is-crit{background:var(--crit-soft); color:var(--crit);}
.notice.is-info{background:var(--accent-soft); color:var(--accent);}
.notice .btn{flex-shrink:0;}
.notice > span, .notice > p, .notice > div{max-width:var(--texto-max);}
.tabs{display:flex; gap:4px; border-bottom:1px solid var(--border); margin-bottom:20px;}
.tabs button{
  appearance:none; background:transparent; border:none; cursor:pointer;
  font-family:var(--font-ui); font-size:.86rem; font-weight:600;
  color:var(--text-muted); padding:10px 16px;
  border-bottom:2px solid transparent; margin-bottom:-1px;
}
.tabs button.on{color:var(--accent); border-bottom-color:var(--accent);}
.tab-n{
  display:inline-block; margin-left:8px; padding:1px 7px; border-radius:999px;
  font-size:.72rem; font-weight:700; font-variant-numeric:tabular-nums;
  background:var(--surface-2); color:var(--text-muted); vertical-align:1px;
}
.tabs button.on .tab-n{background:var(--accent-soft); color:var(--accent);}
.tabs.is-rolavel{
  overflow-x:auto; scrollbar-width:none;
  border-bottom:0; box-shadow:inset 0 -1px 0 var(--border);
}
.tabs.is-rolavel::-webkit-scrollbar{display:none;}
.tabs.is-rolavel button{margin-bottom:0; white-space:nowrap; flex-shrink:0;}
.form-narrow{max-width:440px;}
.form-stack{display:flex; flex-direction:column; gap:16px;}
.perm-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px;}
.perm-card{background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-md); padding:14px 16px;}
.perm-card .pk{
  font-family:var(--font-code); font-size:.74rem; font-weight:500;
  color:var(--text-muted); margin-bottom:10px; display:block;
}
.seg3{display:flex; background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--r-sm); overflow:hidden;}
.seg3 button{
  flex:1; appearance:none; border:none; background:transparent; cursor:pointer;
  font-family:var(--font-ui); font-size:.72rem; font-weight:600; padding:7px 2px;
  color:var(--text-muted); white-space:nowrap;
}
.seg3 button.on{background:var(--accent-solid); color:var(--accent-on);}  
.seg3 button.on.lvl-read{background:var(--warn); color:#fff;}             
.seg3 button.on.lvl-none{background:var(--idle); color:#fff;}             
.spec-table{width:100%; border-collapse:collapse; font-size:.85rem;}
.spec-table th{
  text-align:left; font-family:var(--font-display); font-size:.68rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--text-faint);
  padding:8px 12px; border-bottom:1px solid var(--border);
}
.spec-table td{padding:10px 12px; border-bottom:1px solid var(--border); vertical-align:top;}
.spec-table tr:last-child td{border-bottom:none;}
.scroll-x{overflow-x:auto;}
@media (max-width:1080px){
  :root{--row-stat:92px; --row-badges:132px;}
}
@media (max-width:900px){
  .layout{grid-template-columns:1fr;}
  .sidebar{position:static; height:auto; border-right:none; border-bottom:1px solid var(--border);}
  .menu{flex-direction:row; flex-wrap:wrap; padding:0 12px 12px;}
  .menu-group-label, .menu-sep, .sidebar-foot{display:none;}
  .menu-item.sub{padding-left:12px;}
  .menu-item.neto{padding-left:12px;}
  .menu-item.neto::before{display:none;}
  .row-card{flex-wrap:wrap;}
  .stats{width:100%; justify-content:space-between;}
  .badges{width:auto; flex-direction:row;}
  .content{padding:20px 18px 60px;}
  .topbar{padding:0 18px;}
}
:root, :root[data-theme="dark"]{
  --panel:            var(--surface);
  --hover-bg:         var(--surface-2);
  --slate:            var(--text-muted);
  --slate-dark:       var(--text);
  --badge-ativo-bg:   var(--ok-soft);
  --badge-ativo-text: var(--ok);
  --badge-dev-bg:     var(--warn-soft);
  --badge-dev-text:   var(--warn);
  --error-bg:         var(--crit-soft);
  --error-text:       var(--crit);
  --seg-none-bg:      var(--idle-soft);
  --seg-none-text:    var(--idle);
  --seg-leitura-bg:   var(--warn-soft);
  --seg-leitura-text: var(--warn);
  --seg-edicao-bg:    var(--ok-soft);
  --seg-edicao-text:  var(--ok);
}
.segmented button.active{background:var(--surface); color:var(--text); box-shadow:var(--shadow-sm);}
.notice.is-ok{background:var(--ok-soft); color:var(--ok);}
.hint, .calc-nota, .card-head p, .dash-card-nota{max-width:var(--texto-max);}
.module-card{margin-bottom:16px;}
.module-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px;}
.module-head h3{font-size:1.08rem; font-weight:700; margin-bottom:3px;}
.module-head p{margin:0; color:var(--text-muted); font-size:.85rem;}
.row-card.is-compact{padding:12px 16px;}
.rows.is-nested{margin-left:34px;}
.thumb{background:var(--idle-soft); color:var(--idle);}
.thumb.is-person{background:var(--accent-soft); color:var(--accent);}
.stat.is-wide{width:170px; text-align:left;}
.stat.is-wide select{
  width:100%; font-family:var(--font-ui); font-size:.82rem;
  padding:5px 8px; border-radius:var(--r-sm);
  border:1px solid var(--border-strong); background:var(--surface); color:var(--text);
}
.row-card.is-inset{background:var(--surface-2);}
.brand .brand-curto{display:none;}
html[data-sidebar="collapsed"] .sidebar .brand{padding-left:0; padding-right:0; text-align:center;}
html[data-sidebar="collapsed"] .brand .brand-curto{display:inline;}
html[data-sidebar="collapsed"] .menu-item{justify-content:center; padding-left:0; padding-right:0;}
html[data-sidebar="collapsed"] .menu-item.sub{padding-left:0;}
html[data-sidebar="collapsed"] .menu-item.neto{padding-left:0;}
html[data-sidebar="collapsed"] .menu-item.neto::before{display:none;}
.filters-actions{flex-wrap:wrap;}
@media (max-width: 1300px){
  :root{--row-stat:92px; --row-badges:132px;}
}
.row-card{flex-wrap:wrap;}
.row-main{min-width:200px;}
.mobile-menu-btn{
  display:none;                      
  appearance:none; cursor:pointer;
  background:transparent; border:1px solid var(--border-strong);
  color:var(--text); border-radius:var(--r-md);
  padding:6px 10px; font-size:1rem; line-height:1;
}
.mobile-menu-btn:hover{background:var(--surface-2);}
.topbar-esq{display:flex; align-items:center; gap:12px; min-width:0;}
.sidebar-backdrop{display:none;}
@media (max-width: 900px){
  .sidebar{
    position:fixed; top:0; left:0; bottom:0; z-index:40;
    width:min(280px, 82vw); height:100vh; overflow-y:auto;
    border-right:1px solid var(--border); border-bottom:none;
    transform:translateX(-100%);
    transition:transform .2s ease;
  }
  html.mobile-menu-open .sidebar{transform:translateX(0);}
  .menu{flex-direction:column; flex-wrap:nowrap; padding:0 12px;}
  .menu-group-label, .menu-sep, .sidebar-foot{display:block;}
  .menu-item.sub{padding-left:34px;}
  .menu-item.neto{padding-left:52px;}
  .menu-item.neto::before{display:block;}
  .mobile-menu-btn{display:inline-flex; align-items:center;}
  .sidebar-backdrop{
    display:block; position:fixed; inset:0; z-index:39;
    background:color-mix(in srgb, var(--text) 45%, transparent);
    opacity:0; pointer-events:none; transition:opacity .2s ease;
  }
  html.mobile-menu-open .sidebar-backdrop{opacity:1; pointer-events:auto;}
  html.mobile-menu-open{overflow:hidden;}   
}
.rotulo-curto{display:none;}
@media (max-width: 560px){
  .rotulo-curto{display:inline;}
  .content{padding:16px 14px 56px;}
  .topbar{padding:0 14px; gap:10px;}
  .topbar h1{
    font-size:.95rem; min-width:0;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .topbar-right{gap:10px; flex-shrink:0;}
  .segmented button{padding:6px 9px;}
  .segmented button .label{display:none;}
  .user-chip .u-name{display:none;}
  .page-head .filters-actions{justify-content:flex-start;}
  .stats{flex-wrap:wrap; gap:10px 8px;}
  .stat{width:calc(50% - 4px); text-align:left;}
  .row-card{padding:12px 14px; gap:12px;}
  .list-foot{padding:12px 14px;}
  .page-head h2{font-size:1.25rem;}
  .page-head{gap:12px; margin-bottom:16px;}
  .badges{width:100%; flex-direction:row; flex-wrap:wrap; gap:6px;}
  .row-actions{width:100%; flex-direction:row; flex-wrap:wrap; gap:8px;}
  .row-actions .btn{flex:1 1 auto; justify-content:center;}
  .page-head .filters-actions{width:100%; flex-wrap:nowrap; gap:8px;}
  .page-head .filters-actions .btn{flex:1 1 0; min-width:0; justify-content:center; padding:8px 10px;}
  .rotulo-longo{display:none;}
}
@media (max-width: 900px){
  #btn-sidebar-toggle{display:none;}
}
.calc{
  margin:8px 0 8px 34px; padding:14px 16px;
  background:var(--surface); border:1px solid var(--border-strong);
  border-radius:var(--r-md); box-shadow:var(--shadow-md);
  max-width:380px;
}
.calc-cab{
  font-family:var(--font-display); font-size:.7rem; font-weight:700;
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--text-faint); margin-bottom:9px;
}
.calc-l{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:12px; font-size:.85rem; padding:4px 0;
}
.calc-l .r{color:var(--text-muted);}
.calc-l .v{font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap;}
.calc-l .v.neg{color:var(--crit);}
.calc-l .v.pos{color:var(--ok);}
.calc-l .v.aviso{color:var(--warn);}
.calc-l.sub{font-size:.75rem; padding:1px 0 4px;}
.calc-l.sub .r, .calc-l.sub .v{color:var(--text-faint); font-weight:500;}
.calc-l.parcial{border-top:1px solid var(--border-strong); margin-top:7px; padding-top:8px; font-size:.95rem;}
.calc-l.parcial .r{color:var(--text); font-weight:600;}
.calc-l.parcial .v{font-weight:800;}
.calc-etapa{margin-top:10px; padding-top:9px; border-top:1px dashed var(--border-strong);}
.calc-l.final{border-top:2px solid var(--border-strong); margin-top:7px; padding-top:9px; font-size:1rem;}
.calc-l.final .r{color:var(--text); font-weight:700;}
.calc-l.final .v{font-weight:800;}
.calc-l.final .v.ok{color:var(--ok);}
.calc-l.final .v.crit{color:var(--crit);}
.calc-nota{
  font-size:.74rem; color:var(--text-faint); margin-top:9px;
  padding-top:8px; border-top:1px solid var(--border); line-height:1.45;
}
.calc-nota strong{color:var(--text-muted);}
.calc-pq{
  display:grid; grid-template-columns:auto 1fr 1fr; gap:3px 10px;
  font-size:.75rem; margin-top:8px; padding-top:8px; border-top:1px solid var(--border);
}
.calc-pq .h{
  font-family:var(--font-display); font-size:.62rem; font-weight:700;
  letter-spacing:.07em; text-transform:uppercase; color:var(--text-faint);
}
.calc-pq .r{color:var(--text-muted);}
.calc-pq .v{font-weight:600; white-space:nowrap;}
.calc-pq .v.melhor{color:var(--ok);}
.calc-barra-bloco{margin-top:11px; padding-top:10px; border-top:1px solid var(--border);}
.calc-barra{display:flex; height:9px; border-radius:5px; overflow:hidden; background:var(--surface-3);}
.calc-barra span{display:block;}
.calc-barra .seg-custo{background:var(--idle);}
.calc-barra .seg-tarifa{background:var(--crit);}
.calc-barra .seg-envio{background:var(--warn);}
.calc-barra .seg-imposto{
  background:repeating-linear-gradient(-45deg,
    var(--idle), var(--idle) 5px, var(--surface-3) 5px, var(--surface-3) 10px);
}
.calc-barra .seg-prejuizo{
  background:repeating-linear-gradient(45deg,
    var(--crit), var(--crit) 3px, var(--crit-soft) 3px, var(--crit-soft) 6px);
}
.calc-barra .seg-indef{
  background:repeating-linear-gradient(45deg,
    var(--surface-3), var(--surface-3) 4px, var(--border-strong) 4px, var(--border-strong) 8px);
}
.calc-leg{display:flex; flex-wrap:wrap; gap:4px 12px; margin-top:8px; font-size:.71rem; color:var(--text-muted);}
.calc-leg i{display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:5px;}
.calc-leg b{font-variant-numeric:tabular-nums; font-weight:600; color:var(--text);}
.calc-leg .c-custo{background:var(--idle);}
.calc-leg .c-prejuizo{
  background:repeating-linear-gradient(45deg,
    var(--crit), var(--crit) 2px, var(--crit-soft) 2px, var(--crit-soft) 4px);
}
.calc-leg .c-tarifa{background:var(--crit);}
.calc-leg .c-envio{background:var(--warn);}
.calc-leg .c-imposto{
  background:repeating-linear-gradient(-45deg,
    var(--idle), var(--idle) 2px, var(--surface-3) 2px, var(--surface-3) 4px);
}
.calc-leg .c-indef{background:var(--border-strong);}
.calc-par{
  display:flex; flex-wrap:wrap; align-items:flex-start;
  gap:12px; margin:8px 0 8px 34px;
}
.calc-par > .calc{margin:0;}
@media (max-width: 900px){
  .calc-par{margin-left:0; gap:10px;}
  .calc-par > .calc{max-width:none; width:100%;}
}
.calc.is-simulador{border-color:var(--accent); background:var(--surface-2);}
.calc.is-simulador .calc-cab{color:var(--accent);}
.calc-edit{display:inline-flex; align-items:baseline; gap:4px;}
.calc-edit input{
  width:104px; text-align:right; padding:3px 7px;
  font-family:inherit; font-size:.85rem; font-weight:600;
  font-variant-numeric:tabular-nums;
  color:var(--text); background:var(--surface);
  border:1px solid var(--border-strong); border-radius:var(--r-sm);
}
.calc-edit input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent);}
.calc-modo{display:inline-flex; border:1px solid var(--border-strong); border-radius:var(--r-sm); overflow:hidden; margin-right:6px;}
.calc-modo button{
  background:var(--surface); border:none; padding:1px 7px;
  font:inherit; font-size:.7rem; font-weight:600;
  color:var(--text-muted); cursor:pointer;
}
.calc-modo button + button{border-left:1px solid var(--border-strong);}
.calc-modo button.on{background:var(--accent-solid); color:var(--accent-on);}
.calc-modo button:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
.link-quiet{
  background:none; border:none; padding:0; font:inherit;
  color:var(--accent); cursor:pointer; text-decoration:underline;
}
.link-quiet:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:2px;}
@media (max-width: 560px){
  .calc{margin-left:0; max-width:none;}
  .calc-edit input{width:92px;}
}
.camp-lista{
  display:grid;
  grid-template-columns:1fr auto auto auto auto auto 30px;
  gap:0 6px;
  margin:-4px 0 10px; padding-bottom:10px;
  border-bottom:1px solid var(--border);
}
.camp-cab, .camp-linha{
  display:grid; grid-column:1 / -1; grid-template-columns:subgrid;
  align-items:center; width:100%;
}
.camp-cab{
  font-family:var(--font-display); font-size:.58rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--text-faint);
  padding:0 6px 4px;
}
.camp-linha{
  background:none; border:1px solid transparent; border-radius:var(--r-sm);
  padding:5px 6px; font:inherit; font-size:.78rem; text-align:left;
  color:var(--text); cursor:pointer;
}
.camp-linha:hover{background:var(--surface-3);}
.camp-linha.is-escolhida{border-color:var(--accent); background:var(--accent-soft);}
.camp-linha:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
.camp-linha.is-atual{box-shadow:inset 2px 0 0 var(--idle);}
.camp-linha.is-melhor{box-shadow:inset 2px 0 0 var(--ok);}
.camp-nome{
  display:flex; align-items:center; gap:5px; min-width:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.camp-nome-texto{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0;}
.camp-estrela{color:var(--ok); flex-shrink:0;}
.camp-tag{
  flex-shrink:0; font-size:.62rem; font-weight:600;
  padding:1px 5px; border-radius:999px;
  background:var(--surface-3); color:var(--text-muted);
}
.camp-num{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap;}
.camp-num.ok{color:var(--ok);} .camp-num.crit{color:var(--crit);}
.camp-fio{grid-column:1 / -1; border-top:1px dashed var(--border); margin:5px 6px;}
@media (max-width: 560px){
  .camp-cab{display:none;}
  .camp-linha{grid-template-columns:1fr 1fr 1fr; gap:2px 6px;}
  .camp-linha .camp-nome{grid-column:1 / -1;}
}
.camp-num.is-piso{color:var(--text-faint);}
.camp-sug{color:var(--text-muted); border-left:1px solid var(--border); padding-left:6px;}
.camp-sug.is-vazio{color:var(--text-faint);}
.camp-linha{display:grid; padding:0; border:1px solid transparent;}
.camp-abrir{
  display:grid; grid-template-columns:subgrid; grid-column:1 / 7;
  align-items:center; gap:6px;
  background:none; border:none; padding:5px 6px;
  font:inherit; font-size:.78rem; text-align:left; color:var(--text); cursor:pointer;
}
.camp-abrir:focus-visible{outline:2px solid var(--accent); outline-offset:-2px; border-radius:var(--r-sm);}
.camp-aderir{
  justify-self:center; width:22px; height:22px; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--ok-soft); color:var(--ok);
  border:1px solid transparent; border-radius:var(--r-sm);
  font:inherit; font-size:.8rem; font-weight:700; cursor:pointer;
}
.camp-aderir:hover{background:var(--ok); color:var(--accent-on);}
.camp-aderir:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
.camp-aderir:disabled{opacity:.5; cursor:default;}
.camp-aderir.is-perigo{background:var(--crit-soft); color:var(--crit);}
.camp-aderir.is-perigo:hover{background:var(--crit); color:var(--accent-on);}
.camp-aderir.is-vazio{background:none; border:none; cursor:default;}
.camp-sair{
  justify-self:center; width:22px; height:22px; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--crit-soft); color:var(--crit);
  border:1px solid transparent; border-radius:var(--r-sm);
  font:inherit; font-size:.8rem; font-weight:700; cursor:pointer;
}
.camp-sair:hover{background:var(--crit); color:var(--accent-on);}
.camp-sair:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
.camp-sair:disabled{opacity:.5; cursor:default;}
.calc.is-simulador{max-width:640px;}
.calc-confirmar{
  margin-top:10px; padding:12px 14px;
  background:var(--surface-2); border:1px solid var(--accent); border-radius:var(--r-md);
}
.calc-confirmar.is-perigo{border-color:var(--crit);}
.calc-confirmar .calc-cab{color:var(--accent);}
.calc-confirmar.is-perigo .calc-cab{color:var(--crit);}
.calc-nota.is-ok{color:var(--ok);}
.calc-nota.is-erro{color:var(--crit);}
@media (max-width: 900px){
  .calc-par > .calc.is-simulador{max-width:none;}
}
@media (max-width: 560px){
  .camp-lista{display:block;}
  .camp-cab, .camp-linha{grid-column:auto; grid-template-columns:1fr 1fr 1fr 1fr 30px; gap:2px 6px;}
  .camp-abrir{grid-column:1 / 5;}
  .camp-sug{display:none;}
}
.menu-grupo > summary.menu-group-label{
  display:flex; align-items:center; justify-content:space-between;
  cursor:pointer; list-style:none; user-select:none;
  border-radius:var(--r-sm);
}
.menu-grupo > summary::-webkit-details-marker{display:none;}
.menu-grupo > summary::marker{content:'';}
.menu-grupo > summary:hover{color:var(--text-muted);}
.menu-grupo > summary:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
.menu-seta{
  font-size:.6rem; transition:transform .15s ease; opacity:.7;
}
.menu-grupo[open] > summary .menu-seta{transform:rotate(180deg);}
html[data-sidebar="collapsed"] .menu-grupo > summary{display:none;}
html[data-sidebar="collapsed"] .menu-grupo > .menu-item{display:flex;}
.menu-subgrupo > summary.menu-subgrupo-topo{
  cursor:pointer; list-style:none; user-select:none; gap:8px;
}
.menu-subgrupo > summary.menu-subgrupo-topo .label{
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.menu-subgrupo > summary::-webkit-details-marker{display:none;}
.menu-subgrupo > summary::marker{content:'';}
.menu-subgrupo > summary .menu-seta{margin-left:auto;}
.menu-subgrupo[open] > summary .menu-seta{transform:rotate(180deg);}
.menu-subgrupo > summary:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
html[data-sidebar="collapsed"] .menu-subgrupo > summary .label,
html[data-sidebar="collapsed"] .menu-subgrupo > summary .menu-seta{display:none;}
.camp-tag.is-futura{background:var(--warn-soft); color:var(--warn);}
.camp-linha.is-futura .camp-abrir{opacity:.85;}
.cor-campo{display:flex; align-items:center; gap:8px;}
.cor-campo input[type="color"]{
  width:46px; height:32px; padding:2px; cursor:pointer;
  background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--r-sm);
}
.cor-campo .code{font-size:.78rem; color:var(--text-muted);}
.lote-barra{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:12px; margin-bottom:16px;
}
.lote-selecao{display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--text-muted);}
.lote-resumo{display:flex; align-items:center; gap:8px; font-size:.85rem; color:var(--text-muted);}
.lote-resumo .strong{color:var(--ok);}
.lote-check{
  flex-shrink:0; width:var(--row-thumb);
  display:flex; align-items:center; justify-content:center;
}
.lote-check input{width:18px; height:18px; cursor:pointer; accent-color:var(--accent-solid);}
.row-card.is-selecionavel{cursor:pointer;}
.row-card.is-escolhido{border-color:var(--accent); background:var(--accent-soft);}
.row-card.shg{flex-direction:column; align-items:stretch; flex-wrap:nowrap; gap:0; padding:0;}
.shg-encerrar{margin-top:6px;}
.shg-cab{display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:14px 18px;}
.shg-vars{border-top:1px solid var(--border); background:var(--surface-2); border-radius:0 0 var(--r-lg) var(--r-lg);}
.shg-var{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:10px 18px;}
.shg-var + .shg-var, .shg-var + .calc-par + .shg-var{border-top:1px dashed var(--border-strong);}
.shg-var .row-main{min-width:170px;}
.shg-var .row-title{font-size:.86rem; margin-bottom:2px;}
.shg-var.is-fora .row-main, .shg-var.is-fora .stats, .shg-var.is-fora .badges{opacity:.5;}
.shg-var.is-escolhido{background:var(--accent-soft);}
.shg-vars .calc-par{margin:0 18px 10px 18px;}
.shg-vars .row-comp-abrir{margin-top:3px;}
.shg-cab .stat.shg-faixa{width:150px;}
.shg-fora-nota{color:var(--text-faint);}
.shg-var .stat{width:104px;}
.shg-var .stat.is-wide{width:190px; text-align:right;}
@media (max-width: 560px){
  .shg-cab{gap:12px; padding:12px 14px;}
  .shg-var{padding:10px 14px; gap:8px 10px;}
  .shg-var .row-main{flex:1 1 calc(100% - 40px); min-width:0;}
  .shg-var .stat, .shg-var .stat.is-wide{width:calc(50% - 4px); text-align:left;}
  .shg-var .stats{width:100%;}
  .shg-vars .calc-par{margin:0 14px 10px 14px;}
}
@media (max-width: 700px){
  .lote-barra{align-items:stretch;}
  .lote-barra > .btn{width:100%;}
  .lote-resumo{flex-direction:column; align-items:flex-start; gap:2px;}
  .lote-resumo .sep{display:none;}
}
.gc-tabs{margin-bottom:12px;}
.gc-sobre{margin-bottom:14px;}
.gc-fixo{
  position:sticky; top:var(--topbar-h); z-index:15;
  display:flex; flex-direction:column; gap:8px;
  margin:-8px 0 8px; padding:8px 0; background:var(--bg);
}
.gc-fixo .alvo-barra{position:static; margin-bottom:0;}
.gc-barra{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px;
  padding:8px 10px 8px 14px; border-radius:var(--r-md);
}
.gc-barra-sel{display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--text-muted);}
.gc-barra-sel input{width:18px; height:18px; margin:0; cursor:pointer; accent-color:var(--accent-solid);}
.gc-barra-sel label{cursor:pointer; color:var(--text); font-weight:500;}
.gc-barra-esp{flex:1 1 0; min-width:0;}
.gc-barra-acoes{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.gc-busca{
  flex:1 1 120px; min-width:120px; max-width:280px;
  font-family:var(--font-ui); font-size:.84rem; padding:6px 10px;
  border-radius:var(--r-md); border:1px solid var(--border-strong);
  background:var(--surface); color:var(--text);
}
.gc-busca::placeholder{color:var(--text-faint);}
.gc-busca:focus{outline:2px solid var(--accent); outline-offset:-1px; border-color:var(--accent);}
.row-card[hidden], .gc-negativas[hidden]{display:none;}
.gc-painel{scroll-margin-top:calc(var(--topbar-h) + 72px); scroll-margin-bottom:88px;}
.gc-rodape, .gc-rodape-espaco{display:none;}
.gc-escolha{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:4px;}
.gc-escolha select{
  max-width:100%; font:inherit; font-size:.78rem; padding:3px 6px;
  background:var(--surface-2); color:var(--text);
  border:1px solid var(--border-strong); border-radius:var(--r-sm);
}
.gc-escolha select:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
.gc-nota{font-size:.72rem; color:var(--text-faint);}
.gc-empate-linha{margin-top:6px;}
.gc-empate{
  display:inline-block; max-width:100%;
  padding:3px 10px; border-radius:999px;
  background:var(--warn-soft); color:var(--warn);
  font-size:.71rem; font-weight:600; line-height:1.4;
  white-space:normal;
}
.gc-empate.is-crit{background:var(--crit-soft); color:var(--crit);}
.gc-filtro-rotulo{font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--text-faint);}
@media (max-width: 700px){
  .gc-escolha select{width:100%;}
  .gc-fixo{position:static; margin:0 0 12px; padding:0; background:none;}
  .gc-barra{padding:7px 10px;}
  .gc-barra-acoes{display:none;}
  .gc-busca{flex:1 1 100%; min-width:0; max-width:none;}
  .gc-rodape{
    display:flex; align-items:center; gap:8px;
    position:fixed; left:0; right:0; bottom:0; z-index:30;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:var(--surface); border-top:1px solid var(--border);
    box-shadow:0 -6px 16px color-mix(in srgb, var(--text) 12%, transparent);
  }
  .gc-rodape-n{margin-right:auto; font-size:.82rem; color:var(--text-muted);}
  .gc-rodape-espaco{display:block; height:72px;}
  .gc-rodape{flex-wrap:wrap;}
  .gc-rodape-razao{flex:1 0 100%; font-size:.76rem; font-weight:600; color:var(--warn);}
  .gc-rodape-espaco.is-alto{height:104px;}
}
.calc-bloco{
  margin-top:12px; padding-top:10px;
  border-top:1px solid var(--border);
}
.calc-bloco .calc-cab{margin-bottom:6px;}
.gc-acao{display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px 10px;}
.gc-idade{font-size:.74rem; color:var(--text-faint); white-space:nowrap;}
.gc-espera{color:var(--warn);}
.faixa-bloco{border:1px solid var(--border); border-radius:8px; padding:14px 16px; margin-bottom:12px;}
.faixa-bloco:last-of-type{margin-bottom:0;}
.faixa-titulo{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:12px;
  font-size:.82rem; font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:var(--text-faint);}
.faixa-titulo .hint{text-transform:none; letter-spacing:0; font-weight:400;}
.gc-preco{display:flex; flex-direction:column; gap:4px; margin-top:8px;}
.gc-preco label{font-size:.7rem; font-weight:600; letter-spacing:.03em;
  text-transform:uppercase; color:var(--text-faint);}
.gc-preco input{width:130px; max-width:100%; font-variant-numeric:tabular-nums;
  font-family:var(--font-ui); font-size:.84rem; padding:5px 9px;
  border-radius:var(--r-sm); border:1px solid var(--border-strong);
  background:var(--surface); color:var(--text);}
.gc-preco input:focus{outline:2px solid var(--accent); outline-offset:-1px; border-color:var(--accent);}
.gc-preco input.is-crit{border-color:var(--crit);}
.gc-preco .gc-nota.crit{color:var(--crit);}
.menu-subgrupo-link{display:flex; align-items:center; gap:inherit; flex:1;
  min-width:0; color:inherit; text-decoration:none;}
.menu-subgrupo-link .label{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.menu-subgrupo-link.active{color:var(--accent); font-weight:600;}
.menu-subgrupo-topo{gap:10px;}
.dash-secao{margin:26px 0 10px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;}
.dash-secao h2{font-size:1.02rem; margin:0;}
.dash-secao-sub{font-size:.8rem; color:var(--text-faint);}
.dash-excel{margin-left:auto; display:inline-flex; align-items:center; gap:6px;}
.dash-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(228px,1fr)); gap:12px;}
.dash-card{padding:14px 16px; display:flex; flex-direction:column; gap:4px;}
.dash-card.is-destaque{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent) inset;}
.dash-card.is-perda{border-color:var(--crit); box-shadow:0 0 0 1px var(--crit) inset;}
.dash-card.is-perda .dash-card-v{color:var(--crit);}
.dash-card-k{font-size:.72rem; text-transform:uppercase; letter-spacing:.04em;
  color:var(--text-faint); font-weight:600;}
.dash-card-v{font-size:1.5rem; font-weight:650; line-height:1.15;}
.dash-card.is-destaque .dash-card-v{font-size:1.85rem;}
.dash-card-sub{font-size:.84rem; color:var(--text-faint);}
.dash-cmps{display:flex; flex-direction:column; gap:2px; margin-top:6px;}
.dash-cmp{display:flex; justify-content:space-between; gap:8px; font-size:.75rem;}
.dash-cmp-k{color:var(--text-faint);}
.dash-cmp-v.ok{color:var(--ok);} .dash-cmp-v.crit{color:var(--crit);}
.dash-cmp-v.idle{color:var(--text-faint);}
.dash-card-nota{font-size:.72rem; color:var(--text-faint); margin-top:6px; line-height:1.4;}
.dash-cards + .rows{margin-top:12px;}
@media (max-width:560px){
  .dash-cards{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
  .dash-card{padding:12px;}
  .dash-card-v{font-size:1.2rem;}
  .dash-card.is-destaque .dash-card-v{font-size:1.35rem;}
}
.dash-card.is-vazio{background:var(--surface-2); border-style:dashed;}
.dash-card.is-vazio .dash-card-v{color:var(--text-faint); font-weight:500;}
.dash-card-est{margin-bottom:2px;}
.dash-card-approx{color:var(--accent); font-weight:700;}
.dash-card-frase{
  display:inline-block; font-size:.95rem; font-weight:600; line-height:1.25;
  color:var(--text-muted); letter-spacing:0;
}
.dash-ausente{
  font-size:.75rem; color:var(--text-muted); line-height:1.5;
  background:var(--surface); border:1px dashed var(--border);
  border-radius:var(--r-md); padding:9px 12px; margin-top:10px;
}
.dash-ausente strong{color:var(--text);}
.dash-graficos{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.dash-graf{padding:14px 16px;}
.dash-graf h3{font-size:.86rem; margin:0 0 2px;}
.dash-graf-sub{font-size:.75rem; color:var(--text-faint); margin-bottom:10px;}
.dash-svg{width:100%; height:auto; display:block;}
.dash-grid{stroke:var(--border); stroke-width:1;}
.dash-grid.is-zero{stroke:var(--text-faint); stroke-width:1.2;}
.dash-eixo{fill:var(--text-faint); font-size:9px;}
.dash-linha{fill:none; stroke:var(--accent); stroke-width:2.2; stroke-linejoin:round;}
.dash-linha-ant{fill:none; stroke:var(--text-faint); stroke-width:1.4;
  stroke-dasharray:4 4; opacity:.7;}
.dash-ponto{fill:var(--accent);}
.dash-barras{display:flex; flex-direction:column; gap:7px;}
.dash-barra{display:grid; grid-template-columns:64px 1fr 96px; align-items:center;
  gap:8px; font-size:.8rem;
  position:relative;}
.dash-barra:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:6px;}
.dash-barra[tabindex]{cursor:help;}
.dash-trilho{background:var(--surface-2); border-radius:5px; height:14px; overflow:hidden;}
.dash-fill{display:block; height:100%; background:var(--accent); border-radius:5px;}
.dash-fill.is-ok{background:var(--ok);} .dash-fill.is-warn{background:var(--warn);}
.dash-fill.is-crit{background:var(--crit);}
.dash-barra-v{text-align:right; color:var(--text-faint);}
.dash-barras.is-duplo .dash-barra{grid-template-columns:64px 1fr 128px;}
.dash-barra-sub{display:block; font-size:.68rem; color:var(--text-faint); white-space:nowrap;}
.dash-dica-num{display:block; margin-top:4px; font-size:.72rem; color:var(--text-muted); white-space:nowrap;}
.dash-dica-txt{display:flex; flex-direction:column; min-width:0;}
.dash-graf-area{position:relative;}
.dash-svg{cursor:crosshair;}
.dash-agulha{stroke:var(--accent); stroke-width:1; stroke-dasharray:3 3; opacity:.5;}
.dash-ponto.is-ativo{fill:var(--accent); stroke:var(--surface); stroke-width:2;}
.dash-ponto-ant{fill:none; stroke:var(--text-faint); stroke-width:1.5;}
.dash-leitura{position:absolute; top:2px; z-index:20; transform:translateX(8px);
  min-width:132px; padding:7px 10px; pointer-events:none;
  background:var(--surface); border:1px solid var(--border); border-radius:8px;
  box-shadow:0 6px 18px rgba(0,0,0,.14);}
.dash-leitura.is-direita{transform:translateX(calc(-100% - 8px));}
.dash-leitura-dia{font-size:.68rem; text-transform:uppercase; letter-spacing:.04em;
  color:var(--text-faint); font-weight:600;}
.dash-leitura-v{font-size:1rem; font-weight:650; color:var(--text); line-height:1.3;}
.dash-leitura-sub{font-size:.72rem; color:var(--text-faint);}
.dash-leitura-ant{font-size:.7rem; color:var(--text-faint); margin-top:3px;
  padding-top:3px; border-top:1px solid var(--border);}
.dash-sku{position:relative; display:inline-block; cursor:default;}
.dash-sku:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:4px;}
.dash-dica{position:absolute; z-index:40; left:0; top:calc(100% + 6px);
  width:230px; padding:8px; display:flex; gap:8px; align-items:center;
  background:var(--surface); border:1px solid var(--border); border-radius:9px;
  box-shadow:0 8px 24px rgba(0,0,0,.16); pointer-events:none;}
.dash-dica img{width:44px; height:44px; flex:none; object-fit:cover;
  border-radius:6px; background:#fff;}
.dash-dica-t{font-size:.76rem; line-height:1.3; color:var(--text);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.dash-barra:nth-last-child(-n+3) .dash-dica{top:auto; bottom:calc(100% + 6px);}
.dash-cliente{margin-top:2px;}
.dash-cliente strong{color:var(--text);}
.dash-falta{color:var(--text-faint); font-style:italic;}
.row-card.is-negativa{border-left:3px solid var(--crit);}
.dash-alertas{display:flex; flex-direction:column; gap:8px;}
.dash-alerta{display:flex; align-items:center; gap:10px; padding:10px 14px;
  border-radius:9px; border:1px solid var(--border); background:var(--surface); font-size:.85rem;}
.dash-alerta-t{flex:1;}
.dash-alerta.is-crit{border-left:3px solid var(--crit);}
.dash-alerta.is-warn{border-left:3px solid var(--warn);}
.dash-aviso{border:1px solid var(--warn); background:var(--warn-soft); color:var(--warn);
  border-radius:10px; padding:12px 14px; margin-bottom:16px; font-size:.86rem; line-height:1.5;}
.dash-aviso strong{color:var(--warn);}
.stats-vgeral{gap:20px;}
.stats-vgeral .stat{width:132px;}
@media (max-width:700px){
  .stats-vgeral{width:100%; justify-content:space-between; gap:12px 20px;}
  .stats-vgeral .stat{width:auto; flex:1 1 40%;}
}
.dash-pizza-area{display:flex; gap:20px; align-items:center; flex-wrap:wrap;}
.dash-pizza-svg{flex:0 0 auto; width:168px; height:168px;}
.dash-pizza-legenda{flex:1 1 220px; min-width:200px; display:flex; flex-direction:column; gap:8px;}
.dash-pizza-item{display:flex; align-items:center; gap:8px; font-size:.84rem;}
.dash-pizza-cor{width:11px; height:11px; border-radius:3px; flex:0 0 auto;}
.dash-pizza-legenda{min-width:min(200px, 100%);}
.dash-pizza-nome{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dash-pizza-nome small{color:var(--text-faint); font-size:.75rem;}
.dash-pizza-modo{display:flex; justify-content:flex-start; margin-bottom:12px;}
@media (max-width:560px){
  .dash-pizza-area{justify-content:center;}
  .dash-pizza-legenda{flex-basis:100%;}
}
.dash-pizza-nome{flex:1; color:var(--text);}
.dash-pizza-v{color:var(--text-faint); text-align:right; white-space:nowrap;}
@media (max-width:900px){
  .dash-graficos{grid-template-columns:1fr;}
}
.gc-variacao{display:flex; align-items:center; gap:6px;}
.gc-variacao input{width:88px; font-variant-numeric:tabular-nums;}
.gc-negativas{margin-top:16px; border:1px solid var(--crit); border-radius:8px;
  background:var(--crit-soft);}
.gc-negativas > summary{display:flex; align-items:center; gap:10px; cursor:pointer;
  padding:12px 16px; list-style:none; user-select:none; border-radius:8px;}
.gc-negativas > summary::-webkit-details-marker{display:none;}
.gc-negativas > summary::marker{content:'';}
.gc-negativas > summary:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
.gc-neg-titulo{font-weight:600; font-size:.9rem; color:var(--crit);}
.gc-neg-seta{margin-left:auto; font-size:.7rem; opacity:.7; transition:transform .15s ease;}
.gc-negativas[open] > summary .gc-neg-seta{transform:rotate(180deg);}
.gc-neg-nota{padding:0 16px 12px; font-size:.82rem; color:var(--text-muted); max-width:80ch;}
.gc-negativas > .rows{padding:0 12px 12px;}
@media (max-width:700px){
  .gc-negativas > summary{flex-wrap:wrap; padding:12px;}
  .gc-neg-nota, .gc-negativas > .rows{padding-left:8px; padding-right:8px;}
}
@media (max-width:700px){ .gc-preco input{width:100%;} }
.calc-modal-fundo{position:fixed; inset:0; z-index:60; display:flex;
  align-items:center; justify-content:center; padding:24px;
  background:var(--sombra-modal); backdrop-filter:blur(2px);}
.calc-modal{background:var(--surface); border:1px solid var(--border); border-radius:12px;
  width:min(1240px, 100%); height:min(90vh, 940px); display:flex; flex-direction:column;
  overflow:hidden; box-shadow:0 18px 48px var(--sombra-modal);}
.calc-modal-topo{display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 16px; border-bottom:1px solid var(--border); font-weight:600; font-size:.9rem;}
.calc-modal-frame{flex:1; width:100%; border:0; background:var(--bg);}
@media (max-width:700px){
  .calc-modal-fundo{padding:0;}
  .calc-modal{width:100%; height:100%; border-radius:0; border:0;}
}
.calc-avulsa{padding:16px;}
.modo-calculadora{background:var(--bg);}
.modo-calculadora .page-head,
.modo-calculadora .filters,
.modo-calculadora .list-foot{display:none;}
@media (min-width: 900px){
  .modo-calculadora .calc-par{margin-left:0; flex-wrap:nowrap;}
  .modo-calculadora .calc-par > .calc{flex:1 1 0; min-width:0; max-width:none;}
}
@media (max-width: 700px){
  .gc-acao{justify-content:flex-start; width:100%;}
}
.gc-abrir{
  display:inline-flex; align-items:center; justify-content:center;
  appearance:none; background:none; border:0; padding:0; cursor:pointer;
  width:18px; height:18px; flex:none;
  color:var(--text-faint); border-radius:var(--r-sm);
  text-decoration:none;
}
.gc-abrir:hover{color:var(--accent); background:var(--accent-soft);}
.gc-abrir:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
.tab-n.gc-varrendo{font-weight:600; color:var(--accent); background:transparent;}
.tab-n.gc-nunca{font-weight:400; color:var(--text-faint);}
.conc-lista{display:flex; flex-direction:column; gap:6px; margin-top:4px;}
.conc-l{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:10px; padding:5px 7px; border-radius:var(--r-sm);
}
.conc-l.is-ganhador{background:var(--surface-2);}
.conc-id{min-width:0; display:flex; flex-direction:column; gap:2px;}
.conc-topo{display:flex; align-items:center; gap:6px; min-width:0;}
.conc-nome{
  font-size:.82rem; font-weight:600; color:var(--text);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.conc-l.is-ganhador .conc-nome{font-weight:800;}
.conc-meta{font-size:.71rem; color:var(--text-faint); line-height:1.35;}
.conc-preco{
  font-size:.84rem; font-weight:700; white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.conc-lista .chip{font-size:.66rem; padding:2px 7px; flex:none;}
.conc-mais{align-self:flex-start;}
.gc-ameaca{display:flex; flex-direction:column; align-items:flex-start; gap:3px;}
.gc-ameaca-quem{
  font-size:.71rem; color:var(--text-faint); max-width:100%;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
@media (max-width: 900px){
  .gc-ameaca{flex-direction:row; align-items:center; flex-wrap:wrap; gap:8px;}
}
.param-grupos{display:flex; flex-direction:column; gap:16px;}
.param-lista{display:flex; flex-direction:column; gap:22px;}
.param{
  display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:6px 28px; align-items:start;
}
.param > label{grid-column:1 / -1; display:flex; align-items:center; gap:8px; min-width:0;}
.param-ctrl{min-width:0;}
.param-desc{font-size:.82rem; color:var(--text-muted); line-height:1.55; max-width:78ch; overflow-wrap:anywhere;}
.param-desc.is-warn{color:var(--warn); font-weight:500;}
.param-padrao{font-size:.75rem; color:var(--text-faint); margin-top:6px;}
.param-ctrl .segmented{display:inline-flex;}
@media (max-width: 760px){
  .param{grid-template-columns:1fr;}
  .param-desc{font-size:.9rem; max-width:none;}
  .param-padrao{font-size:.8rem;}
}
.segmented button:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px;
}
.tray-imp{
  flex:1 1 100%; min-width:0;
  border-top:1px solid var(--border);
}
.sinc-grupo-rotulo{
  flex:1 1 100%; min-width:0;
  font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-faint); margin-top:10px;
}
.tray-imp > summary{
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  cursor:pointer; list-style:none; user-select:none;
  padding:10px 0 2px; font-size:.82rem;
}
.tray-imp > summary::-webkit-details-marker{display:none;}
.tray-imp > summary::marker{content:'';}
.tray-imp > summary:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:var(--r-sm);}
.tray-imp-rot{font-weight:600; color:var(--text-muted);}
.tray-imp-quando{font-size:.76rem; color:var(--text-faint); min-width:0;}
.tray-imp-seta{margin-left:auto; font-size:.62rem; opacity:.7; transition:transform .15s ease;}
.tray-imp[open] > summary .tray-imp-seta{transform:rotate(180deg);}
.tray-imp-corpo{display:flex; flex-direction:column; gap:14px; padding:12px 0 6px;}
.tray-imp-corpo .notice{margin-bottom:0;}
.tray-imp-corpo .filters-actions{justify-content:flex-start;}
.conta-autz{
  flex:1 1 100%; min-width:0;
  display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px;
  border-top:1px solid var(--border); padding:8px 0 0; font-size:.82rem;
}
.conta-autz-texto{flex:1 1 0; min-width:0;}
.conta-autz-btn{margin-left:auto;}
.conta-autz-aviso{flex:1 1 100%; margin:0;}
.conta-autz-escopos{flex:1 1 100%; min-width:0; font-size:.82rem;}
.conta-autz-escopos summary{cursor:pointer;}
.conta-autz-escopos .row-meta{margin-top:6px;}
@media (max-width: 700px){
  .conta-autz-texto{flex:1 1 100%;}
  .conta-autz-btn{flex:1 1 100%; justify-content:center; margin-left:0;}
  form.conta-autz-btn .btn{width:100%; justify-content:center;}
}
.tray-imp-campos{
  display:grid; grid-template-columns:auto minmax(0,340px);
  gap:14px 24px; align-items:start;
}
.tray-imp-corpo .segmented{display:inline-flex;}
.tray-imp[data-ligado="nao"] .tray-imp-canal{display:none;}
@media (max-width: 700px){
  .tray-imp-campos{grid-template-columns:1fr;}
  .tray-imp-corpo .filters-actions .btn{flex:1 1 auto; justify-content:center;}
  .tray-imp-quando{flex:1 1 100%;}
  .tray-imp-seta{margin-left:0; position:absolute; right:0; top:12px;}
  .tray-imp > summary{position:relative; padding-right:16px;}
}
.alvo-barra{
  position:sticky; top:8px; z-index:5;
  display:flex; align-items:flex-start; flex-wrap:wrap; gap:14px 22px;
  margin-bottom:12px;
  padding:14px 18px;
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);
}
.alvo-campo{display:flex; flex-direction:column; gap:4px;}
.alvo-acao{justify-content:flex-end; padding-top:calc(.72rem + 4px);}
.gc-nota.warn{color:var(--warn); font-weight:600;}
.alvo-campo > label{
  font-size:.72rem; font-weight:600; letter-spacing:.03em;
  text-transform:uppercase; color:var(--text-faint);
}
.alvo-campo input, .alvo-campo select{
  font-family:var(--font-ui); font-size:.86rem;
  padding:9px 12px; border-radius:var(--r-md);
  border:1px solid var(--border-strong);
  background:var(--surface); color:var(--text);
}
.alvo-campo input:focus, .alvo-campo select:focus{
  outline:2px solid var(--accent); outline-offset:-1px; border-color:var(--accent);
}
.alvo-campo input::placeholder{color:var(--text-faint);}
.alvo-campo select{min-width:min(320px, 70vw);}
.alvo-input{
  width:92px; font-variant-numeric:tabular-nums; text-align:right;
  font-weight:600;
}
.alvo-contas{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px;
  margin-left:auto; margin-top:18px;
}
.alvo-conta{display:inline-flex; align-items:center; gap:6px;}
.alvo-conta b{font-variant-numeric:tabular-nums; font-size:1.05rem;}
button.alvo-conta{
  appearance:none; background:none; border:0; padding:2px 4px; margin:-2px -4px;
  font:inherit; color:inherit; cursor:pointer; border-radius:6px;
}
button.alvo-conta:hover{background:var(--surface-2);}
button.alvo-conta:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
button.alvo-conta[aria-pressed="false"]{opacity:.55;}
button.alvo-conta[aria-pressed="false"] .chip{
  background:var(--surface-2); color:var(--text-muted);
}
button.alvo-conta[aria-pressed="true"] .chip{
  box-shadow:0 0 0 1px currentColor inset;
}
.alvo-erro{
  margin-left:auto; margin-top:18px;
  color:var(--crit); font-size:.85rem; font-weight:600;
}
.field label.gc-check{
  display:flex; align-items:flex-start; gap:8px;
  font-family:inherit; font-size:.9rem; font-weight:400;
  text-transform:none; letter-spacing:normal;
  color:var(--text); cursor:pointer; margin-bottom:0; padding-top:2px;
}
.field label.gc-check input{
  width:17px; height:17px; margin:1px 0 0; flex:none;
  cursor:pointer; accent-color:var(--accent-solid);
}
@media (max-width: 700px){
  .alvo-barra{position:static; align-items:stretch;}
  .alvo-campo select, .alvo-input{width:100%; min-width:0;}
  .alvo-input{text-align:left;}
  .alvo-contas{margin-left:0; width:100%; justify-content:space-between;}
}
.param-conta{margin-bottom:16px;}
.param-conta .field select{max-width:min(460px, 100%);}
.param-conta .field .hint{margin-top:0;}
.param-conta.card-pad{padding:12px 18px;}
.param-conta .field{margin:0;}
.param.is-travado{opacity:.62;}
.param.is-travado .param-desc strong{color:var(--text-muted);}
.param-herdar{
  display:inline-flex; align-items:center; gap:7px; margin-top:7px;
  font-size:.78rem; color:var(--text-muted); cursor:pointer;
}
.param-herdar input{
  width:14px; height:14px; margin:0; cursor:pointer; accent-color:var(--accent-solid);
}
.param-busca{
  position:sticky; top:var(--topbar-h); z-index:15;
  display:flex; flex-direction:column; gap:8px;
  margin:0 0 12px; padding:10px 0 10px; background:var(--bg);
  border-bottom:1px solid var(--border);
}
.param-busca-linha{display:flex; align-items:center; gap:14px;}
.param-busca-campo{position:relative; flex:1 1 auto; min-width:0; max-width:560px;}
.param-busca-campo input{
  width:100%; font-family:var(--font-ui); font-size:.9rem;
  padding:10px 38px 10px 12px; border-radius:var(--r-md);
  border:1px solid var(--border-strong); background:var(--surface); color:var(--text);
}
.param-busca-campo input::placeholder{color:var(--text-faint);}
.param-busca-campo input:focus{outline:2px solid var(--accent); outline-offset:-1px; border-color:var(--accent);}
.param-busca-campo input::-webkit-search-cancel-button{display:none;}
.param-busca-limpar{
  position:absolute; right:4px; top:50%; transform:translateY(-50%);
  width:30px; height:30px; border:0; border-radius:var(--r-md);
  background:transparent; color:var(--text-muted); cursor:pointer; font-size:.85rem;
}
.param-busca-limpar:hover{background:var(--surface-2); color:var(--text);}
.param-busca-limpar[hidden]{display:none;}
.param-contagem{font-size:.82rem; color:var(--text-muted); white-space:nowrap;}
.param-contagem strong{color:var(--text);}
.param-filtros{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.param-filtros select{
  max-width:240px; font-family:var(--font-ui); font-size:.78rem; font-weight:600;
  padding:6px 10px; border-radius:var(--r-md);
  border:1px solid var(--border-strong); background:var(--surface); color:var(--text);
}
.param-filtros .btn[hidden]{display:none;}
.param-filtros .filters-pill, .param-filtros select{flex:0 0 auto;}
.param[hidden], .param-grupo[hidden], .param-vazio[hidden], .param-nao-salvo[hidden]{display:none;}
.param{content-visibility:auto; contain-intrinsic-size:auto 150px;}
.param-grupo{scroll-margin-top:calc(var(--topbar-h) + 110px);}
::highlight(param-busca){background-color:var(--warn-soft); color:inherit;}
@media (max-width: 700px){
  .param-busca{padding:8px 0; gap:6px;}
  .param-busca-linha{flex-wrap:wrap; gap:4px 10px;}
  .param-busca-campo{flex:1 1 100%; max-width:none;}
  .param-contagem{font-size:.78rem; order:2;}
  .param-filtros{flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; padding-bottom:4px; margin:0 -2px; -webkit-overflow-scrolling:touch;}
}
.gc-dois-lados{display:inline-flex; align-items:center; gap:4px; white-space:nowrap;}
.gc-dois-lados .gc-sep{opacity:.45; margin:0 2px;}
.ped-card{--row-thumb:44px; padding:9px 16px; gap:14px;}
.ped-card .thumb{border-radius:10px;}
.ped-linha1{display:flex; align-items:baseline; gap:8px; min-width:0;
  white-space:nowrap; margin-bottom:2px;}
.ped-linha1 > *{flex:none;}
.ped-linha1 > .ped-cliente{flex:0 1 auto; min-width:0; overflow:hidden;
  text-overflow:ellipsis; font-weight:500; color:var(--text);}
.ped-linha1 > .ped-cliente.is-vazio{font-weight:400; font-size:.78rem; color:var(--text-faint);}
.ped-linha2{flex-wrap:nowrap; min-width:0;}
.ped-linha2 > *{flex:none; white-space:nowrap;}
.ped-linha2 > .ped-prod{flex:0 1 auto; min-width:0;}
.ped-prod-t{display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.ped-canal{display:inline-flex; align-items:center; gap:5px;}
@media (max-width:560px){ .ped-linha2 > .ped-canal{flex:0 1 auto; min-width:0; max-width:100%; overflow:hidden;} }
.ped-canal-logo{width:14px; height:14px; object-fit:contain; border-radius:3px; flex:none;}
.ped-card .stat .v.sub{overflow:hidden; text-overflow:ellipsis;}
.badges-pedidos{width:312px; flex-direction:row; flex-wrap:wrap; align-items:center; gap:6px;}
.ped-logi{flex:none; width:88px; display:flex;}
.badges-pedidos .status-sel{width:140px; flex:none;}
.badges-pedidos .status-erro{flex-basis:100%;}
.ped-porpagina{gap:8px; cursor:pointer;}
@media (min-width:901px) and (max-width:1300px){
  .ped-linha2{flex-wrap:wrap; row-gap:2px;}
  .ped-linha2 > .ped-prod{flex:1 1 100%;}
  .badges-pedidos{width:170px; row-gap:5px;}
  .ped-logi{width:auto;}
  .ped-logi:empty{display:none;}
  .badges-pedidos .status-sel{order:2; width:100%;}
  .badges-pedidos .status-erro{order:3;}
  .badges-pedidos .ped-situacao{order:4;}
}
.thumb-col{display:flex; flex-direction:column; align-items:center; gap:3px;
  flex-shrink:0; width:var(--row-thumb);}
.thumb-qtd{font-size:.74rem; font-weight:700; line-height:1.1; text-align:center;
  color:var(--text); white-space:nowrap;}
.status-sel{
  width:100%; max-width:100%;
  font-size:.71rem; font-weight:600; padding:4px 8px; border-radius:999px;
  border:1px solid var(--border); background:var(--surface); color:var(--text);
  cursor:pointer; text-overflow:ellipsis;
}
.status-sel:disabled{opacity:.6; cursor:progress;}
.status-erro{font-size:.68rem; color:var(--crit); line-height:1.3;}
.row-title-data{font-weight:400; font-size:.78rem; color:var(--text-faint);}
.tempo{
  display:flex; flex-wrap:wrap; gap:10px 22px;
  padding:12px 14px; border:1px solid var(--border); border-radius:10px;
  background:var(--surface-2);
}
.tempo-passo{display:flex; flex-direction:column; gap:2px; opacity:.5;}
.tempo-passo.is-feito{opacity:1;}
.tempo-rotulo{font-size:.72rem; text-transform:uppercase; letter-spacing:.04em;
  color:var(--text-muted); font-weight:600;}
.tempo-passo.is-feito .tempo-rotulo{color:var(--ok);}
.tempo-passo.is-ruim .tempo-rotulo{color:var(--crit);}
.tempo-quando{font-size:.8rem; color:var(--text);}
.det-grade{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px;
}
.det-grade h4, .form-stack section > h4{
  font-size:.78rem; text-transform:uppercase; letter-spacing:.04em;
  color:var(--text-muted); margin:0 0 8px;
}
.det-linhas{margin-bottom:6px;}
.det-endereco{font-size:.82rem; color:var(--text-muted); line-height:1.5; margin:6px 0 0;}
.det-somas{margin-top:10px; justify-content:flex-end;}
.det-status{margin-bottom:8px; max-width:280px;}
@media (max-width:700px){
  .badges-pedidos{width:100%; flex-direction:row; flex-wrap:wrap; align-items:center;}
  .badges-pedidos .status-sel{width:auto; max-width:100%; flex:1 1 160px;}
  .ped-logi{width:auto;}
  .ped-logi:empty{display:none;}
  .badges-pedidos .status-sel{order:0; min-width:0; flex:1 1 120px;}
  .tempo{gap:8px 16px;}
  .det-status{max-width:none;}
}
@media (max-width:560px){
  .ped-card{padding:12px 14px; gap:12px;}
  .ped-linha1{flex-wrap:wrap; row-gap:2px;}
  .ped-linha1 > .ped-cliente{max-width:100%;}
  .ped-linha2{flex-wrap:wrap; row-gap:2px;}
  .ped-linha2 > .ped-prod{flex:1 1 100%;}
}
.badges-status{width:240px;}
.row-card.is-inativo{opacity:.62;}
.form-status{margin:0 0 6px;}
@media (max-width:700px){
  .badges-status{width:100%; flex-direction:row; flex-wrap:wrap;}
}
.det-cab{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.det-cab p{margin:4px 0 12px;}
.fisc-tabela{width:100%; border-collapse:collapse; font-size:.82rem;}
.fisc-tabela th{
  text-align:left; font-family:var(--font-display); font-size:.66rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--text-faint);
  padding:7px 10px; border-bottom:1px solid var(--border); white-space:nowrap;
}
.fisc-tabela td{padding:7px 10px; border-bottom:1px solid var(--border); white-space:nowrap;}
.fisc-tabela tbody tr:hover{background:var(--surface-2);}
.fisc-tabela tr.is-sem-nota td,
.fisc-tabela tr.is-sem-nota strong{color:var(--text-faint);}
.fisc-tabela tr.is-sem-nota .chip{opacity:.55;}
.fisc-tabela td .fisc-seq-nota{white-space:normal; max-width:26ch; margin-left:auto;}
.fisc-tabela tfoot td{
  border-top:2px solid var(--border-strong); border-bottom:none;
  font-weight:700; background:var(--surface-2);
}
.fisc-tabela .n{text-align:right; font-variant-numeric:tabular-nums; letter-spacing:-.01em;}
.fisc-tabela .txt{white-space:normal; min-width:180px; max-width:420px;}
.fisc-grupo td{
  background:var(--surface-2); font-size:.7rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; padding:8px 10px;
}
.fisc-grupo .fisc-efeito{
  text-transform:none; letter-spacing:0; font-weight:500; color:var(--text-muted);
  margin-left:8px; font-size:.72rem;
}
.fisc-lacunas{
  border:1px solid var(--border-strong); background:var(--surface-2);
  border-radius:var(--r-md); padding:14px 16px; margin-bottom:16px;
}
.fisc-lacunas h3{font-size:.88rem; margin:0 0 6px;}
.fisc-lacunas-topo{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px;
  cursor:pointer;
}
.fisc-lacunas-topo:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:4px;}
.fisc-lacunas-seta{font-size:.76rem; font-weight:500; color:var(--text-faint); white-space:nowrap;}
.fisc-lacunas-resumo{
  margin:0 0 8px; font-size:.82rem; color:var(--text-muted); line-height:1.5;
}
.fisc-lacunas ul{margin:0; padding-left:18px; display:flex; flex-direction:column; gap:6px;}
.fisc-lacunas li{font-size:.84rem; color:var(--text-muted); line-height:1.5;}
.fisc-lacunas li strong{color:var(--text);}
.fisc-drop{
  border:2px dashed var(--border-strong); border-radius:var(--r-md);
  padding:30px 16px; text-align:center; background:var(--surface);
  transition:border-color .12s, background .12s;
}
.fisc-drop.is-sobre{border-color:var(--accent); background:var(--accent-soft);}
.fisc-drop-t{font-size:1rem; font-weight:700; margin-bottom:4px;}
.fisc-drop-s{font-size:.84rem; color:var(--text-muted); margin-bottom:12px;}
.fisc-detalhe{
  border:1px solid var(--accent); border-radius:var(--r-md);
  padding:14px 16px; margin:0 0 8px; background:var(--surface);
}
.fisc-detalhe h4{font-size:.86rem; margin:0 0 8px;}
.fisc-cpl{
  font-size:.78rem; color:var(--text-muted); line-height:1.5;
  overflow-wrap:anywhere; margin:8px 0 0;
}
.fisc-chave{font-family:var(--font-code); font-size:.74rem; overflow-wrap:anywhere;}
.fisc-arquivo{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px;}
.fisc-arquivo-txt{
  flex:1 1 220px; font-size:.78rem; line-height:1.45; color:var(--text-muted);
  overflow-wrap:anywhere;
}
.fisc-arquivo-txt strong{color:var(--text); font-weight:700;}
.fisc-arquivo-txt.is-warn strong{color:var(--warn);}
.fisc-arquivo-erro{flex-basis:100%; font-size:.78rem; color:var(--crit);}
.cce-lista{display:flex; flex-direction:column; min-width:0; max-width:100%; gap:4px; margin-top:8px; padding-top:8px; border-top:1px dashed var(--border); flex-basis:100%;}
.row-card > .row-main:has(.cce-lista){flex:1 1 30rem;}
.cce-linha{display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; font-size:.78rem; color:var(--text-muted); min-width:0;}
.cce-linha .cce-texto{flex:1 1 100px; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text);}
.cce-linha .btn{padding-top:2px; padding-bottom:2px;}
.cce-fundo{position:fixed; inset:0; z-index:60; display:flex; align-items:center; justify-content:center; padding:16px;
  background:color-mix(in srgb, var(--text) 45%, transparent);}
.cce-caixa{width:100%; max-width:640px; max-height:92vh; overflow-y:auto; box-shadow:var(--shadow-md);}
.cce-corpo{display:flex; flex-direction:column; gap:12px;}
.cce-corpo .notice, .cce-corpo .field{margin:0;}
.cce-par{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.cce-nanota{padding:7px 10px; border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface-2); font-size:.86rem; min-height:36px; overflow-wrap:anywhere;}
.cce-sefaz{margin:0; padding:10px 12px; border:1px solid var(--border-strong); border-radius:var(--r-md); background:var(--surface-2);
  font-family:var(--font-code); font-size:.8rem; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--text);}
.cce-vedados{font-size:.8rem; color:var(--text-muted); max-width:var(--texto-max);}
.cce-vedados ul{margin:6px 0 0; padding-left:18px; line-height:1.5;}
.cce-confirma{display:flex; gap:8px; align-items:flex-start; font-size:.86rem; color:var(--text);}
.cce-acoes{display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end;}
@media (max-width: 560px){
  .cce-par{grid-template-columns:1fr;}
  .fisc-arquivo .cce-linha .btn{flex:0 0 auto;}
  .cce-acoes .btn{flex:1 1 0; justify-content:center;}
  .cce-fundo{padding:8px;}
}
.fisc-devolucao{
  display:flex; flex-direction:column; gap:8px; margin-top:10px; padding:10px 12px;
  border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface-2);
}
.fisc-devolucao h5{margin:0; font-size:.82rem; display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px;}
.fisc-devolucao .fisc-arquivo{margin-top:0;}
.fisc-devolucao-motivo{margin:0; font-size:.8rem; color:var(--text-muted); overflow-wrap:anywhere; max-width:var(--texto-max);}
.fisc-devolve-a{margin:8px 0 0; font-size:.82rem; display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px;}
button.chip.fisc-selo-link{cursor:pointer; font-family:inherit; font-size:.71rem; font-weight:600; line-height:inherit; border:0;}
button.chip.fisc-selo-link:hover{text-decoration:underline;}
.fisc-detalhe.is-acao{display:flex; flex-direction:column; gap:10px;}
.fisc-detalhe.is-acao .notice, .fisc-detalhe.is-acao .det-cab, .fisc-detalhe.is-acao .calc-confirmar{margin:0;}
.fisc-detalhe.is-acao .fisc-cpl{margin:0;}
.fisc-acao-fatos{display:flex; flex-wrap:wrap; gap:4px 18px; font-size:.84rem; color:var(--text-muted);}
.fisc-acao-fatos b{color:var(--text-faint); font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; font-family:var(--font-display); font-weight:700; margin-right:4px;}
.fisc-acao-lista{margin:0; padding-left:18px; font-size:.8rem; line-height:1.5; color:var(--text-muted); max-width:var(--texto-max);}
.fisc-acao-campo{max-width:var(--texto-max);}
.fisc-acao-conf{margin:0 0 10px; font-size:.86rem; line-height:1.5; color:var(--text); max-width:var(--texto-max);}
@media (max-width: 560px){
  .fisc-detalhe.is-acao .filters-actions{width:100%;}
  .fisc-detalhe.is-acao .filters-actions .btn{flex:1 1 0; justify-content:center;}
  .fisc-acao-fatos{flex-direction:column;}
}
@media (max-width: 560px){
  .fisc-arquivo-txt{flex-basis:100%;}
  .fisc-arquivo .btn{flex:1 1 0; justify-content:center;}
}
.fisc-pacote{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:0 0 16px;}
.fisc-pacote-txt{
  flex:1 1 22rem; min-width:0; max-width:var(--texto-max);
  font-size:.84rem; line-height:1.5; color:var(--text-muted);
}
.fisc-pacote-txt strong{color:var(--text); font-weight:700;}
.fisc-pacote-txt .is-warn{color:var(--warn); font-weight:600;}
.fisc-pacote .filters-actions{margin-left:auto; flex-wrap:nowrap;}
@media (max-width: 560px){
  .fisc-pacote .filters-actions{width:100%;}
  .fisc-pacote .filters-actions .btn{flex:1 1 0; justify-content:center;}
}
.fisc-fat{font-size:.78rem; font-weight:700; color:var(--text); white-space:normal; line-height:1.35;}
.fisc-fat.is-nulo{font-weight:500; font-style:italic; color:var(--text-faint);}
.fisc-fat.is-nulo a{font-style:normal; font-weight:600;}
.row-title-data .fisc-fat{font-size:inherit;}
.fisc-series-linha{display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin-top:2px;}
.fisc-series-linha .btn{margin-left:-10px;}
.fisc-series{border-left:3px solid var(--accent);}
.fisc-series-sug .btn{margin:2px 0;}
.fisc-marca{align-self:center;}
.row-card.is-marcado{border-color:var(--accent);}
.fisc-sel-teto{font-size:.78rem; color:var(--warn); font-weight:600;}
@media (max-width: 700px){
  .fisc-marca{min-width:44px; min-height:44px; justify-content:center; margin:-8px 0 -8px -8px;}
  .fisc-marca input{width:20px; height:20px;}
}
.fisc-sintese .fisc-filial{white-space:normal; min-width:200px;}
.fisc-sintese .fisc-filial .code{white-space:nowrap;}
.fisc-sintese .fisc-filial .chip{margin-top:2px;}
.fisc-sintese td.n{white-space:nowrap;}
.fisc-sintese .fisc-filial-nome{
  display:block; font-size:.74rem; color:var(--text-muted); margin-top:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:210px;
}
.fisc-saldo{
  display:flex; flex-direction:column; align-items:flex-end; gap:2px;
}
.fisc-saldo-v{font-weight:700; font-size:.92rem; font-variant-numeric:tabular-nums;}
.fisc-saldo-v.is-devedor{color:var(--crit);}
.fisc-saldo-v.is-credor{color:var(--ok);}
.fisc-saldo-r{
  font-family:var(--font-display); font-size:.62rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; padding:1px 7px; border-radius:999px;
}
.fisc-saldo-r.is-devedor{color:var(--crit); background:var(--crit-soft);}
.fisc-saldo-r.is-credor{color:var(--ok); background:var(--ok-soft);}
.fisc-chip-apos{margin-left:6px;}
.fisc-valor-com-chip{display:inline-flex; align-items:center; white-space:nowrap;}
.fisc-saldo-conta{
  font-size:.7rem; color:var(--text-faint); font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.fisc-tabela tbody tr.is-credor td:first-child{box-shadow:inset 3px 0 0 var(--ok);}
.fisc-tabela tbody tr.is-semmov td{color:var(--text-faint);}
.fisc-cobertura-topo{
  display:flex; gap:10px; align-items:center; justify-content:space-between;
  flex-wrap:wrap; cursor:pointer; user-select:none; margin-bottom:10px;
  font-size:.8rem; font-weight:700; color:var(--text);
}
.fisc-cobertura-topo:focus-visible{
  outline:2px solid var(--accent); outline-offset:3px; border-radius:4px;
}
.fisc-cobertura{
  display:flex; gap:10px; align-items:flex-start;
  background:var(--warn-soft); border:1px solid var(--border);
  border-left:3px solid var(--warn);
  border-radius:var(--r-sm, 6px); padding:10px 12px; margin:0 0 12px;
  font-size:.8rem; color:var(--text-muted); line-height:1.5;
}
.fisc-cobertura.is-ok{background:var(--ok-soft); border-left-color:var(--ok);}
.fisc-cobertura strong{color:var(--text);}
.fisc-cobertura-ic{font-size:1rem; line-height:1.2;}
:root{
  --serie-1:#2f56d9; --serie-2:#0f7a4f; --serie-3:#9a6100;
  --serie-4:#7b3fb5; --serie-5:#0e7490; --serie-6:#6b7484;
}
html[data-theme="dark"]{
  --serie-1:#8fa8ff; --serie-2:#3ecf8e; --serie-3:#f2b544;
  --serie-4:#c79bf0; --serie-5:#4cc6e0; --serie-6:#8b93a2;
}
@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]){
    --serie-1:#8fa8ff; --serie-2:#3ecf8e; --serie-3:#f2b544;
    --serie-4:#c79bf0; --serie-5:#4cc6e0; --serie-6:#8b93a2;
  }
}
.fisc-pizza-topo{
  display:flex; gap:10px; align-items:center; justify-content:space-between;
  flex-wrap:wrap; margin-bottom:12px;
  font-family:var(--font-display); font-size:.8rem; font-weight:700;
}
.fisc-pizza-area{
  display:flex; gap:22px; align-items:center; flex-wrap:wrap;
}
.fisc-pizza-svg{width:200px; height:200px; flex:0 0 auto;}
.fisc-pizza-fatia{
  stroke:var(--surface); stroke-width:1.5; cursor:default;
  transition:opacity .12s ease;
}
.fisc-pizza-fatia.is-apagada{opacity:.3;}
.fisc-pizza-legenda{
  flex:1 1 260px; display:flex; flex-direction:column; gap:5px; min-width:240px;
}
.fisc-pizza-item{
  display:flex; align-items:center; gap:8px; font-size:.8rem;
  padding:3px 6px; border-radius:4px;
}
.fisc-pizza-item.is-ativo{background:var(--surface-2);}
.fisc-pizza-bolinha{
  width:10px; height:10px; border-radius:3px; flex:0 0 auto;
}
.fisc-pizza-uf{font-weight:700; min-width:34px;}
.fisc-pizza-val{
  margin-left:auto; font-variant-numeric:tabular-nums; color:var(--text-muted);
}
.fisc-pizza-pct{
  font-variant-numeric:tabular-nums; font-weight:700; min-width:46px; text-align:right;
}
.fisc-pizza-outros{
  font-size:.74rem; color:var(--text-faint); margin:8px 0 0;
}
.fisc-tabela th.is-ordenavel{cursor:pointer; user-select:none; white-space:nowrap;}
.fisc-tabela th.is-ordenavel:hover{color:var(--accent);}
.fisc-tabela th.is-ordenavel:focus-visible{
  outline:2px solid var(--accent); outline-offset:-2px;
}
.fisc-tabela th.is-ordenando{color:var(--accent);}
.fisc-ord-seta{
  font-size:.6rem; margin-left:3px; opacity:.35;
}
.fisc-tabela th.is-ordenando .fisc-ord-seta{opacity:1;}
@media (max-width:900px){
  .fisc-sintese thead{display:none;}
  .fisc-sintese, .fisc-sintese tbody, .fisc-sintese tfoot,
  .fisc-sintese tr, .fisc-sintese td{display:block; width:100%;}
  .fisc-sintese tr{
    border-bottom:1px solid var(--border); padding:10px 0;
  }
  .fisc-sintese tr:last-child{border-bottom:0;}
  .fisc-sintese td{
    border:0; padding:3px 0; white-space:normal; text-align:left;
  }
  .fisc-sintese td[data-rotulo]{
    display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  }
  .fisc-sintese td[data-rotulo]::before{
    content:attr(data-rotulo);
    font-family:var(--font-display); font-size:.64rem; font-weight:700;
    letter-spacing:.06em; text-transform:uppercase; color:var(--text-faint);
    padding-top:3px; flex:0 0 auto;
  }
  .fisc-sintese .fisc-saldo{
    align-items:flex-end; flex:1 1 auto; min-width:0; text-align:right;
  }
  .fisc-sintese .fisc-saldo-conta{white-space:normal;}
  .fisc-sintese .fisc-filial-nome{max-width:100%; white-space:normal;}
  .fisc-tabela tbody tr.is-credor td:first-child{box-shadow:none;}
  .fisc-sintese tbody tr.is-credor{
    box-shadow:inset 3px 0 0 var(--ok); padding-left:9px;
  }
  .fisc-sintese tfoot tr{
    border-top:2px solid var(--border-strong); border-bottom:0; padding-top:12px;
  }
}
@media (max-width:700px){
  .fisc-badges{width:100%; flex-direction:row; flex-wrap:wrap; align-items:center;}
  .fisc-lacunas ul{padding-left:16px;}
  .fisc-tabela{font-size:.78rem;}
  .fisc-tabela th, .fisc-tabela td{padding:6px 8px;}
  .fisc-pizza-area{gap:14px;}
  .fisc-pizza-svg{width:160px; height:160px; margin:0 auto;}
  .fisc-pizza-legenda{min-width:0; flex-basis:100%;}
  .fisc-cobertura{font-size:.76rem;}
}
.ficha{display:flex; flex-direction:column; gap:18px;}
.ficha .page-head{margin-bottom:0;}
.ficha-head{min-width:0;}
.ficha-ids{display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px;}
.ficha .page-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.ficha-card-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.ficha-campos{display:flex; flex-direction:column; gap:20px;}
.ficha-campo{display:flex; flex-direction:column; gap:8px; min-width:0;}
.ficha-campo-cab{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px;}
.ficha-rotulo{
  font-family:var(--font-display); font-size:.7rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; color:var(--text-faint);
}
.ficha-dica{font-size:.8rem; color:var(--text-muted);}
.ficha-vazio{color:var(--text-faint); font-style:italic;}
.ficha-texto{max-width:62ch; font-size:.92rem; line-height:1.6; color:var(--text); overflow-wrap:anywhere;}
.ficha-titulo{font-size:1.02rem; font-weight:600;}
.ficha-descricao{
  background:var(--surface-2); border:1px solid var(--border);
  border-radius:var(--r-md); padding:14px 18px;
}
.ficha-descricao > :first-child{margin-top:0;}
.ficha-descricao > :last-child{margin-bottom:0;}
.ficha-descricao p{margin:0 0 .8em;}
.ficha-descricao h4{font-size:.95rem; font-weight:700; margin:1.1em 0 .4em;}
.ficha-descricao ul, .ficha-descricao ol{margin:0 0 .8em; padding-left:1.3em;}
.ficha-descricao li{margin:0 0 .25em;}
.ficha-descricao blockquote{margin:0 0 .8em; padding-left:12px; border-left:3px solid var(--border-strong); color:var(--text-muted);}
.ficha-fotos{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
  gap:14px; padding:0 24px 22px;
}
.ficha-foto{margin:0; display:flex; flex-direction:column; gap:6px; min-width:0;}
.ficha-foto a{
  display:block; aspect-ratio:1 / 1; background:var(--surface-2);
  border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden;
}
.ficha-foto a:hover{border-color:var(--accent);}
.ficha-foto a:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.ficha-foto img{width:100%; height:100%; object-fit:contain; display:block;}
.ficha-foto.is-removida{opacity:.55;}
.ficha-foto figcaption{display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; font-size:.74rem; color:var(--text-muted);}
.ficha-foto-ordem{font-weight:700; color:var(--text);}
.ficha-foto-medida{flex-basis:100%; font-size:.72rem; color:var(--text-faint);}
.ficha-atributos th{
  width:34%; text-align:left; font-weight:600; color:var(--text-muted);
  padding:10px 12px; border-bottom:1px solid var(--border); vertical-align:top;
}
.ficha-stats{flex-wrap:wrap; gap:18px 28px; justify-content:flex-start;}
.ficha-stats .stat{width:auto; min-width:var(--row-stat); text-align:left; display:flex; flex-direction:column; gap:4px; align-items:flex-start;}
.ficha-resumo{white-space:nowrap;}
.ficha-card-acoes{display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end;}
.ficha-edicao{display:flex; flex-direction:column; gap:18px;}
.ficha-edicao .field textarea{resize:vertical; line-height:1.5;}
.ficha-edicao-barra{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px;
  border-top:1px solid var(--border); padding-top:14px;
}
.ficha-edicao-erro{flex-basis:100%; margin-bottom:0;}
.ficha-lista-edicao{display:flex; flex-direction:column; gap:8px;}
.ficha-linha-edicao{display:flex; align-items:center; gap:8px; min-width:0;}
.ficha-linha-edicao input{flex:1 1 0; min-width:0; width:auto;}
.ficha-linha-par input:first-child{flex:0 1 34%;}
.ficha-acrescentar{align-self:flex-start; margin-top:8px;}
.ficha-pre{white-space:pre-line;}
.ficha-pares{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:16px 24px;}
.ficha-seletores{margin-bottom:0; align-items:start;}
.ficha-seletor input{margin-bottom:8px;}
.ficha-seletor select[size]{padding:4px;}
.ficha-seletor select[size] option{padding:5px 8px; border-radius:var(--r-sm, 4px);}
.ficha-editor{display:flex; flex-direction:column; gap:8px; min-width:0;}
.ficha-editor-barra{display:flex; flex-wrap:wrap; gap:6px;}
.ficha-editor-area{min-height:220px; max-height:60vh; overflow-y:auto; cursor:text;}
.ficha-editor-area:focus{outline:2px solid var(--accent); outline-offset:1px;}
.ficha-foto-quadro{
  aspect-ratio:1 / 1; background:var(--surface-2);
  border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden;
}
.ficha-foto-quadro img{width:100%; height:100%; object-fit:contain; display:block;}
.ficha-foto.is-saindo .ficha-foto-quadro{opacity:.4; border-style:dashed; border-color:var(--crit);}
.ficha-foto.is-saindo .ficha-foto-ordem{color:var(--crit);}
.ficha-foto-botoes{display:flex; flex-wrap:wrap; gap:4px;}
.ficha-foto-botoes .btn{padding-left:8px; padding-right:8px;}
.ficha-fotos-fora-cab{padding-top:0; padding-bottom:10px;}
.ficha-envio{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px;}
.fmg-corpo{display:flex; flex-direction:column; gap:18px; min-width:0;}
.fmg-corpo .notice{margin-bottom:0;}
.fmg-linha{display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px;}
.fmg-centro{justify-content:center; margin-top:12px;}
.fmg-escopo{
  display:flex; flex-direction:column; gap:4px; padding:12px 14px; border-radius:var(--r-md);
  background:var(--surface-2); font-size:.84rem; color:var(--text-muted);
}
.fmg-escopo > div{max-width:var(--texto-max);}
.fmg-escopo strong{color:var(--text);}
.fmg-gasto{display:flex; flex-wrap:wrap; gap:6px 8px;}
.fmg-bloco{display:flex; flex-direction:column; gap:10px; min-width:0;}
.fmg-sub{font-size:.95rem; font-weight:700; margin:0;}
.fmg-gerador{display:flex; flex-direction:column; gap:14px; padding:16px; border:1px solid var(--border); border-radius:var(--r-lg); min-width:0;}
.fmg-gerador-topo{display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px;}
.fmg-rotulo-linha{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 12px; margin-bottom:8px;}
.fmg-refs{display:flex; flex-wrap:wrap; gap:8px;}
.fmg-ref{
  position:relative; width:68px; height:68px; padding:0; cursor:pointer; overflow:hidden;
  border:2px solid var(--border); border-radius:var(--r-md); background:var(--surface-2);
}
.fmg-ref img{width:100%; height:100%; object-fit:contain; display:block;}
.fmg-ref:hover{border-color:var(--border-strong);}
.fmg-ref.is-on{border-color:var(--accent);}
.fmg-ref:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.fmg-ref-n{
  position:absolute; left:3px; bottom:3px; font-size:.65rem; font-weight:700; line-height:1;
  padding:2px 5px; border-radius:999px; background:var(--surface); color:var(--text);
}
.fmg-ref-ok{
  position:absolute; right:3px; top:3px; width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:.7rem;
  background:var(--accent-solid); color:var(--accent-on);
}
.fmg-sem-ref{padding:24px 18px;}
.fmg-prompt textarea{resize:vertical; line-height:1.5;}
.fmg-opcoes{display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 18px;}
.fmg-opcao{width:140px;}
.fmg-opcao-larga{flex:1 1 260px; width:auto;}
.fmg-estimativa{display:flex; flex-direction:column; gap:6px; padding:12px 14px; border-radius:var(--r-md); background:var(--surface-2); font-size:.86rem;}
.fmg-estimativa .notice{margin-top:4px;}
.fmg-est-itens{display:flex; flex-wrap:wrap; gap:2px 16px; margin:0; padding:0; list-style:none; font-size:.8rem; color:var(--text-muted);}
.fmg-acoes{display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.fmg-acoes .btn-primary{margin-left:auto;}
.fmg-motivo{margin-top:-6px;}
.fmg-roteiro{display:flex; flex-direction:column; gap:12px; padding-top:4px; min-width:0;}
.fmg-roteiro-topo{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px;}
.fmg-cenas{display:flex; flex-direction:column; gap:10px; margin:0; padding:0; list-style:none;}
.fmg-cena{display:flex; flex-direction:column; gap:10px; padding:12px; border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface); min-width:0;}
.fmg-cena.tem-erro{border-color:var(--crit);}
.fmg-cena-topo{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 10px;}
.fmg-cena-corpo{display:grid; grid-template-columns:130px minmax(0, 1fr); gap:12px 16px; align-items:start;}
.fmg-cena-ref{display:flex; flex-direction:column; gap:8px;}
.fmg-ref-mini{aspect-ratio:1 / 1; border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface-2); overflow:hidden; display:flex; align-items:center; justify-content:center;}
.fmg-ref-mini img{width:100%; height:100%; object-fit:contain; display:block;}
.fmg-cena-campos{display:flex; flex-direction:column; gap:10px; min-width:0;}
.fmg-cena-linha{display:grid; grid-template-columns:minmax(0, 1fr) 110px; gap:10px 14px;}
.fmg-cena .field textarea{resize:vertical; line-height:1.45;}
.fmg-erro-campo{font-size:.8rem; font-weight:600; color:var(--crit);}
.fmg-and{display:flex; flex-direction:column; gap:10px; padding:14px; border:1px solid var(--border); border-radius:var(--r-lg); min-width:0;}
.fmg-and.is-falha{border-color:var(--crit);}
.fmg-and-topo{display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:6px 12px; font-size:.86rem;}
.fmg-barra{height:8px; border-radius:999px; background:var(--surface-2); overflow:hidden;}
.fmg-barra i{display:block; height:100%; background:var(--warn); transition:width .3s;}
.fmg-etapas{display:flex; flex-wrap:wrap; gap:6px;}
.fmg-galeria-topo{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px;}
.fmg-galeria{display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:14px; margin:0; padding:0; list-style:none;}
.fmg-item{display:flex; flex-direction:column; gap:8px; padding:10px; border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface); min-width:0;}
.fmg-thumb{
  position:relative; display:block; width:100%; aspect-ratio:1 / 1; padding:0; cursor:pointer; overflow:hidden;
  border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface-2);
}
.fmg-thumb img{width:100%; height:100%; object-fit:contain; display:block;}
.fmg-thumb:hover{border-color:var(--accent);}
.fmg-thumb:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.fmg-item.st-reprovado .fmg-thumb{opacity:.55;}
.fmg-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:.9rem; padding-left:3px;
  background:var(--surface); color:var(--text); border:1px solid var(--border-strong); box-shadow:var(--shadow-sm);
}
.fmg-item-info{display:flex; flex-direction:column; gap:4px; min-width:0; overflow-wrap:anywhere;}
.fmg-item-acoes{display:flex; flex-wrap:wrap; gap:6px;}
.fmg-baixar{display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0;}
.fmg-baixar[open]{flex-basis:100%;}
.fmg-baixar > summary{list-style:none; cursor:pointer;}
.fmg-baixar > summary::-webkit-details-marker{display:none;}
.fmg-baixar[open] > summary{background:var(--surface-2);}
.fmg-baixar-lista{align-self:stretch; display:flex; flex-direction:column; gap:2px; margin:0; padding:6px; list-style:none;
  border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface); font-size:.84rem;}
.fmg-baixar-lista a{display:block; padding:6px 8px; border-radius:var(--r-sm, 6px); color:var(--accent); text-decoration:none; overflow-wrap:anywhere;}
.fmg-baixar-lista a:hover{background:var(--surface-2);}
.fmg-baixar-lista a:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
.fmg-baixar-lista .tnum{color:var(--text-muted);}
.fmg-publicado{flex-direction:column; align-items:flex-start; gap:2px;}
.fmg-publicado .chip{max-width:100%; white-space:normal; height:auto; min-height:22px;}
.fmg-item .btn{white-space:normal; text-align:center;}
.fmg-item .notice{margin-bottom:0; padding:8px 10px; font-size:.78rem;}
.fmg-painel{display:flex; flex-direction:column; gap:8px; padding:10px; border-radius:var(--r-md); background:var(--surface-2); font-size:.84rem;}
.fmg-painel .field input{background:var(--surface);}
.fmg-lista-confere{margin:0; padding-left:1.2em; font-size:.82rem; color:var(--text-muted);}
.fmg-canais{display:flex; flex-wrap:wrap; gap:6px 14px;}
.fmg-selos{display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; min-width:0;}
.fmg-selo{border:1px solid transparent; cursor:pointer; font-family:inherit; line-height:1.2; text-align:left;}
.fmg-selo:hover{border-color:currentColor;}
.fmg-selo:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.fmg-selo.is-aberto{border-color:currentColor;}
.fmg-selo-ic{font-size:.8rem; line-height:1; flex-shrink:0;}
.fmg-selo .rotulo{white-space:normal; overflow:visible; text-overflow:clip;}
.fmg-publicar{display:flex; flex-direction:column; gap:12px; padding:16px; border:1px solid var(--border); border-radius:var(--r-lg); min-width:0;}
.fmg-publicar .notice{margin-bottom:0;}
.fmg-alvos{display:flex; flex-direction:column; gap:8px; min-width:0;}
.fmg-alvos .row-card{align-items:center;}
.fmg-alvo-check{width:18px; height:18px; flex:none; accent-color:var(--accent);}
.fmg-alvo-nome{font-weight:600; font-size:.9rem; overflow-wrap:anywhere;}
.fmg-alvos .badges{flex-direction:column; align-items:flex-start; gap:4px;}
.fmg-dialogo{width:min(520px, 100%);}
.fmg-dialogo-corpo{display:flex; flex-direction:column; gap:12px; padding:16px; overflow:auto; font-size:.9rem;}
.fmg-faixa{display:flex; align-items:center; gap:8px; padding:0 24px 20px; overflow-x:auto;}
.fmg-faixa-item{
  position:relative; flex:none; width:56px; height:56px; padding:0; cursor:pointer; overflow:hidden;
  border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface-2);
}
.fmg-faixa-item img{width:100%; height:100%; object-fit:cover; display:block;}
.fmg-faixa-item:hover{border-color:var(--accent);}
.fmg-faixa-item:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.fmg-faixa-item .fmg-play{width:22px; height:22px; font-size:.55rem; padding-left:1px;}
.fmg-faixa-ponto{position:absolute; right:3px; top:3px; width:9px; height:9px; border-radius:50%; border:2px solid var(--surface);}
.fmg-faixa-ponto.ok{background:var(--ok);}
.fmg-faixa-ponto.warn{background:var(--warn);}
.fmg-faixa-ponto.crit{background:var(--crit);}
.fmg-visor{
  display:flex; flex-direction:column; width:min(960px, 100%); max-height:92vh; overflow:hidden;
  background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:0 18px 48px var(--sombra-modal);
}
.fmg-visor-midia{overflow:auto; display:flex; justify-content:center; padding:12px; background:var(--bg);}
.fmg-visor-midia img, .fmg-visor-midia video{max-width:100%; max-height:76vh; display:block;}
@media (max-width:700px){
  .fmg-faixa{padding:0 16px 16px;}
  .card-pad.fmg-corpo{padding:16px;}
  .fmg-gerador{padding:12px;}
  .fmg-ref{width:56px; height:56px;}
  .fmg-cena-corpo{grid-template-columns:minmax(0, 1fr);}
  .fmg-cena-ref{flex-direction:row; align-items:flex-end;}
  .fmg-cena-ref .fmg-ref-mini{width:64px; flex:none;}
  .fmg-cena-ref .field{flex:1 1 auto; min-width:0;}
  .fmg-galeria{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
  .fmg-publicar{padding:12px;}
  .fmg-alvos .row-card{flex-wrap:wrap;}
  .fmg-alvos .row-main{flex:1 1 calc(100% - 40px);}
  .fmg-alvos .badges{flex-direction:row; flex-wrap:wrap; width:100%;}
  .fmg-alvos .row-actions{flex-direction:row; width:100%;}
  .fmg-item{padding:8px;}
  .fmg-acoes .btn{flex:1 1 auto; justify-content:center;}
  .fmg-acoes .btn-primary{margin-left:0;}
  .fmg-opcao{width:100%;}
  .fmg-visor{max-height:100vh; border-radius:0; border:0; width:100%; height:100%;}
}
@media (prefers-reduced-motion:reduce){ .fmg-barra i{transition:none;} }
@media (max-width:700px){
  .ficha-fotos{grid-template-columns:repeat(2, minmax(0, 1fr)); padding:0 16px 18px; gap:10px;}
  .ficha-card-head{flex-direction:column;}
  .ficha-atributos th{width:40%;}
  .ficha-descricao{padding:12px 14px;}
  .ficha-card-acoes{justify-content:flex-start;}
  .ficha-linha-par{flex-wrap:wrap; padding-bottom:10px; border-bottom:1px solid var(--border);}
  .ficha-linha-par input:first-child{flex:1 1 100%;}
  .ficha-editor-area{max-height:50vh;}
}
.ficha-origens{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:10px 16px; box-shadow:var(--shadow-sm);
}
.ficha-origens-texto{flex:1 1 280px; font-size:.84rem; color:var(--text-muted); max-width:var(--texto-max);}
.ficha-origens-botoes{display:flex; flex-wrap:wrap; gap:8px;}
.ficha-origens .btn.is-ativo{border-color:var(--accent); color:var(--accent);}
.ficha-cmp .notice{margin-bottom:0;}
.ficha-cmp-resumo{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; font-size:.85rem; color:var(--text-muted);}
.ficha-cmp-atalhos{display:flex; flex-wrap:wrap; gap:6px;}
.ficha-cmp-lista{display:flex; flex-direction:column; border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden;}
.ficha-cmp-linha{
  display:grid; grid-template-columns:minmax(170px, 230px) minmax(0, 1fr) minmax(0, 1fr);
  gap:8px 20px; padding:12px 14px; align-items:start; min-width:0;
}
.ficha-cmp-linha + .ficha-cmp-linha{border-top:1px solid var(--border);}
.ficha-cmp-linha.is-diferente{box-shadow:inset 3px 0 0 var(--warn);}
.ficha-cmp-linha.is-marcada{background:var(--accent-soft);}
.ficha-cmp-lista.is-iguais .ficha-cmp-linha{opacity:.72;}
.ficha-cmp-campo{display:grid; grid-template-columns:auto minmax(0, 1fr); gap:2px 8px; align-items:start; min-width:0; cursor:pointer;}
.ficha-cmp-campo input{margin:2px 0 0;}
.ficha-cmp-campo input:disabled + .ficha-rotulo{color:var(--text-faint);}
.ficha-cmp-tray{grid-column:2; font-size:.72rem; color:var(--text-faint);}
.ficha-cmp-lado{display:flex; flex-direction:column; gap:4px; min-width:0;}
.ficha-cmp-lado-k{font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--text-faint);}
.ficha-cmp-texto{font-size:.9rem; line-height:1.5; overflow-wrap:anywhere; max-width:var(--texto-max);}
.ficha-cmp-html{display:flex; flex-direction:column; gap:4px; min-width:0;}
.ficha-cmp-rolagem{max-height:180px; overflow:auto; font-size:.84rem; padding:10px 12px;}
.ficha-cmp-pares{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:3px; font-size:.85rem; overflow-wrap:anywhere;}
.ficha-cmp-k{font-weight:600; color:var(--text-muted);}
.ficha-cmp-motivo{grid-column:1 / -1; font-size:.8rem; color:var(--text-muted); max-width:var(--texto-max);}
.ficha-cmp-grupo > summary{cursor:pointer; font-size:.85rem; color:var(--text-muted); padding:4px 0;}
.ficha-cmp-grupo > summary:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.ficha-cmp-grupo[open] > summary{margin-bottom:8px;}
.ficha-cmp-fotos{display:flex; flex-direction:column; gap:10px;}
.ficha-cmp-modos{display:flex; flex-wrap:wrap; gap:8px 20px;}
.ficha-cmp-modo{display:inline-flex; align-items:center; gap:6px; font-size:.88rem; cursor:pointer;}
.ficha-fotos.ficha-cmp-galeria{padding:0;}
.ficha-cmp-foto-marca{display:inline-flex; align-items:center; gap:4px; font-size:.78rem; cursor:pointer;}
.ficha-cmp-fotos-tray{border:1px solid var(--border); border-radius:var(--r-md);}
.ficha-cmp-fotos-lista{grid-column:1 / -1;}
.ficha-cmp-fotos-lista ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px;}
.ficha-cmp-fotos-lista li{display:grid; grid-template-columns:44px auto auto minmax(0, 1fr); align-items:center; gap:8px; font-size:.8rem;}
.ficha-cmp-fotos-lista img{width:44px; height:44px; object-fit:contain; background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-sm);}
.ficha-cmp-fotos-lista .ficha-dica{overflow-wrap:anywhere;}
.ficha-corpo{
  margin:0; max-height:320px; overflow:auto; white-space:pre; font-size:.78rem; line-height:1.45;
  background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-md); padding:12px 14px;
}
@media (max-width:700px){
  .ficha-origens{padding:10px 12px;}
  .ficha-origens-botoes{width:100%;}
  .ficha-origens-botoes .btn{flex:1 1 0; justify-content:center;}
  .ficha-cmp-linha{grid-template-columns:minmax(0, 1fr); gap:8px; padding:12px;}
  .ficha-cmp-fotos-lista li{grid-template-columns:44px minmax(0, 1fr); }
  .ficha-cmp-fotos-lista li .ficha-dica{grid-column:1 / -1;}
}
.ficha-medidas-grade{grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); margin-bottom:0;}
.ficha-medidas-grade .field input{font-variant-numeric:tabular-nums;}
.ficha-conta{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px;
  font-size:.86rem; color:var(--text-muted); padding:10px 12px;
  background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-md);
}
.ficha-conta-num{font-weight:600; color:var(--text);}
.ficha-conta-difere{color:var(--warn); font-weight:600;}
.ideia-btn-barra{flex-shrink:0;}
@media (max-width:560px){ .ideia-btn-barra{display:none;} }
.menu-ideia-celular{display:none;}
@media (max-width:900px){
  .menu-ideia-celular{
    display:flex; margin-bottom:6px;
    border:1px dashed var(--border-strong); color:var(--text);
  }
}
.menu-ideias > .label:not(.menu-contadores),
.menu-com-contador > .label:not(.menu-contadores){flex:1; min-width:0;}
.menu-contadores{display:inline-flex; gap:4px; margin-left:auto; flex-shrink:0;}
.menu-cont{
  min-width:20px; padding:1px 6px; border-radius:999px; text-align:center;
  font-size:.7rem; font-weight:700; font-variant-numeric:tabular-nums; line-height:1.5;
}
.menu-cont.is-crit{background:var(--crit); color:var(--surface);}
.menu-cont.is-warn{background:var(--warn-soft); color:var(--warn);}
.menu-cont.is-ok{background:var(--ok); color:var(--surface);}
.calc-modal.ideia-modal{width:min(1040px, 100%); height:auto; max-height:min(92vh, 960px);}
html.ideia-modal-aberto{overflow:hidden;}
.ideia-modal-corpo{
  flex:1; min-height:0; overflow-y:auto; padding:18px 20px;
  display:grid; grid-template-columns:minmax(0, 1fr) 280px; gap:22px; align-items:start;
}
.ideia-form{display:flex; flex-direction:column; gap:14px;}
.ideia-form .field{margin:0;}
.ideia-form textarea, .ideia-form-acao textarea{resize:vertical; min-height:56px;}
.ideia-opcional{font-weight:400; color:var(--text-faint); text-transform:none; letter-spacing:0;}
.ideia-seg{width:max-content; max-width:100%;}
.ideia-defeito-aviso{margin:0;}
.ideia-defeito-aviso[hidden]{display:none;}
.ideia-modal-pe{
  display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap;
  padding:12px 20px; border-top:1px solid var(--border);
}
.ideia-modal-msg{margin-right:auto; font-size:.84rem; color:var(--text-muted); max-width:var(--texto-max);}
.ideia-modal-msg.is-erro, .ideia-acao-msg.is-erro{color:var(--crit); font-weight:600;}
.ideia-enviada{grid-column:1 / -1;}
.ideia-ja{
  display:flex; flex-direction:column; gap:10px; padding:14px;
  background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-md);
}
.ideia-ja-t{font-weight:700; font-size:.86rem;}
.ideia-ja-t .tab-n{margin-left:6px;}
.ideia-ja-lista{display:flex; flex-direction:column; gap:10px;}
.ideia-ja-item{display:flex; flex-direction:column; gap:3px; padding-bottom:10px; border-bottom:1px solid var(--border);}
.ideia-ja-item:last-child{border-bottom:0; padding-bottom:0;}
.ideia-ja-titulo{font-size:.86rem; font-weight:600; overflow-wrap:anywhere;}
.ideia-ja-vazio, .ideia-ja-nota{margin:0; font-size:.8rem; color:var(--text-muted);}
@media (max-width:860px){
  .ideia-modal-corpo{grid-template-columns:minmax(0, 1fr);}
}
@media (max-width:700px){
  .calc-modal.ideia-modal{height:100%; max-height:none;}
  .ideia-modal-corpo{padding:14px;}
  .ideia-modal-pe{padding:10px 14px;}
  .ideia-modal-pe .btn{flex:1 1 auto; justify-content:center;}
  .ideia-modal-msg{flex:1 0 100%;}
}
.ideia-prints{display:flex; flex-direction:column; gap:10px;}
.ideia-prints-caixa{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:12px 14px; border:1px dashed var(--border-strong); border-radius:var(--r-md);
  font-size:.84rem; color:var(--text-muted); background:var(--surface);
}
.ideia-prints-caixa.is-sobre{border-color:var(--accent); background:var(--accent-soft);}
.field .ideia-prints-escolher, .ideia-prints-escolher{
  display:inline; margin:0; font-size:inherit; text-transform:none; letter-spacing:0;
  color:var(--accent); font-weight:600; cursor:pointer;
}
.ideia-prints-escolher:hover{text-decoration:underline;}
.ideia-prints-conta{font-size:.78rem; color:var(--text-faint);}
.ideia-prints-lista{display:flex; flex-wrap:wrap; gap:10px;}
.ideia-prints-lista:empty{display:none;}
.ideia-print{
  position:relative; width:112px; height:72px; border-radius:var(--r-sm);
  border:1px solid var(--border); background:var(--surface-2); overflow:hidden;
}
.ideia-print img{width:100%; height:100%; object-fit:cover; display:block;}
.ideia-print.is-erro{border-color:var(--crit);}
.ideia-print-msg{
  position:absolute; left:0; right:0; bottom:0; padding:2px 6px;
  font-size:.66rem; background:var(--surface); color:var(--text-muted);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ideia-print.is-erro .ideia-print-msg{color:var(--crit);}
.ideia-print-tirar{
  position:absolute; top:3px; right:3px; width:22px; height:22px; border-radius:50%;
  border:1px solid var(--border-strong); background:var(--surface); color:var(--text);
  cursor:pointer; line-height:1; font-size:.9rem;
}
@media (hover:none){ .ideia-prints .so-teclado{display:none;} }
.ideia-cab-resumo{margin-top:8px;}
.ideia-faixa-defeito{align-items:flex-start;}
.ideia-faixa-texto{display:flex; flex-direction:column; gap:4px;}
.ideia-faixa-link{color:inherit; font-weight:600; text-decoration:underline;}
.ideia-num{font-size:.82rem; color:var(--text-muted);}
.ideia-autor{color:var(--text); font-weight:600;}
.ideia-meta-crit{color:var(--crit); font-weight:600;}
.ideia-novidade{color:var(--accent);}
.ideia-resumo{
  margin:6px 0 0; font-size:.84rem; color:var(--text-muted); max-width:var(--texto-max);
  overflow-wrap:anywhere;
}
.ideia-thumb{background:var(--surface-2); color:var(--text-faint);}
.ideia-card.is-aberta{border-color:var(--accent);}
.ideia-det{
  margin-top:12px; padding-top:14px; border-top:1px solid var(--border);
  display:flex; flex-direction:column; gap:16px; min-width:0;
}
.ideia-det[hidden]{display:none;}
.ideia-perguntas{
  margin:0; display:grid; grid-template-columns:200px minmax(0, 1fr); gap:8px 16px;
}
.ideia-perguntas dt{font-size:.78rem; font-weight:700; color:var(--text-faint); padding-top:2px;}
.ideia-perguntas dd{margin:0;}
.ideia-texto{font-size:.88rem; line-height:1.5; max-width:var(--texto-max); overflow-wrap:anywhere;}
.ideia-bloco{display:flex; flex-direction:column; gap:8px; min-width:0;}
.ideia-bloco-t{font-size:.78rem; font-weight:700; color:var(--text-faint); overflow-wrap:anywhere;}
.ideia-bloco-t a{font-weight:500;}
.ideia-nota{margin:0; font-size:.8rem; color:var(--text-muted); max-width:var(--texto-max);}
.ideia-galeria{display:flex; flex-wrap:wrap; gap:10px;}
.ideia-galeria a{display:block; border:1px solid var(--border); border-radius:var(--r-sm); overflow:hidden; background:var(--surface-2);}
.ideia-galeria img{display:block; width:180px; height:112px; object-fit:cover;}
.ideia-erros{gap:8px;}
.ideia-erros .row-card{padding:10px 14px;}
.ideia-juntadas{margin:0; padding-left:18px; font-size:.86rem;}
.ideia-historico{list-style:none; margin:0; padding:0 0 0 14px; border-left:2px solid var(--border-strong); display:flex; flex-direction:column; gap:12px;}
.ideia-ev{position:relative; display:flex; flex-direction:column; gap:4px;}
.ideia-ev::before{
  content:""; position:absolute; left:-20px; top:5px; width:10px; height:10px; border-radius:50%;
  background:var(--surface); border:2px solid var(--border-strong);
}
.ideia-ev-implementou::before{border-color:var(--ok); background:var(--ok-soft);}
.ideia-ev-analise::before{border-color:var(--accent);}
.ideia-ev-quando{font-size:.74rem; color:var(--text-faint);}
.ideia-ev-o-que{font-size:.88rem; display:flex; flex-wrap:wrap; align-items:center; gap:6px;}
.ideia-ev-extra{font-size:.82rem; color:var(--text-muted); overflow-wrap:anywhere;}
.ideia-acoes{display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding-top:4px; border-top:1px dashed var(--border);}
.ideia-acoes-adm{display:inline-flex; flex-wrap:wrap; gap:8px; align-items:center; margin-left:auto;}
.ideia-so-adm{font-size:.72rem; color:var(--text-faint);}
.ideia-form-acao{
  display:flex; flex-direction:column; gap:12px; padding:14px;
  background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-md);
}
.ideia-form-acao[hidden]{display:none;}
.ideia-form-acao .field{margin:0;}
.ideia-form-acao .field-grid{margin:0;}
.ideia-form-acao .field[hidden]{display:none;}
.ideia-form-botoes{display:flex; justify-content:flex-end; gap:8px;}
.ideia-acao-msg{font-size:.84rem; color:var(--text-muted);}
.ideia-acao-msg:empty{display:none;}
.ideia-vazio-btn{margin-top:12px;}
@media (max-width:560px){
  .ideia-perguntas{grid-template-columns:minmax(0, 1fr); gap:2px;}
  .ideia-perguntas dd{margin-bottom:8px;}
  .ideia-galeria img{width:140px; height:88px;}
  .ideia-acoes-adm{margin-left:0;}
  .ideia-acoes .btn, .ideia-form-botoes .btn{flex:1 1 auto; justify-content:center;}
}
@media (prefers-reduced-motion:reduce){ .ideia-card, .ideia-det{transition:none;} }
.aviso-impl{padding:20px 32px 0; max-width:var(--content-max); width:100%;}
.aviso-impl + .content{padding-top:14px;}
.aviso-impl .notice{margin:0; align-items:center;}
.aviso-impl-texto{display:flex; flex-direction:column; gap:4px;}
.aviso-impl-link{color:inherit; font-weight:600; text-decoration:underline;}
@media (max-width:900px){
  .aviso-impl{padding:16px 18px 0;}
  .aviso-impl + .content{padding-top:12px;}
}
@media (max-width:560px){
  .aviso-impl{padding:12px 14px 0;}
  .aviso-impl .notice{padding:10px 12px 10px 14px; gap:10px; flex-wrap:nowrap;}
  .aviso-impl-texto{flex:1; min-width:0;}
  .aviso-impl .notice .btn{flex:none;}
}
.planej-grupo{
  display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap;
  gap:4px 16px; padding:12px 2px 6px; border-bottom:1px solid var(--border);
}
.rows > .planej-grupo:first-child{padding-top:0;}
.planej-grupo-nome{font-size:.86rem; font-weight:700; color:var(--text);}
.planej-grupo-meta{font-size:.78rem; font-weight:500; color:var(--text-muted);}
.planej-grupo-meta a{color:var(--accent);}
.planej-faixa{font-size:.76rem;}
.planej-faixa .planej-zero{color:var(--text-faint);}
.planej-faixa-full{display:contents;}
.planej-faixa-rot{color:var(--text-faint);}
.planej-segs{display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin-bottom:12px;}
.planej-multi{position:relative;}
.planej-multi > summary{
  list-style:none; cursor:pointer; font-size:.86rem; padding:9px 12px;
  border-radius:var(--r-md); border:1px solid var(--border-strong);
  background:var(--surface); color:var(--text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.planej-multi > summary::-webkit-details-marker{display:none;}
.planej-multi[open] > summary{border-color:var(--accent);}
.planej-multi-lista{
  margin-top:4px; max-height:260px; overflow:auto; padding:6px 10px;
  border:1px solid var(--border-strong); border-radius:var(--r-md);
  background:var(--surface);
}
.planej-multi-lista .check{padding:5px 0;}
.planej-multi-limpar{margin-top:6px; font-size:.78rem;}
.planej-resumo{margin-bottom:10px;}
.planej-matriz th:first-child, .planej-matriz td:first-child{
  position:sticky; left:0; background:var(--surface); z-index:1;
}
.planej-matriz tfoot td{font-weight:700;}
.planej-matriz td:first-child{white-space:normal; min-width:16ch; max-width:26ch;}
@media (max-width:560px){
  .planej-grupo{padding-top:10px;}
  .planej-grupo-meta{font-size:.74rem;}
  .planej-extra, .planej-grupo-prazo{display:none;}
}
.pl-barra{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:14px;}
.pl-barra .pl-espaco{flex:1 1 auto;}
.pl-alvo{display:inline-flex; align-items:center; gap:6px; font-size:.8rem; color:var(--text-muted);}
.pl-alvo .pl-in{width:64px;}
.pl-in{
  display:block; width:100%; max-width:96px; margin-left:auto;
  font-family:var(--font-ui); font-size:.84rem; font-variant-numeric:tabular-nums; text-align:right;
  padding:5px 8px; border-radius:var(--r-sm);
  border:1px solid var(--border-strong); background:var(--surface); color:var(--text);
}
.pl-in:focus{outline:2px solid var(--accent); outline-offset:-1px; border-color:var(--accent);}
.pl-in.is-mudou{border-color:var(--accent);}
.pl-in:disabled{opacity:.5;}
.stat .pl-in + .pl-in{margin-top:4px;}
.pl-cab{display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:12px 16px;}
.pl-cab .row-title{font-size:1.05rem;}
.pl-acoes{display:flex; flex-wrap:wrap; gap:8px;}
.pl-form{display:flex; flex-direction:column; gap:12px;}
.pl-form .field-grid{margin-bottom:0;}
.pl-form-acoes{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.pl-msg{font-size:.84rem; color:var(--text-muted); max-width:var(--texto-max);}
.pl-msg.is-crit{color:var(--crit); font-weight:600;}
.pl-check{display:flex; align-items:center; flex-shrink:0;}
.pl-check input{accent-color:var(--accent); width:16px; height:16px;}
.pl-painel{display:flex; flex-direction:column; gap:12px; margin-bottom:16px;}
.pl-painel-busca{display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end;}
.pl-painel-busca .field{flex:1 1 180px;}
.pl-painel-busca .field input, .pl-painel-busca .field select{width:100%;}
@media (max-width:560px){
  .pl-in{max-width:none; margin-left:0; text-align:left;}
  .pl-barra .pl-espaco{display:none;}
}
.pl-vista{display:flex; flex-direction:column; gap:14px;}
.pl-vista > .notice, .pl-vista > .pl-barra, .pl-vista .pl-painel{margin-bottom:0;}
.pl-vista:empty, .pl-vista > div:empty{display:none;}
.pl-secao{display:flex; flex-direction:column; gap:10px;}
.pl-mudar{padding-top:14px;}
.pl-vista[hidden]{display:none;}
.pl-pe[hidden]{display:none;}
.var-caret{
  flex-shrink:0; width:22px; height:28px; padding:0; border:0; background:transparent;
  color:var(--text-muted); cursor:pointer; font-size:1rem; line-height:1;
}
.var-caret:hover{color:var(--accent);}
.var-caret:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:var(--r-sm);}
.var-valores{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;}
.var-menu{display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; padding:0 6px 6px;}
.rows.is-nested{gap:6px;}
.row-card.var-filho{--row-thumb:36px; padding:8px 12px; gap:12px; border-radius:var(--r-md);}
.var-filho .thumb{border-radius:8px;}
.var-filho-id{display:flex; align-items:center; gap:8px; flex-shrink:0; width:128px;}
.var-seta{color:var(--text-faint); font-size:.9rem; line-height:1;}
.var-cod{display:flex; flex-direction:column; gap:1px; min-width:0;}
.var-cod .code{font-size:.74rem; color:var(--text-faint);}
.var-cod .code.strong{font-size:.92rem; font-weight:700; color:var(--text);}
.var-valores-filho{display:flex; flex-wrap:wrap; gap:4px;}
.var-filho .row-meta{flex-wrap:nowrap; min-width:0;}
.var-filho .var-nome{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0;}
.var-filho .stats{gap:6px;}
.var-filho .stat{width:88px;}
.var-filho .row-actions{flex-direction:row; align-items:center;}
@media (max-width: 560px){
  .rows.is-nested{margin-left:10px;}
  .row-card.var-filho{padding:8px 10px; gap:8px;}
  .var-filho-id{width:auto;}
  .var-filho .row-main{flex:1 1 0; min-width:0;}
  .var-filho .row-meta{display:none;}
  .var-filho .row-actions{order:3; width:auto; margin-left:auto;}
  .var-filho .stats{order:4; width:100%; flex-wrap:nowrap; justify-content:space-between; gap:6px;}
  .var-filho .stat{width:auto; flex:1 1 0; min-width:0; text-align:left;}
}
.var-barra{
  position:sticky; bottom:12px; z-index:20; margin-top:12px;
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:10px 16px; background:var(--surface); border:1px solid var(--accent);
  border-radius:var(--r-lg); box-shadow:var(--shadow-md);
}
.var-barra-n{font-weight:700; color:var(--text);}
.var-barra-acoes{display:flex; gap:8px;}
.var-itens{display:flex; flex-direction:column; gap:8px;}
.var-item{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:8px 10px; border:1px solid var(--border); border-radius:var(--r-md);
  background:var(--surface-2);
}
.var-item .var-item-nome{flex:1 1 220px; min-width:0; overflow-wrap:anywhere; font-size:.86rem;}
.var-item input[type="text"], .var-item input:not([type]){
  flex:0 1 150px; min-width:0; font-family:var(--font-ui); font-size:.86rem;
  padding:7px 10px; border-radius:var(--r-md);
  border:1px solid var(--border-strong); background:var(--surface); color:var(--text);
}
.var-item input:focus{outline:2px solid var(--accent); outline-offset:-1px; border-color:var(--accent);}
.var-item input[type="checkbox"]{flex:0 0 auto; width:15px; height:15px; accent-color:var(--accent);}
.var-checagens{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; font-size:.84rem;}
.var-checagens .is-ok{color:var(--ok);}
.var-checagens .is-warn{color:var(--warn);}
.var-checagens .is-crit{color:var(--crit); font-weight:600;}
@media (max-width:560px){
  .var-item input[type="text"], .var-item input:not([type]){flex:1 1 100%;}
  .var-barra{bottom:0; border-radius:var(--r-lg) var(--r-lg) 0 0;}
}
.inv-fresco{margin:-12px 0 14px; font-size:.8rem; color:var(--text-faint); max-width:var(--texto-max);}
.inv-fresco strong{color:var(--text-muted); font-weight:600;}
.inv-totais{display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 28px; margin-bottom:12px;}
.inv-grande{font-size:1.5rem; font-weight:700; line-height:1.15;}
.inv-alertas{display:flex; flex-wrap:wrap; gap:8px;}
.inv-chip-btn{border:1px solid transparent; cursor:pointer; font:inherit; font-size:.76rem; font-weight:600;}
.inv-chip-btn.is-on{border-color:currentColor;}
.inv-chip-btn:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.inv-cartoes{grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); margin-bottom:18px;}
.inv-cartoes .dash-card-v{font-size:1.2rem;}
.inv-barra{height:4px; border-radius:2px; background:var(--surface-2); margin-top:6px; overflow:hidden;}
.inv-barra i{display:block; height:100%; background:var(--idle);}
.inv-esq{min-height:92px;}
.inv-recolher{margin-bottom:8px;}
.inv-matriz-card{overflow:hidden;}
.inv-matriz-card.is-carregando{opacity:.6; transition:opacity .15s;}
.inv-matriz-topo{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px 6px;}
.inv-conta{font-size:.82rem; color:var(--text-muted);}
.inv-matriz th:first-child, .inv-matriz td:first-child{
  position:sticky; left:0; z-index:1; background:var(--surface);
  box-shadow:1px 0 0 var(--border);
}
.inv-matriz tbody tr:hover td:first-child{background:var(--surface-2);}
.inv-produto{min-width:260px;}
.inv-resumo-rot{white-space:nowrap; flex-shrink:0;}
.inv-nome{font-weight:600; color:var(--text); text-decoration:none;}
.inv-nome:hover{color:var(--accent); text-decoration:underline;}
.inv-nome-seco{font-weight:600; color:var(--text);}
.inv-meta{font-size:.74rem; color:var(--text-muted); display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin-top:2px;}
.inv-chip-min{font-size:.66rem; padding:1px 6px;}
.inv-neg{color:var(--crit); font-weight:700;}
.inv-zero{color:var(--text-faint);}
.inv-tot{font-weight:700;}
.inv-semcusto{font-size:.74rem; padding:1px 7px;}
.inv-th-nome{font-weight:600;}
.inv-acoes .dash-excel + .dash-excel{margin-left:0;}
.inv-cartao{font:inherit; color:inherit; text-align:left; cursor:pointer; width:100%;
  transition:border-color .12s, box-shadow .12s;}
.inv-cartao:hover{border-color:var(--accent);}
.inv-cartao:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.inv-filiais{display:flex; align-items:center; gap:10px; margin:0 0 12px;}
.inv-filiais-rot{font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-faint); flex-shrink:0;}
.inv-filiais-botoes{display:flex; flex-wrap:wrap; gap:6px; min-width:0;}
.inv-filial{
  appearance:none; cursor:pointer; font-family:var(--font-ui); font-size:.8rem; font-weight:600;
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  padding:6px 12px; border-radius:999px; border:1px solid var(--border-strong);
  background:var(--surface); color:var(--text-muted);
  transition:background .12s, border-color .12s, color .12s;
}
.inv-filial .code{font-size:.78rem; color:inherit;}
.inv-filial:hover{border-color:var(--accent); color:var(--accent);}
.inv-filial:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.inv-filial.on{background:var(--accent-soft); border-color:var(--accent); color:var(--accent);}
.inv-filial.is-vazia{opacity:.6;}
.inv-filial-n{font-size:.72rem; font-weight:700; padding:1px 7px; border-radius:999px; background:var(--surface-2); color:var(--text-muted);}
.inv-filial.on .inv-filial-n{background:var(--surface); color:var(--accent);}
.inv-th-btn{appearance:none; background:none; border:0; padding:0; cursor:pointer;
  font:inherit; color:inherit; letter-spacing:inherit; text-transform:inherit;}
.inv-th-btn:hover{color:var(--accent);}
.inv-th-btn:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:4px;}
.inv-matriz th.inv-col-on, .inv-matriz td.inv-col-on{background:var(--accent-soft);}
.inv-matriz th.inv-col-on .inv-th-btn{color:var(--accent);}
.inv-cod-linha{display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin-bottom:2px;}
.inv-cod{font-size:.98rem; font-weight:700; color:var(--text); letter-spacing:.01em;}
.inv-desc1{font-size:.8rem; color:var(--text-muted);}
.inv-desc1::before{content:'DESC1 '; font-family:var(--font-ui); font-size:.66rem; font-weight:700; letter-spacing:.05em; color:var(--text-faint);}
@media (max-width:560px){
  .inv-filiais{align-items:flex-start;}
  .inv-filiais-rot{padding-top:8px;}
  .inv-filiais-botoes{flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; -webkit-overflow-scrolling:touch;}
  .inv-cod{font-size:.92rem;}
  .inv-fresco{margin-top:-8px;}
  .inv-grande{font-size:1.25rem;}
  .inv-cartoes{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .inv-produto{min-width:150px;}
  .inv-th-nome{display:none;}
}
.thumb.thumb-sem-foto{font-size:1.15rem; opacity:.75;}
.row-card.tt-grupo .check, .row-card.tt-var .check{flex-shrink:0;}
.row-card.tt-var .var-filho-id{width:112px;}
.row-card.tt-var .row-main{flex:1 1 200px; min-width:0;}
.row-card.tt-var .stat{width:var(--row-stat);}
.row-card.tt-var .stat.is-wide{width:170px;}
@media (max-width: 560px){
  .row-card.tt-var .var-filho-id{width:auto;}
  .row-card.tt-var .row-main{flex:1 1 0;}
  .row-card.tt-var .row-meta{display:flex; flex-wrap:wrap;}
  .row-card.tt-var .stats{flex-wrap:wrap;}
  .row-card.tt-var .stat{width:auto; flex:1 1 30%; min-width:0;}
  .row-card.tt-var .stat.is-wide, .row-card.tt-grupo .stat.is-wide{width:100%; flex:1 1 100%; text-align:left !important;}
  .row-card.tt-var .badges{order:5; width:100%; flex:1 1 100%;}
}
.calc-modal.pb-dialogo{width:min(600px, 100%); height:auto; max-height:min(92vh, 860px);}
.pb-corpo{display:flex; flex-direction:column; gap:12px; padding:16px 20px; overflow:auto; font-size:.9rem;}
.pb-corpo .notice{margin-bottom:0;}
.pb-texto{margin:0; color:var(--text-muted); max-width:var(--texto-max);}
.pb-lista{display:flex; flex-direction:column; gap:8px;}
.pb-item{display:flex; flex-direction:column; gap:2px; padding:8px 10px; border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface-2);}
.pb-item-nome{font-weight:600; overflow-wrap:anywhere;}
.pb-item-preco{display:flex; flex-wrap:wrap; align-items:center; gap:6px;}
.pb-fora > summary{cursor:pointer; color:var(--text-muted);}
.pb-fora[open] > summary{margin-bottom:8px;}
.pb-contador:focus-visible, .pb-aprovar:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
@media (max-width:700px){
  .calc-modal.pb-dialogo{height:100%; max-height:none;}
  .pb-corpo{padding:14px;}
}
.guias-difal{display:flex; flex-direction:column; gap:14px;}
.guias-difal > .page-head, .guias-difal > .filters, .guias-difal > .tabs, .guias-difal > .notice{margin-bottom:0;}
.guias-difal > .list-foot{margin-top:0;}
.guias-difal > .gc-fixo{margin:-8px 0 -6px;}
@media (max-width:700px){
  .guias-difal > .gc-fixo{margin:0;}
  .guias-difal .gc-barra-acoes{display:flex; width:100%;}
}
