
:root{--navy:#17365d;--blue:#2f5597;--pale:#edf2f8;--line:#d8e1ed;--ink:#17233a;--muted:#64748b}*{box-sizing:border-box}body{margin:0;background:#f7f9fc;color:var(--ink);font-family:Arial,sans-serif}header{background:#fff;border-bottom:1px solid #d9e2f3}.head,.searchbar,.shell{max-width:1240px;margin:auto}.head{display:flex;align-items:center;gap:14px;padding:16px 24px}.mark{width:44px;height:44px;border-radius:12px;background:var(--navy);color:white;display:grid;place-items:center;font-size:22px}.kicker{font-size:11px;font-weight:700;letter-spacing:.2em;color:#66758b}.brand{font-size:23px;font-weight:800;color:var(--navy)}.actions{margin-left:auto;display:flex;align-items:center;gap:9px}.manage{border:0;border-radius:9px;background:#2f5597;color:white;padding:10px 14px;font-weight:700;cursor:pointer}.offline{border:1px solid #c8d5e8;border-radius:999px;padding:5px 10px;font-size:12px;color:#46617f;background:#f4f7fb}.controls{background:white;border-bottom:1px solid #d9e2f3}.searchbar{padding:24px}.searchwrap{position:relative;max-width:760px}.searchwrap span{position:absolute;left:17px;top:15px;font-size:21px;color:#637792}.searchwrap input{width:100%;height:56px;border:1px solid #b9c9df;border-radius:13px;background:#fbfcfe;padding:0 18px 0 49px;font-size:16px;box-shadow:0 2px 8px #17365d10;outline:none}.searchwrap input:focus{border:2px solid var(--blue)}.tabs{display:flex;gap:8px;margin-top:14px}.tabs button,.clear{border:1px solid #c8d5e8;background:#fff;color:#405674;border-radius:8px;padding:8px 13px;font-weight:650;cursor:pointer}.tabs button.active{background:var(--blue);border-color:var(--blue);color:white}.shell{display:grid;grid-template-columns:240px 1fr;gap:28px;padding:28px 24px}.side{position:sticky;top:20px;align-self:start;background:#fff;border:1px solid #d9e2f3;border-radius:16px;padding:12px;box-shadow:0 4px 18px #17365d0d}.side h2{font-size:12px;letter-spacing:.15em;color:#6a788a;margin:4px 12px 10px}.cats{display:flex;flex-direction:column;gap:3px}.cats button{border:0;background:transparent;color:#53647b;text-align:left;border-radius:9px;padding:10px 12px;font-size:14px;font-weight:650;cursor:pointer}.cats button.active{background:#e8eef7;color:#214b86}.topline{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.count{font-size:14px;font-weight:700;color:var(--muted)}h1{font-size:25px;color:var(--navy);margin:4px 0 0}.clear{border:0;color:var(--blue);display:none}.cards{display:flex;flex-direction:column;gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 4px 18px #17365d0d}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--pale);border-bottom:1px solid #e1e8f1;padding:16px 20px}.tags{display:flex;gap:7px;margin-bottom:8px}.tag{font-size:12px;border-radius:999px;padding:4px 9px;background:var(--navy);color:#fff}.tag.light{background:#fff;color:#5b6f89;border:1px solid #bdcbe0}.title{font-weight:800;color:var(--blue);font-size:15px;line-height:1.5}.copy{flex:0 0 auto;border:0;border-radius:9px;background:var(--blue);color:#fff;padding:13px 20px;font-size:15px;font-weight:700;cursor:pointer;min-height:44px;transition:background .15s}.copy.done{background:#276749}.body{white-space:pre-wrap;padding:20px 24px;font-size:15px;line-height:1.75;color:#29384d}.empty{text-align:center;background:white;border:1px dashed #b9c9df;border-radius:16px;padding:70px 20px;color:#68788e}.toast{position:fixed;right:22px;bottom:22px;background:#eaf8ef;border:2px solid #7fc998;color:#1c5c3a;border-radius:12px;padding:16px 22px;font-size:15px;font-weight:700;box-shadow:0 14px 34px #17365d30;opacity:0;transform:translateY(10px) scale(.98);transition:.2s;pointer-events:none;z-index:60}.toast.show{opacity:1;transform:none}
.modal{position:fixed;inset:0;background:#17233a88;display:none;align-items:center;justify-content:center;padding:18px;z-index:50}.modal.open{display:flex}.panel{width:min(720px,100%);max-height:92vh;overflow:auto;background:white;border-radius:18px;padding:22px;box-shadow:0 25px 70px #17233a55}.paneltop{display:flex;justify-content:space-between;align-items:start}.panel h2{margin:0;color:#17365d}.panel p{color:#68788e;margin:6px 0 0}.close{border:0;background:#edf2f8;border-radius:8px;padding:7px 10px;cursor:pointer}.formbox{margin-top:18px;border:1px solid #d9e2f3;border-radius:13px;padding:16px}.formbox.soft{background:#f7f9fc}.formbox h3{margin:0 0 12px;color:#17365d}.grid3{display:grid;grid-template-columns:180px 1fr auto;gap:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:grid;gap:6px;margin-top:10px;font-size:13px;font-weight:700;color:#53647b}.field input,.field select,.field textarea,.grid3 input,.grid3 select{width:100%;border:1px solid #b9c9df;border-radius:8px;background:white;padding:10px;font:inherit}.field textarea{min-height:150px;resize:vertical;font-weight:400}.primary{border:0;border-radius:8px;background:#2f5597;color:white;padding:12px 18px;font-weight:700;cursor:pointer;min-height:44px}.wide{width:100%;margin-top:12px}.backup{display:flex;align-items:center;justify-content:space-between;gap:12px}.backupbuttons{display:flex;gap:8px}.secondary{border:1px solid #b9c9df;border-radius:8px;background:white;color:#405674;padding:9px 12px;font-weight:700;cursor:pointer}@media(max-width:800px){.offline{display:none}.shell{grid-template-columns:1fr}.side{position:static;overflow:auto}.cats{flex-direction:row}.cats button{white-space:nowrap}.cardhead{align-items:flex-start;flex-direction:column}.copy{width:100%}.head,.searchbar,.shell{padding-left:16px;padding-right:16px}}

.search-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.search-options label{font-size:13px;color:#53647b;display:flex;gap:6px;align-items:center}.admin-grid{display:grid;grid-template-columns:250px 1fr;gap:16px;margin-top:18px}.admin-nav{border:1px solid #d9e2f3;border-radius:13px;padding:12px;background:#f7f9fc}.admin-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.admin-list{height:470px;overflow:auto;display:flex;flex-direction:column;gap:5px}.admin-item{border:0;background:white;border-radius:8px;padding:9px;text-align:left;cursor:pointer;color:#405674}.admin-item.active{background:#dfe9f7;color:#17365d}.admin-item small{display:block;color:#718096;margin-top:3px}.admin-main{min-width:0}.admin-tabs{display:flex;gap:6px;margin-bottom:12px}.danger{border:1px solid #e7b9b9;background:#fff5f5;color:#a52a2a;border-radius:8px;padding:9px 12px;font-weight:700;cursor:pointer}.row-actions{display:flex;gap:8px;margin-top:12px}.structure-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}.structure-list{max-height:170px;overflow:auto;margin-top:10px}.structure-entry{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e3e9f1;padding:8px 0}.category-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border:1px solid #b9c9df;border-radius:9px;background:#fff;padding:10px;max-height:150px;overflow:auto}.category-picker label{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:7px;background:#f7f9fc;font-weight:600;font-size:12px}.category-picker input{width:auto}.field-note{font-size:11px;font-weight:400;color:#718096}.footer{max-width:1240px;margin:30px auto 0;min-height:70px;position:relative;color:#74849a;font-size:11px}.rights{position:absolute;left:20px;bottom:20px}.panel{width:min(1000px,100%)}
@media(max-width:760px){.admin-grid{grid-template-columns:1fr}.admin-list{height:190px}.grid2,.grid3{grid-template-columns:1fr}.footer{margin:10px 16px}.rights{max-width:70%}}
.banner{display:none;background:#fff8e6;border-bottom:1px solid #f0dfa8;color:#7a5b00;padding:12px 24px;font-size:13px;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.banner.show{display:flex}.banner span{flex:1;min-width:220px}
.editnotice{background:#fff4e5;border:1px solid #f0d9a8;color:#7a5b00;border-radius:8px;padding:10px 12px;font-size:12.5px;margin-top:12px;font-weight:600}
.search-hint{font-size:11.5px;color:#8592a6;margin-top:5px;line-height:1.4}

/* ===== V5 · iOS-like interaction system ===== */
:root{
  --motion-fast:140ms;
  --motion-ui:220ms;
  --motion-panel:300ms;
  --ease-ios:cubic-bezier(.2,.8,.2,1);
  --ease-spring:cubic-bezier(.18,1.28,.32,1);
  --focus-ring:0 0 0 4px rgba(47,85,151,.14);
}

/* More native-feeling controls */
button,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{transform:translateZ(0);user-select:none}
.manage,.primary,.secondary,.danger,.close,.copy,.tabs button,.cats button,.admin-item,.clear{
  transition:
    transform var(--motion-fast) var(--ease-ios),
    box-shadow var(--motion-ui) var(--ease-ios),
    background-color var(--motion-ui) var(--ease-ios),
    border-color var(--motion-ui) var(--ease-ios),
    color var(--motion-ui) var(--ease-ios),
    opacity var(--motion-ui) var(--ease-ios);
  will-change:transform;
}
@media (hover:hover){
  .manage:hover,.primary:hover,.copy:hover{transform:translateY(-1px) scale(1.018);box-shadow:0 7px 18px rgba(23,54,93,.16)}
  .secondary:hover,.danger:hover,.close:hover,.tabs button:hover,.cats button:hover,.admin-item:hover,.clear:hover{transform:translateY(-1px) scale(1.012)}
}
.manage:active,.primary:active,.secondary:active,.danger:active,.close:active,.copy:active,.tabs button:active,.cats button:active,.admin-item:active,.clear:active{
  transform:scale(.972);
  transition-duration:80ms;
}
button:disabled{transform:none!important;box-shadow:none!important;opacity:.52;cursor:not-allowed}

/* Cards: subtle lift/depth */
.card{
  transition:
    transform var(--motion-ui) var(--ease-ios),
    box-shadow var(--motion-panel) var(--ease-ios),
    border-color var(--motion-ui) var(--ease-ios);
  transform:translateZ(0);
}
@media (hover:hover){
  .card:hover{
    transform:translateY(-3px);
    border-color:#cbd8e8;
    box-shadow:0 12px 30px rgba(23,54,93,.11);
  }
}
.card.card-enter{animation:cardIn 360ms var(--ease-spring) both}
@keyframes cardIn{from{opacity:0;transform:translateY(7px) scale(.992)}to{opacity:1;transform:none}}

/* Inputs and search */
.searchwrap input,.field input,.field select,.field textarea,.grid3 input,.grid3 select,#adminSearch,.structure-row input{
  transition:border-color var(--motion-ui) var(--ease-ios),box-shadow var(--motion-ui) var(--ease-ios),background-color var(--motion-ui) var(--ease-ios),transform var(--motion-fast) var(--ease-ios);
}
.searchwrap input:focus,.field input:focus,.field select:focus,.field textarea:focus,.grid3 input:focus,.grid3 select:focus,#adminSearch:focus,.structure-row input:focus{
  outline:none;
  border-color:var(--blue);
  box-shadow:var(--focus-ring);
  background:#fff;
}
.searchwrap input:focus{transform:scale(1.003)}

/* Active pills feel selected rather than merely recolored */
.tabs button.active,.cats button.active,.admin-tabs .secondary.active{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 4px 12px rgba(47,85,151,.12);
}

/* Copy success spring */
.copy.done{animation:successPop 420ms var(--ease-spring)}
@keyframes successPop{
  0%{transform:scale(.97)}
  58%{transform:scale(1.045)}
  100%{transform:scale(1)}
}

/* Toast */
.toast{
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:opacity var(--motion-ui) var(--ease-ios),transform 320ms var(--ease-spring),filter var(--motion-ui) var(--ease-ios);
  transform:translateY(16px) scale(.96);
  filter:blur(2px);
}
.toast.show{opacity:1;transform:translateY(0) scale(1);filter:none}

/* Modal animation: display is preserved, panel handles motion */
.modal{
  display:flex;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  background:rgba(23,35,58,.38);
  backdrop-filter:blur(0px);
  -webkit-backdrop-filter:blur(0px);
  transition:opacity var(--motion-ui) var(--ease-ios),visibility 0s linear var(--motion-ui),backdrop-filter var(--motion-panel) var(--ease-ios);
}
.modal.open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  transition:opacity var(--motion-ui) var(--ease-ios),visibility 0s linear 0s,backdrop-filter var(--motion-panel) var(--ease-ios);
}
.modal .panel{
  opacity:0;
  transform:translateY(12px) scale(.965);
  transition:opacity 180ms var(--ease-ios),transform var(--motion-panel) var(--ease-spring);
  transform-origin:50% 45%;
}
.modal.open .panel{opacity:1;transform:translateY(0) scale(1)}
.modal.closing{opacity:0;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.modal.closing .panel{opacity:0;transform:translateY(8px) scale(.978);transition-timing-function:var(--ease-ios)}

/* Views inside admin */
.admin-main>div[id$="View"]{animation:viewIn 260ms var(--ease-ios) both}
@keyframes viewIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}

/* Category / tab selection transitions */
.tabs,.cats,.admin-tabs{isolation:isolate}
.tabs button,.cats button{position:relative}

/* Dynamic status capsule inspired by iOS system feedback */
.status-island{
  position:fixed;
  left:50%;
  top:14px;
  z-index:120;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:44px;
  max-width:min(440px,calc(100vw - 30px));
  height:38px;
  padding:0 15px;
  border-radius:999px;
  background:rgba(17,24,39,.94);
  color:#fff;
  box-shadow:0 10px 30px rgba(17,24,39,.24),inset 0 0 0 1px rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  font-size:13px;
  font-weight:750;
  letter-spacing:.01em;
  opacity:0;
  transform:translate(-50%,-10px) scale(.82);
  pointer-events:none;
  transition:opacity 160ms var(--ease-ios),transform 360ms var(--ease-spring),width 300ms var(--ease-spring);
}
.status-island.show{opacity:1;transform:translate(-50%,0) scale(1)}
.status-island .status-icon{display:grid;place-items:center;min-width:16px;font-size:14px}
.status-island.success .status-icon{animation:islandPop 420ms var(--ease-spring)}
.status-island.error{background:rgba(107,31,31,.96)}
.status-island.info{background:rgba(23,54,93,.96)}
@keyframes islandPop{0%{transform:scale(.65)}60%{transform:scale(1.28)}100%{transform:scale(1)}}

/* Light appearance polish, intentionally restrained */
.panel,.side,.card{backdrop-filter:saturate(1.04);-webkit-backdrop-filter:saturate(1.04)}
.mark{transition:transform 360ms var(--ease-spring),box-shadow var(--motion-ui) var(--ease-ios)}
@media (hover:hover){.mark:hover{transform:rotate(-3deg) scale(1.04);box-shadow:0 8px 18px rgba(23,54,93,.17)}}

/* Respect accessibility preference */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .card:hover,.manage:hover,.primary:hover,.copy:hover,.secondary:hover,.danger:hover,.close:hover,.tabs button:hover,.cats button:hover,.admin-item:hover,.clear:hover{
    transform:none!important;
  }
}


/* ===== V6 · Aurora + stronger iOS-like refinement ===== */
body{
  background:
    radial-gradient(circle at 12% 10%, rgba(206,244,255,.68) 0, rgba(206,244,255,0) 30%),
    radial-gradient(circle at 86% 18%, rgba(217,233,255,.72) 0, rgba(217,233,255,0) 33%),
    radial-gradient(circle at 50% 88%, rgba(227,248,255,.55) 0, rgba(227,248,255,0) 36%),
    linear-gradient(135deg,#f8fbff 0%,#eef7fb 42%,#f7fbff 68%,#edf6ff 100%);
  background-attachment:fixed;
}
body::before{
  content:"";
  position:fixed;
  inset:-15%;
  pointer-events:none;
  z-index:-1;
  background:
    conic-gradient(from 210deg at 25% 30%, rgba(149,231,255,.15), rgba(255,255,255,0) 20%, rgba(125,194,255,.10) 35%, rgba(255,255,255,0) 55%, rgba(161,239,255,.13) 75%, rgba(255,255,255,0));
  filter:blur(42px);
  opacity:.95;
  animation:auroraDrift 18s ease-in-out infinite alternate;
}
@keyframes auroraDrift{
  from{transform:translate3d(-1.5%,-1%,0) rotate(-1deg) scale(1)}
  to{transform:translate3d(1.5%,1.2%,0) rotate(1deg) scale(1.03)}
}

header,.controls{
  background:rgba(255,255,255,.80);
  backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);
}
.side,.card,.panel,.formbox,.admin-nav{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
}
.cardhead{background:rgba(237,242,248,.84)}

/* Buttons: stronger hover, still elegant */
.manage,.primary,.secondary,.danger,.close,.copy,.tabs button,.cats button,.admin-item,.clear{
  box-shadow:0 4px 10px rgba(23,54,93,.08),0 1px 2px rgba(23,54,93,.05);
}
.manage,.primary,.copy{
  box-shadow:0 6px 16px rgba(47,85,151,.17),0 2px 4px rgba(23,54,93,.10);
}
@media (hover:hover){
  .manage:hover,.primary:hover,.copy:hover{
    transform:translateY(-3px) scale(1.055);
    box-shadow:0 14px 30px rgba(47,85,151,.23),0 4px 10px rgba(23,54,93,.12);
  }
  .secondary:hover,.danger:hover,.close:hover,.tabs button:hover,.cats button:hover,.admin-item:hover,.clear:hover{
    transform:translateY(-2px) scale(1.035);
    box-shadow:0 10px 22px rgba(23,54,93,.15),0 2px 6px rgba(23,54,93,.08);
  }
}
.manage:active,.primary:active,.copy:active{
  transform:translateY(0) scale(.955);
}
.secondary:active,.danger:active,.close:active,.tabs button:active,.cats button:active,.admin-item:active,.clear:active{
  transform:translateY(0) scale(.965);
}

/* Cards more alive on hover */
.card{
  box-shadow:0 8px 22px rgba(23,54,93,.07),0 2px 5px rgba(23,54,93,.04);
}
@media (hover:hover){
  .card:hover{
    transform:translateY(-7px) scale(1.012);
    box-shadow:0 20px 42px rgba(23,54,93,.14),0 7px 16px rgba(23,54,93,.08);
  }
}

/* Category/menu transition: models "born" into place */
.cards.is-switching .card{
  animation:none!important;
}
.card.card-enter{
  opacity:0;
  animation:modelBorn 560ms var(--ease-spring) forwards;
}
.card.card-enter:nth-child(1){animation-delay:20ms}
.card.card-enter:nth-child(2){animation-delay:55ms}
.card.card-enter:nth-child(3){animation-delay:90ms}
.card.card-enter:nth-child(4){animation-delay:125ms}
.card.card-enter:nth-child(5){animation-delay:160ms}
.card.card-enter:nth-child(6){animation-delay:195ms}
.card.card-enter:nth-child(n+7){animation-delay:220ms}
@keyframes modelBorn{
  0%{opacity:0;transform:translateY(18px) scale(.955);filter:blur(5px)}
  55%{opacity:1;transform:translateY(-2px) scale(1.012);filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}

/* Slightly richer active state for categories/menus */
.tabs button.active,.cats button.active,.admin-tabs .secondary.active{
  transform:scale(1.02);
  box-shadow:0 8px 18px rgba(47,85,151,.19),inset 0 0 0 1px rgba(255,255,255,.22);
}
.cats button.active{
  background:linear-gradient(135deg,#dfeaf8,#edf6ff);
}
.tabs button.active{
  background:linear-gradient(135deg,#2f5597,#3a6ab8);
}

/* Search & controls floating feel */
.searchwrap input{
  background:rgba(255,255,255,.80);
  box-shadow:0 7px 20px rgba(23,54,93,.08);
}
.searchwrap input:focus{
  box-shadow:0 0 0 4px rgba(47,85,151,.13),0 12px 28px rgba(23,54,93,.12);
}

/* Smooth content transition helper */
.section-fade{
  animation:sectionFade 420ms var(--ease-ios) both;
}
@keyframes sectionFade{
  from{opacity:.25;transform:translateY(7px)}
  to{opacity:1;transform:none}
}

@media (prefers-reduced-motion:reduce){
  body::before{animation:none!important}
  .card.card-enter,.section-fade{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
}


/* ===== V6.1 · layout ultrawide + lateral cleaner ===== */

/* Em monitores largos, deixa o sistema aproveitar melhor a tela sem grudar nas bordas */
.head,.searchbar,.shell,.footer{
  max-width:1680px;
}

/* O antigo max-width de 1240px criava grandes "vazios" laterais em telas ultrawide */
.shell{
  grid-template-columns:260px minmax(0,1fr);
  gap:32px;
}

/* Menu lateral: remover aparência de bloco flutuante pesado */
.side{
  box-shadow:0 2px 10px rgba(23,54,93,.025);
  border-color:rgba(216,225,237,.72);
}

/* Categorias laterais praticamente sem sombra */
.cats button{
  box-shadow:none!important;
}
@media (hover:hover){
  .cats button:hover{
    box-shadow:none!important;
    transform:translateX(3px) scale(1.015);
  }
}
.cats button.active{
  box-shadow:none!important;
}

/* Mantém respiro nas bordas mesmo em telas muito grandes */
.head,.searchbar,.shell{
  width:min(1680px,calc(100% - 48px));
}

/* Responsivo continua compacto */
@media(max-width:800px){
  .head,.searchbar,.shell{width:auto}
}


/* ===== V6.2 · lateral hover feedback + logo easter egg ===== */

/* Menu lateral: hover com realce visual claro, sem sombra pesada */
.cats button{
  position:relative;
  overflow:hidden;
  transition:
    transform var(--motion-fast) var(--ease-ios),
    background-color var(--motion-ui) var(--ease-ios),
    color var(--motion-ui) var(--ease-ios),
    box-shadow var(--motion-ui) var(--ease-ios);
}
@media (hover:hover){
  .cats button:hover{
    background:linear-gradient(135deg,rgba(226,236,248,.9),rgba(239,246,252,.95));
    color:#214b86;
    box-shadow:inset 0 0 0 1px rgba(47,85,151,.08)!important;
    transform:translateX(4px) scale(1.018);
  }
}
.cats button.active{
  background:linear-gradient(135deg,#dfeaf8,#edf6ff);
  color:#214b86;
  box-shadow:inset 0 0 0 1px rgba(47,85,151,.10)!important;
}

/* Logo clicável */
.mark{
  cursor:pointer;
  position:relative;
  overflow:visible;
}
.mark:active{transform:scale(.92) rotate(-2deg)}

/* Chuva de Bs */
.b-rain{
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:9999;
}
.b-drop{
  position:absolute;
  top:-10vh;
  font-weight:900;
  color:rgba(23,54,93,.82);
  text-shadow:0 4px 14px rgba(47,85,151,.18);
  animation:bFall linear forwards;
  will-change:transform,opacity;
}
@keyframes bFall{
  0%{transform:translate3d(0,-8vh,0) rotate(0deg) scale(.8);opacity:0}
  10%{opacity:1}
  85%{opacity:.95}
  100%{transform:translate3d(var(--drift),112vh,0) rotate(var(--spin)) scale(1.08);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .b-drop{animation-duration:.001ms!important}
}


/* ===== V6.8 · edição rápida por modelo ===== */
.card-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:9px;
}
.quick-edit{
  border:1px solid rgba(47,85,151,.20);
  border-radius:9px;
  background:rgba(255,255,255,.92);
  color:#2f5597;
  padding:13px 17px;
  min-height:44px;
  font-size:14px;
  font-weight:750;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(23,54,93,.09),0 1px 3px rgba(23,54,93,.05);
  transition:
    transform var(--motion-fast) var(--ease-ios),
    box-shadow var(--motion-ui) var(--ease-ios),
    background-color var(--motion-ui) var(--ease-ios),
    border-color var(--motion-ui) var(--ease-ios),
    color var(--motion-ui) var(--ease-ios);
}
@media (hover:hover){
  .quick-edit:hover{
    transform:translateY(-3px) scale(1.045);
    background:#edf4fd;
    border-color:rgba(47,85,151,.34);
    color:#214b86;
    box-shadow:0 13px 28px rgba(47,85,151,.17),0 3px 8px rgba(23,54,93,.09);
  }
}
.quick-edit:active{
  transform:translateY(0) scale(.96);
  transition-duration:80ms;
}
.quick-edit-panel{
  width:min(760px,100%)!important;
}
.quick-edit-panel .field textarea{
  min-height:280px;
}
.quick-edit-context{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.quick-edit-context .tag{
  opacity:.88;
}
.quick-edit-help{
  margin-top:8px;
  font-size:12px;
  color:#718096;
}
@media(max-width:800px){
  .card-actions{width:100%}
  .card-actions .quick-edit,.card-actions .copy{flex:1}
}


/* ===== V6.9 · mute control ===== */
.mute-btn{
  position:relative;
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(47,85,151,.18);
  border-radius:10px;
  background:rgba(255,255,255,.90);
  color:#2f5597;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(23,54,93,.09),0 1px 3px rgba(23,54,93,.05);
  transition:
    transform var(--motion-fast) var(--ease-ios),
    box-shadow var(--motion-ui) var(--ease-ios),
    background-color var(--motion-ui) var(--ease-ios),
    border-color var(--motion-ui) var(--ease-ios);
}
.mute-btn .speaker{
  font-size:18px;
  line-height:1;
  transform:translateY(.5px);
}
.mute-btn .mute-x{
  position:absolute;
  right:5px;
  top:2px;
  color:#d62828;
  font-size:18px;
  line-height:1;
  font-weight:900;
  opacity:0;
  transform:scale(.55) rotate(-12deg);
  transition:opacity var(--motion-fast) var(--ease-ios),transform 240ms var(--ease-spring);
  text-shadow:0 1px 2px rgba(255,255,255,.8);
  pointer-events:none;
}
.mute-btn.muted .mute-x{
  opacity:1;
  transform:scale(1) rotate(0deg);
}
.mute-btn.muted{
  background:rgba(248,250,252,.96);
  border-color:rgba(214,40,40,.16);
}
@media (hover:hover){
  .mute-btn:hover{
    transform:translateY(-2px) scale(1.045);
    box-shadow:0 11px 24px rgba(23,54,93,.14),0 3px 7px rgba(23,54,93,.08);
  }
}
.mute-btn:active{
  transform:translateY(0) scale(.94);
}


/* ===== V7 · Supabase / autenticação ===== */
.cloud-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.cloud-badge.online{background:#eef9f2;color:#276749;border-color:#b9dfc5}
.cloud-badge.error{background:#fff4f4;color:#a52a2a;border-color:#e6bcbc}
.header-logout{min-height:42px}
.login-panel{width:min(470px,100%)!important}
.login-error{min-height:18px;margin-top:11px;color:#a52a2a;font-size:12.5px;font-weight:650}
.admin-only{display:none}
body.is-admin .admin-only{display:inline-flex}
.loading-models{
  text-align:center;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(185,201,223,.7);
  border-radius:16px;
  padding:64px 20px;
  color:#68788e;
  backdrop-filter:blur(14px);
}
.cloud-empty{
  text-align:center;
  background:rgba(255,255,255,.86);
  border:1px dashed #b9c9df;
  border-radius:16px;
  padding:70px 20px;
  color:#68788e;
}
/* Aurora GIF legada removida na BRUTAL V1: regra já anulada pela interface final. */

body::before{
  display:none!important;
  content:none!important;
}


/* ===== V7.3 · Aurora uniforme + categorias animadas ===== */

/* Fundo passa para uma camada própria para permitir blur/opacidade sem afetar a interface. */
body{
  background:#f5f9fc!important;
  position:relative;
}
/* Aurora GIF legada removida na BRUTAL V1: regra já anulada pela interface final. */

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:rgba(248,252,255,.42);
}

/* Categorias também "nascem" ao trocar de menu. */
.cats button.cat-enter{
  opacity:0;
  animation:categoryBorn 440ms var(--ease-spring) forwards;
}
.cats button.cat-enter:nth-child(1){animation-delay:15ms}
.cats button.cat-enter:nth-child(2){animation-delay:42ms}
.cats button.cat-enter:nth-child(3){animation-delay:69ms}
.cats button.cat-enter:nth-child(4){animation-delay:96ms}
.cats button.cat-enter:nth-child(5){animation-delay:123ms}
.cats button.cat-enter:nth-child(6){animation-delay:150ms}
.cats button.cat-enter:nth-child(7){animation-delay:177ms}
.cats button.cat-enter:nth-child(8){animation-delay:204ms}
.cats button.cat-enter:nth-child(n+9){animation-delay:225ms}
@keyframes categoryBorn{
  0%{opacity:0;transform:translateX(-12px) translateY(5px) scale(.965);filter:blur(3px)}
  62%{opacity:1;transform:translateX(2px) translateY(0) scale(1.012);filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
@media(prefers-reduced-motion:reduce){
  .cats button.cat-enter{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
}


/* ===== V8 · GRERJ ===== */
.grerj-shell{display:grid;gap:18px}
.grerj-hero,.grerj-card,.grerj-summary{
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(18px) saturate(1.06);
  border:1px solid rgba(176,198,225,.60);
  border-radius:18px;
  box-shadow:0 14px 36px rgba(34,67,108,.09);
}
.grerj-hero{padding:22px 24px}
.grerj-hero h2{margin:0 0 5px;font-size:20px;color:#17365d}
.grerj-hero p{margin:0;color:#66778d;font-size:13px;line-height:1.55}
.grerj-card{overflow:hidden}
.grerj-row{
  display:grid;
  grid-template-columns:minmax(170px,1.35fr) 95px 125px minmax(150px,1fr) minmax(190px,1.25fr);
  gap:12px;
  align-items:center;
  padding:16px 18px;
  border-bottom:1px solid rgba(185,201,223,.48);
  animation:modelBorn 480ms var(--ease-spring) both;
}
.grerj-row:last-child{border-bottom:0}
.grerj-head{
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  color:#7a899d;
  background:rgba(240,246,252,.62);
}
.grerj-name{font-weight:800;color:#243f63}
.grerj-code{font-size:12px;color:#7a899d;font-weight:700}
.grerj-due{font-weight:800;color:#243f63}
.money-input,.pct-input{
  width:100%;padding:11px 12px;border:1px solid #b9c9df;border-radius:10px;
  background:rgba(255,255,255,.94);font:inherit;outline:none;
  transition:border-color .2s,box-shadow .2s,transform .16s;
}
.money-input:focus,.pct-input:focus{border-color:#6c9bd2;box-shadow:0 0 0 4px rgba(74,130,190,.10);transform:scale(1.01)}
.grerj-result{font-weight:800;font-size:13px;line-height:1.35}
.grerj-result.ok{color:#25834b;animation:successPop 360ms var(--ease-spring)}
.grerj-result.low{color:#b5473d}
.grerj-result.high{color:#8a5a12}
.grerj-result.wait{color:#8a98aa;font-weight:650}
.tax-card{padding:22px}
.tax-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}
.tax-title h3{margin:0;color:#17365d;font-size:19px}
.tax-code{font-size:12px;color:#75869b;font-weight:750}
.tax-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.calc-box{padding:14px;border-radius:14px;background:rgba(241,247,252,.76);border:1px solid rgba(185,201,223,.55)}
.calc-box small{display:block;color:#74859a;margin-bottom:5px}
.calc-box strong{font-size:18px;color:#203e64}
.tax-note{margin-top:9px;color:#b5473d;font-size:11.5px;font-weight:650;line-height:1.45}
.tax-formula{margin:16px 0;padding:13px 15px;border-radius:12px;background:rgba(232,244,252,.74);color:#536b87;font-size:12.5px;line-height:1.5}
.grerj-summary{padding:20px 22px}
.grerj-summary h3{margin:0 0 10px;color:#17365d}
.summary-state{font-size:16px;font-weight:850;color:#60738b}
.summary-state.ok{color:#25834b;animation:successPop 420ms var(--ease-spring)}
.summary-state.bad{color:#b5473d}
.grerj-error{margin-top:7px;color:#b5473d;font-size:12px;font-weight:750}
.g-admin-row{display:grid;grid-template-columns:1fr 110px 160px;gap:10px;align-items:end;margin:10px 0}
.g-admin-row input{padding:9px;border:1px solid #b9c9df;border-radius:8px;background:white}
.grerj-side-title{font-size:11px;letter-spacing:.15em;color:#6a788a;margin:4px 12px 10px;font-weight:800}
@media(max-width:980px){
  .grerj-row{grid-template-columns:1fr 90px 110px}
  .grerj-row>div:nth-child(4),.grerj-row>div:nth-child(5){grid-column:auto/span 1}
}
@media(max-width:760px){
  .grerj-row{grid-template-columns:1fr}
  .grerj-head{display:none}
  .tax-grid{grid-template-columns:1fr}
  .g-admin-row{grid-template-columns:1fr}
}


/* ===== V8.1 · certidão automática GRERJ ===== */
.grerj-certificate{
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px) saturate(1.06);
  border:1px solid rgba(176,198,225,.60);
  border-radius:18px;
  box-shadow:0 14px 36px rgba(34,67,108,.09);
  padding:22px;
}
.grerj-certificate h3{margin:0;color:#17365d}
.grerj-certificate .cert-sub{margin:5px 0 15px;color:#6d7e92;font-size:12.5px}
.cert-preview{
  white-space:pre-wrap;
  border:1px solid rgba(185,201,223,.72);
  border-radius:14px;
  background:rgba(248,251,254,.90);
  padding:18px;
  min-height:110px;
  font-size:14px;
  line-height:1.75;
  color:#29384d;
}
.cert-preview.waiting{color:#8190a2}
.cert-actions{display:flex;gap:9px;margin-top:13px}
.cert-actions .copy-cert{min-width:180px}


/* ===== V8.2 · administração avançada GRERJ ===== */
#gCertIntro,#gCertLine,#gCertOk,#gActTemplate,#gActNoShortage{min-height:88px}
.g-admin-row-v2{display:grid;grid-template-columns:1fr 130px 170px;gap:10px;align-items:end;margin:10px 0}
.g-admin-row-v2 input{padding:9px;border:1px solid #b9c9df;border-radius:8px;background:white}
@media(max-width:760px){.g-admin-row-v2{grid-template-columns:1fr}}


/* ===== V8.3 · flash verde universal GRERJ ===== */
.grerj-row.flash-ok,
.tax-card.flash-ok{
  animation:grerjOkFlash 720ms var(--ease-spring);
}
@keyframes grerjOkFlash{
  0%{
    background:rgba(255,255,255,.84);
    box-shadow:0 0 0 rgba(63,172,101,0);
  }
  34%{
    background:rgba(215,248,225,.94);
    box-shadow:0 0 0 4px rgba(63,172,101,.10),0 10px 30px rgba(63,172,101,.12);
  }
  68%{
    background:rgba(232,250,238,.88);
    box-shadow:0 0 0 2px rgba(63,172,101,.06),0 8px 22px rgba(63,172,101,.08);
  }
  100%{
    background:rgba(255,255,255,.84);
    box-shadow:inherit;
  }
}
.grerj-row.flash-ok .grerj-name,
.grerj-row.flash-ok .grerj-due,
.grerj-row.flash-ok .grerj-code{
  animation:grerjOkText 720ms var(--ease-spring);
}
@keyframes grerjOkText{
  0%,100%{color:inherit}
  38%{color:#207a46}
}
@media(prefers-reduced-motion:reduce){
  .grerj-row.flash-ok,.tax-card.flash-ok,
  .grerj-row.flash-ok .grerj-name,
  .grerj-row.flash-ok .grerj-due,
  .grerj-row.flash-ok .grerj-code{
    animation:none!important;
  }
}


/* ===== V9 · cargos e permissões ===== */
body:not(.is-admin) .role-structure,
body:not(.is-admin) .role-grerj,
body:not(.is-admin) .role-backup{display:none!important}
.role-badge{
  display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;
  background:#edf4fd;color:#315f99;border:1px solid #c8d9ef;font-size:11px;font-weight:800;
}


/* ===== V9.1 · perfil, login e usuários ===== */
.profile-orb{
  width:42px;height:42px;border-radius:50%;border:1px solid rgba(47,85,151,.18);
  background:linear-gradient(145deg,#eef5fd,#dfeaf8);display:grid;place-items:center;
  cursor:pointer;overflow:hidden;position:relative;box-shadow:0 5px 14px rgba(23,54,93,.09);
  transition:transform var(--motion-fast) var(--ease-ios),box-shadow var(--motion-ui) var(--ease-ios)
}
.profile-orb:hover{transform:translateY(-2px) scale(1.045);box-shadow:0 11px 24px rgba(23,54,93,.14)}
.profile-orb img,.profile-photo-large img{width:100%;height:100%;object-fit:cover}
.profile-initials{font-size:13px;font-weight:900;color:#28558d}
.access-panel{width:min(520px,100%)!important}
.access-choices{display:grid;gap:12px;margin-top:20px}
.access-choice{border-radius:14px;padding:17px;text-align:left;cursor:pointer;border:1px solid #c8d5e8;background:rgba(255,255,255,.94);transition:.2s}
.access-choice b{display:block;color:#17365d;font-size:15px;margin-bottom:4px}
.access-choice small{color:#6d7e92}
.access-choice:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,54,93,.12)}
.direction-choice{background:linear-gradient(145deg,#f8f4ff,#f0f5ff)}
.auth-switch{display:flex;gap:7px;margin-top:16px}
.auth-switch .active{background:#2f5597;color:#fff;border-color:#2f5597}
.profile-panel{width:min(560px,100%)!important}
.profile-card{display:grid;grid-template-columns:82px 1fr;gap:16px;align-items:center;margin-top:18px;padding:16px;border:1px solid #d9e2f3;border-radius:15px;background:rgba(247,250,253,.85)}
.profile-photo-large{width:82px;height:82px;border-radius:50%;border:2px solid #d5e2f2;overflow:hidden;background:#edf4fd;color:#28558d;font-size:22px;font-weight:900;display:grid;place-items:center;cursor:pointer}
.profile-card strong{display:block;font-size:18px;color:#17365d;margin-bottom:3px}.profile-card small{display:block;color:#718096;margin-bottom:9px}
.users-toolbar{display:flex;gap:8px;margin:14px 0}.users-toolbar input{flex:1;border:1px solid #b9c9df;border-radius:9px;padding:10px}
.users-list{display:grid;gap:9px}
.user-row{display:grid;grid-template-columns:minmax(180px,1.4fr) 150px 120px auto;gap:10px;align-items:center;padding:12px;border:1px solid #d9e2f3;border-radius:12px;background:#fff}
.user-id strong{display:block;color:#203e64}.user-id small{display:block;color:#7b899a;margin-top:2px}
.user-row select{border:1px solid #b9c9df;border-radius:8px;padding:9px;background:#fff}
.user-status{font-size:12px;font-weight:800}.user-status.active{color:#27814a}.user-status.inactive{color:#a52a2a}
.user-actions{display:flex;gap:6px;justify-content:flex-end}
.user-row.protected{background:#faf8ff;border-color:#ded5ef}
@media(max-width:880px){.user-row{grid-template-columns:1fr}.user-actions{justify-content:flex-start}}
body:not(.is-admin) .role-users{display:none!important}


/* ===== V9.2 · correções de autenticação ===== */
#registerNameField[hidden]{display:none!important}
.auth-debug{margin-top:8px;font-size:11px;color:#7b899a;word-break:break-word}


/* ===== V9.4.1 · hotfix estável ===== */
.profile-orb img,
.profile-photo-large img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}


/* ===== V9.5 · avatar corrigido ===== */
.profile-orb img[hidden],
.profile-photo-large img[hidden]{
  display:none!important;
}
.profile-orb img,
.profile-photo-large img{
  width:100%;
  height:100%;
  object-fit:cover!important;
  object-position:50% 50%;
  transform:scale(var(--avatar-zoom,1));
  transform-origin:center center;
}
.avatar-adjust{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.avatar-adjust label{
  display:grid;
  grid-template-columns:80px 1fr 42px;
  gap:8px;
  align-items:center;
  font-size:11px;
  color:#6d7e92;
}
.avatar-adjust input[type="range"]{width:100%}


/* ===== V9.5.1 · controles visíveis do avatar ===== */
.profile-orb,.profile-photo-large{
  overflow:hidden!important;
  position:relative;
}
.profile-orb img,.profile-photo-large img{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:50% 50%;
  transform:scale(var(--avatar-zoom,1));
  transform-origin:center center;
}
.avatar-adjust{
  display:grid!important;
  gap:10px;
  margin-top:14px;
  padding:12px;
  border:1px solid #d9e2f3;
  border-radius:12px;
  background:#f8fbff;
}
.avatar-adjust label{
  display:grid;
  grid-template-columns:82px minmax(120px,1fr) 48px;
  gap:9px;
  align-items:center;
  font-size:12px;
  font-weight:700;
  color:#53647b;
}
.avatar-adjust input[type="range"]{width:100%}
#avatarReset{justify-self:start}


/* ===== V10.1 · Interface 2 / Perfil ===== */
.profile-interface{
  min-height:calc(100vh - 86px);
  padding:28px clamp(18px,4.6vw,68px) 58px;
  animation:profileViewIn .48s var(--ease-ios) both;
}
.profile-interface-inner{max-width:1180px;margin:0 auto}
.profile-interface-nav{
  display:flex;align-items:flex-start;gap:18px;margin-bottom:22px
}
.profile-home-btn{flex:0 0 auto;margin-top:5px}
.profile-interface-heading h1{
  margin:2px 0 4px;color:#17365d;font-size:30px;letter-spacing:-.035em
}
.profile-interface-heading p{margin:0;color:#718096;font-size:13px}
.profile-hero-v2{
  display:grid;grid-template-columns:104px 1fr auto;gap:20px;align-items:center;
  padding:22px 24px;margin-bottom:18px;border-radius:20px;
  background:rgba(255,255,255,.82);backdrop-filter:blur(20px) saturate(1.08);
  border:1px solid rgba(176,198,225,.60);
  box-shadow:0 14px 36px rgba(34,67,108,.09);
}
.profile-photo-v2,.avatar-editor-v2{
  overflow:hidden;position:relative;border-radius:50%;
  background:linear-gradient(145deg,#edf5ff,#dce8f6);
  display:grid;place-items:center;color:#28558d;font-weight:900
}
.profile-photo-v2{width:104px;height:104px;font-size:26px}
.avatar-editor-v2{
  width:144px;height:144px;margin:4px auto 18px;border:2px solid rgba(189,207,229,.85);
  cursor:pointer;font-size:30px;box-shadow:0 10px 28px rgba(31,63,102,.10)
}
.profile-photo-v2 img,.avatar-editor-v2 img{
  position:absolute;inset:0;width:100%!important;height:100%!important;
  object-fit:cover!important;
  object-position:var(--avatar-position,50% 50%)!important;
  transform:scale(var(--avatar-scale,1));
  transform-origin:center center;max-width:none!important;max-height:none!important
}
.profile-photo-v2 img[hidden],.avatar-editor-v2 img[hidden]{display:none!important}
.avatar-edit-mark-v2{
  position:absolute;right:7px;bottom:7px;width:30px;height:30px;border-radius:50%;
  background:white;color:#315f99;display:grid;place-items:center;font-size:13px;
  box-shadow:0 5px 13px rgba(24,56,96,.18)
}
.profile-hero-copy h2{margin:0 0 4px;color:#17365d;font-size:23px}
.profile-hero-copy p{margin:0 0 10px;color:#74859a;font-size:13px}
.profile-role-v2{font-size:11px}
.profile-hero-status{
  display:flex;align-items:center;gap:7px;color:#5f7188;font-size:12px;font-weight:750
}
.profile-status-dot{width:8px;height:8px;border-radius:50%;background:#40a765;box-shadow:0 0 0 4px rgba(64,167,101,.10)}
.profile-dashboard-v2{
  display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:16px;align-items:start
}
.profile-box-v2{
  padding:20px;border-radius:18px;background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px) saturate(1.05);border:1px solid rgba(176,198,225,.58);
  box-shadow:0 12px 32px rgba(34,67,108,.075)
}
.profile-box-title{margin-bottom:18px}
.profile-box-title span{display:block;color:#2f5597;font-size:11px;font-weight:900;letter-spacing:.12em}
.profile-box-title small{display:block;margin-top:3px;color:#7b899a;font-size:11.5px}
.profile-info-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:13px 0;padding:12px 0;border-top:1px solid #e5ecf5;border-bottom:1px solid #e5ecf5
}
.profile-info-row span{font-size:12px;color:#718096}
.profile-info-row strong{font-size:12.5px;color:#253f63;text-align:right}
.access-role-card-v2{
  padding:14px;border-radius:14px;background:rgba(239,246,253,.78);
  border:1px solid rgba(192,208,229,.68);margin-bottom:13px
}
.access-role-card-v2 span{display:block;color:#75869b;font-size:11px;margin-bottom:3px}
.access-role-card-v2 strong{color:#203e64;font-size:18px}
.profile-permissions-v2{display:grid;gap:7px;margin-bottom:15px}
.permission-line-v2{
  display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;
  background:rgba(248,251,254,.76);font-size:12px;color:#55677e
}
.permission-line-v2.yes::before{content:"✓";color:#25834b;font-weight:900}
.permission-line-v2.no::before{content:"—";color:#9aa6b5;font-weight:900}
.avatar-controls-v2{display:grid;gap:10px}
.avatar-controls-v2 label{
  display:grid;grid-template-columns:76px 1fr 46px;gap:8px;align-items:center;
  font-size:11.5px;color:#5f7086;font-weight:700
}
.avatar-controls-v2 input[type="range"]{width:100%}
.profile-photo-note-v2{margin:12px 0 0;color:#8190a2;font-size:11px;line-height:1.45}
.profile-session-v2{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-top:16px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.72);
  border:1px solid rgba(176,198,225,.46)
}
.profile-session-v2 strong{display:block;color:#263f61;font-size:13px}
.profile-session-v2 small{display:block;margin-top:2px;color:#7b899a;font-size:11.5px}
body.profile-view .controls,
body.profile-view main.shell,
body.profile-view footer.footer{display:none!important}
body.profile-view #profileInterface{display:block!important}
@keyframes profileViewIn{
  from{opacity:0;transform:translateY(9px);filter:blur(3px)}
  to{opacity:1;transform:none;filter:none}
}
@media(max-width:930px){
  .profile-dashboard-v2{grid-template-columns:1fr 1fr}
  .profile-avatar-box-v2{grid-column:1/-1}
}
@media(max-width:650px){
  .profile-dashboard-v2{grid-template-columns:1fr}
  .profile-avatar-box-v2{grid-column:auto}
  .profile-hero-v2{grid-template-columns:78px 1fr}
  .profile-photo-v2{width:78px;height:78px}
  .profile-hero-status{grid-column:1/-1}
}


/* ===== V10.3 · Aurora universal ===== */
html,body{min-height:100%}
body{
  background:#f5f9fc!important;
  position:relative;
}
/* Aurora GIF legada removida na BRUTAL V1: regra já anulada pela interface final. */

body::after{
  content:""!important;
  display:block!important;
  position:fixed!important;
  inset:0!important;
  z-index:-19!important;
  pointer-events:none!important;
  background:rgba(248,252,255,.34)!important;
}
.profile-interface,
.modal,
.panel,
.shell,
.controls,
header,
footer{
  background-color:transparent;
}


.profile-orb::after{
  content:attr(data-profile-tip);
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:max-content;
  max-width:240px;
  padding:9px 11px;
  border-radius:10px;
  background:rgba(23,54,93,.94);
  color:#fff;
  font-size:11.5px;
  font-weight:750;
  line-height:1.35;
  white-space:pre-line;
  opacity:0;
  transform:translateY(-4px) scale(.98);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
  box-shadow:0 10px 24px rgba(23,54,93,.18);
  z-index:9999;
}
.profile-orb:hover::after{
  opacity:1;
  transform:translateY(0) scale(1);
}


.profile-registration-v2{
  margin-top:8px;
  color:#718096;
  font-size:12px;
  font-weight:700;
}


/* ===== V10.3.1 · cabeçalho branco/glass restaurado ===== */
header,
.header,
.topbar{
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(20px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.12)!important;
  border-bottom:1px solid rgba(190,205,224,.58)!important;
}


/* ===== V10.3.2 · cabeçalho + faixa de pesquisa restaurados ===== */
.controls{
  background:rgba(255,255,255,.84)!important;
  backdrop-filter:blur(18px) saturate(1.10)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.10)!important;
  border-bottom:1px solid rgba(190,205,224,.52)!important;
  box-shadow:0 8px 22px rgba(34,67,108,.035)!important;
}
.search-wrap,
.scope,
.searchbox{
  background:transparent!important;
}


/* ===== ASSISTENTE DIGITAL CARTORIO V1.1 · HOME ===== */
.head{max-width:1500px!important}
.module-nav{display:flex;gap:7px;margin-left:auto}
.module-btn{
  border:1px solid rgba(184,201,222,.72);
  background:rgba(255,255,255,.64);
  color:#48617e;border-radius:11px;padding:8px 13px;
  font-weight:800;cursor:pointer;transition:.2s
}
.module-btn:hover{transform:translateY(-1px) scale(1.025);background:#fff}
.module-btn.active{
  background:#2f65a7;color:#fff;border-color:#2f65a7;
  box-shadow:0 7px 18px rgba(47,101,167,.18)
}
.global-people-search{
  position:relative;display:flex;align-items:center;gap:6px;
  width:min(260px,22vw);padding:7px 10px;
  border:1px solid rgba(184,201,222,.72);border-radius:12px;
  background:rgba(255,255,255,.72)
}
.global-people-search input{
  border:0!important;outline:0!important;background:transparent!important;
  width:100%;font-size:12px;color:#29425f
}
.people-results{
  position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:5000;
  padding:7px;border-radius:13px;background:rgba(255,255,255,.96);
  border:1px solid #d6e0ed;box-shadow:0 16px 36px rgba(27,56,91,.16);
  backdrop-filter:blur(18px)
}
.people-result{display:flex;align-items:center;gap:9px;padding:9px;border-radius:9px}
.people-result:hover{background:#edf5ff}
.people-mini-avatar{
  width:30px;height:30px;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;background:#e6eef8;
  color:#315d91;font-size:10px;font-weight:900
}
.people-mini-avatar img{width:100%;height:100%;object-fit:cover}
.people-result b{display:block;font-size:11.5px;color:#29425f}
.people-result small{display:block;font-size:10px;color:#8190a2}
.people-empty{padding:10px;font-size:11px;color:#7c8999}

.home-view{
  min-height:calc(100vh - 64px);
  display:grid;place-items:center;
  padding:54px 24px 76px;
  position:relative
}
.home-inner{width:min(860px,100%);text-align:center}
.home-emblem{
  width:84px;height:84px;border-radius:22px;margin:0 auto 17px;
  display:grid;place-items:center;font-size:38px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(174,197,225,.68);
  box-shadow:0 18px 50px rgba(35,75,121,.12);
  backdrop-filter:blur(20px)
}
.home-kicker{
  font-size:11px;letter-spacing:.26em;color:#69809c;
  font-weight:900;margin-bottom:8px
}
.home-view h1{
  margin:0;color:#173b69;font-size:clamp(36px,6vw,66px);
  line-height:.98;letter-spacing:-.055em;
  text-shadow:0 1px 0 rgba(255,255,255,.8)
}
.home-sub{
  max-width:590px;margin:18px auto 26px;color:#61758e;
  font-size:14px;line-height:1.6
}
.home-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.home-primary,.home-secondary{
  min-width:230px;padding:14px 20px;border-radius:13px;
  font-weight:900;letter-spacing:.08em;font-size:11px;
  cursor:pointer;transition:.22s
}
.home-primary{
  border:1px solid #2f65a7;background:#2f65a7;color:white;
  box-shadow:0 12px 28px rgba(47,101,167,.18)
}
.home-secondary{
  border:1px solid rgba(166,190,219,.8);
  background:rgba(255,255,255,.75);color:#315879;
  backdrop-filter:blur(18px)
}
.home-primary:hover,.home-secondary:hover{transform:translateY(-3px) scale(1.025)}
.home-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:12px;margin:38px auto 0;max-width:760px
}
.home-card{
  border:1px solid rgba(177,198,224,.58);
  background:rgba(255,255,255,.70);backdrop-filter:blur(18px);
  border-radius:15px;padding:16px;text-align:left;color:#294866;
  box-shadow:0 10px 28px rgba(33,65,103,.06)
}
button.home-card{cursor:pointer;transition:.2s}
button.home-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.88)}
.home-card span{display:block;font-size:9px;letter-spacing:.15em;color:#7e90a7;font-weight:900}
.home-card strong{display:block;font-size:24px;margin:7px 0 2px;color:#244f83}
.home-card small{color:#75879d;font-size:10.5px}

body.app-home .controls,
body.app-home main.shell,
body.app-home footer.footer{display:none!important}
body:not(.app-home) #homeView{display:none!important}
body.profile-view #homeView{display:none!important}
body.profile-view .module-nav{opacity:.55;pointer-events:none}

@media(max-width:1000px){
  .global-people-search{width:190px}
  .module-btn{padding:7px 9px}
  .home-grid{grid-template-columns:1fr}
}


/* ===== V1.2 · Pesquisa de pessoas ===== */
.home-people-search{
  width:min(620px,100%);
  margin:18px auto 0;
  position:relative;
}
.home-people-input{
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 14px;
  border:1px solid rgba(176,198,225,.72);
  border-radius:14px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px);
  box-shadow:0 10px 28px rgba(33,65,103,.055);
}
.home-people-input input{
  width:100%;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#29425f;
  font-size:13px;
}
.people-results-home{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:0!important;
  z-index:6000!important;
  max-height:360px;
  overflow:auto;
}
.people-result{
  cursor:pointer;
}
.people-result .people-text{
  flex:1;
  min-width:0;
}
.people-result b{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.people-result small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.public-profile-note{
  display:inline-flex;
  margin-top:10px;
  padding:7px 10px;
  border-radius:10px;
  background:rgba(240,246,252,.82);
  color:#708197;
  font-size:11px;
  font-weight:700;
}
body.public-profile-view #profileSaveV2,
body.public-profile-view #profilePhotoButtonV2,
body.public-profile-view .avatar-controls-v2,
body.public-profile-view #profilePanelV2,
body.public-profile-view #profileLogoutV2{
  display:none!important;
}

/* Perfil de outro utilizador: mostra os dados, mas sem permitir edição. */
body.public-profile-view #profileNameInputV2,
body.public-profile-view #profileRegistrationInputV2{
  display:block!important;
  pointer-events:none!important;
  user-select:text;
  background:rgba(245,248,252,.86)!important;
  color:#405674!important;
  border-color:#d8e2ef!important;
  box-shadow:none!important;
  cursor:default!important;
}
body.public-profile-view .profile-box-v2:first-child::after{
  content:"Perfil de outro utilizador · visualização somente leitura";
  display:block;
  margin-top:12px;
  color:#8190a2;
  font-size:11px;
}


/* ===== V1.3 · cabeçalho THUG, sem reinventar o site ===== */
header{
  background:rgba(255,255,255,.90)!important;
  backdrop-filter:blur(20px) saturate(1.10)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.10)!important;
}
header .head,
.head{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 34px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:0!important;
}

.header-identity{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}
.header-brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1;
}
.brand-home{
  appearance:none;
  border:0;
  background:transparent!important;
  padding:0;
  margin:2px 0 0;
  color:#17365d;
  font:inherit;
  cursor:pointer;
  text-align:left;
  white-space:nowrap;
}
.brand-home:hover{opacity:.78}

/* Igual à ideia do THUG: links ficam NA MESMA LINHA, ao lado da marca. */
.module-nav{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:28px!important;
  margin-left:42px!important;
  margin-right:0!important;
  flex:0 0 auto!important;
}
.module-btn{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:4px 0!important;
  margin:0!important;
  color:#64758a!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
  white-space:nowrap!important;
  cursor:pointer;
  position:relative;
  transition:color .18s ease, transform .18s ease!important;
}
.module-btn:hover{
  color:#173b69!important;
  transform:translateY(-1px)!important;
}
.module-btn::after{
  content:"";
  position:absolute;
  left:0; right:0;
  bottom:-11px;
  height:2px;
  border-radius:999px;
  background:#2f65a7;
  transform:scaleX(0);
  transition:transform .18s ease;
}
.module-btn.active{
  color:#173b69!important;
}
.module-btn.active::after{
  transform:scaleX(1);
}

/* Só as ações são empurradas para o extremo direito. */
.actions{
  margin-left:auto!important;
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
}

/* Perfil aberto não paralisa a navegação global. */
body.profile-view .module-nav,
body.profile-view .brand-home{
  opacity:1!important;
  pointer-events:auto!important;
}

@media(max-width:1050px){
  header .head,.head{padding:0 16px!important}
  .module-nav{margin-left:22px!important;gap:16px!important}
  .module-btn{font-size:10px!important}
}


/* ===== V1.4 · refino visual da Home/Header ===== */

/* Nome do cabeçalho: mais encorpado, premium e legível */
.brand-home{
  font-family: Inter, "Segoe UI", Arial, sans-serif!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  color:#163a67!important;
  text-shadow:0 1px 0 rgba(255,255,255,.9);
}
.header-brand-copy .kicker{
  letter-spacing:.20em!important;
  font-weight:800!important;
}

/* Sombras mais elegantes nos botões da Home */
.home-primary{
  box-shadow:
    0 12px 28px rgba(47,101,167,.20),
    0 2px 5px rgba(32,69,113,.10)!important;
}
.home-secondary{
  box-shadow:
    0 10px 24px rgba(43,78,117,.10),
    0 2px 5px rgba(43,78,117,.06)!important;
}
.home-primary:hover,
.home-secondary:hover{
  box-shadow:
    0 16px 34px rgba(43,83,130,.16),
    0 4px 8px rgba(43,83,130,.08)!important;
}

/* Barra de pesquisa da Home com profundidade suave */
.home-people-input{
  box-shadow:
    0 12px 30px rgba(35,70,112,.095),
    0 2px 6px rgba(35,70,112,.05)!important;
}
.home-people-input:focus-within{
  box-shadow:
    0 15px 34px rgba(35,70,112,.13),
    0 0 0 3px rgba(47,101,167,.07)!important;
  border-color:rgba(117,156,202,.82)!important;
}

/* A Home agora entra com vida */
body.app-home #homeView{
  animation:homeSceneIn .58s var(--ease-ios) both;
}
body.app-home #homeView .home-emblem{
  animation:homeElementIn .62s var(--ease-ios) .03s both;
}
body.app-home #homeView .home-kicker,
body.app-home #homeView h1{
  animation:homeElementIn .64s var(--ease-ios) .08s both;
}
body.app-home #homeView .home-sub{
  animation:homeElementIn .64s var(--ease-ios) .13s both;
}
body.app-home #homeView .home-actions{
  animation:homeElementIn .64s var(--ease-ios) .18s both;
}
body.app-home #homeView .home-people-search{
  animation:homeElementIn .64s var(--ease-ios) .23s both;
}
body.app-home #homeView .home-grid{
  animation:homeElementIn .66s var(--ease-ios) .29s both;
}

@keyframes homeSceneIn{
  from{opacity:0;filter:blur(4px)}
  to{opacity:1;filter:none}
}
@keyframes homeElementIn{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:none}
}

@media(prefers-reduced-motion:reduce){
  body.app-home #homeView,
  body.app-home #homeView *{
    animation:none!important;
  }
}


/* ===== V1.5 · Home realmente animada + header mais respirado ===== */
header .head,.head{
  min-height:72px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
#homeView.home-enter .home-emblem,
#homeView.home-enter .home-kicker,
#homeView.home-enter h1,
#homeView.home-enter .home-sub,
#homeView.home-enter .home-actions,
#homeView.home-enter .home-people-search,
#homeView.home-enter .home-grid{
  opacity:0;
  transform:translateY(18px) scale(.982);
  filter:blur(3px);
  will-change:transform,opacity,filter;
}
#homeView.home-enter.home-enter-play .home-emblem{animation:homePointReveal .56s var(--ease-ios) .02s forwards}
#homeView.home-enter.home-enter-play .home-kicker{animation:homePointReveal .56s var(--ease-ios) .08s forwards}
#homeView.home-enter.home-enter-play h1{animation:homePointReveal .62s var(--ease-ios) .13s forwards}
#homeView.home-enter.home-enter-play .home-sub{animation:homePointReveal .58s var(--ease-ios) .20s forwards}
#homeView.home-enter.home-enter-play .home-actions{animation:homePointReveal .58s var(--ease-ios) .27s forwards}
#homeView.home-enter.home-enter-play .home-people-search{animation:homePointReveal .58s var(--ease-ios) .34s forwards}
#homeView.home-enter.home-enter-play .home-grid{animation:homePointReveal .62s var(--ease-ios) .41s forwards}
#homeView.home-enter.home-enter-play .home-grid .home-card{
  opacity:0;transform:translateY(12px) scale(.985);
  animation:homeCardReveal .48s var(--ease-ios) forwards
}
#homeView.home-enter.home-enter-play .home-grid .home-card:nth-child(1){animation-delay:.47s}
#homeView.home-enter.home-enter-play .home-grid .home-card:nth-child(2){animation-delay:.53s}
#homeView.home-enter.home-enter-play .home-grid .home-card:nth-child(3){animation-delay:.59s}
@keyframes homePointReveal{
  0%{opacity:0;transform:translateY(18px) scale(.982);filter:blur(3px)}
  65%{opacity:1;transform:translateY(-2px) scale(1.004);filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
@keyframes homeCardReveal{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
  #homeView.home-enter *,#homeView.home-enter{
    animation:none!important;opacity:1!important;transform:none!important;filter:none!important
  }
}


/* ===== V1.6 · Home mais suave, viva e menos tímida ===== */

/* Cena geral */
#homeView.home-enter{
  perspective:900px;
}

/* Estado inicial um pouco mais distante, mas sem parecer brusco */
#homeView.home-enter .home-emblem,
#homeView.home-enter .home-kicker,
#homeView.home-enter h1,
#homeView.home-enter .home-sub,
#homeView.home-enter .home-actions,
#homeView.home-enter .home-people-search,
#homeView.home-enter .home-grid{
  opacity:0;
  filter:blur(7px);
  will-change:transform,opacity,filter;
}

/* Cada peça nasce de um lugar levemente diferente */
#homeView.home-enter .home-emblem{
  transform:translateY(-24px) scale(.90) rotateX(8deg);
}
#homeView.home-enter .home-kicker{
  transform:translateY(-12px);
}
#homeView.home-enter h1{
  transform:translateY(24px) scale(.965);
}
#homeView.home-enter .home-sub{
  transform:translateY(22px);
}
#homeView.home-enter .home-actions{
  transform:translateY(28px) scale(.98);
}
#homeView.home-enter .home-people-search{
  transform:translateY(32px) scale(.975);
}
#homeView.home-enter .home-grid{
  transform:translateY(36px) scale(.97);
}

/* Entrada mais lenta/suave */
#homeView.home-enter.home-enter-play .home-emblem{
  animation:homeFloatIn .82s cubic-bezier(.16,1,.3,1) .03s forwards;
}
#homeView.home-enter.home-enter-play .home-kicker{
  animation:homeSoftIn .72s cubic-bezier(.16,1,.3,1) .12s forwards;
}
#homeView.home-enter.home-enter-play h1{
  animation:homeHeroIn .90s cubic-bezier(.16,1,.3,1) .16s forwards;
}
#homeView.home-enter.home-enter-play .home-sub{
  animation:homeSoftIn .78s cubic-bezier(.16,1,.3,1) .27s forwards;
}
#homeView.home-enter.home-enter-play .home-actions{
  animation:homeSoftIn .82s cubic-bezier(.16,1,.3,1) .36s forwards;
}
#homeView.home-enter.home-enter-play .home-people-search{
  animation:homeSoftIn .84s cubic-bezier(.16,1,.3,1) .45s forwards;
}
#homeView.home-enter.home-enter-play .home-grid{
  animation:homeSoftIn .88s cubic-bezier(.16,1,.3,1) .55s forwards;
}

/* Cards individualmente, com pequeno deslocamento lateral alternado */
#homeView.home-enter.home-enter-play .home-grid .home-card{
  opacity:0;
  filter:blur(4px);
  animation:homeCardSweep .70s cubic-bezier(.16,1,.3,1) forwards;
}
#homeView.home-enter.home-enter-play .home-grid .home-card:nth-child(1){
  transform:translate(-22px,18px) scale(.97);
  animation-delay:.63s;
}
#homeView.home-enter.home-enter-play .home-grid .home-card:nth-child(2){
  transform:translateY(24px) scale(.97);
  animation-delay:.71s;
}
#homeView.home-enter.home-enter-play .home-grid .home-card:nth-child(3){
  transform:translate(22px,18px) scale(.97);
  animation-delay:.79s;
}

/* Micro movimento contínuo muito discreto depois da entrada */
body.app-home #homeView .home-emblem{
  animation-name:homeEmblemIdle;
  animation-duration:6s;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  animation-delay:1.2s;
}
body.app-home #homeView .home-primary,
body.app-home #homeView .home-secondary{
  transition:
    transform .28s cubic-bezier(.16,1,.3,1),
    box-shadow .28s ease,
    background .2s ease;
}
body.app-home #homeView .home-primary:hover,
body.app-home #homeView .home-secondary:hover{
  transform:translateY(-5px) scale(1.035);
}

/* Keyframes */
@keyframes homeFloatIn{
  0%{
    opacity:0;
    filter:blur(7px);
    transform:translateY(-24px) scale(.90) rotateX(8deg);
  }
  70%{
    opacity:1;
    filter:blur(0);
    transform:translateY(3px) scale(1.018) rotateX(0);
  }
  100%{
    opacity:1;
    filter:none;
    transform:none;
  }
}
@keyframes homeHeroIn{
  0%{
    opacity:0;
    filter:blur(8px);
    transform:translateY(24px) scale(.965);
    letter-spacing:-.075em;
  }
  68%{
    opacity:1;
    filter:blur(0);
    transform:translateY(-3px) scale(1.008);
  }
  100%{
    opacity:1;
    filter:none;
    transform:none;
  }
}
@keyframes homeSoftIn{
  0%{
    opacity:0;
    filter:blur(7px);
  }
  72%{
    opacity:1;
    filter:blur(0);
    transform:translateY(-3px) scale(1.005);
  }
  100%{
    opacity:1;
    filter:none;
    transform:none;
  }
}
@keyframes homeCardSweep{
  0%{
    opacity:0;
    filter:blur(4px);
  }
  75%{
    opacity:1;
    filter:blur(0);
    transform:translateY(-3px) scale(1.008);
  }
  100%{
    opacity:1;
    filter:none;
    transform:none;
  }
}
@keyframes homeEmblemIdle{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-4px) rotate(.6deg)}
}

@media(prefers-reduced-motion:reduce){
  #homeView.home-enter *,
  #homeView.home-enter,
  body.app-home #homeView .home-emblem{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
}


/* ===== V1.7 · título digitado ===== */
#homeTypedTitle{
  min-height:2.05em;
}
.typing-caret{
  display:inline-block;
  margin-left:3px;
  font-weight:700;
  animation:typingCaretBlink .72s steps(1,end) infinite;
}
.typing-caret.done{
  animation:typingCaretFade .45s ease forwards;
}
@keyframes typingCaretBlink{
  0%,48%{opacity:1}
  49%,100%{opacity:0}
}
@keyframes typingCaretFade{
  to{opacity:0}
}


/* ===== V1.8 · correção robusta das animações da Home ===== */
/* JS controla botões, pesquisa e cards para garantir replay consistente. */
#homeView.home-enter.home-enter-play .home-actions,
#homeView.home-enter.home-enter-play .home-people-search,
#homeView.home-enter.home-enter-play .home-grid{
  animation:none!important;
  opacity:1;
  transform:none;
  filter:none;
}
#homeView.home-enter.home-enter-play .home-grid .home-card{
  animation:none!important;
}


/* ===== V1.9.1 · espaço para resultados da pesquisa ===== */
.home-grid{
  margin-top:clamp(115px,16vh,205px)!important;
}
@media(max-height:760px){
  .home-grid{margin-top:82px!important}
}
@media(max-width:700px){
  .home-grid{margin-top:78px!important}
}

/* ===== V1.9.1 · gestão de usuários ===== */
.user-role-select{min-width:145px}
.user-hierarchy-note{
  display:block;
  margin-top:4px;
  color:#8290a2;
  font-size:10px;
  line-height:1.35;
}


/* ===== V1.10 · cargo editável em perfil público ===== */
.profile-role-line-v2{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.profile-role-edit-v2{
  width:32px;
  height:32px;
  border-radius:10px;
  border:1px solid rgba(173,194,219,.75);
  background:rgba(255,255,255,.85);
  color:#2f5597;
  cursor:pointer;
  font-weight:900;
  transition:.18s ease;
}
.profile-role-edit-v2:hover{
  transform:translateY(-1px) scale(1.05);
  box-shadow:0 7px 16px rgba(47,85,151,.12);
}
.profile-role-editor-v2{
  display:flex;
  gap:8px;
  align-items:center;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #dfe7f1;
}
.profile-role-editor-v2 select{
  flex:1;
  min-width:0;
  border:1px solid #b9c9df;
  border-radius:9px;
  padding:9px;
  background:#fff;
  color:#29425f;
}


/* ============================================================
   V2.0 · ETAPA 14 — QA / MOBILE / ACESSIBILIDADE / TECLADO
   ============================================================ */

html{
  scroll-padding-top:88px;
  overflow-x:hidden;
}
body{
  min-width:320px;
  min-height:100dvh;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.skip-link{
  position:fixed;
  left:14px;
  top:12px;
  z-index:100000;
  transform:translateY(-160%);
  padding:10px 14px;
  border-radius:10px;
  background:#17365d;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 10px 25px rgba(23,54,93,.25);
  transition:transform .18s ease;
}
.skip-link:focus{transform:none}

/* Visible focus that doesn't depend on mouse hover */
:where(button,input,select,textarea,a,[tabindex]):focus-visible{
  outline:3px solid rgba(47,85,151,.48)!important;
  outline-offset:3px!important;
}
:where(button,input,select,textarea,a):focus:not(:focus-visible){
  outline:none;
}

/* Touch targets */
button,
input[type="radio"],
input[type="checkbox"],
select{
  touch-action:manipulation;
}
button{
  min-height:44px;
}
.module-btn{
  min-height:40px;
}
.profile-orb,.mute-btn{
  min-width:44px;
  min-height:44px;
}

/* Avoid accidental horizontal overflow from long usernames/text */
.brand-home,.profile-hero-copy,.user-id,.people-text,.title,.body{
  overflow-wrap:anywhere;
}
img{
  max-width:100%;
}

/* Search results stay above Home cards and are keyboard-friendly */
.home-people-search{z-index:30}
.people-results-home{
  z-index:9000!important;
  overscroll-behavior:contain;
}
.people-result[tabindex="0"]:focus-visible{
  background:#edf5ff;
  outline:2px solid rgba(47,85,151,.35)!important;
  outline-offset:-2px!important;
}

/* Utility content: long model text and GRERJ never stretch the viewport */
.cards,.card,.grerj-shell,.profile-interface-inner,.admin-main{
  min-width:0;
}
.body{
  overflow-wrap:anywhere;
}
.grerj-card{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Header — preserve desktop design, gain safe mobile behavior */
header{
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}
@media(max-width:980px){
  header .head,.head{
    min-height:auto!important;
    padding:10px 14px!important;
    flex-wrap:wrap!important;
    row-gap:10px!important;
  }
  .header-identity{
    max-width:calc(100% - 8px);
  }
  .module-nav{
    order:3;
    width:100%;
    margin:0!important;
    padding:3px 0 1px;
    gap:18px!important;
    overflow-x:auto;
    scrollbar-width:none;
    justify-content:flex-start;
  }
  .module-nav::-webkit-scrollbar{display:none}
  .actions{
    margin-left:auto!important;
  }
  .brand-home{
    font-size:16px!important;
  }
}
@media(max-width:640px){
  .mark{
    width:38px;
    height:38px;
    font-size:18px;
  }
  .header-brand-copy .kicker{
    font-size:9px!important;
    letter-spacing:.14em!important;
  }
  .brand-home{
    font-size:14px!important;
    max-width:58vw;
    white-space:normal!important;
  }
  .actions{
    gap:6px!important;
  }
  .cloud-badge{
    display:none!important;
  }
  #manage{
    padding:9px 10px;
    font-size:11px;
    max-width:122px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .header-logout{
    padding:8px 9px!important;
  }
}

/* Home */
.home-view{
  min-height:calc(100dvh - 80px)!important;
  padding-left:max(18px,env(safe-area-inset-left))!important;
  padding-right:max(18px,env(safe-area-inset-right))!important;
}
.home-people-search{
  max-width:100%;
}
@media(max-width:700px){
  .home-view{
    align-items:start!important;
    padding-top:36px!important;
    padding-bottom:42px!important;
  }
  .home-emblem{
    width:68px!important;
    height:68px!important;
    font-size:30px!important;
  }
  .home-view h1{
    font-size:clamp(32px,11vw,48px)!important;
  }
  .home-sub{
    font-size:13px!important;
    margin:15px auto 21px!important;
  }
  .home-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .home-primary,.home-secondary{
    width:100%;
    min-width:0!important;
  }
  .home-people-input{
    padding:10px 12px!important;
  }
  .home-grid{
    margin-top:78px!important;
    grid-template-columns:1fr!important;
  }
}

/* Models / filters */
@media(max-width:800px){
  .controls .searchbar{
    padding-top:16px!important;
    padding-bottom:16px!important;
  }
  .searchwrap input{
    height:50px!important;
    font-size:16px!important; /* prevents iOS Safari zoom */
  }
  .tabs{
    overflow-x:auto;
    flex-wrap:nowrap!important;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .tabs::-webkit-scrollbar{display:none}
  .tabs button{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .search-options{
    gap:10px 14px!important;
  }
  .shell{
    gap:16px!important;
    padding-top:18px!important;
  }
  .side{
    border-radius:14px!important;
    padding:9px!important;
  }
  .cats{
    overflow-x:auto;
    scrollbar-width:none;
  }
  .cats::-webkit-scrollbar{display:none}
  .cardhead{
    gap:12px!important;
  }
  .body{
    padding:17px!important;
    font-size:14px!important;
    line-height:1.65!important;
  }
  .card-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:480px){
  .card-actions{
    grid-template-columns:1fr!important;
  }
  .tags{
    flex-wrap:wrap;
  }
}

/* Profile */
@media(max-width:760px){
  .profile-interface{
    padding:18px 14px 40px!important;
  }
  .profile-interface-nav{
    gap:12px!important;
  }
  .profile-interface-heading h1{
    font-size:26px!important;
  }
  .profile-hero-v2{
    padding:17px!important;
    gap:14px!important;
  }
  .profile-dashboard-v2{
    grid-template-columns:1fr!important;
  }
  .profile-avatar-box-v2{
    grid-column:auto!important;
  }
  .profile-session-v2{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .profile-session-v2 button{
    width:100%;
  }
  .profile-role-editor-v2{
    flex-wrap:wrap;
  }
  .profile-role-editor-v2 select{
    flex:1 1 100%;
  }
}

/* Admin modal / users */
@media(max-width:760px){
  .modal{
    padding:8px!important;
    align-items:flex-end!important;
  }
  .modal .panel{
    width:100%!important;
    max-height:92dvh!important;
    border-radius:18px 18px 10px 10px!important;
    padding:18px!important;
    overscroll-behavior:contain;
  }
  .admin-grid{
    grid-template-columns:1fr!important;
  }
  .admin-list{
    height:170px!important;
  }
  .admin-tabs{
    overflow-x:auto;
    flex-wrap:nowrap!important;
    scrollbar-width:none;
  }
  .admin-tabs::-webkit-scrollbar{display:none}
  .admin-tabs button{
    flex:0 0 auto;
  }
  .user-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .user-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }
  .user-actions button{
    width:100%;
  }
}

/* GRERJ: desktop table remains; mobile gets readable stacked rows */
@media(max-width:720px){
  .grerj-hero{
    padding:18px!important;
  }
  .grerj-row.grerj-head{
    display:none!important;
  }
  .grerj-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px 12px!important;
    padding:14px!important;
  }
  .grerj-name{
    grid-column:1/-1;
    font-weight:850!important;
  }
  .grerj-row > div{
    min-width:0;
  }
  .grerj-row input{
    width:100%!important;
    min-width:0!important;
    font-size:16px!important;
  }
  .grerj-tax-grid,
  .grerj-summary-grid{
    grid-template-columns:1fr!important;
  }
}

/* Empty/error states remain readable on small screens */
.empty,.cloud-empty,.loading-models{
  padding-left:20px!important;
  padding-right:20px!important;
}

/* Reduced motion: also neutralize JS-oriented visual states */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  #homeView.home-enter *,
  .b-drop,
  .grerj-row,
  .cat-enter{
    animation:none!important;
    transition:none!important;
    transform:none!important;
    filter:none!important;
    opacity:1!important;
  }
  .typing-caret{display:none!important}
}


/* ===== V2.0.1 · HOTFIX permissões visuais + header ===== */

/* O atributo hidden precisa vencer qualquer display:flex do componente. */
.profile-role-edit-v2[hidden],
.profile-role-editor-v2[hidden]{
  display:none!important;
}

/* Cabeçalho mais compacto: mantém a estética sem ficar alto/espalhado. */
header .head,
.head{
  min-height:60px!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
}
.header-brand-copy{
  gap:0!important;
  line-height:1!important;
}
.header-brand-copy .kicker{
  margin:0 0 2px!important;
  line-height:1.05!important;
}
.brand-home{
  margin:0!important;
  line-height:1.05!important;
}
.module-nav{
  align-self:center!important;
}
.module-btn{
  min-height:34px!important;
}


/* ===== V2.0.2 · FIX lista lateral do Gerir a central ===== */

/* A lista precisava deixar cada item crescer conforme o título.
   O bug vinha dos títulos longos comprimidos/encavalados. */
.admin-list{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:4px!important;
  align-items:stretch!important;
}

.admin-item{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:44px!important;
  flex:0 0 auto!important;
  padding:10px 11px!important;
  line-height:1.22!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  box-sizing:border-box!important;
}

.admin-item > *{
  max-width:100%!important;
}

.admin-item small{
  display:block!important;
  margin-top:4px!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* A coluna lateral fica um pouco mais confortável para títulos extensos. */
.admin-grid{
  grid-template-columns:minmax(270px,300px) minmax(0,1fr)!important;
}

/* Campo de filtro não deve ser esmagado. */
.admin-nav{
  min-width:0!important;
}
.admin-nav input,
#adminSearch{
  width:100%!important;
  min-width:0!important;
}

/* scrollbar discreta */
.admin-list{
  scrollbar-width:thin;
  scrollbar-color:rgba(47,85,151,.28) transparent;
}
.admin-list::-webkit-scrollbar{width:7px}
.admin-list::-webkit-scrollbar-track{background:transparent}
.admin-list::-webkit-scrollbar-thumb{
  background:rgba(47,85,151,.22);
  border-radius:999px;
}
.admin-list::-webkit-scrollbar-thumb:hover{
  background:rgba(47,85,151,.34);
}

@media(max-width:760px){
  .admin-grid{
    grid-template-columns:1fr!important;
  }
  .admin-list{
    height:220px!important;
    max-height:34vh!important;
  }
}


/* ===== V2.0.3 · CABEÇALHO ARRUMADO DE VEZ ===== */
header{
  width:100%!important;
  overflow:visible!important;
}
header .head,
.head{
  width:100%!important;
  max-width:none!important;
  min-height:66px!important;
  margin:0!important;
  padding:6px 22px!important;
  box-sizing:border-box!important;

  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:0!important;
}

.header-identity{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}

.header-brand-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:1px!important;
  line-height:1!important;
  min-width:0!important;
}

.header-brand-copy .kicker{
  margin:0!important;
  line-height:1!important;
  font-size:10px!important;
  letter-spacing:.18em!important;
}

.brand-home{
  margin:0!important;
  padding:0!important;
  line-height:1.05!important;
  font-size:18px!important;
  white-space:nowrap!important;
}

/* MENUS ficam ao lado do nome, como no THUG */
.module-nav{
  order:0!important;
  flex:0 0 auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:25px!important;
  margin-left:38px!important;
  margin-right:0!important;
  padding:0!important;
  width:auto!important;
  overflow:visible!important;
}

.module-btn{
  flex:0 0 auto!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  line-height:1!important;
}

/* Só os controles vão para a extrema direita */
.actions{
  flex:0 0 auto!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:max-content!important;
}

/* Desfaz o comportamento mobile que jogava os menus para outra linha cedo demais */
@media(min-width:781px){
  .module-nav{
    width:auto!important;
    order:0!important;
  }
}

/* Em telas realmente pequenas, aí sim quebra de forma controlada */
@media(max-width:780px){
  header .head,.head{
    flex-wrap:wrap!important;
    padding:8px 12px!important;
    row-gap:8px!important;
  }

  .header-identity{
    max-width:calc(100% - 160px)!important;
  }

  .brand-home{
    font-size:14px!important;
    white-space:normal!important;
  }

  .actions{
    margin-left:auto!important;
  }

  .module-nav{
    order:3!important;
    width:100%!important;
    margin:0!important;
    gap:18px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .module-nav::-webkit-scrollbar{display:none!important}
}


/* ===== V2.0.4 · ajuste mínimo do cabeçalho ===== */
/* Só aproxima o TJRJ · 2ª VARA CÍVEL do título. */
.header-brand-copy{
  justify-content:center!important;
  gap:0!important;
}

.header-brand-copy .kicker{
  margin:0 0 -1px 0!important;
  transform:translateY(3px)!important;
  line-height:1!important;
}

.brand-home{
  margin-top:2px!important;
}



/* =========================================================
   BOB · ESTAGIÁRIO — Assistente lateral
   ========================================================= */
.bob-tab{
  position:fixed;
  right:0;
  top:50%;
  z-index:8800;
  min-height:0!important;
  border:1px solid rgba(23,54,93,.18);
  border-right:0;
  border-radius:13px 0 0 13px;
  padding:13px 10px;
  background:linear-gradient(145deg,#17365d,#2f5597);
  color:#fff;
  box-shadow:0 10px 28px rgba(23,54,93,.22);
  cursor:pointer;
  transform:translateY(-50%);
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  transition:
    transform .24s var(--ease-ios),
    box-shadow .24s var(--ease-ios),
    opacity .2s ease;
}
.bob-tab:hover{
  transform:translateY(-50%) translateX(-4px) scale(1.025);
  box-shadow:0 14px 34px rgba(23,54,93,.28);
}
.bob-tab:active{
  transform:translateY(-50%) scale(.97);
}
body.bob-open .bob-tab{
  opacity:0;
  pointer-events:none;
}

.bob-backdrop{
  position:fixed;
  inset:0;
  z-index:8801;
  background:rgba(17,31,52,.12);
  backdrop-filter:blur(1px);
  -webkit-backdrop-filter:blur(1px);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}
body.bob-open .bob-backdrop{
  opacity:1;
  pointer-events:auto;
}

.bob-panel{
  position:fixed;
  top:0;
  right:0;
  z-index:8802;
  width:min(410px,calc(100vw - 20px));
  height:100dvh;
  display:flex;
  flex-direction:column;
  background:rgba(249,252,255,.94);
  border-left:1px solid rgba(185,201,223,.72);
  box-shadow:-24px 0 55px rgba(23,54,93,.18);
  backdrop-filter:blur(28px) saturate(1.16);
  -webkit-backdrop-filter:blur(28px) saturate(1.16);
  transform:translateX(calc(100% + 24px));
  opacity:.96;
  visibility:hidden;
  transition:
    transform .38s var(--ease-spring),
    opacity .24s ease,
    visibility 0s linear .38s;
}
body.bob-open .bob-panel{
  transform:none;
  opacity:1;
  visibility:visible;
  transition:
    transform .38s var(--ease-spring),
    opacity .24s ease,
    visibility 0s;
}

.bob-head{
  min-height:76px;
  padding:15px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid rgba(216,225,237,.82);
  background:rgba(255,255,255,.72);
}
.bob-avatar{
  width:43px;
  height:43px;
  flex:0 0 43px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#17365d,#376bb0);
  color:#fff;
  font-weight:950;
  font-size:13px;
  box-shadow:0 7px 18px rgba(23,54,93,.18);
}
.bob-head-copy{
  min-width:0;
  flex:1;
}
.bob-head-copy strong{
  display:block;
  color:#17365d;
  font-size:14px;
  letter-spacing:.04em;
}
.bob-head-copy small{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:3px;
  color:#6b7d94;
  font-size:11px;
}
.bob-online-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:#32a05a;
  box-shadow:0 0 0 3px rgba(50,160,90,.10);
}
.bob-head-actions{
  display:flex;
  gap:6px;
}
.bob-icon-btn{
  width:38px;
  height:38px;
  min-height:38px!important;
  display:grid;
  place-items:center;
  border:1px solid rgba(185,201,223,.75);
  border-radius:11px;
  background:rgba(255,255,255,.80);
  color:#405674;
  cursor:pointer;
  font-size:15px;
  transition:.18s ease;
}
.bob-icon-btn:hover{
  transform:translateY(-1px);
  background:#fff;
  box-shadow:0 6px 14px rgba(23,54,93,.10);
}

.bob-messages{
  flex:1;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:18px 15px 12px;
  display:flex;
  flex-direction:column;
  gap:13px;
  scroll-behavior:smooth;
}
.bob-message{
  display:flex;
  gap:8px;
  align-items:flex-end;
  animation:bobMsgIn .28s var(--ease-ios) both;
}
.bob-message.user{
  justify-content:flex-end;
}
.bob-mini-avatar{
  width:27px;
  height:27px;
  flex:0 0 27px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#17365d;
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.bob-bubble-wrap{
  max-width:82%;
}
.bob-author{
  display:block;
  margin:0 0 4px 4px;
  color:#7b8ba0;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bob-message.user .bob-author{
  text-align:right;
  margin-right:4px;
}
.bob-bubble{
  padding:11px 13px;
  border-radius:16px 16px 16px 5px;
  background:#fff;
  border:1px solid rgba(216,225,237,.90);
  color:#29384d;
  box-shadow:0 5px 16px rgba(23,54,93,.06);
  font-size:13px;
  line-height:1.55;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.bob-message.user .bob-bubble{
  border-radius:16px 16px 5px 16px;
  border-color:#2f5597;
  background:linear-gradient(145deg,#2f5597,#376bb0);
  color:#fff;
  box-shadow:0 7px 18px rgba(47,85,151,.17);
}
@keyframes bobMsgIn{
  from{opacity:0;transform:translateY(7px) scale(.985)}
  to{opacity:1;transform:none}
}

.bob-typing .bob-bubble{
  min-width:59px;
  display:flex;
  align-items:center;
  gap:5px;
}
.bob-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#6d819c;
  animation:bobDot 1s ease-in-out infinite;
}
.bob-dot:nth-child(2){animation-delay:.13s}
.bob-dot:nth-child(3){animation-delay:.26s}
@keyframes bobDot{
  0%,65%,100%{transform:translateY(0);opacity:.45}
  32%{transform:translateY(-4px);opacity:1}
}

.bob-composer{
  padding:11px 13px max(13px,env(safe-area-inset-bottom));
  border-top:1px solid rgba(216,225,237,.86);
  background:rgba(255,255,255,.78);
}
.bob-input-box{
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:8px 8px 8px 12px;
  border:1px solid #bdcbe0;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 7px 20px rgba(23,54,93,.07);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.bob-input-box:focus-within{
  border-color:#2f5597;
  box-shadow:0 0 0 4px rgba(47,85,151,.10),0 10px 25px rgba(23,54,93,.10);
}
.bob-input{
  flex:1;
  min-width:0;
  max-height:120px;
  min-height:25px;
  resize:none;
  overflow-y:auto;
  border:0;
  outline:0;
  background:transparent;
  color:#29384d;
  font:inherit;
  font-size:13px;
  line-height:1.45;
}
.bob-input::placeholder{color:#8997aa}
.bob-send{
  width:39px;
  height:39px;
  min-height:39px!important;
  flex:0 0 39px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:12px;
  background:#2f5597;
  color:#fff;
  cursor:pointer;
  font-size:16px;
  font-weight:900;
  box-shadow:0 5px 14px rgba(47,85,151,.18);
  transition:.18s ease;
}
.bob-send:hover{transform:translateY(-1px) scale(1.035)}
.bob-send:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.bob-footnote{
  margin:7px 2px 0;
  color:#8997aa;
  font-size:9px;
  line-height:1.35;
  text-align:center;
}

@media(max-width:600px){
  .bob-tab{
    top:auto;
    bottom:88px;
  }
  .bob-panel{
    width:100vw;
    max-width:none;
    border-left:0;
  }
  .bob-backdrop{display:none}
  .bob-head{
    padding-top:max(15px,env(safe-area-inset-top));
  }
}
@media(prefers-reduced-motion:reduce){
  .bob-panel,.bob-tab,.bob-message,.bob-dot{
    animation:none!important;
    transition:none!important;
  }
}


/* ===== BOB V1.1 · aba no rodapé ===== */
.bob-tab{
  right:28px!important;
  top:auto!important;
  bottom:max(18px,env(safe-area-inset-bottom))!important;
  transform:none!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  border-right:1px solid rgba(23,54,93,.18)!important;
  border-radius:13px!important;
  padding:11px 15px!important;
  letter-spacing:.055em!important;
  box-shadow:0 10px 28px rgba(23,54,93,.22)!important;
}
.bob-tab:hover{
  transform:translateY(-4px) scale(1.025)!important;
}
.bob-tab:active{
  transform:translateY(0) scale(.97)!important;
}
@media(max-width:600px){
  .bob-tab{
    right:14px!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
}


/* ===== BOB V1.3 · simpático, convidativo e sério quando precisa ===== */
.bob-tab{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  right:24px!important;
  bottom:max(18px,env(safe-area-inset-bottom))!important;
  background:rgba(255,255,255,.94)!important;
  color:#17365d!important;
  border:1px solid rgba(47,85,151,.20)!important;
  box-shadow:0 10px 28px rgba(23,54,93,.15)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.bob-tab::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:#35a45e;
  box-shadow:0 0 0 4px rgba(53,164,94,.10);
}
.bob-tab::after{
  content:"Estagiário";
  font-weight:700;
  color:#6d7f96;
  letter-spacing:0;
  text-transform:none;
}
@media (hover:hover){
  .bob-tab:hover{
    transform:translateY(-3px) scale(1.025)!important;
    background:#fff!important;
    box-shadow:0 15px 34px rgba(23,54,93,.18)!important;
  }
}

.bob-avatar{
  border-radius:15px!important;
  background:linear-gradient(145deg,#214b86,#3a6ab8)!important;
  box-shadow:0 7px 18px rgba(23,54,93,.16)!important;
}

.bob-title-line{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.bob-head-copy strong{
  font-size:16px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
}
.bob-role{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  background:#edf4fd;
  border:1px solid rgba(47,85,151,.13);
  color:#536b8a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:none;
}
.bob-head-copy small{
  margin-top:4px!important;
  color:#70839a!important;
}

.bob-bubble{
  border-radius:17px 17px 17px 6px!important;
}
.bob-message.user .bob-bubble{
  border-radius:17px 17px 6px 17px!important;
}
.bob-input-box{
  border-radius:18px!important;
}
.bob-send{
  border-radius:13px!important;
}
.bob-footnote{
  opacity:.8;
}

@media(max-width:600px){
  .bob-tab{
    right:14px!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
}


/* ===== BOB V1.4 · Markdown seguro ===== */
.bob-bubble strong{font-weight:850;color:inherit}
.bob-bubble em{font-style:italic}
.bob-inline-code{
  display:inline-block;
  padding:1px 5px;
  border-radius:6px;
  background:rgba(23,54,93,.07);
  border:1px solid rgba(23,54,93,.08);
  font-family:Consolas,"SFMono-Regular",monospace;
  font-size:.92em;
}
.bob-code-block{
  margin:8px 0;
  padding:10px 11px;
  border-radius:10px;
  overflow:auto;
  background:#f2f5f9;
  border:1px solid rgba(23,54,93,.09);
  white-space:pre-wrap;
}
.bob-code-block code{
  font-family:Consolas,"SFMono-Regular",monospace;
  font-size:.9em;
}
.bob-list-item{
  display:block;
  margin:3px 0;
  padding-left:2px;
}
.bob-message.user .bob-inline-code{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.18);
}



/* =========================================================
   V NEXT · Cabeçalho reimaginado + alinhamento Taxa Judiciária
   ========================================================= */

/* ---------- CABEÇALHO ---------- */
header{
  position:relative;
  z-index:2100;
  background:rgba(255,255,255,.91)!important;
  border-bottom:1px solid rgba(174,194,218,.62)!important;
  box-shadow:0 5px 22px rgba(23,54,93,.045)!important;
  backdrop-filter:blur(24px) saturate(1.16)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.16)!important;
}

header .head,
.head{
  width:100%!important;
  max-width:none!important;
  min-height:68px!important;
  margin:0!important;
  padding:8px 20px!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:0!important;
}

/* Marca: continua sendo o gatilho do easter egg da chuva de Bs */
.header-identity{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
  min-width:0;
}

.mark{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  border-radius:13px!important;
  display:grid!important;
  place-items:center!important;
  background:
    linear-gradient(145deg,#15365f 0%,#204d82 100%)!important;
  color:#fff!important;
  font-size:20px!important;
  box-shadow:
    0 8px 18px rgba(23,54,93,.16),
    inset 0 0 0 1px rgba(255,255,255,.08)!important;
  cursor:pointer!important;
}

@media (hover:hover){
  .mark:hover{
    transform:translateY(-1px) rotate(-3deg) scale(1.045)!important;
    box-shadow:
      0 12px 24px rgba(23,54,93,.21),
      inset 0 0 0 1px rgba(255,255,255,.10)!important;
  }
}

.header-brand-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:3px!important;
  line-height:1!important;
  min-width:0;
}

.header-brand-copy .kicker{
  margin:0!important;
  transform:none!important;
  color:#718198!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.19em!important;
  white-space:nowrap!important;
}

.brand-home{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#173b69!important;
  font-family:Inter,"Segoe UI",Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  text-align:left!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  min-height:0!important;
}

/* Navegação vira uma pequena barra própria, sem disputar espaço com a marca */
.module-nav{
  display:flex!important;
  align-items:center!important;
  gap:3px!important;
  margin:0 0 0 30px!important;
  padding:4px!important;
  flex:0 0 auto!important;
  border:1px solid rgba(183,200,222,.55)!important;
  border-radius:12px!important;
  background:rgba(239,245,251,.70)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 4px 12px rgba(23,54,93,.035)!important;
}

.module-btn{
  min-height:34px!important;
  padding:0 13px!important;
  margin:0!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#617289!important;
  font-size:10px!important;
  line-height:34px!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  transform:none!important;
}

.module-btn::after{
  display:none!important;
}

.module-btn.active{
  color:#173b69!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:
    0 3px 9px rgba(23,54,93,.09),
    inset 0 0 0 1px rgba(47,85,151,.08)!important;
}

@media (hover:hover){
  .module-btn:hover{
    color:#173b69!important;
    background:rgba(255,255,255,.72)!important;
    transform:translateY(-1px)!important;
  }
  .module-btn.active:hover{
    background:#fff!important;
  }
}

/* Ações compactas no extremo direito */
.actions{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  min-width:max-content!important;
}

.cloud-badge{
  min-height:30px!important;
  padding:0 10px!important;
  font-size:11px!important;
  border-radius:999px!important;
}

#manage,
.header-logout{
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:10px!important;
  font-size:12px!important;
}

.mute-btn,
.profile-orb{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  flex:0 0 40px!important;
  border-radius:11px!important;
}

/* Compacta sem desmontar cedo demais */
@media(max-width:1120px){
  header .head,.head{padding:8px 14px!important}
  .module-nav{margin-left:18px!important}
  .module-btn{padding:0 10px!important}
  .cloud-badge{display:none!important}
}

@media(max-width:860px){
  header .head,.head{
    min-height:auto!important;
    flex-wrap:wrap!important;
    row-gap:8px!important;
    padding:8px 12px!important;
  }

  .header-identity{
    max-width:calc(100% - 145px)!important;
  }

  .brand-home{
    font-size:14px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .header-brand-copy .kicker{
    font-size:8px!important;
    letter-spacing:.14em!important;
  }

  .module-nav{
    order:3!important;
    width:100%!important;
    margin:0!important;
    padding:3px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .module-nav::-webkit-scrollbar{display:none!important}

  .module-btn{
    flex:1 0 auto!important;
    min-width:82px!important;
  }
}

/* ---------- GRERJ · TAXA JUDICIÁRIA ---------- */

/*
  A primeira tax-grid tinha três colunas com alturas diferentes porque apenas
  "Honorários pedidos" possuía uma nota em duas linhas.
  Reservamos a mesma terceira faixa nas três colunas.
*/
.tax-card > .tax-grid:first-of-type{
  align-items:start!important;
  column-gap:14px!important;
}

.tax-card > .tax-grid:first-of-type > .field{
  display:grid!important;
  grid-template-rows:
    minmax(16px,auto)
    50px
    38px!important;
  align-content:start!important;
  gap:7px!important;
  margin-top:0!important;
  min-width:0!important;
}

.tax-card > .tax-grid:first-of-type > .field > input{
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  align-self:stretch!important;
}

.tax-card > .tax-grid:first-of-type .tax-note,
.tax-card > .tax-grid:first-of-type .grerj-error{
  display:block!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  overflow:hidden!important;
  align-self:start!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}

/* O aviso é orientação, não erro de validação. */
.tax-card > .tax-grid:first-of-type .tax-note{
  color:#b5473d!important;
  font-weight:650!important;
}

/* Evita que a fórmula "suba" quando uma das mensagens estiver vazia */
.tax-card .tax-formula{
  margin:14px 0 16px!important;
}

/* Em mobile não precisamos carregar um espaço vazio enorme sob cada campo */
@media(max-width:760px){
  .tax-card > .tax-grid:first-of-type > .field{
    grid-template-rows:auto 50px auto!important;
  }
  .tax-card > .tax-grid:first-of-type .tax-note,
  .tax-card > .tax-grid:first-of-type .grerj-error{
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
}



/* =========================================================
   ESTAVEL2 · PATCH CIRÚRGICO
   - cabeçalho reimaginado
   - GRERJ alinhada
   - autenticação/login: NÃO ALTERADOS
   ========================================================= */

/* ---------- CABEÇALHO ---------- */
header{
  position:relative;
  z-index:2100;
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid rgba(180,197,218,.62)!important;
  box-shadow:0 5px 22px rgba(23,54,93,.045)!important;
  backdrop-filter:blur(22px) saturate(1.14)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.14)!important;
}

.head{
  max-width:1680px!important;
  width:min(1680px,calc(100% - 32px))!important;
  min-height:68px!important;
  padding:8px 4px!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
}

.mark{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,#15365f,#204d82)!important;
  box-shadow:0 8px 18px rgba(23,54,93,.16)!important;
}

/* Preserva o easter egg: continua sendo o mesmo .mark clicável. */
@media(hover:hover){
  .mark:hover{
    transform:translateY(-1px) rotate(-3deg) scale(1.045)!important;
  }
}

.header-identity{
  gap:10px!important;
  flex:0 0 auto!important;
}

.header-brand-copy{
  gap:3px!important;
  justify-content:center!important;
}

.header-brand-copy .kicker,
.kicker{
  margin:0!important;
  transform:none!important;
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  color:#718198!important;
  white-space:nowrap!important;
}

.brand-home,
.brand{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  min-height:0!important;
  font-size:17px!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
  font-weight:900!important;
  color:#173b69!important;
  white-space:nowrap!important;
}

/* Navegação compacta em cápsula */
.module-nav{
  display:flex!important;
  align-items:center!important;
  gap:3px!important;
  margin-left:28px!important;
  padding:4px!important;
  border:1px solid rgba(183,200,222,.58)!important;
  border-radius:12px!important;
  background:rgba(239,245,251,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 4px 12px rgba(23,54,93,.035)!important;
}

.module-btn{
  min-height:34px!important;
  padding:0 13px!important;
  margin:0!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#617289!important;
  font-size:10px!important;
  line-height:34px!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

.module-btn::after{display:none!important}

.module-btn.active{
  color:#173b69!important;
  background:#fff!important;
  box-shadow:0 3px 9px rgba(23,54,93,.09),inset 0 0 0 1px rgba(47,85,151,.08)!important;
}

/* Ações à direita. Apenas visual: NÃO mexe em IDs, eventos ou auth. */
.actions{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:max-content!important;
}

/* Botão principal atual (Entrar / Área administrativa / Painel etc.) */
#manage,
.manage{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  height:40px!important;
  min-height:40px!important;
  width:auto!important;
  min-width:88px!important;
  max-width:none!important;
  padding:0 15px!important;
  margin:0!important;
  border-radius:12px!important;
  font-size:12.5px!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* Sair */
.header-logout{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:40px!important;
  min-height:40px!important;
  width:auto!important;
  min-width:52px!important;
  padding:0 13px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
}

/* Avatar redondo como era antes */
.profile-orb{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  flex:0 0 40px!important;
  padding:0!important;
  border-radius:50%!important;
  overflow:hidden!important;
}

.profile-orb img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  object-fit:cover!important;
}

.profile-orb::before,
.profile-orb::after{
  border-radius:50%!important;
}

.mute-btn{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  flex:0 0 40px!important;
  border-radius:11px!important;
}

.cloud-badge{
  min-height:30px!important;
  height:30px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  font-size:11px!important;
}

@media(max-width:1120px){
  .head{width:calc(100% - 24px)!important}
  .module-nav{margin-left:16px!important}
  .module-btn{padding:0 10px!important}
  .cloud-badge{display:none!important}
}

@media(max-width:860px){
  .head{
    width:100%!important;
    min-height:auto!important;
    flex-wrap:wrap!important;
    row-gap:8px!important;
    padding:8px 12px!important;
  }

  .module-nav{
    order:3!important;
    width:100%!important;
    margin:0!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .module-nav::-webkit-scrollbar{display:none!important}
}

/* ---------- GRERJ · TAXA JUDICIÁRIA ---------- */

/* As três caixas ficam exatamente na mesma linha/altura. */
.tax-card > .tax-grid:first-of-type{
  align-items:start!important;
}

.tax-card > .tax-grid:first-of-type > .field{
  display:grid!important;
  grid-template-rows:minmax(16px,auto) 50px!important;
  align-content:start!important;
  gap:7px!important;
  margin-top:0!important;
  min-width:0!important;
}

.tax-card > .tax-grid:first-of-type > .field > input{
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
}

/* Caso sobre alguma tax-note antiga, ela não ocupa mais a coluna. */
.tax-card > .tax-grid:first-of-type .tax-note{
  display:none!important;
}

/* Orientação abaixo de "Informe a base de cálculo." */
.tax-guidance-note{
  margin-top:6px!important;
  color:#74849a!important;
  font-size:11.5px!important;
  line-height:1.45!important;
  font-weight:600!important;
}

#taxResult{
  margin-top:14px!important;
}

@media(max-width:760px){
  .tax-guidance-note{font-size:11px!important}
}



/* ===== Correção visual do login / logout ===== */
#normalLoginModal #authModeLogin[hidden],
#normalLoginModal #authModeRegister[hidden]{
  display:none!important;
}

/* Se o JS marcou visitante como deslogado, nenhum CSS do header pode mostrar Sair. */
#logoutBtn[style*="display: none"]{
  display:none!important;
}



/* =========================================================
   GRERJ V2 · modelos editáveis, quantidades e dispensas
   ========================================================= */
.grerj-row{
  grid-template-columns:minmax(150px,1.2fr) 88px 126px 84px minmax(145px,1fr) 112px minmax(165px,1.15fr)!important;
}
.grerj-qty-wrap{display:flex;align-items:center;gap:6px}
.grerj-qty{
  width:72px;min-height:42px;padding:8px 9px;border:1px solid #b9c9df;border-radius:10px;
  background:rgba(255,255,255,.94);font:inherit;font-weight:750;color:#294463;outline:none;text-align:center;
}
.grerj-unit-note{display:block;margin-top:4px;font-size:10px;color:#8592a6;font-weight:650}
.dispense-btn{
  min-height:39px;padding:0 11px;border:1px solid #c6d2e3;border-radius:10px;
  background:rgba(255,255,255,.92);color:#60738b;font-weight:800;cursor:pointer;
  transition:transform .14s var(--ease-ios),background .2s,border-color .2s,color .2s,box-shadow .2s;
}
.dispense-btn:hover{transform:translateY(-1px);background:#f5f8fc}
.dispense-btn.active{
  background:#eef4fb;color:#214b86;border-color:#8eb0d7;
  box-shadow:0 0 0 3px rgba(47,85,151,.08);
}
.grerj-row.is-dispensed{
  background:rgba(242,246,251,.72);
}
.grerj-row.is-dispensed .money-input,
.grerj-row.is-dispensed .grerj-qty{
  opacity:.5;
}
.grerj-row.is-dispensed .grerj-result{color:#718096}
.grerj-warning{
  padding:14px 16px;border-radius:13px;border:1px solid rgba(190,55,55,.22);
  background:rgba(255,245,245,.88);color:#b42318;font-size:12.5px;font-weight:800;line-height:1.55;
}
.grerj-special-note{
  margin-top:10px;padding:11px 13px;border-radius:11px;background:#fff7ed;
  border:1px solid #fed7aa;color:#9a3412;font-size:12px;font-weight:750;line-height:1.5;
}
.tax-title-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.tax-hypothesis{
  min-height:39px;border:1px solid #c8d5e8;border-radius:10px;padding:0 10px;background:#fff;color:#405674;font-weight:750;
}
.tax-card.is-dispensed{background:rgba(242,246,251,.82)}
.tax-card.is-dispensed .tax-grid,
.tax-card.is-dispensed .tax-formula{opacity:.52}
.g-admin-title-row,.g-admin-items-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px
}
.g-admin-title-row h3{margin-bottom:5px}
.g-admin-top-actions{margin-top:0}
.g-check-field{align-content:end}
.g-checkbox-line{display:flex;align-items:center;gap:8px;min-height:42px;font-weight:650}
.g-checkbox-line input{width:auto}
#gModelGuidance{min-height:92px}
.g-admin-items-head{margin-top:18px;padding-top:14px;border-top:1px solid #e1e8f1;align-items:center}
.g-admin-row-v3{
  display:grid;
  grid-template-columns:minmax(160px,1.2fr) 120px 145px 120px 86px;
  gap:9px;align-items:end;margin:10px 0;padding:12px;border:1px solid #e1e8f1;border-radius:12px;background:#f9fbfd;
}
.g-admin-row-v3 input[type="text"],.g-admin-row-v3 input:not([type]){
  padding:9px;border:1px solid #b9c9df;border-radius:8px;background:white
}
.g-admin-multi{display:flex;align-items:center;gap:7px;min-height:39px;font-size:12px;font-weight:750;color:#53647b}
.g-admin-multi input{width:auto}
.g-item-delete{min-height:39px}

/* Calculadora independente no canto inferior esquerdo */
.mini-calc-tab{
  position:fixed;left:24px;bottom:max(18px,env(safe-area-inset-bottom));z-index:2140;
  display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;
  border:1px solid rgba(47,85,151,.20);background:rgba(255,255,255,.95);color:#17365d;
  box-shadow:0 10px 28px rgba(23,54,93,.15);font-size:12px;font-weight:900;letter-spacing:.035em;cursor:pointer;
}
.mini-calc-tab::before{content:"⌗";font-size:15px;color:#2f5597}
.mini-calc-tab:hover{transform:translateY(-3px) scale(1.025)}
.mini-calc-panel{
  position:fixed;left:22px;bottom:72px;z-index:2150;width:min(330px,calc(100vw - 28px));
  padding:15px;border:1px solid rgba(176,198,225,.72);border-radius:18px;background:rgba(250,252,255,.96);
  box-shadow:0 22px 56px rgba(23,54,93,.22);backdrop-filter:blur(22px) saturate(1.12);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) scale(.97);
  transition:opacity .18s var(--ease-ios),transform .26s var(--ease-spring),visibility 0s linear .2s;
}
body.calc-open .mini-calc-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.mini-calc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.mini-calc-head strong{color:#17365d;font-size:14px;letter-spacing:.03em}
.mini-calc-close{border:0;background:#edf2f8;border-radius:9px;width:34px;height:34px;cursor:pointer;color:#405674}
.mini-calc-display{
  width:100%;height:62px;border:1px solid #b9c9df;border-radius:13px;background:#fff;padding:9px 12px;
  text-align:right;font-size:25px;font-weight:850;color:#17365d;outline:none;margin-bottom:11px;
}
.mini-calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.mini-calc-key{
  height:46px;border:1px solid #cfdaea;border-radius:11px;background:#fff;color:#294463;font-size:15px;font-weight:800;cursor:pointer;
}
.mini-calc-key.op{background:#edf4fd;color:#214b86}
.mini-calc-key.equal{background:#2f5597;color:#fff;border-color:#2f5597}
.mini-calc-key.wide{grid-column:span 2}
.mini-calc-note{margin-top:9px;color:#8997aa;font-size:9.5px;text-align:center}

@media(max-width:1120px){
  .grerj-row{grid-template-columns:1fr 84px 118px 76px 1fr!important}
  .grerj-row>div:nth-child(6),.grerj-row>div:nth-child(7){grid-column:auto/span 1}
}
@media(max-width:760px){
  .grerj-row{grid-template-columns:1fr!important}
  .g-admin-title-row,.g-admin-items-head{flex-direction:column}
  .g-admin-row-v3{grid-template-columns:1fr}
  .mini-calc-tab{left:14px;bottom:max(14px,env(safe-area-inset-bottom))}
  .mini-calc-panel{left:14px;bottom:68px}
}
@media(prefers-reduced-motion:reduce){
  .mini-calc-panel,.mini-calc-tab,.dispense-btn{transition:none!important}
}



/* ===== V2.1 · Painel administrativo amplo + lateral recolhível ===== */
#modal .panel{
  width:min(1500px,calc(100vw - 40px))!important;
  max-width:none!important;
}
#modal .admin-grid{
  grid-template-columns:minmax(290px,320px) minmax(0,1fr)!important;
  transition:grid-template-columns 280ms var(--ease-spring);
}
#modal .admin-nav{
  position:relative;
  min-width:0;
  transition:
    width 280ms var(--ease-spring),
    padding 220ms var(--ease-ios),
    background-color 220ms var(--ease-ios);
}
.admin-nav-head{
  gap:8px;
}
.admin-nav-title{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.admin-nav-toggle{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border:1px solid #c8d5e8;
  border-radius:10px;
  background:rgba(255,255,255,.92);
  color:#2f5597;
  cursor:pointer;
  box-shadow:0 4px 10px rgba(23,54,93,.08);
  transition:
    transform 260ms var(--ease-spring),
    background-color 200ms var(--ease-ios),
    box-shadow 200ms var(--ease-ios);
}
.admin-nav-toggle:hover{
  transform:translateY(-1px) scale(1.06);
  background:#edf4fd;
  box-shadow:0 9px 20px rgba(23,54,93,.13);
}
.admin-nav-toggle:active{transform:scale(.92)}
.admin-nav-toggle .arrow{
  display:block;
  transition:transform 280ms var(--ease-spring);
}
#modal .admin-grid.nav-collapsed{
  grid-template-columns:58px minmax(0,1fr)!important;
}
#modal .admin-grid.nav-collapsed .admin-nav{
  padding:10px 7px!important;
  overflow:hidden;
}
#modal .admin-grid.nav-collapsed .admin-nav-toggle .arrow{
  transform:rotate(180deg);
}
#modal .admin-grid.nav-collapsed .admin-nav-head{
  justify-content:center;
}
#modal .admin-grid.nav-collapsed .admin-nav-title b,
#modal .admin-grid.nav-collapsed #newModel,
#modal .admin-grid.nav-collapsed #adminSearch,
#modal .admin-grid.nav-collapsed .admin-list{
  display:none!important;
}

/* dá mais espaço real à área de edição */
#modal .admin-main{
  min-width:0;
  overflow:visible;
}
#modal .formbox{
  padding:18px;
}
#modal .admin-tabs{
  flex-wrap:wrap;
}

/* ===== V2.1 · Modal próprio para criar modelo GRERJ ===== */
.grerj-create-modal{
  position:fixed;
  inset:0;
  z-index:2600;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(23,35,58,.40);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 180ms var(--ease-ios),visibility 0s linear 180ms;
}
.grerj-create-modal.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition-delay:0s;
}
.grerj-create-card{
  width:min(520px,100%);
  border:1px solid rgba(185,201,223,.72);
  border-radius:20px;
  background:rgba(252,253,255,.97);
  box-shadow:0 28px 80px rgba(23,35,58,.26);
  padding:20px;
  transform:translateY(12px) scale(.965);
  opacity:0;
  transition:transform 320ms var(--ease-spring),opacity 180ms var(--ease-ios);
}
.grerj-create-modal.open .grerj-create-card{
  transform:none;
  opacity:1;
}
.grerj-create-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,#edf4fd,#dfeaf8);
  color:#214b86;
  font-size:22px;
  font-weight:900;
  margin-bottom:14px;
}
.grerj-create-card h3{
  margin:0;
  color:#17365d;
  font-size:20px;
}
.grerj-create-card p{
  margin:6px 0 16px;
  color:#718096;
  font-size:13px;
  line-height:1.45;
}
.grerj-create-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:16px;
}

/* ===== V2.1 · Calculadora: tatilidade e feedback ===== */
.mini-calc-key{
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
  box-shadow:0 4px 10px rgba(23,54,93,.07),0 1px 2px rgba(23,54,93,.04);
  transition:
    transform 120ms var(--ease-ios),
    box-shadow 200ms var(--ease-ios),
    background-color 180ms var(--ease-ios),
    border-color 180ms var(--ease-ios),
    color 180ms var(--ease-ios);
}
.mini-calc-key::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:rgba(47,85,151,.10);
  opacity:0;
  transform:scale(.45);
  transition:opacity 160ms var(--ease-ios),transform 220ms var(--ease-spring);
  pointer-events:none;
}
@media(hover:hover){
  .mini-calc-key:hover{
    transform:translateY(-2px) scale(1.045);
    box-shadow:0 10px 22px rgba(23,54,93,.13),0 2px 5px rgba(23,54,93,.07);
  }
}
.mini-calc-key:active{
  transform:translateY(1px) scale(.93)!important;
  box-shadow:0 2px 5px rgba(23,54,93,.08);
  transition-duration:70ms;
}
.mini-calc-key:active::after{
  opacity:1;
  transform:scale(1);
}
.mini-calc-key.equal.calc-success{
  animation:calcSuccessFlash 520ms var(--ease-spring);
}
@keyframes calcSuccessFlash{
  0%{background:#2f5597;transform:scale(.96)}
  35%{background:#2f855a;border-color:#2f855a;box-shadow:0 0 0 5px rgba(47,133,90,.16),0 12px 28px rgba(47,133,90,.22);transform:scale(1.08)}
  100%{background:#2f5597;border-color:#2f5597;transform:scale(1)}
}
.mini-calc-display.result-ready{
  animation:calcDisplayResult 340ms var(--ease-ios);
}
@keyframes calcDisplayResult{
  0%{box-shadow:0 0 0 0 rgba(47,133,90,0)}
  45%{box-shadow:0 0 0 4px rgba(47,133,90,.13)}
  100%{box-shadow:none}
}

@media(max-width:760px){
  #modal .panel{
    width:min(100%,calc(100vw - 20px))!important;
  }
  #modal .admin-grid,
  #modal .admin-grid.nav-collapsed{
    grid-template-columns:1fr!important;
  }
  #modal .admin-grid.nav-collapsed .admin-nav{
    display:block;
    padding:8px!important;
  }
  #modal .admin-grid.nav-collapsed .admin-nav-title b,
  #modal .admin-grid.nav-collapsed #newModel{
    display:initial!important;
  }
}



/* =========================================================
   CHAT INTERNO V1 · Geral + privados
   Convive simultaneamente com o BOB.
   ========================================================= */

.chat-tab{
  position:fixed;
  right:132px;
  bottom:max(18px,env(safe-area-inset-bottom));
  z-index:8799;
  display:none;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:10px 14px;
  border:1px solid rgba(47,85,151,.20);
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#17365d;
  box-shadow:0 10px 28px rgba(23,54,93,.15);
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  cursor:pointer;
  transition:
    right .38s var(--ease-spring),
    transform .16s var(--ease-ios),
    opacity .2s var(--ease-ios),
    box-shadow .2s var(--ease-ios);
}
body.chat-enabled .chat-tab{display:flex}
.chat-tab::before{
  content:"💬";
  font-size:14px;
}
.chat-tab::after{
  content:"Interno";
  color:#6d7f96;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}
@media(hover:hover){
  .chat-tab:hover{
    transform:translateY(-3px) scale(1.025);
    background:#fff;
    box-shadow:0 15px 34px rgba(23,54,93,.18);
  }
}
.chat-tab:active{transform:translateY(0) scale(.96)}

body.chat-open .chat-tab{
  opacity:0;
  pointer-events:none;
}

/* Se apenas um painel estiver aberto, a aba do outro continua acessível. */
body.chat-open:not(.bob-open) .bob-tab{
  right:430px!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body.bob-open:not(.chat-open) .chat-tab{
  right:430px;
}

/* O backdrop do BOB impediria abrir/usar os dois ao mesmo tempo. */
.bob-backdrop{
  opacity:0!important;
  pointer-events:none!important;
}

/* BOB desliza para a esquerda quando os dois estão abertos. */
.bob-panel{
  transition:
    right .38s var(--ease-spring),
    transform .38s var(--ease-spring),
    opacity .24s ease,
    visibility 0s linear .38s!important;
}
body.bob-open .bob-panel{
  transition:
    right .38s var(--ease-spring),
    transform .38s var(--ease-spring),
    opacity .24s ease,
    visibility 0s!important;
}
body.chat-open.bob-open .bob-panel{
  right:410px!important;
}

/* Painel do chat ocupa a extrema direita. */
.chat-panel{
  position:fixed;
  top:0;
  right:0;
  z-index:8803;
  width:min(410px,calc(100vw - 20px));
  height:100dvh;
  display:flex;
  flex-direction:column;
  background:rgba(249,252,255,.965);
  border-left:1px solid rgba(185,201,223,.72);
  box-shadow:-24px 0 55px rgba(23,54,93,.18);
  backdrop-filter:blur(28px) saturate(1.16);
  -webkit-backdrop-filter:blur(28px) saturate(1.16);
  transform:translateX(calc(100% + 24px));
  opacity:.96;
  visibility:hidden;
  transition:
    transform .38s var(--ease-spring),
    opacity .24s ease,
    visibility 0s linear .38s;
}
body.chat-open .chat-panel{
  transform:none;
  opacity:1;
  visibility:visible;
  transition:
    transform .38s var(--ease-spring),
    opacity .24s ease,
    visibility 0s;
}

.chat-head{
  min-height:76px;
  padding:14px 15px;
  display:flex;
  align-items:center;
  gap:11px;
  border-bottom:1px solid rgba(216,225,237,.82);
  background:rgba(255,255,255,.76);
}
.chat-logo{
  width:43px;
  height:43px;
  flex:0 0 43px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#17365d,#376bb0);
  color:#fff;
  font-size:18px;
  box-shadow:0 7px 18px rgba(23,54,93,.18);
}
.chat-head-copy{min-width:0;flex:1}
.chat-head-copy strong{
  display:block;
  color:#17365d;
  font-size:14px;
  letter-spacing:.035em;
}
.chat-head-copy small{
  display:block;
  margin-top:3px;
  color:#6b7d94;
  font-size:10.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.chat-head-actions{display:flex;gap:6px}
.chat-icon-btn{
  width:38px;
  height:38px;
  min-height:38px!important;
  display:grid;
  place-items:center;
  border:1px solid rgba(47,85,151,.16);
  border-radius:11px;
  background:rgba(255,255,255,.90);
  color:#365575;
  cursor:pointer;
  transition:transform .14s var(--ease-ios),background .2s,box-shadow .2s;
}
@media(hover:hover){
  .chat-icon-btn:hover{
    transform:translateY(-2px) scale(1.04);
    background:#fff;
    box-shadow:0 8px 18px rgba(23,54,93,.11);
  }
}
.chat-icon-btn:active{transform:scale(.92)}

.chat-mode-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:9px 12px;
  border-bottom:1px solid #e2e8f1;
  background:rgba(246,249,253,.84);
}
.chat-mode-btn{
  min-height:36px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#65768c;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  transition:transform .14s var(--ease-ios),background .18s,color .18s,box-shadow .18s;
}
.chat-mode-btn.active{
  background:#fff;
  color:#214b86;
  border-color:#d7e1ee;
  box-shadow:0 4px 12px rgba(23,54,93,.07);
}
.chat-mode-btn:active{transform:scale(.96)}

.chat-private-tools{
  padding:10px 12px;
  border-bottom:1px solid #e4eaf2;
  background:rgba(250,252,255,.9);
}
.chat-private-tools[hidden]{display:none!important}
.chat-private-search{
  display:flex;
  align-items:center;
  gap:7px;
}
.chat-private-search input{
  width:100%;
  height:38px;
  border:1px solid #c4d1e2;
  border-radius:10px;
  background:#fff;
  padding:0 11px;
  outline:none;
  color:#29384d;
  font:inherit;
  font-size:12px;
}
.chat-private-search input:focus{
  border-color:#2f5597;
  box-shadow:0 0 0 3px rgba(47,85,151,.10);
}
.chat-people-results{
  max-height:150px;
  overflow:auto;
  margin-top:7px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.chat-person{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  padding:8px;
  border:1px solid #e0e7f0;
  border-radius:10px;
  background:#fff;
  color:#354b67;
  text-align:left;
  cursor:pointer;
}
.chat-person:hover{background:#f1f6fc}
.chat-person-avatar,.chat-room-avatar,.chat-msg-avatar{
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:#e4edf8;
  color:#214b86;
  font-weight:850;
  flex:0 0 auto;
}
.chat-person-avatar{width:31px;height:31px}
.chat-person-avatar img,.chat-room-avatar img,.chat-msg-avatar img{
  width:100%;height:100%;object-fit:cover
}
.chat-person-text{min-width:0}
.chat-person-text b,.chat-person-text small{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.chat-person-text b{font-size:11.5px}
.chat-person-text small{margin-top:2px;color:#8190a3;font-size:9.5px}

.chat-room-list{
  max-height:155px;
  overflow:auto;
  padding:7px 9px;
  border-bottom:1px solid #e3e9f1;
  background:rgba(248,250,253,.92);
}
.chat-room-list[hidden]{display:none!important}
.chat-room-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  margin:2px 0;
  border:0;
  border-radius:11px;
  background:transparent;
  text-align:left;
  color:#405674;
  cursor:pointer;
  transition:transform .12s var(--ease-ios),background .18s;
}
.chat-room-item:hover{background:#eaf1fa;transform:translateX(2px)}
.chat-room-item.active{background:#dfeaf8;color:#17365d}
.chat-room-avatar{width:32px;height:32px}
.chat-room-copy{min-width:0;flex:1}
.chat-room-copy b,.chat-room-copy small{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.chat-room-copy b{font-size:11.5px}
.chat-room-copy small{margin-top:2px;font-size:9.5px;color:#7b899d}

.chat-room-title{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border-bottom:1px solid #e3e9f1;
  background:rgba(255,255,255,.74);
}
.chat-room-title strong{
  font-size:12px;
  color:#17365d;
}
.chat-room-title small{
  margin-left:auto;
  color:#8997aa;
  font-size:9.5px;
}

.chat-messages{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:14px 12px 18px;
  scroll-behavior:smooth;
}
.chat-empty{
  display:grid;
  place-items:center;
  min-height:100%;
  padding:30px 20px;
  text-align:center;
  color:#8290a3;
  font-size:12px;
  line-height:1.55;
}
.chat-message{
  display:flex;
  gap:7px;
  align-items:flex-end;
  margin:9px 0;
  animation:chatMsgIn .24s var(--ease-spring) both;
}
@keyframes chatMsgIn{
  from{opacity:0;transform:translateY(5px) scale(.985)}
  to{opacity:1;transform:none}
}
.chat-message.mine{justify-content:flex-end}
.chat-message.mine .chat-msg-avatar{display:none}
.chat-msg-avatar{
  width:27px;
  height:27px;
  font-size:9px;
  margin-bottom:2px;
}
.chat-msg-wrap{max-width:79%;min-width:0}
.chat-msg-meta{
  display:flex;
  gap:6px;
  align-items:center;
  margin:0 4px 3px;
  color:#8190a4;
  font-size:8.5px;
}
.chat-message.mine .chat-msg-meta{justify-content:flex-end}
.chat-msg-meta b{
  color:#6d7f96;
  font-size:8.5px;
  letter-spacing:.04em;
}
.chat-bubble{
  position:relative;
  padding:9px 11px;
  border:1px solid #d8e2ef;
  border-radius:14px 14px 14px 4px;
  background:#fff;
  color:#22364f;
  box-shadow:0 4px 12px rgba(23,54,93,.055);
  font-size:11.5px;
  line-height:1.46;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.chat-message.mine .chat-bubble{
  border-color:#315d9f;
  border-radius:14px 14px 4px 14px;
  background:linear-gradient(145deg,#386db7,#2f5597);
  color:#fff;
}
.chat-delete{
  display:none;
  position:absolute;
  top:-8px;
  right:-7px;
  width:23px;
  height:23px;
  place-items:center;
  border:1px solid #e0bcbc;
  border-radius:50%;
  background:#fff7f7;
  color:#a52a2a;
  font-size:10px;
  cursor:pointer;
}
.chat-message:hover .chat-delete{display:grid}

.chat-composer{
  padding:10px 11px max(11px,env(safe-area-inset-bottom));
  border-top:1px solid #dce5f0;
  background:rgba(255,255,255,.87);
}
.chat-input-box{
  display:flex;
  align-items:flex-end;
  gap:7px;
  padding:6px;
  border:1px solid #b8c9df;
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 14px rgba(23,54,93,.08);
}
.chat-input{
  flex:1;
  min-height:34px;
  max-height:110px;
  resize:none;
  border:0;
  outline:0;
  padding:8px 7px;
  background:transparent;
  color:#263a53;
  font:inherit;
  font-size:11.5px;
}
.chat-send{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:0;
  border-radius:11px;
  background:#2f5597;
  color:#fff;
  cursor:pointer;
  font-size:16px;
  box-shadow:0 6px 14px rgba(47,85,151,.20);
  transition:transform .13s var(--ease-ios),background .18s,box-shadow .18s;
}
.chat-send:hover{transform:translateY(-2px) scale(1.04)}
.chat-send:active{transform:scale(.91)}
.chat-send:disabled{opacity:.5}
.chat-footnote{
  margin:6px 2px 0;
  color:#8997aa;
  font-size:8.5px;
  line-height:1.35;
  text-align:center;
}
.chat-login-state{
  display:grid;
  place-items:center;
  flex:1;
  padding:30px;
  text-align:center;
  color:#718096;
  line-height:1.55;
}
.chat-login-state button{margin-top:12px}

/* Dois painéis lado a lado em telas que comportam. */
@media(max-width:900px){
  body.chat-open.bob-open .chat-panel{width:50vw}
  body.chat-open.bob-open .bob-panel{width:50vw!important;right:50vw!important}
}
@media(max-width:600px){
  .chat-tab{
    right:116px;
    bottom:max(14px,env(safe-area-inset-bottom));
    padding:9px 11px;
  }
  .chat-tab::after{display:none}
  .chat-panel{width:100vw;max-width:none;border-left:0}
  body.chat-open:not(.bob-open) .bob-tab{right:14px!important;bottom:66px!important}
  body.bob-open:not(.chat-open) .chat-tab{right:14px;bottom:66px}
  body.chat-open.bob-open .chat-panel{width:50vw}
  body.chat-open.bob-open .bob-panel{width:50vw!important;right:50vw!important}
}
@media(prefers-reduced-motion:reduce){
  .chat-panel,.chat-tab,.chat-message,.chat-room-item,.chat-icon-btn,.chat-send{
    animation:none!important;
    transition:none!important;
  }
}



/* =========================================================
   CHAT POLIDO · bolhas proporcionais + sem flicker
   ========================================================= */
.chat-msg-wrap{
  width:fit-content!important;
  max-width:79%!important;
  min-width:0!important;
  flex:0 1 auto!important;
}
.chat-message.mine .chat-msg-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}
.chat-message:not(.mine) .chat-msg-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.chat-bubble{
  display:block!important;
  width:fit-content!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  text-align:left!important;
}
.chat-bubble-text{
  display:block;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.chat-message{
  animation:none!important;
}
.chat-message.chat-new{
  animation:chatMsgIn .24s var(--ease-spring) both!important;
}
.chat-messages.private-picker{
  background:rgba(248,251,255,.72);
}



/* =========================================================
   FIX FINAL · Abas CHAT + BOB sem sobreposição
   ========================================================= */

/* Chat fica imediatamente à esquerda do BOB, com espaço real entre eles. */
.chat-tab{
  right:176px!important;
  min-width:112px!important;
  justify-content:center!important;
}

/* O texto extra "Interno" estava entrando por baixo do BOB. */
.chat-tab::after{
  display:none!important;
}

/* Garante que o BOB mantenha seu próprio espaço. */
.bob-tab{
  right:24px!important;
  min-width:136px!important;
}

/* Quando um dos painéis abre, o outro botão continua acessível sem colidir. */
body.chat-open:not(.bob-open) .bob-tab{
  right:430px!important;
}
body.bob-open:not(.chat-open) .chat-tab{
  right:430px!important;
}

/* Mobile: só o nome principal de cada aba. */
@media(max-width:600px){
  .chat-tab{
    right:154px!important;
    min-width:96px!important;
  }
  .bob-tab{
    right:14px!important;
    min-width:126px!important;
  }
}



/* =========================================================
   BUILD FINAL · Home refinement + rodapés consistentes
   ========================================================= */

/* Home ocupa a tela sem deixar o conteúdo excessivamente espalhado. */
.home-view{
  min-height:calc(100dvh - 72px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:34px 24px 0!important;
}

/* Sobe o conjunto principal discretamente. */
.home-inner{
  width:min(860px,100%)!important;
  transform:translateY(-24px);
}

/* Mantém o título como protagonista; subtítulo ganha um pouco de presença. */
.home-sub{
  color:#566d88!important;
  font-weight:500;
}

/* A pesquisa deixa de dominar horizontalmente a composição. */
.home-people-search{
  width:min(550px,100%)!important;
  margin-top:17px!important;
}

/* Acesso rápido fica mais coeso com a pesquisa. */
.home-actions{
  margin-top:1px;
}

/* Cards com microfeedback, sem exagero. */
.home-card{
  transition:
    transform .22s var(--ease-ios),
    box-shadow .24s var(--ease-ios),
    border-color .22s var(--ease-ios),
    background-color .22s var(--ease-ios)!important;
}
.home-card strong{
  transition:transform .24s var(--ease-spring),color .2s ease;
  transform-origin:left center;
}
@media(hover:hover){
  button.home-card:hover{
    transform:translateY(-2px)!important;
    box-shadow:0 14px 30px rgba(33,65,103,.095)!important;
    border-color:rgba(145,177,215,.68)!important;
  }
  button.home-card:hover strong{
    transform:translateY(-1px) scale(1.035);
    color:#173f73;
  }
}

/* Conexão concluída: feedback único e discreto no card SISTEMA. */
#homeSystemCard{
  transition:
    transform .28s var(--ease-spring),
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease!important;
}
#homeSystemCard.just-online{
  animation:homeSystemOnline .70s var(--ease-ios);
}
@keyframes homeSystemOnline{
  0%{
    transform:scale(.985);
    border-color:rgba(177,198,224,.58);
  }
  38%{
    transform:translateY(-2px) scale(1.018);
    border-color:rgba(71,160,104,.48);
    background:rgba(241,252,245,.90);
    box-shadow:0 0 0 4px rgba(71,160,104,.08),0 15px 34px rgba(33,65,103,.09);
  }
  100%{
    transform:none;
  }
}

/* Badge de nuvem mais discreto: o estado importa mais que o fornecedor. */
.cloud-badge{
  min-height:31px!important;
  padding:5px 10px!important;
  font-size:10.5px!important;
  font-weight:750!important;
  letter-spacing:.005em;
  box-shadow:none!important;
}
.cloud-badge.online{
  background:rgba(239,250,243,.86)!important;
  border-color:rgba(105,181,132,.38)!important;
}

/* Calculadora e BOB passam a pertencer à mesma família visual. */
.mini-calc-tab,
.bob-tab{
  min-height:42px!important;
  height:42px!important;
  border-radius:999px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  align-items:center!important;
  box-shadow:0 10px 28px rgba(23,54,93,.13)!important;
}





/* O footer tradicional continua sendo o rodapé de Modelos e GRERJ. */
.footer{
  color:#74849a!important;
}

/* Em telas menores o hero volta para posição natural e os rodapés respiram. */
@media(max-width:760px){
  .home-view{
    padding:28px 16px 0!important;
  }
  .home-inner{
    transform:none!important;
  }
  .home-people-search{
    width:min(100%,520px)!important;
  }
  .home-footer{
    width:100%;
    padding:22px 16px 14px;
    min-height:58px;
  }
  .profile-footer{
    margin-top:22px;
  }
}

/* Acessibilidade: nada de feedback animado quando o utilizador reduz movimento. */
@media(prefers-reduced-motion:reduce){
  #homeSystemCard.just-online{
    animation:none!important;
  }
}



/* =========================================================
   TOP DOCK · BOB + CHAT + CALCULADORA
   Motivo: evitar conflito visual com watermark fixa do host.
   ========================================================= */

:root{
  --top-dock-offset: 78px;
}

/* ---------- Abas superiores ---------- */
.chat-tab,
.bob-tab,
.mini-calc-tab{
  top:var(--top-dock-offset)!important;
  bottom:auto!important;
  z-index:8800!important;
}

/* CHAT e BOB juntos no topo direito, logo abaixo do cabeçalho */
.bob-tab{
  right:22px!important;
  left:auto!important;
}

.chat-tab{
  right:176px!important;
  left:auto!important;
}

/* Calculadora no topo esquerdo */
.mini-calc-tab{
  left:22px!important;
  right:auto!important;
}

/* ---------- Painéis passam a "descer do teto" ---------- */

/* CHAT: preso no topo, abrindo para baixo */
.chat-panel{
  top:calc(var(--top-dock-offset) + 52px)!important;
  bottom:auto!important;
  height:calc(100dvh - var(--top-dock-offset) - 64px)!important;
  transform:translateY(-18px) translateX(calc(100% + 24px))!important;
  transform-origin:top right!important;
}

body.chat-open .chat-panel{
  transform:none!important;
}

/* BOB: mesma lógica do chat */
.bob-panel{
  top:calc(var(--top-dock-offset) + 52px)!important;
  bottom:auto!important;
  height:calc(100dvh - var(--top-dock-offset) - 64px)!important;
  transform-origin:top right!important;
}

/* Quando o BOB está fechado ele continua saindo pela direita,
   mas agora a origem visual é o topo. */
body:not(.bob-open) .bob-panel{
  transform:translateY(-18px) translateX(calc(100% + 24px))!important;
}

body.bob-open .bob-panel{
  transform:none!important;
}

/* Dois painéis simultâneos: CHAT na extrema direita, BOB à esquerda dele. */
body.chat-open.bob-open .chat-panel{
  right:0!important;
}

body.chat-open.bob-open .bob-panel{
  right:410px!important;
}

/* Enquanto só um está aberto, a aba do outro vai para a esquerda do painel,
   sem cair para baixo nem sumir. */
body.chat-open:not(.bob-open) .bob-tab{
  top:var(--top-dock-offset)!important;
  bottom:auto!important;
  right:430px!important;
}

body.bob-open:not(.chat-open) .chat-tab{
  top:var(--top-dock-offset)!important;
  bottom:auto!important;
  right:430px!important;
}

/* ---------- Calculadora ---------- */
.mini-calc-panel{
  top:calc(var(--top-dock-offset) + 52px)!important;
  bottom:auto!important;
  left:22px!important;
  transform:translateY(-12px) scale(.97)!important;
  transform-origin:top left!important;
}

body.calc-open .mini-calc-panel{
  transform:none!important;
}

/* ---------- Mobile / telas menores ---------- */
@media(max-width:900px){
  :root{
    --top-dock-offset: 74px;
  }

  body.chat-open.bob-open .chat-panel{
    width:50vw!important;
  }

  body.chat-open.bob-open .bob-panel{
    width:50vw!important;
    right:50vw!important;
  }
}

@media(max-width:600px){
  :root{
    --top-dock-offset: 70px;
  }

  .mini-calc-tab{
    left:10px!important;
  }

  .bob-tab{
    right:10px!important;
  }

  .chat-tab{
    right:150px!important;
  }

  .mini-calc-panel{
    left:10px!important;
    top:calc(var(--top-dock-offset) + 48px)!important;
  }

  .chat-panel,
  .bob-panel{
    top:calc(var(--top-dock-offset) + 48px)!important;
    height:calc(100dvh - var(--top-dock-offset) - 50px)!important;
  }

  body.chat-open:not(.bob-open) .bob-tab{
    right:10px!important;
    top:calc(var(--top-dock-offset) + 48px)!important;
  }

  body.bob-open:not(.chat-open) .chat-tab{
    right:10px!important;
    top:calc(var(--top-dock-offset) + 48px)!important;
  }
}

/* Cabeçalho mais alto em algumas páginas:
   evita colar as abas por cima dele caso haja wrap. */
@media(min-width:601px) and (max-width:860px){
  :root{
    --top-dock-offset: 116px;
  }
}



/* =========================================================
   CALCULADORA · volta ao rodapé esquerdo
   CHAT + BOB permanecem no topo.
   ========================================================= */

.mini-calc-tab{
  position:fixed!important;
  left:22px!important;
  right:auto!important;
  top:auto!important;
  bottom:max(18px,env(safe-area-inset-bottom))!important;
  z-index:8800!important;
}

.mini-calc-panel{
  position:fixed!important;
  left:22px!important;
  right:auto!important;
  top:auto!important;
  bottom:72px!important;
  transform:translateY(10px) scale(.97)!important;
  transform-origin:bottom left!important;
}

body.calc-open .mini-calc-panel{
  transform:none!important;
}

@media(max-width:600px){
  .mini-calc-tab{
    left:14px!important;
    top:auto!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
  }

  .mini-calc-panel{
    left:14px!important;
    top:auto!important;
    bottom:68px!important;
  }
}




/* ========================================================================
   ASSISTENTE · OFFLINE LITERAL MIRROR
   ------------------------------------------------------------------------
   FONTE VISUAL: OFFLINE.html
   Este bloco replica a interface aprovada. Não redesenhar aqui.
   Core de dados, Supabase e eventos continuam fora deste bloco.
   ======================================================================== */

/* 01 · TOKENS LITERAIS DO OFFLINE */
body{
  --panel:rgba(16,25,39,.72);
  --panel-strong:rgba(18,29,46,.92);
  --panel-soft:rgba(31,47,70,.56);
  --line:rgba(154,188,232,.15);
  --ink:#eef5ff;
  --muted:#99abc4;
  --navy:#dce9ff;
  --blue:#8db8ff;
  --blue2:#a9caff;
  --green:#79d4a2;
  --red:#ff9a9a;
  --amber:#f2c86c;
  --shadow:0 26px 70px rgba(0,0,0,.24);
  --spring:cubic-bezier(.18,1.28,.32,1);
  --ease:cubic-bezier(.2,.8,.2,1);
  --fast:140ms;
  --ui:220ms;
  --theme-transition:900ms;
  --sky-a:#0a0d13;
  --sky-b:#0d1420;
  --sky-c:#0b111b;
  --glow-1:rgba(42,105,153,.27);
  --glow-2:rgba(55,71,129,.28);
  --glow-3:rgba(25,96,111,.18);
  --aurora-1:rgba(100,218,255,.10);
  --aurora-2:rgba(95,141,255,.09);
  --aurora-3:rgba(90,224,239,.08);
  --stars-opacity:.34;
  --moon-opacity:0;
  --ghost-opacity:0;
}

html[data-theme="dawn"] body{
  --panel:rgba(248,248,246,.78);--panel-strong:rgba(252,252,249,.94);--panel-soft:rgba(230,236,241,.78);
  --line:rgba(78,111,151,.22);--ink:#203047;--muted:#68778d;--navy:#21466d;--blue:#416f9f;--blue2:#5b87b5;
  --green:#39785d;--red:#a95050;--amber:#9a6b28;--shadow:0 22px 58px rgba(42,68,101,.12);
  --sky-a:#7891b3;--sky-b:#c5b8c3;--sky-c:#e7d0c0;
  --glow-1:rgba(255,154,112,.36);--glow-2:rgba(112,160,216,.54);--glow-3:rgba(255,200,147,.26);
  --aurora-1:rgba(111,154,215,.20);--aurora-2:rgba(199,139,169,.14);--aurora-3:rgba(255,185,130,.17);--stars-opacity:.025;--moon-opacity:0;--ghost-opacity:0;
}
html[data-theme="day"] body{
  --panel:rgba(255,255,255,.76);--panel-strong:rgba(255,255,255,.93);--panel-soft:rgba(235,243,252,.72);
  --line:rgba(91,127,173,.20);--ink:#17233a;--muted:#6a7c94;--navy:#17365d;--blue:#2f5597;--blue2:#3c6db5;
  --green:#28704a;--red:#a53b3b;--amber:#8f6d14;--shadow:0 22px 56px rgba(23,54,93,.10);
  --sky-a:#f9fcff;--sky-b:#eef7fb;--sky-c:#f7fbff;
  --glow-1:rgba(191,238,255,.78);--glow-2:rgba(206,225,255,.78);--glow-3:rgba(222,247,255,.58);
  --aurora-1:rgba(110,218,255,.14);--aurora-2:rgba(103,159,237,.12);--aurora-3:rgba(128,232,243,.12);--stars-opacity:0;--moon-opacity:0;--ghost-opacity:0;
}
html[data-theme="noon"] body{
  --panel:rgba(255,255,255,.77);--panel-strong:rgba(255,255,255,.95);--panel-soft:rgba(228,240,253,.77);
  --line:rgba(73,123,184,.22);--ink:#13263f;--muted:#617894;--navy:#123e70;--blue:#2463aa;--blue2:#3478c7;
  --green:#24764d;--red:#a23d3d;--amber:#946800;--shadow:0 24px 60px rgba(29,76,126,.12);
  --sky-a:#f4fbff;--sky-b:#dff2ff;--sky-c:#edf8ff;
  --glow-1:rgba(121,218,255,.88);--glow-2:rgba(128,173,255,.74);--glow-3:rgba(151,236,255,.65);
  --aurora-1:rgba(70,205,255,.20);--aurora-2:rgba(72,127,244,.17);--aurora-3:rgba(65,221,239,.17);--stars-opacity:0;--moon-opacity:0;--ghost-opacity:0;
}
html[data-theme="sunset"] body{
  --panel:rgba(31,29,48,.66);--panel-strong:rgba(35,31,53,.88);--panel-soft:rgba(65,48,74,.57);
  --line:rgba(255,198,214,.16);--ink:#fff3f5;--muted:#d4b9cb;--navy:#ffe5ef;--blue:#a8c7ff;--blue2:#c6d7ff;
  --green:#91ddae;--red:#ffabab;--amber:#ffd58b;--shadow:0 28px 72px rgba(46,19,54,.24);
  --sky-a:#322442;--sky-b:#593457;--sky-c:#1f2f54;
  --glow-1:rgba(255,139,102,.48);--glow-2:rgba(238,98,173,.35);--glow-3:rgba(91,159,255,.34);
  --aurora-1:rgba(255,150,96,.20);--aurora-2:rgba(255,92,178,.14);--aurora-3:rgba(92,156,255,.17);--stars-opacity:0;--moon-opacity:0;--ghost-opacity:0;
}
html[data-theme="night"] body{
  --panel:rgba(16,25,39,.72);--panel-strong:rgba(18,29,46,.92);--panel-soft:rgba(31,47,70,.56);
  --line:rgba(154,188,232,.15);--ink:#eef5ff;--muted:#99abc4;--navy:#dce9ff;--blue:#8db8ff;--blue2:#a9caff;
  --green:#79d4a2;--red:#ff9a9a;--amber:#f2c86c;--shadow:0 26px 70px rgba(0,0,0,.24);
  --sky-a:#0a0d13;--sky-b:#0d1420;--sky-c:#0b111b;
  --glow-1:rgba(42,105,153,.27);--glow-2:rgba(55,71,129,.28);--glow-3:rgba(25,96,111,.18);
  --aurora-1:rgba(100,218,255,.10);--aurora-2:rgba(95,141,255,.09);--aurora-3:rgba(90,224,239,.08);
  --stars-opacity:.34;--moon-opacity:.32;--ghost-opacity:0;
}

/* 23:00–04:59 · clone noturno com atmosfera de madrugada */
html[data-theme="midnight"] body{
  --panel:rgba(16,25,39,.72);--panel-strong:rgba(18,29,46,.92);--panel-soft:rgba(31,47,70,.56);
  --line:rgba(154,188,232,.15);--ink:#eef5ff;--muted:#99abc4;--navy:#dce9ff;--blue:#8db8ff;--blue2:#a9caff;
  --green:#79d4a2;--red:#ff9a9a;--amber:#f2c86c;--shadow:0 26px 70px rgba(0,0,0,.24);
  --sky-a:#0a0d13;--sky-b:#0d1420;--sky-c:#0b111b;
  --glow-1:rgba(42,105,153,.27);--glow-2:rgba(55,71,129,.28);--glow-3:rgba(25,96,111,.18);
  --aurora-1:rgba(100,218,255,.10);--aurora-2:rgba(95,141,255,.09);--aurora-3:rgba(90,224,239,.08);
  --stars-opacity:.58;--moon-opacity:.48;--ghost-opacity:.16;
}

/* 02 · FUNDO. Valores visuais são os mesmos do OFFLINE; camadas separadas apenas evitam conflito com o GIF legado. */
html{min-height:100%;background:#0b111b}
body{
  min-height:100%;margin:0!important;background:transparent!important;color:var(--ink)!important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  overflow-x:hidden;isolation:isolate;
  transition:color var(--theme-transition) var(--ease),background-color var(--theme-transition) var(--ease)!important;
}
body::before,body::after{content:none!important;display:none!important}
.ambient-bg,.ambient-aurora,.ambient-stars-sparse,.ambient-stars,.ambient-stars-extra,.ambient-stars-sparkle,.ambient-sun,.ambient-moon,.ambient-ghosts{position:fixed;inset:0;pointer-events:none}
.ambient-bg{
  z-index:-3;
  inset:-18%;
  background:
    radial-gradient(circle at 12% 8%,var(--glow-1) 0,transparent 31%),
    radial-gradient(circle at 90% 14%,var(--glow-2) 0,transparent 34%),
    radial-gradient(circle at 54% 93%,var(--glow-3) 0,transparent 39%),
    linear-gradient(135deg,var(--sky-a) 0%,var(--sky-b) 48%,var(--sky-c) 100%);
  background-size:
    128% 128%,
    132% 132%,
    125% 125%,
    118% 118%;
  background-position:
    0% 0%,
    100% 0%,
    50% 100%,
    50% 50%;
  transition:background var(--theme-transition) var(--ease);
  transform-origin:center center;
  will-change:transform,background-position;
  animation:environmentColorDrift 12s cubic-bezier(.45,.02,.55,.98) infinite;
}
/* Movimento forte e claramente perceptível:
   a camada inteira deriva E as massas internas trocam de posição. */
@keyframes environmentColorDrift{
  0%{
    transform:translate3d(-7%,-4.5%,0) scale(1.12) rotate(-.75deg);
    background-position:
      0% 4%,
      100% 0%,
      48% 100%,
      44% 54%;
  }
  20%{
    transform:translate3d(3.5%,-7%,0) scale(1.16) rotate(.45deg);
    background-position:
      20% 14%,
      82% 11%,
      61% 87%,
      53% 44%;
  }
  42%{
    transform:translate3d(7%,1.5%,0) scale(1.135) rotate(.82deg);
    background-position:
      38% 28%,
      68% 26%,
      70% 72%,
      58% 48%;
  }
  64%{
    transform:translate3d(2.5%,6.5%,0) scale(1.17) rotate(.25deg);
    background-position:
      27% 42%,
      77% 42%,
      48% 61%,
      50% 57%;
  }
  82%{
    transform:translate3d(-5.5%,3.4%,0) scale(1.145) rotate(-.52deg);
    background-position:
      10% 26%,
      91% 27%,
      38% 78%,
      43% 59%;
  }
  100%{
    transform:translate3d(-7%,-4.5%,0) scale(1.12) rotate(-.75deg);
    background-position:
      0% 4%,
      100% 0%,
      48% 100%,
      44% 54%;
  }
}
.ambient-aurora{
  z-index:-2;inset:-20%;
  background:conic-gradient(from 210deg at 25% 30%,var(--aurora-1),transparent 20%,var(--aurora-2) 38%,transparent 56%,var(--aurora-3) 78%,transparent);
  filter:blur(60px);animation:offlineAurora 20s ease-in-out infinite alternate;
  transition:background var(--theme-transition) var(--ease),opacity var(--theme-transition) var(--ease);
}
@keyframes offlineAurora{to{transform:translate3d(2%,1.4%,0) rotate(1.4deg) scale(1.035)}}
.ambient-stars{
  z-index:-1;opacity:var(--stars-opacity);
  background-image:
    radial-gradient(circle at 8% 17%,rgba(255,255,255,.82) 0 1px,transparent 1.4px),
    radial-gradient(circle at 18% 31%,rgba(255,255,255,.60) 0 1px,transparent 1.3px),
    radial-gradient(circle at 31% 11%,rgba(255,255,255,.72) 0 1px,transparent 1.3px),
    radial-gradient(circle at 43% 24%,rgba(255,255,255,.54) 0 1px,transparent 1.4px),
    radial-gradient(circle at 57% 9%,rgba(255,255,255,.76) 0 1px,transparent 1.4px),
    radial-gradient(circle at 68% 28%,rgba(255,255,255,.64) 0 1px,transparent 1.3px),
    radial-gradient(circle at 79% 14%,rgba(255,255,255,.68) 0 1px,transparent 1.4px),
    radial-gradient(circle at 91% 34%,rgba(255,255,255,.56) 0 1px,transparent 1.3px),
    radial-gradient(circle at 13% 68%,rgba(255,255,255,.48) 0 1px,transparent 1.3px),
    radial-gradient(circle at 27% 82%,rgba(255,255,255,.56) 0 1px,transparent 1.3px),
    radial-gradient(circle at 49% 73%,rgba(255,255,255,.46) 0 1px,transparent 1.3px),
    radial-gradient(circle at 72% 79%,rgba(255,255,255,.52) 0 1px,transparent 1.3px),
    radial-gradient(circle at 88% 66%,rgba(255,255,255,.44) 0 1px,transparent 1.3px);
  background-size:323px 263px,287px 241px,361px 301px,271px 327px,309px 289px,373px 257px,293px 347px,337px 283px,281px 311px,349px 271px,317px 293px,367px 319px,301px 277px;
  transition:opacity var(--theme-transition) var(--ease);animation:offlineStars 70s linear infinite;
}
@keyframes offlineStars{to{background-position:22px 16px,-18px 30px,26px -14px,-24px 18px,16px 26px,-20px -12px,19px 20px,-15px 24px,17px -18px,-21px 14px,20px 19px,-16px -20px,18px 15px}}

/* Lua/fantasmas recebem o desenho final no bloco V6 abaixo. */

/* Fantasminhas: só na Madrugada; propositalmente quase escondidos. */
.ambient-ghosts{
  z-index:-1;
  opacity:var(--ghost-opacity);
  transition:opacity var(--theme-transition) var(--ease);
}
.ambient-ghosts span{
  position:absolute;
  font-size:19px;
  filter:grayscale(1) brightness(1.85);
  opacity:.72;
  animation:midnightGhostFloat 9s ease-in-out infinite;
}
.ambient-ghosts span:nth-child(1){left:12%;top:27%;animation-delay:-1.5s}
.ambient-ghosts span:nth-child(2){right:16%;top:48%;font-size:16px;opacity:.58;animation-delay:-5s}
.ambient-ghosts span:nth-child(3){left:73%;top:76%;font-size:14px;opacity:.46;animation-delay:-7s}
@keyframes midnightGhostFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}
  50%{transform:translate3d(0,-9px,0) rotate(3deg)}
}

/* =========================================================
   V6 · CICLO VISUAL DO CÉU
   Mesma linguagem para sol/lua; só posição/intensidade mudam.
   ========================================================= */

/* Defaults */
body{
  --stars-sparse-opacity:0;
  --stars-extra-opacity:0;
  --stars-sparkle-opacity:0;
  --sun-opacity:0;
  --sun-size:66px;
  --sun-top:140px;
  --sun-right:8vw;
  --sun-core:#fff2b3;
  --sun-edge:#ffc96c;
  --sun-glow:rgba(255,193,91,.34);
  --moon-size:54px;
  --moon-top:112px;
  --moon-right:8vw;
}

/* Amanhecer: poucas estrelas indo embora + sol bem baixo */
html[data-theme="dawn"] body{
  --stars-opacity:.025;
  --stars-sparse-opacity:.19;
  --stars-extra-opacity:0;
  --stars-sparkle-opacity:.015;
  --sun-opacity:.70;
  --sun-size:56px;
  --sun-top:72vh;
  --sun-right:9vw;
  --sun-core:#fff0a6;
  --sun-edge:#ffbd63;
  --sun-glow:rgba(255,183,84,.42);
  --moon-opacity:0;
  --ghost-opacity:0;
}

/* Dia: sol presente, mas mais baixo */
html[data-theme="day"] body{
  --stars-opacity:0;
  --stars-sparse-opacity:0;
  --stars-extra-opacity:0;
  --stars-sparkle-opacity:0;
  --sun-opacity:.62;
  --sun-size:64px;
  --sun-top:178px;
  --sun-right:8.5vw;
  --sun-core:#fff4b6;
  --sun-edge:#ffd276;
  --sun-glow:rgba(255,204,102,.28);
  --moon-opacity:0;
  --ghost-opacity:0;
}

/* Dia vivo: o mesmo sol, mais alto e luminoso */
html[data-theme="noon"] body{
  --stars-opacity:0;
  --stars-sparse-opacity:0;
  --stars-extra-opacity:0;
  --stars-sparkle-opacity:0;
  --sun-opacity:.78;
  --sun-size:72px;
  --sun-top:104px;
  --sun-right:8vw;
  --sun-core:#fff7c7;
  --sun-edge:#ffd56f;
  --sun-glow:rgba(255,211,97,.36);
  --moon-opacity:0;
  --ghost-opacity:0;
}

/* Pôr do sol: sol descendo + primeiras estrelas muito discretas */
html[data-theme="sunset"] body{
  --stars-opacity:.035;
  --stars-sparse-opacity:.14;
  --stars-extra-opacity:0;
  --stars-sparkle-opacity:.020;
  --sun-opacity:.70;
  --sun-size:62px;
  --sun-top:70vh;
  --sun-right:8.5vw;
  --sun-core:#ffe09a;
  --sun-edge:#ff985d;
  --sun-glow:rgba(255,126,74,.36);
  --moon-opacity:0;
  --ghost-opacity:0;
}

/* Noite: mais estrelas + lua cheia real */
html[data-theme="night"] body{
  --stars-opacity:.48;
  --stars-sparse-opacity:.18;
  --stars-extra-opacity:.20;
  --stars-sparkle-opacity:.09;
  --sun-opacity:0;
  --moon-opacity:.78;
  --moon-size:54px;
  --moon-top:112px;
  --moon-right:8vw;
  --ghost-opacity:0;
}

/* Madrugada: céu mais cheio, estrelas mais brilhantes e mais fantasmas */
html[data-theme="midnight"] body{
  --stars-opacity:.68;
  --stars-sparse-opacity:.24;
  --stars-extra-opacity:.34;
  --stars-sparkle-opacity:.20;
  --sun-opacity:0;
  --moon-opacity:.92;
  --moon-size:60px;
  --moon-top:100px;
  --moon-right:7.5vw;
  --ghost-opacity:.22;
}

/* Poucas estrelas grandes — dawn/sunset e reforço em night */
.ambient-stars-sparse{
  z-index:-1;
  opacity:var(--stars-sparse-opacity);
  background-image:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.90) 0 1.1px,transparent 1.6px),
    radial-gradient(circle at 38% 12%,rgba(255,255,255,.76) 0 1px,transparent 1.5px),
    radial-gradient(circle at 66% 21%,rgba(255,255,255,.88) 0 1.1px,transparent 1.6px),
    radial-gradient(circle at 84% 11%,rgba(255,255,255,.70) 0 1px,transparent 1.5px),
    radial-gradient(circle at 91% 46%,rgba(255,255,255,.72) 0 1px,transparent 1.5px),
    radial-gradient(circle at 22% 73%,rgba(255,255,255,.64) 0 1px,transparent 1.5px);
  background-size:760px 620px,880px 690px,810px 670px,920px 740px,840px 710px,900px 760px;
  transition:opacity var(--theme-transition) var(--ease);
}

/* Segunda camada de estrelas para Noite/Madrugada */
.ambient-stars-extra{
  z-index:-1;
  opacity:var(--stars-extra-opacity);
  background-image:
    radial-gradient(circle at 4% 9%,rgba(255,255,255,.74) 0 .8px,transparent 1.25px),
    radial-gradient(circle at 14% 42%,rgba(255,255,255,.58) 0 .9px,transparent 1.3px),
    radial-gradient(circle at 24% 7%,rgba(255,255,255,.82) 0 .8px,transparent 1.25px),
    radial-gradient(circle at 35% 54%,rgba(255,255,255,.66) 0 .9px,transparent 1.3px),
    radial-gradient(circle at 46% 16%,rgba(255,255,255,.78) 0 .8px,transparent 1.25px),
    radial-gradient(circle at 57% 47%,rgba(255,255,255,.60) 0 .9px,transparent 1.3px),
    radial-gradient(circle at 69% 8%,rgba(255,255,255,.84) 0 .8px,transparent 1.25px),
    radial-gradient(circle at 76% 61%,rgba(255,255,255,.64) 0 .9px,transparent 1.3px),
    radial-gradient(circle at 87% 25%,rgba(255,255,255,.76) 0 .8px,transparent 1.25px),
    radial-gradient(circle at 96% 72%,rgba(255,255,255,.60) 0 .9px,transparent 1.3px);
  background-size:211px 197px,257px 239px,229px 271px,281px 223px,247px 263px,269px 211px,233px 251px,293px 237px,241px 279px,271px 229px;
  transition:opacity var(--theme-transition) var(--ease);
  animation:extraStarsDrift 92s linear infinite;
}
@keyframes extraStarsDrift{
  to{background-position:13px -10px,-16px 18px,11px 15px,-14px -9px,17px 10px,-12px 14px,10px -13px,-15px 11px,14px 12px,-11px -14px}
}

/* Pontos mais vivos que respiram lentamente */
.ambient-stars-sparkle{
  z-index:-1;
  opacity:var(--stars-sparkle-opacity);
  background-image:
    radial-gradient(circle at 17% 23%,rgba(255,255,255,1) 0 1.45px,transparent 2px),
    radial-gradient(circle at 33% 69%,rgba(226,239,255,.98) 0 1.25px,transparent 1.9px),
    radial-gradient(circle at 51% 13%,rgba(255,250,229,.96) 0 1.4px,transparent 2px),
    radial-gradient(circle at 71% 37%,rgba(225,239,255,.98) 0 1.35px,transparent 1.95px),
    radial-gradient(circle at 89% 19%,rgba(255,255,255,1) 0 1.35px,transparent 1.95px),
    radial-gradient(circle at 82% 78%,rgba(232,243,255,.96) 0 1.25px,transparent 1.9px);
  background-size:613px 487px,557px 523px,641px 509px,589px 541px,677px 493px,619px 557px;
  transition:opacity var(--theme-transition) var(--ease);
  animation:starTwinkle 4.8s ease-in-out infinite alternate;
}
@keyframes starTwinkle{
  from{filter:brightness(.82)}
  to{filter:brightness(1.45)}
}

/* SOL — um único desenho em todos os temas */
.ambient-sun{
  z-index:-1;
  opacity:var(--sun-opacity);
  transition:opacity var(--theme-transition) var(--ease);
}
.ambient-sun::before{
  content:"";
  position:absolute;
  width:var(--sun-size);
  height:var(--sun-size);
  right:var(--sun-right);
  top:var(--sun-top);
  border-radius:50%;
  background:
    radial-gradient(circle at 36% 32%,rgba(255,255,255,.92) 0 9%,transparent 28%),
    radial-gradient(circle at 50% 50%,var(--sun-core) 0 52%,var(--sun-edge) 74%,rgba(255,153,68,.18) 100%);
  box-shadow:
    0 0 22px 8px var(--sun-glow),
    0 0 68px 26px color-mix(in srgb,var(--sun-glow) 52%,transparent);
  transition:
    top var(--theme-transition) var(--ease),
    right var(--theme-transition) var(--ease),
    width var(--theme-transition) var(--ease),
    height var(--theme-transition) var(--ease),
    background var(--theme-transition) var(--ease),
    box-shadow var(--theme-transition) var(--ease);
}

/* LUA — disco real com crateras, mesmo desenho em Night/Midnight */
.ambient-moon{
  z-index:-1;
  opacity:var(--moon-opacity);
  transition:opacity var(--theme-transition) var(--ease);
}
.ambient-moon::before{
  content:"";
  position:absolute;
  width:var(--moon-size);
  height:var(--moon-size);
  right:var(--moon-right);
  top:var(--moon-top);
  border-radius:50%;
  background:
    radial-gradient(circle at 31% 28%,rgba(185,197,215,.42) 0 5%,transparent 6%),
    radial-gradient(circle at 67% 37%,rgba(173,188,207,.34) 0 7%,transparent 8%),
    radial-gradient(circle at 42% 68%,rgba(174,187,204,.30) 0 9%,transparent 10%),
    radial-gradient(circle at 72% 73%,rgba(165,182,201,.26) 0 5%,transparent 6%),
    radial-gradient(circle at 38% 40%,#fffbe6 0 42%,#e8edf5 73%,#cbd6e4 100%);
  box-shadow:
    inset -8px -7px 12px rgba(83,104,132,.20),
    0 0 16px rgba(224,237,255,.30),
    0 0 42px rgba(188,214,255,.16);
  transition:
    top var(--theme-transition) var(--ease),
    right var(--theme-transition) var(--ease),
    width var(--theme-transition) var(--ease),
    height var(--theme-transition) var(--ease);
}

/* O velho glifo de lua da V5 é explicitamente removido. */
.ambient-moon::after{content:none!important}

/* Mais fantasmas na madrugada; continuam easter egg, não decoração principal */
.ambient-ghosts span:nth-child(1){left:8%;top:22%;font-size:18px;animation-delay:-1.5s}
.ambient-ghosts span:nth-child(2){right:13%;top:39%;font-size:16px;opacity:.58;animation-delay:-5s}
.ambient-ghosts span:nth-child(3){left:72%;top:73%;font-size:14px;opacity:.46;animation-delay:-7s}
.ambient-ghosts span:nth-child(4){left:31%;top:84%;font-size:13px;opacity:.40;animation-delay:-3.2s}
.ambient-ghosts span:nth-child(5){right:31%;top:18%;font-size:12px;opacity:.38;animation-delay:-6.4s}
.ambient-ghosts span:nth-child(6){left:52%;top:43%;font-size:11px;opacity:.30;animation-delay:-8.1s}
.ambient-ghosts span:nth-child(7){right:5%;top:82%;font-size:13px;opacity:.36;animation-delay:-2.3s}

/* =========================================================
   V6 · MICROANIMAÇÃO APENAS DO CABEÇALHO
   O resto do site permanece sem nova camada de animação.
   ========================================================= */
.app-header .brand,
.app-header .brand-sub,
.app-header .nav button,
.app-header .header-actions > *{
  animation:headerMenuArrive .48s cubic-bezier(.16,1,.3,1) both;
}
.app-header .brand-sub{animation-delay:.035s}
.app-header .nav button:nth-child(1){animation-delay:.06s}
.app-header .nav button:nth-child(2){animation-delay:.095s}
.app-header .nav button:nth-child(3){animation-delay:.13s}
.app-header .header-actions > *:nth-child(1){animation-delay:.16s}
.app-header .header-actions > *:nth-child(2){animation-delay:.19s}
.app-header .header-actions > *:nth-child(3){animation-delay:.22s}
.app-header .header-actions > *:nth-child(4){animation-delay:.25s}
.app-header .header-actions > *:nth-child(5){animation-delay:.28s}

@keyframes headerMenuArrive{
  from{opacity:0;transform:translateY(-7px) scale(.985);filter:blur(2px)}
  to{opacity:1;transform:none;filter:none}
}

.app-header .nav button{
  position:relative;
  transition:
    transform 180ms cubic-bezier(.18,1.28,.32,1),
    background 220ms var(--ease),
    color 220ms var(--ease)!important;
}
.app-header .nav button::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  opacity:0;
  transform:scaleX(.35);
  transition:opacity 180ms var(--ease),transform 260ms cubic-bezier(.18,1.28,.32,1);
}
.app-header .nav button:hover{
  transform:translateY(-1px);
}
.app-header .nav button:hover::after{
  opacity:.18;
  transform:scaleX(.72);
}
.app-header .nav button.active::after{
  opacity:.30;
  transform:scaleX(1);
}
.app-header .nav button:active{
  transform:translateY(0) scale(.96);
}

.app-header .theme-control,
.app-header .mute-btn,
.app-header .profile-orb,
.app-header .admin-top,
.app-header .admin-btn{
  transition:transform 200ms cubic-bezier(.18,1.28,.32,1),filter 180ms var(--ease)!important;
}
.app-header .theme-control:hover,
.app-header .mute-btn:hover,
.app-header .profile-orb:hover,
.app-header .admin-top:hover,
.app-header .admin-btn:hover{
  transform:translateY(-2px);
}
.app-header .theme-control:active,
.app-header .mute-btn:active,
.app-header .profile-orb:active,
.app-header .admin-top:active,
.app-header .admin-btn:active{
  transform:scale(.95);
}

button,input,textarea{font:inherit}
button{-webkit-tap-highlight-color:transparent}

/* 03 · HEADER — geometria literal do OFFLINE */
.app-header{
  position:sticky!important;top:0!important;z-index:40!important;border-bottom:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--panel-strong) 86%,transparent)!important;
  backdrop-filter:blur(24px) saturate(1.2)!important;-webkit-backdrop-filter:blur(24px) saturate(1.2)!important;
}
.app-header .header-inner{
  width:min(1680px,calc(100% - 48px))!important;margin:auto!important;min-height:72px!important;
  display:flex!important;align-items:center!important;gap:12px!important;padding:0!important;
}
.app-header .mark{
  width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:13px!important;
  display:grid!important;place-items:center!important;background:linear-gradient(145deg,rgba(42,86,139,.98),rgba(23,54,93,.98))!important;
  border:1px solid rgba(255,255,255,.10)!important;color:#fff!important;
  box-shadow:0 9px 22px rgba(10,24,43,.20),inset 0 1px 0 rgba(255,255,255,.10)!important;
  overflow:hidden!important;cursor:pointer!important;position:static!important;transition:transform .3s var(--spring),box-shadow .22s var(--ease)!important;
}
.app-header .mark svg{width:29px!important;height:29px!important;display:block!important}
.app-header .mark:hover{transform:translateY(-1px) rotate(-2deg) scale(1.035)!important;box-shadow:0 13px 28px rgba(10,24,43,.24),inset 0 1px 0 rgba(255,255,255,.12)!important}
.app-header .mark:active{transform:scale(.92) rotate(-2deg)!important}
html[data-theme="dawn"] .app-header .mark,html[data-theme="day"] .app-header .mark,html[data-theme="noon"] .app-header .mark{box-shadow:0 9px 22px rgba(23,54,93,.15),inset 0 1px 0 rgba(255,255,255,.13)!important}
html[data-theme="sunset"] .app-header .mark{background:linear-gradient(145deg,#315f9b,#243b6a)!important;box-shadow:0 12px 28px rgba(30,21,60,.26),inset 0 1px 0 rgba(255,255,255,.12)!important}
.app-header .brand-wrap{min-width:176px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:3px!important}
.app-header .brand{margin:0!important;padding:0!important;background:transparent!important;border:0!important;color:var(--navy)!important;font-size:16px!important;line-height:1.1!important;font-weight:880!important;letter-spacing:-.025em!important;box-shadow:none!important}
.app-header .brand-sub{display:flex!important;align-items:center!important;gap:6px!important;color:var(--muted)!important;font-size:10.5px!important;line-height:1.2!important;font-weight:720!important;letter-spacing:.015em!important}
.app-header .brand-sub-dot{width:5px!important;height:5px!important;border-radius:50%!important;background:var(--green)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 11%,transparent)!important;flex:0 0 auto!important}
.app-header .nav{display:flex!important;gap:5px!important;margin-left:18px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.app-header .nav button,.app-header .icon-btn,.app-header .admin-btn,.app-header .header-logout{
  min-height:41px!important;border-radius:10px!important;border:1px solid transparent!important;background:transparent!important;color:var(--muted)!important;
  padding:0 13px!important;font-weight:760!important;cursor:pointer!important;box-shadow:none!important;
  transition:transform var(--fast) var(--ease),background var(--ui) var(--ease),color var(--ui) var(--ease),border-color var(--ui) var(--ease)!important;
}
.app-header .nav button{font-size:12.5px!important;text-transform:none!important;letter-spacing:normal!important}
.app-header .nav button:hover,.app-header .icon-btn:hover{background:var(--panel-soft)!important;color:var(--blue)!important;transform:none!important}
.app-header .nav button.active{background:var(--panel-soft)!important;color:var(--blue)!important;box-shadow:none!important;transform:none!important}
.app-header .spacer{flex:1!important}
.app-header .header-actions{display:flex!important;align-items:center!important;gap:8px!important;margin-left:0!important}
.app-header .offline{display:flex!important;align-items:center!important;gap:7px!important;padding:7px 10px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:var(--panel)!important;color:var(--muted)!important;font-size:10.5px!important;font-weight:800!important;box-shadow:none!important}
.app-header .offline-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--green)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 13%,transparent)!important}
.app-header .admin-btn{border:0!important;background:linear-gradient(135deg,#2f5597,#3c6db5)!important;color:#fff!important;padding:0 14px!important;box-shadow:0 8px 20px rgba(47,85,151,.22)!important;font-size:11.5px!important}
.app-header .header-logout{background:var(--panel-strong)!important;color:var(--blue)!important;border-color:var(--line)!important}
.app-header .icon-btn,.app-header .avatar,.theme-btn{width:41px!important;height:41px!important;min-width:41px!important;padding:0!important;background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--blue)!important;box-shadow:none!important}
.app-header .avatar{border-radius:50%!important;background:var(--panel-strong)!important;font-weight:900!important;overflow:hidden!important}
.app-header .profile-orb img{width:100%!important;height:100%!important;object-fit:cover!important}
.app-header .mute-btn .speaker{font-size:18px!important;line-height:1!important}.app-header .mute-btn .mute-x{right:5px!important;top:2px!important}

/* 04 · STATUS HUB — literal */
#statusIsland{display:none!important}
.status-slot{display:flex!important;align-items:center!important;justify-content:flex-end!important}
.status-hub{
  min-width:38px!important;height:38px!important;max-width:330px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  border:1px solid var(--line)!important;border-radius:999px!important;background:var(--panel-strong)!important;color:var(--navy)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.12)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
  padding:0 12px!important;overflow:hidden!important;transition:min-width .34s var(--spring),transform .22s var(--spring)!important;
}
.status-hub .icon{width:18px!important;min-width:18px!important;height:18px!important;display:grid!important;place-items:center!important;border-radius:50%!important;font-size:12px!important;font-weight:900!important}
.status-hub .txt{max-width:0!important;opacity:0!important;white-space:nowrap!important;overflow:hidden!important;font-size:11.5px!important;font-weight:820!important;transition:max-width .3s var(--ease),opacity .18s var(--ease)!important}
.status-hub.show{min-width:185px!important;justify-content:flex-start!important;transform:scale(1.015)!important}
.status-hub.show .txt{max-width:260px!important;opacity:1!important}
.status-hub.success .icon{color:var(--green)!important;background:color-mix(in srgb,var(--green) 13%,transparent)!important}
.status-hub.error .icon{color:var(--red)!important;background:color-mix(in srgb,var(--red) 12%,transparent)!important}
.status-hub.info .icon,.status-hub.working .icon{color:var(--blue)!important}

/* 05 · HOME — literal */
body.app-home #homeView.home-v2{min-height:0!important;display:block!important;padding:56px 0 48px!important;position:relative!important;background:transparent!important}
.home-shell{width:min(980px,calc(100% - 48px))!important;max-width:980px!important;margin:0 auto!important;padding:0!important}
.home-v2 .hero{padding:44px 0 10px!important}
.home-v2 .eyebrow{display:flex!important;align-items:center!important;gap:9px!important;color:var(--muted)!important;font-size:10px!important;letter-spacing:.16em!important;font-weight:850!important;text-transform:uppercase!important}
.home-v2 .eyebrow::before{content:""!important;width:26px!important;height:1px!important;background:var(--line)!important}
.home-v2 h1{margin:18px 0 0!important;font-size:clamp(50px,6.5vw,88px)!important;line-height:.98!important;letter-spacing:-.06em!important;color:var(--navy)!important;max-width:840px!important;text-align:left!important;text-shadow:none!important}
.home-v2 h1 .name{color:var(--blue)!important}
.home-v2 .bob-moment{margin-top:24px!important;max-width:820px!important;display:flex!important;align-items:flex-start!important;gap:12px!important}
.home-v2 .bob-orb{width:35px!important;height:35px!important;min-width:35px!important;min-height:35px!important;border-radius:11px!important;display:grid!important;place-items:center!important;border:1px solid var(--line)!important;background:var(--panel-strong)!important;color:var(--blue)!important;font-weight:900!important;box-shadow:0 8px 20px rgba(0,0,0,.10)!important;animation:offlineBobFloat 3.6s ease-in-out infinite!important;padding:0!important}
@keyframes offlineBobFloat{50%{transform:translateY(-2px) rotate(2deg)}}
.home-v2 .bob-msg{margin:1px 0 0!important;color:var(--muted)!important;font-size:17px!important;line-height:1.58!important;font-weight:660!important;letter-spacing:-.012em!important;min-height:0!important}
.home-v2 .bob-msg.swap{animation:offlineBobSwap .36s var(--spring)!important}
@keyframes offlineBobSwap{0%{opacity:.12;transform:translateY(5px);filter:blur(2px)}65%{opacity:1;transform:translateY(-1px);filter:none}100%{opacity:1;transform:none}}
.home-v2 .hero-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important;margin-top:28px!important;justify-content:flex-start!important}
.home-v2 .hero-action{min-height:52px!important;border-radius:14px!important;padding:0 19px!important;border:1px solid var(--line)!important;background:var(--panel-strong)!important;color:var(--blue)!important;font-weight:860!important;font-size:13px!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer!important;box-shadow:0 10px 24px rgba(0,0,0,.09)!important;transition:transform var(--fast) var(--ease),box-shadow var(--ui) var(--ease),background var(--ui) var(--ease)!important}
.home-v2 .hero-action.primary{color:#fff!important;border:0!important;background:linear-gradient(135deg,#2f5597,#3c6db5)!important;box-shadow:0 12px 28px rgba(47,85,151,.24)!important}
@media(hover:hover){.home-v2 .hero-action:hover{transform:translateY(-2px) scale(1.015)!important}}
.home-v2 .hero-action:active{transform:scale(.97)!important}
.home-v2 .search-panel{margin-top:38px!important;max-width:780px!important;border:1px solid var(--line)!important;border-radius:18px!important;background:var(--panel)!important;padding:17px!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;box-shadow:var(--shadow)!important;position:relative!important}
.home-v2 .search-label{font-size:10px!important;letter-spacing:.12em!important;font-weight:850!important;color:var(--muted)!important;margin:0 0 9px 2px!important}
.home-v2 .search-wrap{position:relative!important;max-width:none!important}
.home-v2 .search-wrap>span{position:absolute!important;left:15px!important;top:14px!important;color:var(--muted)!important;font-size:inherit!important;z-index:1!important}
.home-v2 .search-wrap input{width:100%!important;height:48px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--panel-strong)!important;color:var(--ink)!important;padding:0 15px 0 43px!important;box-shadow:none!important;font-size:inherit!important;transform:none!important}
.home-v2 .search-wrap input::placeholder{color:var(--muted)!important}
.home-v2 .people{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:12px!important;position:static!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;max-height:360px!important;overflow:auto!important}
.home-v2 .people[hidden]{display:none!important}
.home-v2 .people-result{display:flex!important;align-items:center!important;gap:10px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--panel-strong)!important;padding:11px 12px!important}
.home-v2 .people-result:hover{background:var(--panel-soft)!important}
.home-v2 .people-mini-avatar{width:34px!important;height:34px!important;min-width:34px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:var(--panel-soft)!important;color:var(--blue)!important;font-weight:900!important}
.home-v2 .people-text b{font-size:12.5px!important;color:var(--navy)!important}.home-v2 .people-text small{display:block!important;color:var(--muted)!important;font-size:11px!important;margin-top:2px!important}
.home-v2 .home-foot{margin-top:30px!important;padding-top:18px!important;border-top:1px solid var(--line)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;color:var(--muted)!important;font-size:10.5px!important}
#homeSystemLine.online{color:var(--green)!important}#homeSystemLine.error{color:var(--red)!important}
body.app-home .controls,body.app-home main.shell,body.app-home footer.footer{display:none!important}

/* Remove apenas animações antigas da antiga Home; mantém o comportamento real. */
.home-v2 h1,.home-v2 .bob-moment,.home-v2 .hero-actions,.home-v2 .search-panel{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
#homeView.home-enter .home-actions,#homeView.home-enter .home-people-search,#homeView.home-enter h1,#homeView.home-enter .bob-moment{opacity:1!important;transform:none!important;filter:none!important}

/* 06 · MENU DE TEMAS — literal */
.theme-transition-veil{position:fixed!important;inset:0!important;z-index:9998!important;pointer-events:none!important;opacity:0!important;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.18),transparent 50%),linear-gradient(180deg,rgba(255,255,255,.06),transparent)!important;transition:opacity 380ms ease!important}
.theme-transition-veil.flash{opacity:1!important}
.theme-control{position:relative!important}
.theme-btn{width:41px!important;min-height:41px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:10px!important;border:1px solid var(--line)!important;background:var(--panel)!important;color:var(--blue)!important;cursor:pointer!important;font-size:17px!important;transition:transform var(--fast) var(--ease),background var(--ui) var(--ease),border-color var(--ui) var(--ease)!important}
.theme-btn:hover,.theme-btn:focus-visible{background:var(--panel-soft)!important;transform:translateY(-1px)!important}
.theme-menu{position:absolute!important;right:0!important;top:calc(100% + 10px)!important;width:272px!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:15px!important;background:color-mix(in srgb,var(--panel-strong) 96%,transparent)!important;box-shadow:0 22px 60px rgba(0,0,0,.20)!important;backdrop-filter:blur(24px) saturate(1.18)!important;-webkit-backdrop-filter:blur(24px) saturate(1.18)!important;opacity:0!important;visibility:hidden!important;transform:translateY(-5px) scale(.98)!important;transform-origin:top right!important;transition:opacity 180ms var(--ease),transform 240ms var(--spring),visibility 0s linear 240ms!important;z-index:90!important}
.theme-control:hover .theme-menu,.theme-control:focus-within .theme-menu,.theme-control.menu-open .theme-menu{opacity:1!important;visibility:visible!important;transform:none!important;transition:opacity 180ms var(--ease),transform 240ms var(--spring),visibility 0s linear 0s!important}
.theme-menu-head{padding:6px 8px 9px!important;border-bottom:1px solid var(--line)!important;margin-bottom:6px!important}.theme-menu-head b{display:block!important;color:var(--navy)!important;font-size:12px!important}.theme-menu-head small{display:block!important;color:var(--muted)!important;font-size:10.5px!important;margin-top:3px!important;line-height:1.35!important}
.theme-option{width:100%!important;display:flex!important;align-items:center!important;gap:10px!important;border:0!important;background:transparent!important;color:var(--muted)!important;padding:9px!important;border-radius:10px!important;cursor:pointer!important;text-align:left!important;box-shadow:none!important;transform:none!important;transition:background var(--ui) var(--ease),color var(--ui) var(--ease),transform var(--fast) var(--ease)!important}
.theme-option:hover,.theme-option:focus-visible{background:var(--panel-soft)!important;color:var(--navy)!important;transform:translateX(2px)!important}.theme-option.active{background:var(--panel-soft)!important;color:var(--blue)!important}.theme-option .emoji{width:28px!important;height:28px!important;min-width:28px!important;display:grid!important;place-items:center!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--panel)!important;font-size:14px!important}.theme-option .theme-option-copy{flex:1!important;min-width:0!important}.theme-option .theme-option-copy b{display:block!important;font-size:11.5px!important;color:inherit!important}.theme-option .theme-option-copy small{display:block!important;font-size:9.7px!important;color:var(--muted)!important;margin-top:2px!important}.theme-check{font-size:12px!important;color:var(--green)!important;opacity:0!important}.theme-option.active .theme-check{opacity:1!important}.theme-sep{height:1px!important;background:var(--line)!important;margin:6px 4px!important}.dynamic-badge{display:inline-flex!important;align-items:center!important;gap:5px!important;margin-left:6px!important;padding:3px 6px!important;border:1px solid var(--line)!important;border-radius:999px!important;color:var(--green)!important;font-size:8.5px!important;font-weight:850!important;letter-spacing:.05em!important;vertical-align:middle!important}

/* 07 · BOB FAB — literal */
.bob-fab{position:fixed!important;right:22px!important;bottom:22px!important;z-index:55!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;border-radius:18px!important;border:1px solid var(--line)!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,rgba(47,85,151,.96),rgba(65,111,183,.96))!important;color:#fff!important;font-size:20px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important;transition:transform .22s var(--spring),box-shadow .22s var(--ease)!important;padding:1px 6px!important}
.bob-fab::before{content:none!important}.bob-fab::after{content:""!important;position:absolute!important;inset:-5px!important;border-radius:22px!important;border:1px solid rgba(141,184,255,.18)!important;pointer-events:none!important}
@media(hover:hover){.bob-fab:hover{transform:translateY(-3px) scale(1.05)!important;box-shadow:0 24px 54px rgba(0,0,0,.32)!important}}.bob-fab:active{transform:scale(.94)!important}
body.bob-open .bob-fab{opacity:0!important;pointer-events:none!important}

/* 08 · MÓDULOS REAIS usando APENAS os mesmos tokens do OFFLINE. */
body:not(.app-home) .controls{background:color-mix(in srgb,var(--panel-strong) 86%,transparent)!important;border-bottom-color:var(--line)!important;backdrop-filter:blur(24px) saturate(1.2)!important;-webkit-backdrop-filter:blur(24px) saturate(1.2)!important}
body:not(.app-home) .side,body:not(.app-home) .card,body:not(.app-home) .panel,body:not(.app-home) .formbox,body:not(.app-home) .admin-nav,
body:not(.app-home) .grerj-hero,body:not(.app-home) .grerj-card,body:not(.app-home) .grerj-summary,body:not(.app-home) .grerj-certificate{
  background:var(--panel)!important;border-color:var(--line)!important;color:var(--ink)!important;backdrop-filter:blur(18px) saturate(1.08)!important;-webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
}
body:not(.app-home) .cardhead,body:not(.app-home) .grerj-row:not(.grerj-head),body:not(.app-home) .category-picker label{background:var(--panel-soft)!important;border-color:var(--line)!important}
body:not(.app-home) .searchwrap input,body:not(.app-home) .field input,body:not(.app-home) .field select,body:not(.app-home) .field textarea,body:not(.app-home) .grid3 input,body:not(.app-home) .grid3 select,body:not(.app-home) #adminSearch,body:not(.app-home) .structure-row input,body:not(.app-home) .grerj-row input{background:var(--panel-strong)!important;color:var(--ink)!important;border-color:var(--line)!important}
body:not(.app-home) .body,body:not(.app-home) .count,body:not(.app-home) .field,body:not(.app-home) .field-note,body:not(.app-home) .search-options,body:not(.app-home) .search-hint,body:not(.app-home) .cats button,body:not(.app-home) .grerj-hero p,body:not(.app-home) .grerj-warning,body:not(.app-home) .grerj-special-note,body:not(.app-home) .cert-sub,body:not(.app-home) .grerj-unit-note,body:not(.app-home) .grerj-code{color:var(--muted)!important}
body:not(.app-home) h1,body:not(.app-home) h2,body:not(.app-home) h3,body:not(.app-home) .title,body:not(.app-home) .grerj-name,body:not(.app-home) .grerj-due,body:not(.app-home) .side h2{color:var(--navy)!important}
body:not(.app-home) .tag.light{background:var(--panel-strong)!important;color:var(--muted)!important;border-color:var(--line)!important}
body:not(.app-home) .tabs button,body:not(.app-home) .secondary,body:not(.app-home) .clear,body:not(.app-home) .close{background:var(--panel-strong)!important;color:var(--blue)!important;border-color:var(--line)!important}
body:not(.app-home) .tabs button.active,body:not(.app-home) .cats button.active{background:var(--panel-soft)!important;color:var(--blue)!important;border-color:var(--line)!important;box-shadow:none!important}

/* 09 · MOBILE — literal */
@media(max-width:900px){
  body.app-home #homeView.home-v2{padding:0!important}
  .app-header .header-inner{width:auto!important;padding:0 14px!important;min-height:67px!important}
  .app-header .brand-wrap{min-width:0!important}.app-header .brand{font-size:14px!important}.app-header .brand-sub{font-size:9.5px!important}
  .app-header .nav,.app-header .offline,.app-header .admin-btn{display:none!important}
  .status-slot{position:absolute!important;left:50%!important;top:8px!important;transform:translateX(-50%)!important;z-index:60!important}
  .status-hub{background:rgba(7,10,15,.95)!important;color:#fff!important;border-color:rgba(255,255,255,.09)!important;min-width:72px!important;height:36px!important}.status-hub.show{min-width:205px!important}.status-hub .txt{font-size:10.7px!important}
  .home-shell{width:100%!important;max-width:100%!important}.home-v2{padding:34px 16px 80px!important}.home-v2 .hero{padding:24px 0 8px!important;text-align:center!important}.home-v2 .eyebrow{justify-content:center!important}.home-v2 .eyebrow::before{display:none!important}.home-v2 h1{text-align:center!important;font-size:clamp(43px,13vw,62px)!important;max-width:100%!important}.home-v2 .bob-moment{margin-left:auto!important;margin-right:auto!important;text-align:left!important}.home-v2 .hero-actions{justify-content:center!important}.home-v2 .hero-action{flex:1!important;min-width:145px!important}.home-v2 .search-panel{margin-top:28px!important;text-align:left!important}.home-v2 .people{grid-template-columns:1fr!important}
  .theme-menu{position:fixed!important;top:72px!important;right:12px!important;width:min(290px,calc(100vw - 24px))!important}
  .bob-fab{right:16px!important;bottom:16px!important;width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;border-radius:17px!important}
}
@media(max-width:560px){.app-header .brand-sub{display:none!important}.app-header .brand{font-size:13.5px!important}.app-header .mark{width:40px!important;height:40px!important;min-width:40px!important;border-radius:12px!important}.app-header .mark svg{width:26px!important;height:26px!important}.home-v2 h1{font-size:42px!important}}
@media(prefers-reduced-motion:reduce){.ambient-bg,.ambient-aurora,.ambient-stars,.ambient-stars-extra,.ambient-stars-sparkle,.ambient-ghosts span,.home-v2 .bob-orb,.app-header .brand,.app-header .brand-sub,.app-header .nav button,.app-header .header-actions > *{animation:none!important}.theme-transition-veil{display:none!important}}



/* ========================================================================
   OFFLINE LITERAL MIRROR · THEME MENU CLEAN LIST
   Apenas aparência do seletor de tema. Não altera lógica/temas.
   ======================================================================== */
.theme-menu{
  padding:10px 10px 11px!important;
}
.theme-menu-head{
  padding:5px 8px 10px!important;
  margin-bottom:5px!important;
}
.theme-option{
  min-height:52px!important;
  padding:7px 8px!important;
  margin:1px 0!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--muted)!important;
  transform:none!important;
}
.theme-option:hover,
.theme-option:focus-visible{
  background:color-mix(in srgb,var(--panel-soft) 58%,transparent)!important;
  color:var(--navy)!important;
  transform:none!important;
}
.theme-option.active{
  background:color-mix(in srgb,var(--panel-soft) 72%,transparent)!important;
  color:var(--blue)!important;
  box-shadow:none!important;
}
.theme-option .emoji{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:9px!important;
  border:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--panel) 72%,transparent)!important;
  box-shadow:none!important;
  font-size:14px!important;
}
.theme-option .theme-option-copy b{
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.15!important;
  color:inherit!important;
}
.theme-option .theme-option-copy small{
  margin-top:3px!important;
  font-size:9.7px!important;
  line-height:1.15!important;
  color:var(--muted)!important;
  opacity:.94!important;
}
.theme-check{
  width:18px!important;
  text-align:center!important;
  color:var(--green)!important;
  font-weight:900!important;
}
.theme-sep{
  margin:6px 4px!important;
}

/* No tema escuro, mantém a mesma linguagem natural da lista. */
body[data-theme="night"] .theme-option,
body[data-theme="sunset"] .theme-option{
  background:transparent!important;
}
body[data-theme="night"] .theme-option:hover,
body[data-theme="night"] .theme-option:focus-visible,
body[data-theme="sunset"] .theme-option:hover,
body[data-theme="sunset"] .theme-option:focus-visible{
  background:rgba(255,255,255,.045)!important;
}
body[data-theme="night"] .theme-option.active,
body[data-theme="sunset"] .theme-option.active{
  background:rgba(141,184,255,.085)!important;
}


/* FIX V4 · evita colisão com .copy (botão "Copiar texto" do sistema) */
.theme-option .theme-option-copy{
  flex:1!important;
  min-width:0!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
}
.theme-option .theme-option-copy b{
  display:block!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.15!important;
  color:inherit!important;
}
.theme-option .theme-option-copy small{
  display:block!important;
  padding:0!important;
  margin:3px 0 0!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:9.7px!important;
  line-height:1.15!important;
  color:var(--muted)!important;
}


/* ========================================================================
   BETA 2 · MOTION PASS CANDIDATE
   ------------------------------------------------------------------------
   - iOS-like press/release handled by WAAPI in JS
   - Header receives livelier hover / selected feedback
   - Popovers and panels visually originate from their trigger anchor
   - No data / Supabase behavior lives in this block
   ======================================================================== */

:root{
  --motion-pop:cubic-bezier(.16,1,.3,1);
  --motion-out:cubic-bezier(.4,0,1,1);
  --motion-soft:cubic-bezier(.22,.61,.36,1);
}

/* Header: less static, still restrained. */
@media (hover:hover) and (pointer:fine){
  .app-header .mark:hover{
    transform:translateY(-2px) rotate(-2.5deg) scale(1.055)!important;
    filter:brightness(1.045) saturate(1.04);
  }
  .app-header .module-nav button:hover{
    transform:translateY(-2px) scale(1.035)!important;
    background:color-mix(in srgb,var(--panel-soft) 88%,transparent)!important;
  }
  .app-header .manage:hover,
  .app-header .header-logout:hover,
  .app-header .theme-btn:hover,
  .app-header .mute-btn:hover,
  .app-header .profile-orb:hover{
    transform:translateY(-2px) scale(1.045)!important;
    filter:brightness(1.035) saturate(1.035);
  }
}
.app-header .module-nav button.active{
  transform:translateY(-1px);
}
.app-header .module-nav button.active::after{
  animation:headerActivePulse 2.8s ease-in-out infinite;
}
@keyframes headerActivePulse{
  0%,100%{opacity:.22;transform:scaleX(.86)}
  50%{opacity:.40;transform:scaleX(1)}
}

/* Theme popover: comes out of the appearance button instead of just appearing. */
.theme-menu{
  transform-origin:calc(100% - 20px) -8px!important;
}
.theme-control.menu-open .theme-menu,
.theme-control:focus-within .theme-menu{
  animation:themePopoverIn 360ms var(--motion-pop) both;
}
@keyframes themePopoverIn{
  0%{opacity:0;transform:translateY(-14px) scale(.82);filter:blur(7px)}
  66%{opacity:1;transform:translateY(1px) scale(1.012);filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
.theme-control.menu-open .theme-option{
  animation:themeOptionCascade 320ms var(--motion-pop) both;
}
.theme-control.menu-open .theme-option:nth-of-type(1){animation-delay:25ms}
.theme-control.menu-open .theme-option:nth-of-type(2){animation-delay:48ms}
.theme-control.menu-open .theme-option:nth-of-type(3){animation-delay:71ms}
.theme-control.menu-open .theme-option:nth-of-type(4){animation-delay:94ms}
.theme-control.menu-open .theme-option:nth-of-type(5){animation-delay:117ms}
.theme-control.menu-open .theme-option:nth-of-type(6){animation-delay:140ms}
.theme-control.menu-open .theme-option:nth-of-type(7){animation-delay:163ms}
@keyframes themeOptionCascade{
  from{opacity:0;transform:translateX(8px) scale(.985)}
  to{opacity:1;transform:none}
}

/* Generic anchored modal animations are owned by JS. */
.modal.motion-owned .panel{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  will-change:transform,opacity,filter;
}
.modal.motion-owned{
  transition:opacity 180ms ease,backdrop-filter 240ms ease!important;
}
.modal.motion-owned.motion-closing{
  pointer-events:none!important;
}

/* BOB / chat / calculator: JS now performs the anchor animation.
   Keep visibility rules but remove competing transform transitions while moving. */
body.bob-open .bob-panel,
body.chat-open .chat-panel,
body.calc-open .mini-calc-panel{
  will-change:transform,opacity,filter;
}
.bob-panel.motion-owned,
.chat-panel.motion-owned,
.mini-calc-panel.motion-owned{
  transition:none!important;
}

/* Make the floating launchers visually "loaded" and pleasant to press. */
.bob-fab,
.mini-calc-tab,
.chat-tab{
  transform-origin:center center;
}
@media (hover:hover) and (pointer:fine){
  .bob-fab:hover{
    transform:translateY(-4px) scale(1.065)!important;
  }
  .mini-calc-tab:hover,
  .chat-tab:hover{
    transform:translateY(-4px) scale(1.04)!important;
  }
}

/* Calculator keys feel more like actual keys. */
.mini-calc-key{
  box-shadow:
    0 2px 0 rgba(23,54,93,.10),
    0 6px 12px rgba(23,54,93,.055);
}
.mini-calc-key:active{
  box-shadow:
    0 0 0 rgba(23,54,93,0),
    0 2px 5px rgba(23,54,93,.06);
}

/* Tiny polish added beyond the request:
   cards and Home actions react subtly on pointer hover, but no layout change. */
@media (hover:hover) and (pointer:fine){
  .home-v2 .hero-action:hover{
    transform:translateY(-3px) scale(1.022)!important;
  }
  body:not(.app-home) .card:hover{
    transform:translateY(-5px) scale(1.008)!important;
  }
}

/* The module/profile surface is animated via WAAPI, never a static CSS entrance. */
.ui-anchor-surface{
  will-change:transform,opacity,filter;
  backface-visibility:hidden;
  transform:translateZ(0);
}

@media(prefers-reduced-motion:reduce){
  .app-header .module-nav button.active::after,
  .theme-control.menu-open .theme-menu,
  .theme-control.menu-open .theme-option{
    animation:none!important;
  }
}


.grerj-create-modal.motion-owned .grerj-create-card{
  transition:none!important;
  will-change:transform,opacity,filter;
}


/* ========================================================================
   MOTION CANDIDATE · POLISH PASS 02
   Login stability · header text · copy buttons · filters · GRERJ notices
   · restored depth/shadows
   ======================================================================== */

/* Cabeçalho: elimina o halo claro herdado em temas escuros. */
.app-header .brand-home{
  color:var(--navy)!important;
  text-shadow:none!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
html[data-theme="sunset"] .app-header .brand-home,
html[data-theme="night"] .app-header .brand-home,
html[data-theme="midnight"] .app-header .brand-home{
  color:var(--navy)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.20)!important;
}

/* Tokens de profundidade coerentes com tema. */
html[data-theme="dawn"],
html[data-theme="day"],
html[data-theme="noon"]{
  --surface-shadow:0 12px 30px rgba(31,69,111,.10),0 3px 9px rgba(31,69,111,.055);
  --surface-shadow-hover:0 20px 46px rgba(31,69,111,.15),0 6px 16px rgba(31,69,111,.075);
  --control-shadow:0 6px 14px rgba(31,69,111,.10),0 2px 5px rgba(31,69,111,.055);
  --control-shadow-pressed:0 2px 5px rgba(31,69,111,.08);
}
html[data-theme="sunset"]{
  --surface-shadow:0 16px 38px rgba(18,9,34,.30),0 4px 12px rgba(18,9,34,.18),inset 0 1px 0 rgba(255,255,255,.045);
  --surface-shadow-hover:0 24px 54px rgba(18,9,34,.38),0 8px 20px rgba(18,9,34,.20),inset 0 1px 0 rgba(255,255,255,.055);
  --control-shadow:0 7px 17px rgba(19,11,36,.25),0 2px 5px rgba(19,11,36,.16),inset 0 1px 0 rgba(255,255,255,.035);
  --control-shadow-pressed:0 2px 5px rgba(10,6,23,.24),inset 0 1px 2px rgba(0,0,0,.18);
}
html[data-theme="night"],
html[data-theme="midnight"]{
  --surface-shadow:0 17px 42px rgba(0,0,0,.34),0 5px 14px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.035);
  --surface-shadow-hover:0 26px 58px rgba(0,0,0,.42),0 9px 22px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.05);
  --control-shadow:0 7px 18px rgba(0,0,0,.27),0 2px 5px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.035);
  --control-shadow-pressed:0 2px 5px rgba(0,0,0,.28),inset 0 1px 2px rgba(0,0,0,.22);
}

/* Recupera profundidade das superfícies principais. */
body:not(.app-home) .side,
body:not(.app-home) .card,
body:not(.app-home) .grerj-hero,
body:not(.app-home) .grerj-card,
body:not(.app-home) .grerj-summary,
body:not(.app-home) .grerj-certificate,
.panel,
.formbox,
.admin-nav,
.home-v2 .search-panel{
  box-shadow:var(--surface-shadow)!important;
}
@media (hover:hover) and (pointer:fine){
  body:not(.app-home) .card:hover,
  body:not(.app-home) .grerj-card:hover{
    box-shadow:var(--surface-shadow-hover)!important;
  }
}

/* Header controls regain physical depth without looking chunky. */
.app-header .theme-btn,
.app-header .mute-btn,
.app-header .profile-orb,
.app-header .header-logout{
  box-shadow:var(--control-shadow)!important;
}

/* Model/menu pills: slightly distinct from the header/control surface. */
body:not(.app-home) .tabs button{
  background:color-mix(in srgb,var(--panel-strong) 93%,var(--blue) 7%)!important;
  border-color:color-mix(in srgb,var(--line) 76%,var(--blue) 24%)!important;
  box-shadow:0 4px 11px color-mix(in srgb,var(--blue) 9%,transparent)!important;
}
body:not(.app-home) .tabs button.active{
  background:color-mix(in srgb,var(--panel-strong) 84%,var(--blue) 16%)!important;
  border-color:color-mix(in srgb,var(--line) 55%,var(--blue) 45%)!important;
  box-shadow:
    0 7px 16px color-mix(in srgb,var(--blue) 14%,transparent),
    inset 0 1px 0 rgba(255,255,255,.06)!important;
}
@media (hover:hover) and (pointer:fine){
  body:not(.app-home) .tabs button:hover{
    background:color-mix(in srgb,var(--panel-strong) 87%,var(--blue) 13%)!important;
    box-shadow:0 7px 16px color-mix(in srgb,var(--blue) 12%,transparent)!important;
  }
}

/* Categorias: clicky e com uma leve separação da lateral. */
body:not(.app-home) .cats button{
  background:color-mix(in srgb,var(--panel-soft) 44%,transparent)!important;
  border:1px solid transparent!important;
  box-shadow:0 2px 6px rgba(0,0,0,.025)!important;
}
body:not(.app-home) .cats button.active{
  background:color-mix(in srgb,var(--panel-soft) 78%,var(--blue) 7%)!important;
  border-color:color-mix(in srgb,var(--line) 76%,var(--blue) 24%)!important;
  box-shadow:0 5px 12px color-mix(in srgb,var(--blue) 10%,transparent)!important;
}

/* COPIAR TEXTO: botão físico de novo. */
.copy,
.copy-action,
.copy-cert,
button[data-copy]{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--blue) 76%,white 24%)!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--blue) 91%,white 9%),
    var(--blue)
  )!important;
  color:#fff!important;
  font-weight:800!important;
  min-height:44px!important;
  padding:0 17px!important;
  box-shadow:
    0 3px 0 color-mix(in srgb,var(--blue) 70%,black 30%),
    var(--control-shadow)!important;
  transition:
    box-shadow 150ms var(--ease-ios),
    filter 150ms var(--ease-ios),
    background 180ms var(--ease-ios)!important;
}
.copy::before,
.copy-action::before,
.copy-cert::before,
button[data-copy]::before{
  content:""!important;
  position:absolute!important;
  inset:1px 2px auto 2px!important;
  height:42%!important;
  border-radius:8px 8px 50% 50%!important;
  background:linear-gradient(180deg,rgba(255,255,255,.14),transparent)!important;
  pointer-events:none!important;
}
.copy:active,
.copy-action:active,
.copy-cert:active,
button[data-copy]:active{
  box-shadow:0 1px 0 color-mix(in srgb,var(--blue) 68%,black 32%),var(--control-shadow-pressed)!important;
  filter:brightness(.96)!important;
}
.copy.done,
.copy-action.done,
.copy-cert.done,
button[data-copy].done{
  background:linear-gradient(180deg,#32915b,#276749)!important;
  border-color:#3c9864!important;
  box-shadow:0 2px 0 #1c5138,var(--control-shadow)!important;
}

/* GRERJ notices: keep semantic color contrast in dark themes. */
html[data-theme="dawn"] .grerj-warning,
html[data-theme="day"] .grerj-warning,
html[data-theme="noon"] .grerj-warning{
  background:rgba(255,246,218,.82)!important;
  border-color:rgba(216,171,64,.35)!important;
  color:#795b0b!important;
  box-shadow:0 6px 16px rgba(111,82,15,.07)!important;
}
html[data-theme="dawn"] .grerj-special-note,
html[data-theme="day"] .grerj-special-note,
html[data-theme="noon"] .grerj-special-note{
  background:rgba(235,244,255,.88)!important;
  border-color:rgba(83,132,193,.26)!important;
  color:#315d8f!important;
  box-shadow:0 6px 16px rgba(41,86,139,.07)!important;
}

html[data-theme="sunset"] .grerj-warning{
  background:rgba(95,63,30,.58)!important;
  border-color:rgba(255,193,105,.30)!important;
  color:#ffe0a6!important;
  box-shadow:0 9px 22px rgba(24,11,29,.23)!important;
}
html[data-theme="sunset"] .grerj-special-note{
  background:rgba(45,56,91,.62)!important;
  border-color:rgba(157,191,255,.26)!important;
  color:#dbe8ff!important;
  box-shadow:0 9px 22px rgba(24,11,29,.22)!important;
}

html[data-theme="night"] .grerj-warning,
html[data-theme="midnight"] .grerj-warning{
  background:rgba(91,65,29,.48)!important;
  border-color:rgba(242,200,108,.27)!important;
  color:#f4d99c!important;
  box-shadow:0 10px 24px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
html[data-theme="night"] .grerj-special-note,
html[data-theme="midnight"] .grerj-special-note{
  background:rgba(32,52,83,.62)!important;
  border-color:rgba(141,184,255,.24)!important;
  color:#c9dcff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025)!important;
}

/* Login/access surfaces must never inherit a stale opacity. */
#accessModal.open,
#normalLoginModal.open,
#loginModal.open{
  opacity:1!important;
}
#accessModal.open .panel,
#normalLoginModal.open .panel,
#loginModal.open .panel{
  visibility:visible!important;
}

/* Press state is controlled through individual CSS properties by WAAPI. */
button{
  transform-origin:center center;
}


/* ========================================================================
   MOTION CANDIDATE · POLISH PASS 03
   Formulários/modais realmente seguem o tema ativo.
   Corrige texto claro em campo claro no Sunset/Night/Midnight.
   ======================================================================== */

.modal .panel{
  background:color-mix(in srgb,var(--panel-strong) 94%,transparent)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
  box-shadow:var(--surface-shadow,0 22px 60px rgba(0,0,0,.22))!important;
  backdrop-filter:blur(26px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(26px) saturate(1.12)!important;
}
.modal .panel h2,
.modal .panel h3{
  color:var(--navy)!important;
}
.modal .panel p,
.modal .field-note,
.modal .login-error:empty{
  color:var(--muted)!important;
}
.modal .formbox{
  background:color-mix(in srgb,var(--panel) 84%,var(--panel-strong) 16%)!important;
  border-color:var(--line)!important;
  color:var(--ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.modal .formbox.soft{
  background:color-mix(in srgb,var(--panel-soft) 86%,transparent)!important;
}
.modal .field{
  color:var(--muted)!important;
}
.modal .field input,
.modal .field select,
.modal .field textarea,
.modal .grid3 input,
.modal .grid3 select,
.modal #adminSearch,
.modal .structure-row input,
.modal input[type="text"],
.modal input[type="email"],
.modal input[type="password"],
.modal input[type="number"]{
  background:var(--panel-strong)!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  caret-color:var(--blue)!important;
  border-color:var(--line)!important;
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.06),
    0 1px 0 rgba(255,255,255,.025)!important;
}
.modal .field input::placeholder,
.modal .field textarea::placeholder,
.modal #adminSearch::placeholder,
.modal .structure-row input::placeholder,
.modal input::placeholder{
  color:color-mix(in srgb,var(--muted) 76%,transparent)!important;
  -webkit-text-fill-color:color-mix(in srgb,var(--muted) 76%,transparent)!important;
  opacity:1!important;
}
.modal input:focus,
.modal select:focus,
.modal textarea:focus{
  border-color:color-mix(in srgb,var(--blue) 72%,var(--line))!important;
  box-shadow:
    0 0 0 4px color-mix(in srgb,var(--blue) 17%,transparent),
    inset 0 1px 2px rgba(0,0,0,.06)!important;
  outline:none!important;
}

/* Browser autofill otherwise paints its own light rectangle in dark themes. */
.modal input:-webkit-autofill,
.modal input:-webkit-autofill:hover,
.modal input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--ink)!important;
  caret-color:var(--blue)!important;
  -webkit-box-shadow:0 0 0 1000px var(--panel-strong) inset!important;
  transition:background-color 9999s ease-out 0s!important;
}

/* Selection remains visible regardless of current sky theme. */
.modal input::selection,
.modal textarea::selection{
  background:var(--blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Login-specific hierarchy: keeps the form readable without a white island. */
#loginModal .login-panel,
#normalLoginModal .login-panel{
  overflow:visible;
}
#loginModal .formbox,
#normalLoginModal .formbox{
  margin-top:18px!important;
}
html[data-theme="sunset"] #loginModal .formbox,
html[data-theme="sunset"] #normalLoginModal .formbox{
  background:rgba(35,31,53,.76)!important;
}
html[data-theme="night"] #loginModal .formbox,
html[data-theme="night"] #normalLoginModal .formbox,
html[data-theme="midnight"] #loginModal .formbox,
html[data-theme="midnight"] #normalLoginModal .formbox{
  background:rgba(13,22,36,.76)!important;
}

/* Typed greeting feels authored, not like a terminal. */
#homeGreeting,
#homeDisplayName{
  display:inline;
}
#homeTypedTitle .typing-caret{
  width:.08em;
  margin-left:.055em;
  color:var(--blue);
  font-weight:500;
  text-shadow:0 0 12px color-mix(in srgb,var(--blue) 20%,transparent);
}


/* ========================================================================
   MOTION CANDIDATE · POLISH PASS 04
   Perfil como view própria + glass fosco + Admin totalmente theme-aware
   ======================================================================== */

/* PROFILE = VIEW PRÓPRIA.
   A regra com .home-v2 vence a regra literal da Home que forçava display:block. */
body.profile-view #homeView.home-v2{
  display:none!important;
}
body.profile-view .controls,
body.profile-view main.shell,
body.profile-view footer.footer{
  display:none!important;
}
body.profile-view #profileInterface{
  display:block!important;
}

/* Canvas do Perfil — independente da Home. */
.profile-interface{
  position:relative!important;
  z-index:2!important;
  width:min(1380px,calc(100% - 48px))!important;
  min-height:calc(100vh - 72px)!important;
  margin:0 auto!important;
  padding:42px 0 72px!important;
  color:var(--ink)!important;
}
.profile-interface-inner{
  max-width:1180px!important;
  margin:0 auto!important;
  position:relative!important;
}

/* Glass fosco: quase opaco, só com leitura levemente líquida nas bordas. */
.profile-hero-v2,
.profile-box-v2,
.profile-session-v2{
  position:relative!important;
  overflow:hidden!important;
  background:color-mix(in srgb,var(--panel-strong) 96%,var(--panel) 4%)!important;
  color:var(--ink)!important;
  border:1px solid color-mix(in srgb,var(--line) 78%,white 22%)!important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.16),
    0 5px 15px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(28px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(28px) saturate(1.08)!important;
}
.profile-hero-v2::before,
.profile-box-v2::before,
.profile-session-v2::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(135deg,rgba(255,255,255,.055),transparent 30%,transparent 72%,rgba(255,255,255,.025));
  opacity:.72;
}
html[data-theme="dawn"] .profile-hero-v2,
html[data-theme="day"] .profile-hero-v2,
html[data-theme="noon"] .profile-hero-v2,
html[data-theme="dawn"] .profile-box-v2,
html[data-theme="day"] .profile-box-v2,
html[data-theme="noon"] .profile-box-v2,
html[data-theme="dawn"] .profile-session-v2,
html[data-theme="day"] .profile-session-v2,
html[data-theme="noon"] .profile-session-v2{
  box-shadow:
    0 16px 40px rgba(31,69,111,.11),
    0 4px 12px rgba(31,69,111,.055),
    inset 0 1px 0 rgba(255,255,255,.70)!important;
}

.profile-interface-heading h1,
.profile-hero-copy h2,
.profile-session-v2 strong,
.profile-info-row strong,
.access-role-card-v2 strong{
  color:var(--navy)!important;
}
.profile-interface-heading p,
.profile-hero-copy p,
.profile-hero-status,
.profile-session-v2 small,
.profile-info-row span,
.profile-box-title small,
.profile-photo-note-v2,
.avatar-controls-v2 label{
  color:var(--muted)!important;
}
.profile-box-title span{
  color:var(--blue)!important;
}
.profile-info-row{
  border-color:var(--line)!important;
}
.access-role-card-v2,
.permission-line-v2{
  background:color-mix(in srgb,var(--panel-soft) 86%,var(--panel-strong) 14%)!important;
  border:1px solid var(--line)!important;
  color:var(--muted)!important;
}
.access-role-card-v2 span{
  color:var(--muted)!important;
}
.permission-line-v2.yes::before{color:var(--green)!important}
.permission-line-v2.no::before{color:var(--muted)!important}

/* Inputs do Perfil também acompanham o tema. */
.profile-interface .field{
  color:var(--muted)!important;
}
.profile-interface input[type="text"],
.profile-interface input:not([type]),
.profile-interface select,
.profile-interface textarea{
  background:var(--panel-strong)!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  caret-color:var(--blue)!important;
  border-color:var(--line)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.065)!important;
}
.profile-interface input::placeholder,
.profile-interface textarea::placeholder{
  color:color-mix(in srgb,var(--muted) 72%,transparent)!important;
  -webkit-text-fill-color:color-mix(in srgb,var(--muted) 72%,transparent)!important;
}
.profile-interface input:focus,
.profile-interface select:focus,
.profile-interface textarea:focus{
  outline:none!important;
  border-color:color-mix(in srgb,var(--blue) 72%,var(--line))!important;
  box-shadow:
    0 0 0 4px color-mix(in srgb,var(--blue) 16%,transparent),
    inset 0 1px 2px rgba(0,0,0,.06)!important;
}

/* Avatar dentro da mesma linguagem fosca. */
.profile-photo-v2,
.avatar-editor-v2{
  background:color-mix(in srgb,var(--panel-soft) 88%,var(--panel-strong) 12%)!important;
  color:var(--blue)!important;
  border-color:var(--line)!important;
  box-shadow:
    0 10px 26px rgba(0,0,0,.13),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.avatar-edit-mark-v2{
  background:var(--panel-strong)!important;
  color:var(--blue)!important;
  border:1px solid var(--line)!important;
}

/* ------------------------------------------------------------------------
   GERIR A CENTRAL — todas as sub-superfícies respeitam o tema.
   ------------------------------------------------------------------------ */
#modal .panel{
  background:color-mix(in srgb,var(--panel-strong) 97%,var(--panel) 3%)!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
  box-shadow:
    0 30px 90px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:blur(30px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(30px) saturate(1.08)!important;
}
#modal .paneltop h2,
#modal h3,
#modal .admin-nav-title b,
#modal .user-id strong{
  color:var(--navy)!important;
}
#modal .paneltop p,
#modal .field,
#modal .field-note,
#modal .admin-item small,
#modal .user-id small,
#modal .g-admin-multi{
  color:var(--muted)!important;
}

/* aviso administrativo: mantém caráter de aviso em qualquer tema */
#modal .editnotice{
  background:color-mix(in srgb,var(--amber) 16%,var(--panel-strong) 84%)!important;
  border-color:color-mix(in srgb,var(--amber) 34%,var(--line) 66%)!important;
  color:color-mix(in srgb,var(--amber) 76%,var(--ink) 24%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}

/* lateral */
#modal .admin-nav{
  background:color-mix(in srgb,var(--panel) 90%,var(--panel-strong) 10%)!important;
  border-color:var(--line)!important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.035)!important;
}
#modal .admin-nav-toggle{
  background:var(--panel-strong)!important;
  color:var(--blue)!important;
  border-color:var(--line)!important;
  box-shadow:var(--control-shadow)!important;
}
#modal #adminSearch,
#modal .users-toolbar input{
  background:var(--panel-strong)!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  border-color:var(--line)!important;
}
#modal #adminSearch::placeholder,
#modal .users-toolbar input::placeholder{
  color:var(--muted)!important;
  -webkit-text-fill-color:var(--muted)!important;
  opacity:.78!important;
}

#modal .admin-item{
  background:color-mix(in srgb,var(--panel-strong) 90%,var(--panel-soft) 10%)!important;
  color:var(--ink)!important;
  border:1px solid color-mix(in srgb,var(--line) 80%,transparent)!important;
  box-shadow:0 5px 12px rgba(0,0,0,.07)!important;
}
#modal .admin-item b{
  color:var(--navy)!important;
}
#modal .admin-item.active{
  background:color-mix(in srgb,var(--panel-soft) 76%,var(--blue) 9%)!important;
  border-color:color-mix(in srgb,var(--line) 62%,var(--blue) 38%)!important;
  box-shadow:
    0 8px 18px color-mix(in srgb,var(--blue) 10%,transparent),
    inset 0 1px 0 rgba(255,255,255,.04)!important;
}

/* tabs do painel */
#modal .admin-tabs .secondary{
  background:color-mix(in srgb,var(--panel-strong) 92%,var(--panel-soft) 8%)!important;
  color:var(--muted)!important;
  border-color:var(--line)!important;
  box-shadow:var(--control-shadow)!important;
}
#modal .admin-tabs .secondary.active{
  background:color-mix(in srgb,var(--panel-soft) 78%,var(--blue) 12%)!important;
  color:var(--blue)!important;
  border-color:color-mix(in srgb,var(--line) 62%,var(--blue) 38%)!important;
}

/* editor e caixas */
#modal .formbox,
#modal .formbox.soft{
  background:color-mix(in srgb,var(--panel) 88%,var(--panel-strong) 12%)!important;
  border-color:var(--line)!important;
  box-shadow:
    0 10px 26px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.025)!important;
}
#modal .category-picker{
  background:var(--panel-strong)!important;
  border-color:var(--line)!important;
}
#modal .category-picker label{
  background:var(--panel-soft)!important;
  color:var(--muted)!important;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;
}
#modal .structure-entry{
  border-color:var(--line)!important;
  color:var(--ink)!important;
}
#modal .structure-entry small{
  color:var(--muted)!important;
}

/* GRERJ admin rows */
#modal .g-admin-items-head{
  border-color:var(--line)!important;
}
#modal .g-admin-row-v3{
  background:color-mix(in srgb,var(--panel-soft) 58%,var(--panel) 42%)!important;
  border-color:var(--line)!important;
  box-shadow:0 6px 15px rgba(0,0,0,.07)!important;
}
#modal .g-admin-row-v3 input[type="text"],
#modal .g-admin-row-v3 input:not([type]){
  background:var(--panel-strong)!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
}
#modal .g-checkbox-line{
  color:var(--muted)!important;
}

/* Usuários */
#modal .user-row{
  background:color-mix(in srgb,var(--panel-strong) 91%,var(--panel-soft) 9%)!important;
  border-color:var(--line)!important;
  color:var(--ink)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.07)!important;
}
#modal .user-row.protected{
  background:color-mix(in srgb,var(--panel-soft) 74%,var(--panel-strong) 26%)!important;
  border-color:color-mix(in srgb,var(--line) 65%,var(--blue) 35%)!important;
}
#modal .user-row select{
  background:var(--panel-strong)!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
}

/* Backup / integridade */
#modal .backup-v2{
  background:color-mix(in srgb,var(--panel) 90%,var(--panel-strong) 10%)!important;
}
#modal .backup-warning{
  background:color-mix(in srgb,var(--amber) 11%,var(--panel-soft) 89%)!important;
  color:color-mix(in srgb,var(--amber) 68%,var(--ink) 32%)!important;
  border:1px solid color-mix(in srgb,var(--amber) 24%,var(--line) 76%)!important;
  border-radius:11px!important;
  padding:11px 12px!important;
}
#modal .backup-health{
  background:var(--panel-soft)!important;
  color:var(--muted)!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  padding:10px 12px!important;
}
#modal .backup-health.ok{
  background:color-mix(in srgb,var(--green) 12%,var(--panel-soft) 88%)!important;
  color:var(--green)!important;
}
#modal .backup-health.warn{
  background:color-mix(in srgb,var(--amber) 12%,var(--panel-soft) 88%)!important;
  color:var(--amber)!important;
}
#modal .backup-health.bad{
  background:color-mix(in srgb,var(--red) 12%,var(--panel-soft) 88%)!important;
  color:var(--red)!important;
}

/* Botões de fechar e secundários também pertencem ao tema. */
#modal .close,
#modal .secondary{
  background:var(--panel-strong)!important;
  color:var(--blue)!important;
  border-color:var(--line)!important;
}
#modal .danger{
  background:color-mix(in srgb,var(--red) 11%,var(--panel-strong) 89%)!important;
  color:var(--red)!important;
  border-color:color-mix(in srgb,var(--red) 24%,var(--line) 76%)!important;
}

@media(max-width:900px){
  .profile-interface{
    width:auto!important;
    padding:28px 16px 76px!important;
  }
}


/* ========================================================================
   MOTION CANDIDATE · DYNAMIC ISLAND REIMAGINED
   Mesma lógica; nova pele + movimento iOS-like.
   ======================================================================== */
.status-slot{
  min-width:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  perspective:700px;
}
.status-hub{
  --island-accent:#8db8ff;
  --island-accent-rgb:141,184,255;
  position:relative!important;
  width:50px!important;
  min-width:50px!important;
  max-width:340px!important;
  height:34px!important;
  padding:0 11px!important;
  gap:9px!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  background:
    linear-gradient(180deg,rgba(20,24,35,.92),rgba(8,11,18,.94))!important;
  color:#f6f8ff!important;
  box-shadow:
    0 10px 28px rgba(0,0,0,.26),
    0 2px 7px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(0,0,0,.18)!important;
  backdrop-filter:blur(22px) saturate(1.14)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.14)!important;
  transform-origin:center center!important;
  transition:
    width 420ms cubic-bezier(.16,1,.3,1),
    min-width 420ms cubic-bezier(.16,1,.3,1),
    height 360ms cubic-bezier(.16,1,.3,1),
    transform 280ms cubic-bezier(.18,1.28,.32,1),
    border-color 240ms ease,
    box-shadow 300ms ease!important;
  isolation:isolate;
}

/* Soft liquid-glass gleam, intentionally restrained. */
.status-hub::before{
  content:"";
  position:absolute;
  inset:1px 4px auto 4px;
  height:43%;
  border-radius:999px 999px 48% 48%;
  background:linear-gradient(180deg,rgba(255,255,255,.075),transparent);
  opacity:.72;
  pointer-events:none;
  z-index:-1;
}

/* Living core visible in the resting state. */
.status-hub::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:7px;height:7px;
  border-radius:50%;
  background:rgb(var(--island-accent-rgb));
  box-shadow:
    0 0 0 4px rgba(var(--island-accent-rgb),.10),
    0 0 14px rgba(var(--island-accent-rgb),.58);
  transform:translate(-50%,-50%);
  opacity:.92;
  transition:opacity 180ms ease,transform 300ms cubic-bezier(.18,1.28,.32,1);
  animation:islandCoreBreathe 2.6s ease-in-out infinite;
}
@keyframes islandCoreBreathe{
  0%,100%{transform:translate(-50%,-50%) scale(.82);filter:brightness(.92)}
  50%{transform:translate(-50%,-50%) scale(1.18);filter:brightness(1.25)}
}

.status-hub .icon{
  position:relative!important;
  z-index:2!important;
  width:20px!important;
  min-width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  font-size:11px!important;
  font-weight:900!important;
  color:var(--island-accent)!important;
  background:rgba(var(--island-accent-rgb),.11)!important;
  box-shadow:inset 0 0 0 1px rgba(var(--island-accent-rgb),.09)!important;
  opacity:0!important;
  transform:scale(.55)!important;
  transition:opacity 170ms ease,transform 310ms cubic-bezier(.18,1.28,.32,1)!important;
}
.status-hub .txt{
  position:relative!important;
  z-index:2!important;
  max-width:0!important;
  opacity:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  color:rgba(247,249,255,.92)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:760!important;
  letter-spacing:-.01em!important;
  transform:translateX(-7px)!important;
  transition:
    max-width 400ms cubic-bezier(.16,1,.3,1),
    opacity 190ms ease 70ms,
    transform 340ms cubic-bezier(.16,1,.3,1)!important;
}

.status-hub.show{
  width:min(286px,calc(100vw - 300px))!important;
  min-width:172px!important;
  height:38px!important;
  justify-content:flex-start!important;
  transform:translateY(-1px) scale(1.01)!important;
  border-color:rgba(var(--island-accent-rgb),.16)!important;
  box-shadow:
    0 15px 36px rgba(0,0,0,.30),
    0 4px 10px rgba(0,0,0,.18),
    0 0 0 1px rgba(var(--island-accent-rgb),.035),
    inset 0 1px 0 rgba(255,255,255,.085)!important;
}
.status-hub.show::after{
  opacity:0;
  transform:translate(-50%,-50%) scale(.35);
  animation:none;
}
.status-hub.show .icon{
  opacity:1!important;
  transform:scale(1)!important;
}
.status-hub.show .txt{
  max-width:245px!important;
  opacity:1!important;
  transform:none!important;
}

.status-hub.info{
  --island-accent:#8db8ff;
  --island-accent-rgb:141,184,255;
}
.status-hub.success{
  --island-accent:#79d4a2;
  --island-accent-rgb:121,212,162;
}
.status-hub.error{
  --island-accent:#ff9696;
  --island-accent-rgb:255,150,150;
}
.status-hub.working{
  --island-accent:#9fc4ff;
  --island-accent-rgb:159,196,255;
}

.status-hub.success.show .icon{animation:islandSuccessPop 430ms cubic-bezier(.18,1.28,.32,1)}
@keyframes islandSuccessPop{
  0%{scale:.55;rotate:-10deg}
  58%{scale:1.22;rotate:3deg}
  100%{scale:1;rotate:0deg}
}
.status-hub.error.show{animation:islandErrorNudge 300ms ease-out}
@keyframes islandErrorNudge{
  0%,100%{translate:0 0}
  28%{translate:-3px 0}
  58%{translate:3px 0}
  80%{translate:-1px 0}
}
.status-hub.working.show .icon{
  animation:islandWorkingSpin 1s linear infinite!important;
}
@keyframes islandWorkingSpin{to{rotate:360deg}}
.status-hub.working.show::before{
  opacity:.94;
  background:linear-gradient(100deg,transparent 10%,rgba(var(--island-accent-rgb),.10) 43%,rgba(255,255,255,.08) 50%,transparent 64%);
  background-size:220% 100%;
  animation:islandWorkingSweep 1.7s linear infinite;
}
@keyframes islandWorkingSweep{to{background-position:-120% 0}}

@media(hover:hover) and (pointer:fine){
  .status-hub:not(.show):hover{
    transform:translateY(-1px) scale(1.055)!important;
    border-color:rgba(var(--island-accent-rgb),.18)!important;
    box-shadow:
      0 13px 32px rgba(0,0,0,.30),
      inset 0 1px 0 rgba(255,255,255,.10)!important;
  }
}

@media(max-width:900px){
  .status-slot{min-width:52px!important}
  .status-hub{width:48px!important;min-width:48px!important;height:34px!important;background:rgba(8,11,18,.95)!important}
  .status-hub.show{width:min(238px,calc(100vw - 28px))!important;min-width:176px!important;height:36px!important}
  .status-hub .txt{font-size:10.5px!important}
}
@media(prefers-reduced-motion:reduce){
  .status-hub,.status-hub::after,.status-hub .icon,.status-hub .txt{animation:none!important;transition-duration:.001ms!important}
}


/* ========================================================================
   V2BETA 2.0 · PÓS-USO REAL V1.1
   Números, pesquisa, GRERJ e hierarquia visual
   ======================================================================== */

/* Gerir a Central sempre vence CHAT, BOB, calculadora, header e tabs. */
#modal{
  z-index:32000!important;
}
#modal.open{
  z-index:32000!important;
  background:color-mix(in srgb,#08101f 62%,transparent)!important;
  backdrop-filter:blur(11px) saturate(.86)!important;
  -webkit-backdrop-filter:blur(11px) saturate(.86)!important;
}
#modal.open .panel{
  position:relative!important;
  z-index:32001!important;
}

/* Pesquisa grifada: mesma linguagem em todos os temas. */
.search-hit{
  display:inline;
  padding:.02em .09em;
  margin:0 -.01em;
  border-radius:.28em;
  background:color-mix(in srgb,var(--amber) 34%,transparent);
  color:inherit;
  box-shadow:inset 0 -.13em 0 color-mix(in srgb,var(--amber) 38%,transparent);
  font-weight:inherit;
  text-decoration:none;
}
html[data-theme="sunset"] .search-hit{
  background:color-mix(in srgb,#ffc17e 24%,transparent);
  box-shadow:inset 0 -.14em 0 color-mix(in srgb,#ff9e75 32%,transparent);
}
html[data-theme="night"] .search-hit,
html[data-theme="midnight"] .search-hit{
  background:color-mix(in srgb,#ffd978 20%,transparent);
  box-shadow:inset 0 -.14em 0 color-mix(in srgb,#ffd978 30%,transparent);
}

/* O mark não recebe o amarelo padrão do navegador. */
mark.search-hit{
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}

/* GRERJ atual: editar usando o editor existente. */
.grerj-hero-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:5px;
}
.grerj-hero-title-row h2{margin:0!important}
.grerj-edit-current{
  flex:0 0 auto;
  min-height:38px;
  padding:0 13px;
  border-radius:10px;
  border:1px solid color-mix(in srgb,var(--line) 70%,var(--blue) 30%);
  background:color-mix(in srgb,var(--panel-strong) 90%,var(--blue) 10%);
  color:var(--blue);
  font-weight:820;
  cursor:pointer;
  box-shadow:var(--control-shadow);
}
@media(hover:hover) and (pointer:fine){
  .grerj-edit-current:hover{
    transform:translateY(-2px) scale(1.025);
    background:color-mix(in srgb,var(--panel-strong) 84%,var(--blue) 16%);
  }
}

/* Máscara monetária continua pertencendo visualmente ao tema. */
.money-input,
.money-cents,
.g-item-value{
  font-variant-numeric:tabular-nums;
}


/* ==========================================================================
   V2BETA 2.0 · ADMIN REIMAGINADO V1
   Hierarquia visual, temas, animação e tatilidade — funcionalidade preservada.
   ========================================================================== */

#modal{
  --admin-accent:var(--blue);
  --admin-accent-soft:color-mix(in srgb,var(--blue) 12%,transparent);
  --admin-panel:color-mix(in srgb,var(--panel-strong) 96%,var(--panel) 4%);
  --admin-surface:color-mix(in srgb,var(--panel) 86%,var(--panel-strong) 14%);
  --admin-surface-2:color-mix(in srgb,var(--panel-soft) 72%,var(--panel-strong) 28%);
  --admin-border:color-mix(in srgb,var(--line) 82%,var(--blue) 18%);
  --admin-shadow:0 28px 90px rgba(0,0,0,.24),0 8px 26px rgba(0,0,0,.10);
  --admin-card-shadow:0 12px 28px rgba(0,0,0,.10),0 3px 10px rgba(0,0,0,.055);
}
html[data-theme="dawn"] #modal,
html[data-theme="day"] #modal,
html[data-theme="noon"] #modal{
  --admin-shadow:0 30px 90px rgba(31,69,111,.19),0 8px 24px rgba(31,69,111,.08);
  --admin-card-shadow:0 12px 28px rgba(31,69,111,.095),0 3px 9px rgba(31,69,111,.05);
}
html[data-theme="sunset"] #modal{
  --admin-accent:#b9ceff;
  --admin-border:color-mix(in srgb,var(--line) 72%,#ffc2d6 28%);
}
html[data-theme="night"] #modal,
html[data-theme="midnight"] #modal{
  --admin-accent:#a9caff;
  --admin-border:color-mix(in srgb,var(--line) 74%,#8db8ff 26%);
}

/* Command center shell */
#modal .admin-command-center{
  overflow:hidden!important;
  padding:0!important;
  border-radius:26px!important;
  background:var(--admin-panel)!important;
  border:1px solid var(--admin-border)!important;
  box-shadow:var(--admin-shadow)!important;
}
#modal .admin-command-header{
  min-height:92px;
  padding:20px 22px 17px!important;
  margin:0!important;
  align-items:center!important;
  border-bottom:1px solid color-mix(in srgb,var(--admin-border) 70%,transparent);
  background:
    radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--admin-accent) 11%,transparent),transparent 34%),
    linear-gradient(180deg,color-mix(in srgb,var(--panel-strong) 98%,transparent),color-mix(in srgb,var(--panel) 88%,transparent));
}
.admin-command-brand{display:flex;align-items:center;gap:14px;min-width:0}
.admin-command-orb{
  width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;
  border-radius:15px;border:1px solid color-mix(in srgb,var(--admin-accent) 28%,var(--line));
  background:linear-gradient(145deg,color-mix(in srgb,var(--admin-accent) 22%,var(--panel-strong)),var(--panel-strong));
  color:var(--admin-accent);font-size:21px;font-weight:900;
  box-shadow:0 9px 22px color-mix(in srgb,var(--admin-accent) 13%,transparent),inset 0 1px 0 rgba(255,255,255,.08);
}
.admin-command-kicker,.admin-view-kicker,.admin-section-eyebrow{
  color:var(--muted);font-size:9px;line-height:1;letter-spacing:.16em;font-weight:900;text-transform:uppercase;
}
#modal .admin-command-header h2{font-size:22px!important;letter-spacing:-.035em!important;margin:5px 0 0!important;color:var(--navy)!important}
#modal .admin-command-header p{font-size:11.5px!important;margin:5px 0 0!important;color:var(--muted)!important}
.admin-command-header-actions{display:flex;align-items:center;gap:9px;margin-left:auto}
.admin-sync-pill{
  display:flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border-radius:999px;
  border:1px solid color-mix(in srgb,var(--green) 22%,var(--line));
  background:color-mix(in srgb,var(--green) 8%,var(--panel-strong));
  color:var(--green);font-size:10.5px;font-weight:820;
}
.admin-sync-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 10%,transparent);animation:adminSyncPulse 2.7s ease-in-out infinite}
@keyframes adminSyncPulse{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--green) 2%,transparent);transform:scale(.92)}}
#modal .admin-command-header .close{
  width:38px!important;height:38px!important;padding:0!important;border-radius:12px!important;
  display:grid!important;place-items:center!important;background:var(--admin-surface-2)!important;
  color:var(--muted)!important;border:1px solid var(--admin-border)!important;box-shadow:var(--control-shadow)!important;
}
#modal .admin-sync-notice{
  margin:0!important;padding:8px 22px!important;border:0!important;border-bottom:1px solid color-mix(in srgb,var(--admin-border) 62%,transparent)!important;
  border-radius:0!important;display:flex!important;align-items:center!important;gap:8px!important;
  background:color-mix(in srgb,var(--green) 5%,var(--admin-surface))!important;
  color:var(--muted)!important;font-size:10.5px!important;font-weight:650!important;
}
.admin-sync-notice-icon{color:var(--green);font-size:12px}

/* Main layout */
#modal .admin-grid{
  margin:0!important;
  padding:16px!important;
  gap:14px!important;
  grid-template-columns:minmax(250px,288px) minmax(0,1fr)!important;
  align-items:stretch!important;
  min-height:min(720px,calc(100vh - 170px));
}
#modal .admin-main{
  display:flex!important;flex-direction:column!important;min-height:0!important;
  padding:0!important;
}

/* Library sidebar */
#modal .admin-nav{
  top:auto!important;position:relative!important;
  border-radius:19px!important;padding:13px!important;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--admin-surface) 96%,transparent),color-mix(in srgb,var(--admin-surface-2) 80%,transparent))!important;
  border:1px solid var(--admin-border)!important;box-shadow:var(--admin-card-shadow)!important;
  display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
}
#modal .admin-nav-head{margin:0 0 11px!important;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--admin-border) 60%,transparent)}
#modal .admin-nav-title b{font-size:14px!important;color:var(--navy)!important}
.admin-library-count{
  min-width:24px;height:22px;padding:0 7px;display:grid;place-items:center;border-radius:999px;
  background:var(--admin-accent-soft);color:var(--admin-accent);font-size:9.5px;font-weight:900;
}
#modal #newModel{
  min-height:36px!important;padding:0 12px!important;border-radius:11px!important;font-size:11.5px!important;
  box-shadow:0 6px 15px color-mix(in srgb,var(--blue) 18%,transparent)!important;
}
#modal #adminSearch{
  height:42px!important;margin:0 0 10px!important;padding:0 12px 0 35px!important;border-radius:12px!important;
  background:
    linear-gradient(90deg,transparent 0 29px,color-mix(in srgb,var(--admin-border) 65%,transparent) 29px 30px,transparent 30px),
    var(--panel-strong)!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23798aa4' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:10px center!important;background-size:15px!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04)!important;
}
#modal .admin-list{
  height:auto!important;min-height:0!important;flex:1!important;overflow:auto!important;
  padding:2px 3px 8px 1px!important;gap:7px!important;scrollbar-width:thin;
}
#modal .admin-item{
  position:relative!important;overflow:hidden!important;
  padding:11px 12px 10px 14px!important;border-radius:13px!important;
  border:1px solid color-mix(in srgb,var(--admin-border) 62%,transparent)!important;
  background:color-mix(in srgb,var(--panel-strong) 84%,var(--admin-surface) 16%)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.045)!important;
}
#modal .admin-item::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 99px 99px 0;
  background:var(--admin-accent);opacity:0;transform:scaleY(.38);
  transition:opacity .18s var(--ease-ios),transform .26s var(--ease-spring);
}
#modal .admin-item b{
  display:block!important;color:var(--ink)!important;font-size:11.5px!important;line-height:1.28!important;
  max-height:2.6em;overflow:hidden;
}
#modal .admin-item small{margin-top:5px!important;color:var(--muted)!important;font-size:9.5px!important;line-height:1.28!important}
#modal .admin-item.active{
  background:color-mix(in srgb,var(--admin-accent) 10%,var(--panel-strong))!important;
  border-color:color-mix(in srgb,var(--admin-accent) 38%,var(--admin-border))!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--admin-accent) 10%,transparent)!important;
  transform:translateX(2px);
}
#modal .admin-item.active::before{opacity:1;transform:scaleY(1)}
@media(hover:hover) and (pointer:fine){
  #modal .admin-item:hover{
    transform:translateX(3px) translateY(-1px)!important;
    border-color:color-mix(in srgb,var(--admin-accent) 26%,var(--admin-border))!important;
    box-shadow:0 8px 18px rgba(0,0,0,.075)!important;
  }
}

/* Dock */
#modal .admin-dock{
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;margin:0 0 10px!important;padding:6px!important;
  border:1px solid var(--admin-border);border-radius:17px;
  background:color-mix(in srgb,var(--admin-surface) 92%,transparent);
  box-shadow:0 8px 20px rgba(0,0,0,.065),inset 0 1px 0 rgba(255,255,255,.035);
}
#modal .admin-dock .secondary{
  min-width:0!important;min-height:52px!important;padding:6px 9px!important;border:1px solid transparent!important;border-radius:12px!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;text-align:left!important;
  background:transparent!important;color:var(--muted)!important;box-shadow:none!important;overflow:hidden;
}
.admin-tab-icon{
  width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;
  background:color-mix(in srgb,var(--panel-soft) 75%,transparent);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);
  color:var(--muted);font-size:13px;font-weight:900;transition:transform .24s var(--ease-spring),background .2s,color .2s;
}
.admin-tab-copy{min-width:0;display:block}
.admin-tab-copy b{display:block;color:inherit;font-size:10.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-tab-copy small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#modal .admin-dock .secondary.active{
  background:color-mix(in srgb,var(--admin-accent) 10%,var(--panel-strong))!important;
  color:var(--admin-accent)!important;border-color:color-mix(in srgb,var(--admin-accent) 30%,var(--admin-border))!important;
  box-shadow:0 7px 17px color-mix(in srgb,var(--admin-accent) 10%,transparent),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
#modal .admin-dock .secondary.active .admin-tab-icon{
  color:var(--admin-accent);background:color-mix(in srgb,var(--admin-accent) 14%,var(--panel-strong));
  transform:scale(1.06) rotate(-2deg);
}
@media(hover:hover) and (pointer:fine){
  #modal .admin-dock .secondary:hover{background:color-mix(in srgb,var(--panel-soft) 58%,transparent)!important;transform:translateY(-2px)}
  #modal .admin-dock .secondary:hover .admin-tab-icon{transform:scale(1.08) rotate(-3deg)}
}

/* Context hero */
.admin-view-hero{
  min-height:88px;padding:13px 15px;margin-bottom:10px;border-radius:17px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  border:1px solid var(--admin-border);
  background:
    radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--admin-accent) 13%,transparent),transparent 34%),
    linear-gradient(145deg,color-mix(in srgb,var(--admin-surface) 96%,transparent),color-mix(in srgb,var(--panel-strong) 92%,transparent));
  box-shadow:var(--admin-card-shadow);
}
.admin-view-identity{display:flex;align-items:center;gap:12px;min-width:0}
.admin-view-icon{
  width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:14px;
  background:color-mix(in srgb,var(--admin-accent) 14%,var(--panel-strong));
  border:1px solid color-mix(in srgb,var(--admin-accent) 30%,var(--admin-border));color:var(--admin-accent);
  font-size:18px;font-weight:900;box-shadow:0 8px 20px color-mix(in srgb,var(--admin-accent) 10%,transparent);
}
.admin-view-hero h3{margin:4px 0 0!important;font-size:17px!important;color:var(--navy)!important;letter-spacing:-.025em}
.admin-view-hero p{margin:4px 0 0!important;color:var(--muted)!important;font-size:10.5px!important;line-height:1.35!important}
.admin-view-stats{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.admin-stat{
  min-width:70px;padding:7px 9px;border-radius:11px;border:1px solid color-mix(in srgb,var(--admin-border) 74%,transparent);
  background:color-mix(in srgb,var(--panel-strong) 88%,transparent);text-align:right;
}
.admin-stat b{display:block;color:var(--navy);font-size:13px;line-height:1}
.admin-stat span{display:block;margin-top:4px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:780}

/* View content area */
#modal #modelView,
#modal #structureView,
#modal #grerjView,
#modal #usersView,
#modal #backupView{
  min-height:0;overflow:visible;
}
#modal .formbox{
  position:relative!important;border-radius:18px!important;padding:16px!important;
  border:1px solid var(--admin-border)!important;
  background:var(--admin-surface)!important;box-shadow:var(--admin-card-shadow)!important;
}
#modal .formbox + .formbox{margin-top:11px!important}
#modal .formbox::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 24%,transparent 78%,rgba(255,255,255,.018));
}
#modal .admin-tone-blue{--section-accent:var(--blue)}
#modal .admin-tone-violet{--section-accent:#9d8dff}
#modal .admin-tone-amber{--section-accent:var(--amber)}
#modal .admin-tone-blue,
#modal .admin-tone-violet,
#modal .admin-tone-amber{
  border-color:color-mix(in srgb,var(--section-accent) 22%,var(--admin-border))!important;
}
#modal .admin-tone-blue::before,
#modal .admin-tone-violet::before,
#modal .admin-tone-amber::before{
  content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 99px 99px 0;background:var(--section-accent);opacity:.55;
}
.admin-section-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.admin-section-head.compact{margin-bottom:2px}
.admin-section-icon{
  width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:11px;
  color:var(--admin-accent);background:color-mix(in srgb,var(--admin-accent) 11%,var(--panel-strong));
  border:1px solid color-mix(in srgb,var(--admin-accent) 23%,var(--line));font-weight:900;font-size:14px;
}
#modal .admin-section-head h3{margin:4px 0 0!important;font-size:15px!important;letter-spacing:-.018em}
#modal .formbox > .field-note,
#modal .admin-section-head + .field-note{margin-left:45px;margin-top:-8px;margin-bottom:11px}
#modal .field{font-size:10.5px!important;color:var(--muted)!important;gap:5px!important}
#modal .field input,
#modal .field select,
#modal .field textarea,
#modal .grid3 input,
#modal .grid3 select,
#modal .structure-row input{
  border-radius:11px!important;border-color:color-mix(in srgb,var(--admin-border) 78%,transparent)!important;
  background:color-mix(in srgb,var(--panel-strong) 94%,transparent)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.055),0 1px 0 rgba(255,255,255,.025)!important;
}
#modal .field input:focus,
#modal .field select:focus,
#modal .field textarea:focus,
#modal .grid3 input:focus,
#modal .grid3 select:focus,
#modal .structure-row input:focus{
  border-color:color-mix(in srgb,var(--admin-accent) 58%,var(--line))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--admin-accent) 12%,transparent),inset 0 1px 2px rgba(0,0,0,.04)!important;
}

/* Category chips */
#modal .category-picker{
  border-radius:12px!important;padding:8px!important;gap:6px!important;
  background:color-mix(in srgb,var(--panel-strong) 78%,transparent)!important;
}
#modal .category-picker label{
  min-height:34px;padding:6px 8px!important;border-radius:9px!important;
  background:color-mix(in srgb,var(--panel-soft) 70%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;
  transition:transform .15s var(--ease-ios),background .18s,border-color .18s;
}
#modal .category-picker label:has(input:checked){
  background:color-mix(in srgb,var(--admin-accent) 10%,var(--panel-soft))!important;
  border-color:color-mix(in srgb,var(--admin-accent) 28%,var(--line))!important;color:var(--admin-accent)!important;
}
@media(hover:hover) and (pointer:fine){#modal .category-picker label:hover{transform:translateY(-1px)}}

/* Structure */
#modal #structureView{display:grid;grid-template-columns:1fr 1fr;gap:11px}
#modal #structureView[hidden]{display:none!important}
#modal #structureView .formbox{margin-top:0!important}
#modal .structure-list{max-height:260px!important;margin-top:12px!important}
#modal .structure-entry{
  min-height:44px;padding:8px 9px!important;border:1px solid color-mix(in srgb,var(--admin-border) 65%,transparent)!important;
  border-radius:10px;margin-bottom:6px;background:color-mix(in srgb,var(--panel-strong) 72%,transparent)!important;
}

/* GRERJ */
#modal #grerjView{padding-bottom:4px}
#modal .g-admin-title-row{align-items:center!important}
#modal .g-admin-items-head{
  margin-top:15px!important;padding-top:13px!important;border-top:1px solid color-mix(in srgb,var(--admin-border) 65%,transparent)!important;
}
#modal .g-admin-row-v3{
  border-radius:13px!important;padding:10px!important;margin-top:7px!important;
  background:color-mix(in srgb,var(--panel-strong) 80%,var(--admin-surface) 20%)!important;
  border:1px solid color-mix(in srgb,var(--admin-border) 70%,transparent)!important;
  box-shadow:0 5px 13px rgba(0,0,0,.055)!important;
  transition:transform .18s var(--ease-ios),box-shadow .22s,border-color .22s;
}
@media(hover:hover) and (pointer:fine){
  #modal .g-admin-row-v3:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.09)!important;border-color:color-mix(in srgb,var(--admin-accent) 20%,var(--admin-border))!important}
}

/* User cards */
#modal .users-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;margin:12px 0!important}
#modal .users-list{display:grid!important;gap:8px!important}
#modal .user-row{
  position:relative!important;display:grid!important;grid-template-columns:minmax(230px,1fr) 160px 105px auto!important;
  gap:10px!important;align-items:center!important;padding:11px!important;border-radius:14px!important;
  background:color-mix(in srgb,var(--panel-strong) 82%,var(--admin-surface) 18%)!important;
  border:1px solid var(--admin-border)!important;box-shadow:0 5px 14px rgba(0,0,0,.055)!important;
}
.user-avatar-mini{
  width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;
  background:color-mix(in srgb,var(--admin-accent) 12%,var(--panel-soft));border:1px solid color-mix(in srgb,var(--admin-accent) 24%,var(--line));
  color:var(--admin-accent);font-size:10px;font-weight:900;letter-spacing:.03em;
}
.user-id-main{display:flex;align-items:center;gap:9px;min-width:0}
.user-id-copy{min-width:0}
#modal .user-id strong{font-size:11.5px!important}
#modal .user-id small{font-size:9.5px!important}
#modal .user-status{border-radius:999px;padding:6px 8px!important;text-align:center;font-size:9.5px!important;font-weight:850}
#modal .user-status.active{background:color-mix(in srgb,var(--green) 10%,var(--panel-soft));color:var(--green)}
#modal .user-status.inactive{background:color-mix(in srgb,var(--red) 9%,var(--panel-soft));color:var(--red)}

/* Backup */
#modal .backup-v2{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;
  min-height:240px;padding:22px!important;
  background:
    radial-gradient(circle at 5% 10%,color-mix(in srgb,var(--green) 8%,transparent),transparent 38%),
    var(--admin-surface)!important;
}
#modal .backupbuttons{display:grid!important;gap:8px!important;min-width:190px}
#modal .backupbuttons button{min-height:44px!important}

/* Actions */
#modal .row-actions{align-items:center!important}
#modal .primary,#modal .secondary,#modal .danger{
  border-radius:10px!important;font-size:10.5px!important;font-weight:840!important;
}
#modal .primary{
  box-shadow:0 6px 16px color-mix(in srgb,var(--blue) 18%,transparent),0 2px 5px rgba(0,0,0,.08)!important;
}
#modal .danger{
  background:color-mix(in srgb,var(--red) 8%,var(--panel-strong))!important;
  border-color:color-mix(in srgb,var(--red) 24%,var(--line))!important;
  color:var(--red)!important;
}

/* Quick editor / partial editor gets same family language */
.admin-mini-editor{
  border-radius:22px!important;border:1px solid var(--admin-border,var(--line))!important;
  background:color-mix(in srgb,var(--panel-strong) 96%,var(--panel) 4%)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.24)!important;
}
.admin-mini-editor .paneltop{
  margin:-22px -22px 16px!important;padding:18px 20px!important;border-bottom:1px solid var(--line);
  border-radius:22px 22px 0 0;background:color-mix(in srgb,var(--panel-soft) 42%,transparent);
}

/* Motion */
#modal.open .admin-command-header{animation:adminHeaderIn 420ms var(--motion-pop) both}
#modal.open .admin-sync-notice{animation:adminHeaderIn 420ms 35ms var(--motion-pop) both}
#modal.open .admin-nav{animation:adminRailIn 460ms 50ms var(--motion-pop) both}
#modal.open .admin-dock{animation:adminDockIn 440ms 80ms var(--motion-pop) both}
#modal.open .admin-view-hero{animation:adminViewHeroIn 460ms 105ms var(--motion-pop) both}
#modal.open .admin-main > div:not(.admin-dock):not(.admin-view-hero){animation:adminContentIn 480ms 120ms var(--motion-pop) both}
@keyframes adminHeaderIn{from{opacity:0;translate:0 -10px;filter:blur(5px)}to{opacity:1;translate:0 0;filter:none}}
@keyframes adminRailIn{from{opacity:0;translate:-14px 0;scale:.975;filter:blur(5px)}to{opacity:1;translate:0 0;scale:1;filter:none}}
@keyframes adminDockIn{from{opacity:0;translate:0 -8px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes adminViewHeroIn{from{opacity:0;translate:10px 0;scale:.985;filter:blur(4px)}to{opacity:1;translate:0 0;scale:1;filter:none}}
@keyframes adminContentIn{from{opacity:0;translate:0 10px;filter:blur(4px)}to{opacity:1;translate:0 0;filter:none}}
.admin-view-switching{pointer-events:none}
.admin-view-enter{animation:adminViewSwitchIn 370ms var(--motion-pop) both!important}
@keyframes adminViewSwitchIn{from{opacity:.05;translate:14px 0;scale:.99;filter:blur(5px)}to{opacity:1;translate:0 0;scale:1;filter:none}}
.admin-item.admin-selected-pop{animation:adminSelectedPop 300ms var(--ease-spring)}
@keyframes adminSelectedPop{0%{scale:.97}58%{scale:1.018}100%{scale:1}}

/* Responsive */
@media(max-width:1120px){
  #modal .admin-dock{grid-template-columns:repeat(5,1fr)!important}
  .admin-tab-copy small{display:none}
  #modal .user-row{grid-template-columns:minmax(220px,1fr) 140px 95px}
  #modal .user-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:900px){
  #modal .admin-grid,#modal .admin-grid.nav-collapsed{grid-template-columns:1fr!important;padding:10px!important}
  #modal .admin-nav{max-height:250px}
  #modal .admin-dock{display:flex!important;overflow:auto!important;scrollbar-width:none}
  #modal .admin-dock::-webkit-scrollbar{display:none}
  #modal .admin-dock .secondary{min-width:130px!important}
  .admin-view-hero{align-items:flex-start;flex-direction:column}
  .admin-view-stats{justify-content:flex-start}
  #modal #structureView{grid-template-columns:1fr}
  #modal .backup-v2{grid-template-columns:1fr!important}
  #modal .backupbuttons{grid-template-columns:1fr 1fr!important}
}
@media(max-width:650px){
  .admin-sync-pill{display:none}
  .admin-command-header{padding:15px!important}
  .admin-command-orb{width:42px;height:42px;flex-basis:42px}
  #modal .admin-grid{min-height:0}
  #modal .user-row{grid-template-columns:1fr!important}
  #modal .backupbuttons{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  #modal.open .admin-command-header,#modal.open .admin-sync-notice,#modal.open .admin-nav,#modal.open .admin-dock,
  #modal.open .admin-view-hero,#modal.open .admin-main > div,.admin-view-enter,.admin-sync-dot{
    animation:none!important;
  }
}


/* ==========================================================================
   V2BETA 2.0 · POLIMENTO UTILITÁRIOS V2
   Botões físicos · Cursor light · Utility Dock · BOB/Chat redondos · Admin scroll
   ========================================================================== */

/* --------------------------------------------------------------------------
   BOTÕES SIMPLES — mesma linguagem física de "Copiar texto".
   Menus/categorias/tabs NÃO entram nesta regra.
   -------------------------------------------------------------------------- */
.clicky-action{
  position:relative!important;
  overflow:hidden!important;
  border-radius:10px!important;
  border:1px solid color-mix(in srgb,var(--blue) 60%,var(--line) 40%)!important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--blue) 86%,white 14%),
      color-mix(in srgb,var(--blue) 97%,black 3%)
    )!important;
  color:#fff!important;
  font-weight:820!important;
  box-shadow:
    0 3px 0 color-mix(in srgb,var(--blue) 64%,black 36%),
    0 8px 18px color-mix(in srgb,var(--blue) 18%,transparent),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.clicky-action::before{
  content:""!important;
  position:absolute!important;
  inset:1px 2px auto 2px!important;
  height:40%!important;
  border-radius:8px 8px 55% 55%!important;
  background:linear-gradient(180deg,rgba(255,255,255,.16),transparent)!important;
  pointer-events:none!important;
}
.clicky-action:active{
  box-shadow:
    0 1px 0 color-mix(in srgb,var(--blue) 64%,black 36%),
    0 3px 8px color-mix(in srgb,var(--blue) 15%,transparent),
    inset 0 1px 2px rgba(0,0,0,.12)!important;
}
.clicky-action.danger,
.danger.clicky-action{
  border-color:color-mix(in srgb,var(--red) 58%,var(--line))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--red) 84%,white 16%),var(--red))!important;
  box-shadow:
    0 3px 0 color-mix(in srgb,var(--red) 64%,black 36%),
    0 8px 18px color-mix(in srgb,var(--red) 15%,transparent),
    inset 0 1px 0 rgba(255,255,255,.17)!important;
  color:#fff!important;
}
.clicky-action.secondary,
.secondary.clicky-action,
.clicky-action.close,
.close.clicky-action{
  border-color:color-mix(in srgb,var(--blue) 25%,var(--line) 75%)!important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--panel-strong) 86%,white 14%),
      color-mix(in srgb,var(--panel-strong) 94%,var(--blue) 6%)
    )!important;
  color:var(--blue)!important;
  box-shadow:
    0 3px 0 color-mix(in srgb,var(--line) 72%,black 28%),
    0 7px 16px rgba(0,0,0,.09),
    inset 0 1px 0 rgba(255,255,255,.12)!important;
}
html[data-theme="sunset"] .clicky-action.secondary,
html[data-theme="night"] .clicky-action.secondary,
html[data-theme="midnight"] .clicky-action.secondary,
html[data-theme="sunset"] .close.clicky-action,
html[data-theme="night"] .close.clicky-action,
html[data-theme="midnight"] .close.clicky-action{
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--panel-soft) 70%,var(--panel-strong) 30%),
      var(--panel-strong)
    )!important;
  border-color:color-mix(in srgb,var(--blue) 22%,var(--line))!important;
  color:var(--blue)!important;
}

/* --------------------------------------------------------------------------
   CURSOR LIGHT — somente Sunset / Night / Midnight.
   -------------------------------------------------------------------------- */
.cursor-light{
  position:fixed;
  left:0;top:0;
  width:390px;height:390px;
  margin:-195px 0 0 -195px;
  border-radius:50%;
  pointer-events:none;
  z-index:24;
  opacity:0;
  transform:translate3d(-500px,-500px,0);
  will-change:transform,opacity;
  mix-blend-mode:screen;
  transition:opacity .35s ease;
}
html[data-theme="sunset"] .cursor-light{
  opacity:.24;
  background:
    radial-gradient(circle,
      rgba(255,220,175,.30) 0 2%,
      rgba(255,157,125,.16) 18%,
      rgba(244,122,190,.09) 38%,
      transparent 70%);
  filter:blur(2px);
}
html[data-theme="night"] .cursor-light{
  opacity:.20;
  background:
    radial-gradient(circle,
      rgba(232,244,255,.30) 0 2%,
      rgba(136,187,255,.15) 20%,
      rgba(92,135,224,.08) 42%,
      transparent 71%);
  filter:blur(2px);
}
html[data-theme="midnight"] .cursor-light{
  opacity:.28;
  background:
    radial-gradient(circle,
      rgba(247,244,255,.36) 0 2%,
      rgba(177,198,255,.18) 20%,
      rgba(139,111,224,.10) 43%,
      transparent 72%);
  filter:blur(2px);
}
@media(pointer:coarse){.cursor-light{display:none!important}}

/* --------------------------------------------------------------------------
   UTILITY DOCK — canto inferior esquerdo.
   -------------------------------------------------------------------------- */
.utility-dock{
  position:fixed;
  left:18px;
  bottom:max(18px,env(safe-area-inset-bottom));
  z-index:8700;
  display:flex;
  align-items:flex-end;
  gap:9px;
  pointer-events:none;
}
.utility-dock > *{pointer-events:auto}
.utility-dock .bob-fab{
  position:relative!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;
  border-radius:18px!important;
  transform:none!important;
  flex:0 0 auto;
}
.utility-folder{position:relative}
.utility-toggle{
  min-height:44px;
  display:flex;align-items:center;gap:8px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--panel-strong) 94%,transparent);
  color:var(--blue);
  box-shadow:
    0 10px 26px rgba(0,0,0,.15),
    inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(20px) saturate(1.1);
  -webkit-backdrop-filter:blur(20px) saturate(1.1);
  font-size:10.5px;font-weight:880;letter-spacing:.02em;
  cursor:pointer;
}
.utility-toggle-icon{
  width:25px;height:25px;display:grid;place-items:center;border-radius:8px;
  background:var(--panel-soft);border:1px solid var(--line);font-size:11px;
}
.utility-chevron{font-size:10px;transition:transform .28s var(--spring);opacity:.7}
.utility-dock.open .utility-chevron{transform:rotate(180deg)}
.utility-menu{
  position:absolute;
  left:0;
  bottom:calc(100% + 10px);
  width:245px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:18px;
  background:color-mix(in srgb,var(--panel-strong) 97%,transparent);
  box-shadow:
    0 24px 58px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(26px) saturate(1.1);
  -webkit-backdrop-filter:blur(26px) saturate(1.1);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform-origin:20px calc(100% + 6px);
  transform:translateY(10px) scale(.86);
  filter:blur(5px);
  transition:
    opacity .18s var(--ease),
    transform .32s var(--spring),
    filter .24s var(--ease),
    visibility 0s linear .32s;
}
.utility-dock.open .utility-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  filter:none;
  transition:
    opacity .18s var(--ease),
    transform .32s var(--spring),
    filter .24s var(--ease),
    visibility 0s;
}
.utility-menu-head{
  padding:5px 7px 9px;
  border-bottom:1px solid var(--line);
  margin-bottom:6px;
}
.utility-menu-head span{
  display:block;color:var(--navy);font-size:9px;font-weight:900;letter-spacing:.14em;
}
.utility-menu-head small{display:block;color:var(--muted);font-size:9px;margin-top:3px}

/* Reset dos antigos botões fixos; agora são opções da pasta. */
.utility-menu .mini-calc-tab,
.utility-menu .chat-tab{
  position:relative!important;
  inset:auto!important;
  right:auto!important;left:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;
  writing-mode:horizontal-tb!important;
  width:100%!important;
  min-height:50px!important;
  padding:7px 8px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  background:transparent!important;
  color:var(--muted)!important;
  box-shadow:none!important;
  opacity:1!important;
  pointer-events:auto!important;
  text-align:left!important;
}
body:not(.chat-enabled) .utility-menu .chat-tab{display:none!important}
.utility-menu .mini-calc-tab::before,
.utility-menu .chat-tab::before,
.utility-menu .chat-tab::after{content:none!important}
.utility-action-icon{
  width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;
  border-radius:10px;background:var(--panel-soft);border:1px solid var(--line);
  color:var(--blue);font-size:13px;
}
.utility-action-copy{min-width:0;display:block}
.utility-action-copy b{display:block;color:var(--navy);font-size:11px}
.utility-action-copy small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
@media(hover:hover) and (pointer:fine){
  .utility-menu .mini-calc-tab:hover,
  .utility-menu .chat-tab:hover{
    background:var(--panel-soft)!important;
    transform:translateX(2px)!important;
  }
}

/* --------------------------------------------------------------------------
   BOB + CHAT — cards flutuantes arredondados, theme-aware.
   -------------------------------------------------------------------------- */
.bob-panel,
.chat-panel{
  top:auto!important;
  right:auto!important;
  left:18px!important;
  bottom:84px!important;
  width:min(430px,calc(100vw - 36px))!important;
  height:min(680px,calc(100dvh - 112px))!important;
  border:1px solid var(--line)!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background:color-mix(in srgb,var(--panel-strong) 96%,var(--panel) 4%)!important;
  color:var(--ink)!important;
  box-shadow:
    0 30px 78px rgba(0,0,0,.27),
    0 8px 24px rgba(0,0,0,.13),
    inset 0 1px 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(30px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(30px) saturate(1.12)!important;
  transform-origin:30px calc(100% + 30px)!important;
}
body:not(.bob-open) .bob-panel,
body:not(.chat-open) .chat-panel{
  transform:translateY(18px) scale(.88)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.bob-open .bob-panel,
body.chat-open .chat-panel{
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Dois abertos: lado a lado onde houver espaço. */
@media(min-width:940px){
  body.chat-open.bob-open .bob-panel{left:18px!important;right:auto!important;width:min(410px,calc(50vw - 28px))!important}
  body.chat-open.bob-open .chat-panel{left:442px!important;right:auto!important;width:min(410px,calc(50vw - 28px))!important}
}
@media(max-width:939px){
  body.chat-open.bob-open .bob-panel{z-index:8802!important}
  body.chat-open.bob-open .chat-panel{z-index:8804!important}
}

/* Cabeçalhos */
.bob-head,.chat-head{
  min-height:74px!important;
  padding:13px 14px!important;
  border-bottom:1px solid var(--line)!important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--panel-strong) 97%,transparent),
      color-mix(in srgb,var(--panel-soft) 43%,var(--panel-strong) 57%)
    )!important;
}
.bob-avatar,.chat-logo{
  border-radius:14px!important;
  background:linear-gradient(145deg,var(--blue),color-mix(in srgb,var(--blue) 75%,#17365d))!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--blue) 16%,transparent)!important;
}
.bob-head-copy strong,.chat-head-copy strong{color:var(--navy)!important}
.bob-head-copy small,.chat-head-copy small{color:var(--muted)!important}
.bob-role{
  background:color-mix(in srgb,var(--blue) 9%,var(--panel-soft))!important;
  border-color:color-mix(in srgb,var(--blue) 22%,var(--line))!important;
  color:var(--blue)!important;
}
.bob-icon-btn,.chat-icon-btn{
  background:var(--panel-strong)!important;
  color:var(--blue)!important;
  border-color:var(--line)!important;
}

/* Corpo BOB */
.bob-messages,.chat-messages{
  background:
    radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--blue) 4%,transparent),transparent 34%),
    color-mix(in srgb,var(--panel) 88%,var(--panel-strong) 12%)!important;
}
.bob-author,.chat-msg-meta{color:var(--muted)!important}
.bob-bubble,
.chat-bubble{
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent)!important;
  border-radius:18px 18px 18px 7px!important;
  background:color-mix(in srgb,var(--panel-strong) 94%,var(--panel-soft) 6%)!important;
  color:var(--ink)!important;
  box-shadow:
    0 8px 20px rgba(0,0,0,.09),
    inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.bob-message.user .bob-bubble,
.chat-message.mine .chat-bubble{
  border-radius:18px 18px 7px 18px!important;
  background:linear-gradient(145deg,var(--blue),color-mix(in srgb,var(--blue) 80%,#17365d))!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--blue) 19%,transparent)!important;
}
.bob-mini-avatar,.chat-msg-avatar,.chat-room-avatar,.chat-person-avatar{
  border:1px solid var(--line)!important;
  background:var(--panel-soft)!important;
  color:var(--blue)!important;
}

/* composer arredondado */
.bob-composer,.chat-composer{
  border-top:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--panel-strong) 96%,transparent)!important;
  padding:10px 12px 11px!important;
}
.bob-input-box,.chat-input-box{
  border:1px solid color-mix(in srgb,var(--line) 72%,var(--blue) 28%)!important;
  border-radius:18px!important;
  background:var(--panel-strong)!important;
  box-shadow:
    0 8px 20px rgba(0,0,0,.08),
    inset 0 1px 2px rgba(0,0,0,.05)!important;
}
.bob-input,.chat-input{
  background:transparent!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
}
.bob-input::placeholder,.chat-input::placeholder{color:var(--muted)!important}
.bob-footnote,.chat-footnote{color:var(--muted)!important}
.bob-send,.chat-send{
  border-radius:13px!important;
  background:linear-gradient(145deg,var(--blue),color-mix(in srgb,var(--blue) 78%,#17365d))!important;
  box-shadow:
    0 3px 0 color-mix(in srgb,var(--blue) 65%,black 35%),
    0 8px 18px color-mix(in srgb,var(--blue) 18%,transparent)!important;
}

/* Chat internals também respeitam tema */
.chat-mode-tabs,.chat-private-tools,.chat-room-list,.chat-room-title{
  border-color:var(--line)!important;
  background:color-mix(in srgb,var(--panel) 88%,var(--panel-strong) 12%)!important;
}
.chat-mode-btn{color:var(--muted)!important}
.chat-mode-btn.active,.chat-room-item.active{
  background:color-mix(in srgb,var(--blue) 10%,var(--panel-strong))!important;
  color:var(--blue)!important;
  border-color:color-mix(in srgb,var(--blue) 24%,var(--line))!important;
}
.chat-private-search input{
  background:var(--panel-strong)!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  border-color:var(--line)!important;
}
.chat-person,.chat-room-item{
  background:transparent!important;
  color:var(--ink)!important;
}
@media(hover:hover) and (pointer:fine){
  .chat-person:hover,.chat-room-item:hover{background:var(--panel-soft)!important}
}
.chat-room-title strong{color:var(--navy)!important}
.chat-room-title small{color:var(--muted)!important}

/* --------------------------------------------------------------------------
   CALCULADORA — popover acima da utility zone.
   -------------------------------------------------------------------------- */
.mini-calc-panel{
  top:auto!important;
  right:auto!important;
  left:82px!important;
  bottom:84px!important;
  width:min(310px,calc(100vw - 100px))!important;
  border-radius:22px!important;
  border:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--panel-strong) 97%,transparent)!important;
  color:var(--ink)!important;
  box-shadow:
    0 25px 60px rgba(0,0,0,.23),
    inset 0 1px 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(26px) saturate(1.1)!important;
  -webkit-backdrop-filter:blur(26px) saturate(1.1)!important;
  transform-origin:25px calc(100% + 20px)!important;
}
.mini-calc-head{color:var(--navy)!important;border-color:var(--line)!important}
.mini-calc-display{
  background:var(--panel-soft)!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  border-color:var(--line)!important;
}
.mini-calc-key{
  background:var(--panel-strong)!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
}
.mini-calc-key.op{color:var(--blue)!important;background:color-mix(in srgb,var(--blue) 7%,var(--panel-strong))!important}
.mini-calc-key.equal{background:var(--blue)!important;color:#fff!important}
.mini-calc-note{color:var(--muted)!important}

/* --------------------------------------------------------------------------
   ADMIN: scroll interno real; página atrás congelada.
   -------------------------------------------------------------------------- */
body.admin-modal-open{overflow:hidden!important}
#modal.open{
  overflow:hidden!important;
  overscroll-behavior:contain!important;
}
#modal .admin-command-center{
  height:min(900px,calc(100dvh - 28px))!important;
  max-height:calc(100dvh - 28px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#modal .admin-command-header,
#modal .admin-sync-notice{flex:0 0 auto!important}
#modal .admin-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
#modal .admin-nav{
  min-height:0!important;
  max-height:none!important;
}
#modal .admin-list{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
#modal .admin-main{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding-right:5px!important;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--blue) 30%,transparent) transparent;
}
#modal .admin-main::-webkit-scrollbar{width:8px}
#modal .admin-main::-webkit-scrollbar-track{background:transparent}
#modal .admin-main::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--blue) 24%,transparent);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
#modal .admin-dock{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
#modal .admin-view-hero{
  position:relative!important;
  z-index:2!important;
}

/* Avatar real no painel de usuários */
.user-avatar-mini img{
  width:100%!important;height:100%!important;display:block!important;
  object-fit:cover!important;border-radius:inherit!important;
}

/* --------------------------------------------------------------------------
   Mobile / narrow
   -------------------------------------------------------------------------- */
@media(max-width:720px){
  .utility-dock{left:12px;bottom:max(12px,env(safe-area-inset-bottom))}
  .utility-toggle span:not(.utility-toggle-icon):not(.utility-chevron){display:none}
  .utility-toggle{width:44px;padding:0;justify-content:center}
  .utility-toggle-icon{border:0;background:transparent}
  .utility-chevron{display:none}
  .bob-panel,.chat-panel{
    left:10px!important;bottom:76px!important;width:calc(100vw - 20px)!important;
    height:min(690px,calc(100dvh - 96px))!important;border-radius:22px!important;
  }
  .mini-calc-panel{left:10px!important;bottom:76px!important;width:min(310px,calc(100vw - 20px))!important}
}
@media(prefers-reduced-motion:reduce){
  .cursor-light{display:none!important}
  .utility-menu{transition:none!important}
}


/* ==========================================================================\n   ROUND 26 · SOCIAL / FAVORITOS / PRESENÇA / GLASS\n   ========================================================================== */
/* O badge de rede da direita sai do layout; o estado vai para o subtítulo. */
#cloudStatus{display:none!important}
.brand-sub.online-state{color:var(--green)!important}.brand-sub.offline-state{color:var(--red)!important}
.brand-sub.offline-state .brand-sub-dot{background:var(--red)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 12%,transparent)!important}

/* Glass fosco é linguagem de interface/overlay, não dos cards de conteúdo. */
.frosted-ui,.theme-menu,.profile-hover-card,.bob-panel,.chat-panel,.mini-calc-panel,.modal .panel,.grerj-create-card{
  background:color-mix(in srgb,var(--panel-strong) 88%,#111827 12%)!important;
  border-color:color-mix(in srgb,var(--line) 80%,white 20%)!important;
  backdrop-filter:blur(28px) saturate(1.08)!important;-webkit-backdrop-filter:blur(28px) saturate(1.08)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.20),0 7px 20px rgba(0,0,0,.09),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
html[data-theme="dawn"] .frosted-ui,html[data-theme="day"] .frosted-ui,html[data-theme="noon"] .frosted-ui,
html[data-theme="dawn"] .theme-menu,html[data-theme="day"] .theme-menu,html[data-theme="noon"] .theme-menu,
html[data-theme="dawn"] .bob-panel,html[data-theme="day"] .bob-panel,html[data-theme="noon"] .bob-panel,
html[data-theme="dawn"] .chat-panel,html[data-theme="day"] .chat-panel,html[data-theme="noon"] .chat-panel,
html[data-theme="dawn"] .mini-calc-panel,html[data-theme="day"] .mini-calc-panel,html[data-theme="noon"] .mini-calc-panel{
  background:color-mix(in srgb,var(--panel-strong) 91%,#8ca0b7 9%)!important;
  box-shadow:0 22px 54px rgba(45,70,101,.16),0 6px 18px rgba(45,70,101,.08),inset 0 1px 0 rgba(255,255,255,.72)!important;
}

/* Avatar header hover */
.profile-orb-wrap{position:relative;display:flex;align-items:center}
.profile-hover-card{position:absolute;right:0;top:calc(100% + 10px);width:220px;padding:11px;border-radius:17px;display:flex;align-items:center;gap:10px;opacity:0;visibility:hidden;pointer-events:none;transform-origin:calc(100% - 20px) -8px;transform:translateY(-8px) scale(.88);filter:blur(5px);transition:opacity .18s var(--ease),transform .30s var(--spring),filter .22s var(--ease),visibility 0s linear .28s;z-index:9000}
.profile-orb-wrap:hover .profile-hover-card,.profile-orb-wrap:focus-within .profile-hover-card{opacity:1;visibility:visible;transform:none;filter:none;transition:opacity .18s var(--ease),transform .30s var(--spring),filter .22s var(--ease),visibility 0s}
.profile-hover-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:var(--panel-soft);border:1px solid var(--line);color:var(--blue);font-weight:900}.profile-hover-avatar img{width:100%;height:100%;object-fit:cover}.profile-hover-copy{min-width:0}.profile-hover-copy b{display:block;color:var(--navy);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-hover-copy span{display:block;color:var(--muted);font-size:9.5px;margin-top:3px}.profile-hover-copy small{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--blue) 10%,var(--panel-soft));color:var(--blue);font-size:8.5px;font-weight:850}

/* Nova zona social inferior esquerda */
.social-tool-dock{position:fixed;left:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:8700;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}
.social-tool-dock>*{pointer-events:auto}.social-tool-orbs{display:flex;gap:8px;align-items:center;transition:all .36s var(--spring)}
.social-orb{position:relative!important;inset:auto!important;transform:none!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border-radius:16px!important;border:1px solid color-mix(in srgb,var(--blue) 30%,var(--line))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 82%,white 18%),var(--blue))!important;color:#fff!important;box-shadow:0 4px 0 color-mix(in srgb,var(--blue) 62%,black 38%),0 12px 26px color-mix(in srgb,var(--blue) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.18)!important;font-weight:900!important;cursor:pointer!important}
.bob-orb-b span{font-family:Inter,ui-sans-serif,sans-serif;font-size:20px;letter-spacing:-.08em;transform:translateX(-.5px)}
.calc-orb{font-size:17px!important}.social-chat-tab{position:relative!important;inset:auto!important;transform:none!important;min-width:112px!important;min-height:42px!important;padding:0 12px!important;border-radius:14px!important;display:flex!important;align-items:center!important;gap:7px!important;background:color-mix(in srgb,var(--panel-strong) 95%,transparent)!important;color:var(--blue)!important;border:1px solid var(--line)!important;box-shadow:0 4px 0 color-mix(in srgb,var(--line) 72%,black 28%),0 11px 25px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.08)!important;font-size:10.5px!important;font-weight:900!important;writing-mode:horizontal-tb!important}
.social-chat-icon{font-size:11px}.chat-unread-badge{position:absolute;right:-7px;top:-7px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--green);color:#fff;border:2px solid var(--panel-strong);font-size:9px;font-weight:900;box-shadow:0 5px 14px color-mix(in srgb,var(--green) 35%,transparent);animation:unreadBadgePulse 1.8s ease-in-out infinite}@keyframes unreadBadgePulse{50%{transform:scale(1.10);box-shadow:0 0 0 6px color-mix(in srgb,var(--green) 7%,transparent),0 5px 14px color-mix(in srgb,var(--green) 35%,transparent)}}
body.chat-open .social-tool-orbs{position:fixed;left:calc(18px + min(430px,calc(100vw - 36px)) + 10px);bottom:88px;flex-direction:column;z-index:8808}

/* Chat deixa espaço para a aba embaixo */
.chat-panel{left:18px!important;right:auto!important;bottom:68px!important;width:min(430px,calc(100vw - 36px))!important;height:min(700px,calc(100dvh - 96px))!important;border-radius:26px!important}
.bob-panel{left:18px!important;right:auto!important;bottom:84px!important;border-radius:26px!important}
body.chat-open.bob-open .bob-panel{left:calc(18px + min(430px,calc(100vw - 36px)) + 70px)!important;bottom:18px!important}
body.chat-open .mini-calc-panel{left:calc(18px + min(430px,calc(100vw - 36px)) + 70px)!important;bottom:86px!important}

/* Private inbox social */
.chat-panel.private-inbox #chatMessages,.chat-panel.private-inbox .chat-composer,.chat-panel.private-inbox .chat-room-title{display:none!important}
.chat-panel.private-inbox #chatRoomList{display:flex!important;flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:8px 10px 14px!important;flex-direction:column;gap:6px;background:color-mix(in srgb,var(--panel) 88%,var(--panel-strong) 12%)!important}
.chat-panel.private-inbox .chat-private-tools{display:block!important;padding:10px 10px 5px!important;background:color-mix(in srgb,var(--panel) 88%,var(--panel-strong) 12%)!important}
.chat-inbox-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 6px}.chat-inbox-heading b{color:var(--navy);font-size:12px}.chat-inbox-heading small{color:var(--muted);font-size:9px}
.chat-room-item{min-height:62px!important;padding:8px 9px!important;border-radius:14px!important;display:flex!important;align-items:center!important;gap:10px!important;border:1px solid transparent!important;transition:transform .18s var(--ease),background .18s,border-color .18s!important}.chat-room-item:hover{transform:translateX(3px)!important;background:var(--panel-soft)!important;border-color:var(--line)!important}.chat-room-avatar,.chat-person-avatar{width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:14px!important}.chat-room-copy b,.chat-person-text b{font-size:11px!important;color:var(--navy)!important}.chat-room-copy small,.chat-person-text small{font-size:9px!important;color:var(--muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-room-copy{min-width:0;flex:1}.chat-social-state{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--muted);opacity:.45}.chat-social-state.online{background:var(--green);opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 10%,transparent)}
.chat-person{border-radius:14px!important;border:1px solid transparent!important;min-height:58px!important}.chat-person:hover{border-color:var(--line)!important;background:var(--panel-soft)!important}

/* Clickable profile names */
.chat-profile-link,.chat-room-profile{border:0;background:transparent;color:inherit;padding:0;cursor:pointer;text-align:left}.chat-profile-link{font:inherit;font-weight:850;color:inherit}.chat-profile-link:hover{text-decoration:underline;text-underline-offset:2px}.chat-room-profile{display:flex;align-items:center;gap:9px;min-width:0}.chat-room-profile:disabled{cursor:default}.chat-room-profile-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:11px;display:grid;place-items:center;overflow:hidden;background:var(--panel-soft);border:1px solid var(--line);color:var(--blue);font-weight:900}.chat-room-profile-avatar img{width:100%;height:100%;object-fit:cover}.chat-room-profile-copy{min-width:0}.chat-room-profile-copy strong{display:block}.chat-room-profile-copy small{display:block}

/* Avatar preview */
.avatar-preview-popover{position:fixed;z-index:40000;width:190px;height:190px;padding:7px;border-radius:24px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.88);filter:blur(5px);transition:opacity .16s var(--ease),transform .26s var(--spring),filter .2s var(--ease),visibility 0s linear .26s}.avatar-preview-popover.show{opacity:1;visibility:visible;transform:none;filter:none;transition:opacity .16s var(--ease),transform .26s var(--spring),filter .2s var(--ease),visibility 0s}.avatar-preview-popover img{width:100%;height:100%;display:block;object-fit:cover;border-radius:18px}

/* Calculator keys regain physical depth */
.mini-calc-key{border-radius:12px!important;box-shadow:0 3px 0 color-mix(in srgb,var(--line) 65%,black 35%),0 8px 16px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.10)!important;transition:box-shadow .14s var(--ease),filter .14s var(--ease),translate .14s var(--ease)!important}.mini-calc-key:hover{box-shadow:0 4px 0 color-mix(in srgb,var(--line) 65%,black 35%),0 11px 20px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.13)!important}.mini-calc-key:active{translate:0 2px!important;box-shadow:0 1px 0 color-mix(in srgb,var(--line) 68%,black 32%),0 3px 7px rgba(0,0,0,.08),inset 0 1px 2px rgba(0,0,0,.12)!important}.mini-calc-key.equal{box-shadow:0 3px 0 color-mix(in srgb,var(--blue) 62%,black 38%),0 9px 18px color-mix(in srgb,var(--blue) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.15)!important}

/* Claro: mesma coerência visual, menos peso */
html[data-theme="dawn"] .social-chat-tab,html[data-theme="day"] .social-chat-tab,html[data-theme="noon"] .social-chat-tab{background:color-mix(in srgb,var(--panel-strong) 96%,white 4%)!important;border-color:color-mix(in srgb,var(--line) 78%,var(--blue) 22%)!important;box-shadow:0 3px 0 color-mix(in srgb,var(--line) 68%,#6a7e96 32%),0 9px 20px rgba(45,76,111,.12),inset 0 1px 0 rgba(255,255,255,.85)!important}.social-orb{filter:saturate(.96)}html[data-theme="dawn"] .social-orb,html[data-theme="day"] .social-orb,html[data-theme="noon"] .social-orb{box-shadow:0 3px 0 color-mix(in srgb,var(--blue) 72%,#274766 28%),0 10px 22px color-mix(in srgb,var(--blue) 14%,transparent),inset 0 1px 0 rgba(255,255,255,.25)!important}

/* Favorito ribbon */
.card,.grerj-hero,.admin-item,.grerj-nav-wrap{position:relative}.favorite-ribbon{position:absolute;top:-1px;right:15px;width:28px;height:37px;border:0;padding:0;display:grid;place-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--amber) 78%,white 22%),var(--amber));color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);filter:saturate(.82);box-shadow:0 7px 15px color-mix(in srgb,var(--amber) 18%,transparent);cursor:pointer;opacity:.34;transition:opacity .18s var(--ease),transform .24s var(--spring),filter .18s}.favorite-ribbon::before{content:"✦";font-size:10px;font-weight:900;transform:translateY(-3px)}.favorite-ribbon:hover{opacity:.78;transform:translateY(2px)}.favorite-ribbon.active{opacity:1;filter:saturate(1);transform:translateY(2px)}.favorite-ribbon.active::after{content:"";position:absolute;inset:-5px;border-radius:8px;box-shadow:0 0 0 1px color-mix(in srgb,var(--amber) 24%,transparent),0 0 18px color-mix(in srgb,var(--amber) 22%,transparent);pointer-events:none}.grerj-nav-wrap{display:flex;align-items:stretch;gap:4px}.grerj-nav-wrap>button:first-child{flex:1;min-width:0}.grerj-nav-wrap .favorite-ribbon{position:relative;top:auto;right:auto;width:24px;height:auto;min-height:34px;clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);border-radius:5px 5px 0 0;flex:0 0 24px}.admin-item .favorite-ribbon{right:7px;width:23px;height:31px;z-index:2}

/* Cursor edge illumination on dark themes */
.cursor-reactive{position:relative!important;isolation:isolate}.cursor-reactive::after{content:"";position:absolute!important;inset:-1px!important;border-radius:inherit!important;padding:1px!important;background:radial-gradient(150px circle at var(--cursor-x,50%) var(--cursor-y,50%),var(--cursor-edge-color,rgba(255,255,255,.32)),transparent 55%)!important;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;-webkit-mask-composite:xor!important;mask-composite:exclude!important;pointer-events:none!important;opacity:0!important;transition:opacity .16s ease!important;z-index:7!important}.cursor-reactive.cursor-near::after{opacity:1!important}html[data-theme="sunset"] body{--cursor-edge-color:rgba(255,181,139,.62)}html[data-theme="night"] body{--cursor-edge-color:rgba(139,194,255,.54)}html[data-theme="midnight"] body{--cursor-edge-color:rgba(194,178,255,.62)}html[data-theme="dawn"] .cursor-reactive::after,html[data-theme="day"] .cursor-reactive::after,html[data-theme="noon"] .cursor-reactive::after{display:none!important}

/* GRERJ alphabetical note */
.grerj-availability-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:8px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--panel-soft) 58%,transparent);border:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.grerj-availability-row .field{margin:0}.grerj-order-note{text-align:right;max-width:350px}

/* User presence */
.user-presence{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-size:9px;color:var(--muted);font-weight:800}.user-presence-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.45}.user-presence.online{color:var(--green)}.user-presence.online .user-presence-dot{background:var(--green);opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 10%,transparent)}

/* Dynamic Island gains contextual idle mode */
.status-hub.contextual{cursor:pointer}.status-hub.contextual .icon{color:var(--blue)}.status-hub.contextual[data-action="chat"] .icon{color:var(--green)}

@media(max-width:720px){.social-tool-dock{left:12px;bottom:12px}.social-chat-tab{min-width:92px!important}.chat-panel{left:10px!important;width:calc(100vw - 20px)!important;bottom:62px!important}.bob-panel{left:10px!important;width:calc(100vw - 20px)!important}.social-tool-orbs{gap:6px}body.chat-open .social-tool-orbs{position:fixed;left:auto;right:10px;bottom:72px;flex-direction:column}.avatar-preview-popover{width:150px;height:150px}.profile-hover-card{right:-4px;width:205px}.grerj-availability-row{align-items:flex-start;flex-direction:column}.grerj-order-note{text-align:left}}
@media(prefers-reduced-motion:reduce){.chat-unread-badge,.favorite-ribbon,.profile-hover-card,.avatar-preview-popover{animation:none!important;transition:none!important}}


.admin-item-wrap{position:relative}.admin-item-wrap>.admin-item{width:100%;padding-right:38px!important}.chat-directory-label{padding:8px 7px 5px;color:var(--muted);font-size:8.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.profile-img-v2.avatar-preview-source,.profile-photo-v2 img.avatar-preview-source{cursor:zoom-in}

.chat-directory-loading{padding:12px 8px;color:var(--muted);font-size:9.5px}.chat-directory-person{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:5px;align-items:center}.chat-person-main{width:100%!important}.chat-person-profile-shortcut{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:var(--panel-strong);color:var(--blue);box-shadow:0 3px 8px rgba(0,0,0,.07);cursor:pointer}.chat-person-profile-shortcut:hover{transform:translateY(-1px);background:var(--panel-soft)}

@media(hover:hover) and (pointer:fine){.status-hub.contextual:not(.has-unread):hover{width:auto!important;min-width:112px!important;padding:0 13px!important;gap:8px!important}.status-hub.contextual:not(.has-unread):hover::after{opacity:0!important}.status-hub.contextual:not(.has-unread):hover .icon{opacity:1!important;transform:scale(1)!important}.status-hub.contextual:not(.has-unread):hover .txt{max-width:180px!important;opacity:1!important;transform:none!important}}

/* ==========================================================================
   ROUND26 · HOTFIX 1
   Corrige overlap do dock, BOB desaparecendo e restaura cursor-light global.
   ========================================================================== */

/* A regra legada escondia o botão do BOB depois de abrir o painel. */
body.bob-open .social-tool-dock .bob-fab{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* BOB e Calculadora abrem ACIMA da zona fixa de ferramentas.
   Dock: 48px (orbs) + 8px + 42px (Chat) + 18px de margem. */
body.bob-open:not(.chat-open) .bob-panel{
  left:18px!important;
  bottom:128px!important;
}
body.calc-open:not(.chat-open) .mini-calc-panel{
  left:18px!important;
  bottom:128px!important;
}

/* Os atalhos ficam sempre legíveis e acima das bordas dos painéis. */
.social-tool-dock{
  z-index:8900!important;
}
.social-tool-orbs,
.social-chat-tab{
  position:relative;
  z-index:2;
}

/* Luz global: fica acima do céu, abaixo das interfaces e não captura clique. */
.cursor-light{
  z-index:20!important;
  pointer-events:none!important;
  visibility:visible;
}

/* Em temas escuros a luz precisa ser perceptível, não fantasma. */
html[data-theme="sunset"] .cursor-light{
  opacity:.38!important;
  width:440px!important;
  height:440px!important;
  margin:-220px 0 0 -220px!important;
  background:
    radial-gradient(circle,
      rgba(255,235,207,.38) 0 3%,
      rgba(255,170,125,.23) 18%,
      rgba(245,118,192,.13) 39%,
      transparent 72%)!important;
}
html[data-theme="night"] .cursor-light{
  opacity:.34!important;
  width:440px!important;
  height:440px!important;
  margin:-220px 0 0 -220px!important;
  background:
    radial-gradient(circle,
      rgba(239,248,255,.40) 0 3%,
      rgba(142,198,255,.21) 19%,
      rgba(81,129,224,.12) 41%,
      transparent 72%)!important;
}
html[data-theme="midnight"] .cursor-light{
  opacity:.42!important;
  width:460px!important;
  height:460px!important;
  margin:-230px 0 0 -230px!important;
  background:
    radial-gradient(circle,
      rgba(252,249,255,.44) 0 3%,
      rgba(192,202,255,.24) 19%,
      rgba(149,116,232,.14) 42%,
      transparent 73%)!important;
}

/* Em temas claros a camada existe mas fica desligada. */
html[data-theme="dawn"] .cursor-light,
html[data-theme="day"] .cursor-light,
html[data-theme="noon"] .cursor-light{
  opacity:0!important;
}

/* Narrow: respeita a mesma pilha sem invadir a barra inferior. */
@media(max-width:720px){
  body.bob-open:not(.chat-open) .bob-panel,
  body.calc-open:not(.chat-open) .mini-calc-panel{
    left:10px!important;
    bottom:124px!important;
  }
}


/* ==========================================================================
   ROUND26 · HOTFIX 2
   Favorito ativo por tema · dock/calculadora alinhados · BOB robusto
   ========================================================================== */

/* ---------- FAVORITO / RIBBON ----------
   Inativo = cor profunda/mansa.
   Ativo = mesma família cromática, mais clara, mais saturada e luminosa.
   -------------------------------------------------------------------------- */
html[data-theme="dawn"]{
  --fav-ribbon-rest:#9f7b88;
  --fav-ribbon-active:#ff9b7a;
  --fav-ribbon-glow:rgba(255,155,122,.34);
}
html[data-theme="day"]{
  --fav-ribbon-rest:#547caf;
  --fav-ribbon-active:#79adff;
  --fav-ribbon-glow:rgba(121,173,255,.34);
}
html[data-theme="noon"]{
  --fav-ribbon-rest:#4774ad;
  --fav-ribbon-active:#5f9fff;
  --fav-ribbon-glow:rgba(95,159,255,.36);
}
html[data-theme="sunset"]{
  --fav-ribbon-rest:#73536f;
  --fav-ribbon-active:#ff91ba;
  --fav-ribbon-glow:rgba(255,145,186,.38);
}
html[data-theme="night"]{
  --fav-ribbon-rest:#405d86;
  --fav-ribbon-active:#8dbdff;
  --fav-ribbon-glow:rgba(141,189,255,.40);
}
html[data-theme="midnight"]{
  --fav-ribbon-rest:#514a82;
  --fav-ribbon-active:#b49cff;
  --fav-ribbon-glow:rgba(180,156,255,.42);
}

.favorite-ribbon{
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb,var(--fav-ribbon-rest) 88%,white 12%),
      var(--fav-ribbon-rest)
    )!important;
  color:rgba(255,255,255,.90)!important;
  opacity:.56!important;
  filter:saturate(.78)!important;
  box-shadow:
    0 6px 14px color-mix(in srgb,var(--fav-ribbon-rest) 20%,transparent),
    inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.favorite-ribbon:hover{
  opacity:.82!important;
  filter:saturate(.98)!important;
}
.favorite-ribbon.active{
  opacity:1!important;
  filter:saturate(1.25) brightness(1.08)!important;
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb,var(--fav-ribbon-active) 74%,white 26%),
      var(--fav-ribbon-active)
    )!important;
  box-shadow:
    0 8px 19px var(--fav-ribbon-glow),
    inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.favorite-ribbon.active::before{
  color:#fff!important;
  text-shadow:0 1px 4px rgba(0,0,0,.18),0 0 8px rgba(255,255,255,.28);
}
.favorite-ribbon.active::after{
  inset:-5px!important;
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--fav-ribbon-active) 36%,transparent),
    0 0 22px var(--fav-ribbon-glow)!important;
}

/* ---------- BOB ----------
   z-index explícito e visibilidade garantida sem depender de SQL/chat.
   -------------------------------------------------------------------------- */
.bob-panel{
  z-index:8855!important;
}
body.bob-open .bob-panel{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}
body.bob-open .social-tool-dock .bob-fab{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* ---------- CALCULADORA ----------
   Painel e dock deixam de ocupar o mesmo espaço físico.
   -------------------------------------------------------------------------- */
.mini-calc-panel{
  z-index:8854!important;
  left:18px!important;
  right:auto!important;
  bottom:18px!important;
  width:min(310px,calc(100vw - 150px))!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin;
}

/* Quando a calculadora abre, TODO o dock vai para fora da lateral direita dela. */
body.calc-open:not(.chat-open) .social-tool-dock{
  left:calc(18px + min(310px,calc(100vw - 150px)) + 10px)!important;
  bottom:18px!important;
}
body.calc-open:not(.chat-open) .social-tool-orbs{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  flex-direction:column!important;
}
body.calc-open:not(.chat-open) .social-chat-tab{
  min-width:48px!important;
  width:48px!important;
  padding:0!important;
  justify-content:center!important;
}
body.calc-open:not(.chat-open) .social-chat-label{
  display:none!important;
}

/* O botão da calculadora aberto ganha estado ativo, sem confundir com as teclas. */
body.calc-open #miniCalcTab{
  filter:saturate(1.12) brightness(1.08)!important;
  box-shadow:
    0 3px 0 color-mix(in srgb,var(--blue) 60%,black 40%),
    0 0 0 4px color-mix(in srgb,var(--blue) 10%,transparent),
    0 12px 26px color-mix(in srgb,var(--blue) 22%,transparent),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
}

/* Viewports baixos: compacta a calculadora em vez de cortá-la. */
@media(max-height:620px){
  .mini-calc-panel{
    padding:11px!important;
    width:min(300px,calc(100vw - 142px))!important;
  }
  .mini-calc-head{margin-bottom:8px!important}
  .mini-calc-head strong{font-size:12px!important}
  .mini-calc-close{width:30px!important;height:30px!important}
  .mini-calc-display{
    height:50px!important;
    margin-bottom:8px!important;
    font-size:22px!important;
  }
  .mini-calc-grid{gap:6px!important}
  .mini-calc-key{height:36px!important;font-size:13px!important}
  .mini-calc-note{display:none!important}
  body.calc-open:not(.chat-open) .social-tool-dock{
    left:calc(18px + min(300px,calc(100vw - 142px)) + 9px)!important;
  }
}

/* Em telas muito estreitas, painel à esquerda e dock encostado à direita. */
@media(max-width:500px){
  .mini-calc-panel{
    left:10px!important;
    bottom:10px!important;
    width:calc(100vw - 82px)!important;
    max-height:calc(100dvh - 20px)!important;
  }
  body.calc-open:not(.chat-open) .social-tool-dock{
    left:auto!important;
    right:10px!important;
    bottom:10px!important;
  }
}

/* Com Chat aberto, continuamos usando a composição lateral existente. */
body.chat-open .mini-calc-panel{
  max-height:calc(100dvh - 110px)!important;
}


/* ==========================================================================
   ROUND26 · HOTFIX 3 · VIEWPORT REAL
   Remove símbolos duplicados, scroll fantasma da Home e posicionamento
   dependente do documento para Calculadora/BOB.
   ========================================================================== */

/* 1. Cada botão social possui UM único ícone: o markup atual.
   Mata definitivamente ::before/::after herdados dos controles antigos. */
.social-tool-dock .mini-calc-tab::before,
.social-tool-dock .mini-calc-tab::after,
.social-tool-dock .chat-tab::before,
.social-tool-dock .chat-tab::after{
  content:none!important;
  display:none!important;
}

/* 2. A HOME ocupa exatamente a área útil abaixo do header.
   A página em si não tem scroll fantasma. */
body.app-home{
  min-height:100dvh!important;
  height:auto!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body.app-home #homeView.home-v2{
  height:auto!important;
  min-height:calc(100dvh - 72px)!important;
  max-height:none!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  scrollbar-width:auto!important;
}

/* 3. CALCULADORA = viewport, não documento.
   Centralizada verticalmente na área abaixo do header. */
.mini-calc-panel{
  position:fixed!important;
  left:18px!important;
  right:auto!important;
  top:calc(50dvh + 36px)!important;
  bottom:auto!important;
  width:300px!important;
  max-width:calc(100vw - 90px)!important;
  max-height:calc(100dvh - 92px)!important;
  padding:13px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  transform:translateY(-50%) scale(.96)!important;
  transform-origin:left center!important;
}
body.calc-open .mini-calc-panel{
  transform:translateY(-50%)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* O interior se adapta à altura real disponível em vez de sair da tela. */
.mini-calc-head{
  flex:0 0 auto!important;
  margin-bottom:9px!important;
}
.mini-calc-display{
  flex:0 0 auto!important;
  height:clamp(46px,10dvh,60px)!important;
  min-height:46px!important;
  margin-bottom:8px!important;
  font-size:clamp(21px,4.8dvh,25px)!important;
}
.mini-calc-grid{
  flex:0 0 auto!important;
  gap:clamp(5px,1.25dvh,8px)!important;
}
.mini-calc-key{
  height:clamp(34px,7.7dvh,46px)!important;
  min-height:34px!important;
}
.mini-calc-note{
  flex:0 0 auto!important;
  margin-top:7px!important;
}

/* Dock também vira 100% viewport-based enquanto a calculadora está aberta. */
body.calc-open:not(.chat-open) .social-tool-dock{
  position:fixed!important;
  left:328px!important;
  right:auto!important;
  top:calc(50dvh + 36px)!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
}
body.calc-open:not(.chat-open) .social-tool-orbs{
  position:relative!important;
  inset:auto!important;
  flex-direction:column!important;
}
body.calc-open:not(.chat-open) .social-chat-tab{
  min-width:48px!important;
  width:48px!important;
  padding:0!important;
  justify-content:center!important;
}
body.calc-open:not(.chat-open) .social-chat-label{display:none!important}

/* Viewport baixo: conteúdo reduz, não é cortado. */
@media(max-height:560px){
  .mini-calc-panel{
    width:286px!important;
    left:12px!important;
    max-height:calc(100dvh - 84px)!important;
    padding:10px!important;
  }
  .mini-calc-head{margin-bottom:6px!important}
  .mini-calc-head strong{font-size:11.5px!important}
  .mini-calc-close{width:30px!important;height:30px!important}
  .mini-calc-display{
    height:44px!important;
    min-height:44px!important;
    margin-bottom:6px!important;
    font-size:21px!important;
  }
  .mini-calc-grid{gap:5px!important}
  .mini-calc-key{height:33px!important;min-height:33px!important;font-size:12px!important}
  .mini-calc-note{display:none!important}
  body.calc-open:not(.chat-open) .social-tool-dock{
    left:307px!important;
  }
}

/* Tela estreita: calculadora usa a largura disponível e dock encosta à direita. */
@media(max-width:440px){
  .mini-calc-panel{
    left:8px!important;
    width:calc(100vw - 70px)!important;
    max-width:none!important;
  }
  body.calc-open:not(.chat-open) .social-tool-dock{
    left:auto!important;
    right:8px!important;
  }
}

/* 4. BOB recebe a mesma garantia de viewport real.
   Independente de SQL e independente do scroll da Home. */
.bob-panel{
  position:fixed!important;
  left:18px!important;
  right:auto!important;
  top:82px!important;
  bottom:18px!important;
  width:min(430px,calc(100vw - 86px))!important;
  height:auto!important;
  max-height:none!important;
  z-index:8855!important;
}
body.bob-open .bob-panel{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}

/* Quando só o BOB está aberto, os atalhos ficam acoplados ao lado dele,
   sem cobrir o painel. */
body.bob-open:not(.chat-open) .social-tool-dock{
  position:fixed!important;
  left:458px!important;
  right:auto!important;
  bottom:18px!important;
  top:auto!important;
  transform:none!important;
}
body.bob-open:not(.chat-open) .social-tool-orbs{
  flex-direction:column!important;
}
body.bob-open:not(.chat-open) .social-chat-tab{
  min-width:48px!important;
  width:48px!important;
  padding:0!important;
  justify-content:center!important;
}
body.bob-open:not(.chat-open) .social-chat-label{display:none!important}

@media(max-width:540px){
  .bob-panel{
    left:8px!important;
    right:62px!important;
    width:auto!important;
    top:80px!important;
    bottom:8px!important;
  }
  body.bob-open:not(.chat-open) .social-tool-dock{
    left:auto!important;
    right:8px!important;
    bottom:8px!important;
  }
}

/* Sempre um B visível. A antiga regra literal não manda mais aqui. */
body.bob-open .social-tool-dock .bob-fab{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}


/* ==========================================================================
   ROUND26 · HOTFIX 4 · FLOOR LAYOUT + FAVORITO VISÍVEL
   Calculadora/BOB ancorados no piso real da viewport.
   Ribbon ativo com diferença cromática inequívoca.
   ========================================================================== */

/* --------------------------------------------------------------------------
   CALCULADORA — encosta no chão e cresce para cima.
   -------------------------------------------------------------------------- */
.mini-calc-panel{
  position:fixed!important;
  left:18px!important;
  right:auto!important;
  top:auto!important;
  bottom:0!important;
  width:300px!important;
  max-width:calc(100vw - 86px)!important;

  height:auto!important;
  max-height:calc(100dvh - 82px)!important;

  padding:13px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;

  transform:none!important;
  transform-origin:left bottom!important;

  border-radius:22px 22px 0 0!important;
  scrollbar-width:thin!important;
}
body.calc-open .mini-calc-panel{
  top:auto!important;
  bottom:0!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Natural full-size keys. Só reduz se a viewport realmente exigir. */
.mini-calc-head{
  flex:0 0 auto!important;
  margin-bottom:9px!important;
}
.mini-calc-display{
  flex:0 0 auto!important;
  height:58px!important;
  min-height:58px!important;
  margin-bottom:8px!important;
  font-size:24px!important;
}
.mini-calc-grid{
  flex:0 0 auto!important;
  gap:8px!important;
}
.mini-calc-key{
  height:44px!important;
  min-height:44px!important;
}
.mini-calc-note{
  flex:0 0 auto!important;
  margin-top:8px!important;
  padding-bottom:2px!important;
}

/* Dock fica do lado da calculadora, também apoiado no chão. */
body.calc-open:not(.chat-open) .social-tool-dock{
  position:fixed!important;
  left:328px!important;
  right:auto!important;
  top:auto!important;
  bottom:12px!important;
  transform:none!important;
}
body.calc-open:not(.chat-open) .social-tool-orbs{
  flex-direction:column!important;
}
body.calc-open:not(.chat-open) .social-chat-tab{
  min-width:48px!important;
  width:48px!important;
  padding:0!important;
  justify-content:center!important;
}
body.calc-open:not(.chat-open) .social-chat-label{
  display:none!important;
}

/* Em viewport realmente baixa, o painel permanece inteiro:
   reduz a densidade e, se ainda necessário, rola DENTRO dele. */
@media(max-height:570px){
  .mini-calc-panel{
    width:288px!important;
    left:12px!important;
    max-height:calc(100dvh - 70px)!important;
    padding:10px!important;
  }
  .mini-calc-head{
    margin-bottom:6px!important;
  }
  .mini-calc-head strong{
    font-size:11.5px!important;
  }
  .mini-calc-close{
    width:30px!important;
    height:30px!important;
  }
  .mini-calc-display{
    height:45px!important;
    min-height:45px!important;
    margin-bottom:6px!important;
    font-size:21px!important;
  }
  .mini-calc-grid{
    gap:5px!important;
  }
  .mini-calc-key{
    height:34px!important;
    min-height:34px!important;
    font-size:12px!important;
  }
  .mini-calc-note{
    display:none!important;
  }
  body.calc-open:not(.chat-open) .social-tool-dock{
    left:309px!important;
    bottom:8px!important;
  }
}

@media(max-width:430px){
  .mini-calc-panel{
    left:0!important;
    width:calc(100vw - 64px)!important;
    max-width:none!important;
  }
  body.calc-open:not(.chat-open) .social-tool-dock{
    left:auto!important;
    right:8px!important;
  }
}

/* --------------------------------------------------------------------------
   BOB — do header até o chão. Sem faixa morta abaixo.
   -------------------------------------------------------------------------- */
.bob-panel{
  position:fixed!important;
  left:18px!important;
  right:auto!important;
  top:82px!important;
  bottom:0!important;
  width:min(430px,calc(100vw - 86px))!important;
  height:auto!important;
  max-height:none!important;
  border-radius:26px 26px 0 0!important;
  z-index:8855!important;
}
body.bob-open .bob-panel{
  top:82px!important;
  bottom:0!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}
body.bob-open:not(.chat-open) .social-tool-dock{
  position:fixed!important;
  left:458px!important;
  right:auto!important;
  top:auto!important;
  bottom:12px!important;
  transform:none!important;
}

@media(max-width:540px){
  .bob-panel,
  body.bob-open .bob-panel{
    left:0!important;
    right:62px!important;
    width:auto!important;
    top:78px!important;
    bottom:0!important;
    border-radius:20px 20px 0 0!important;
  }
  body.bob-open:not(.chat-open) .social-tool-dock{
    left:auto!important;
    right:8px!important;
    bottom:8px!important;
  }
}

/* --------------------------------------------------------------------------
   FAVORITO — estado inativo e ativo têm aparência realmente diferente.
   Não é "o mesmo ribbon com um traço".
   -------------------------------------------------------------------------- */
.favorite-ribbon{
  z-index:12!important;
  width:30px!important;
  height:40px!important;
  opacity:.42!important;
  filter:saturate(.62) brightness(.82)!important;

  background:
    linear-gradient(
      180deg,
      color-mix(in srgb,var(--fav-ribbon-rest,#53657d) 86%,white 14%),
      var(--fav-ribbon-rest,#53657d)
    )!important;

  color:rgba(255,255,255,.78)!important;

  box-shadow:
    0 5px 11px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.10)!important;

  transition:
    width .24s var(--spring),
    height .24s var(--spring),
    opacity .16s ease,
    filter .18s ease,
    transform .24s var(--spring),
    background .18s ease,
    box-shadow .18s ease!important;
}
.favorite-ribbon::before{
  content:"✦"!important;
  font-size:10px!important;
  color:rgba(255,255,255,.80)!important;
  text-shadow:none!important;
}

/* MARCADO = mais largo, mais claro, mais saturado e com estrela sólida. */
.favorite-ribbon.active{
  width:36px!important;
  height:47px!important;
  opacity:1!important;
  filter:saturate(1.45) brightness(1.16)!important;
  transform:translateY(2px)!important;

  color:#fff!important;

  background:
    linear-gradient(
      180deg,
      color-mix(in srgb,var(--fav-ribbon-active,#8dbdff) 62%,white 38%),
      var(--fav-ribbon-active,#8dbdff)
    )!important;

  box-shadow:
    0 8px 20px var(--fav-ribbon-glow,rgba(141,189,255,.40)),
    0 0 0 1px color-mix(in srgb,var(--fav-ribbon-active,#8dbdff) 48%,white 12%),
    inset 0 1px 0 rgba(255,255,255,.34)!important;

  animation:favoriteLatch .34s var(--spring);
}
.favorite-ribbon.active::before{
  content:"★"!important;
  font-size:13px!important;
  color:#fff!important;
  text-shadow:
    0 1px 4px rgba(0,0,0,.22),
    0 0 9px rgba(255,255,255,.42)!important;
}
.favorite-ribbon.active::after{
  content:""!important;
  position:absolute!important;
  inset:-5px!important;
  border-radius:9px!important;
  pointer-events:none!important;
  box-shadow:
    0 0 24px var(--fav-ribbon-glow,rgba(141,189,255,.40))!important;
}
@keyframes favoriteLatch{
  0%{scale:.82}
  58%{scale:1.10}
  100%{scale:1}
}

/* Cores ativas inequívocas por tema. */
html[data-theme="dawn"] .favorite-ribbon.active{
  background:linear-gradient(180deg,#ffd0b7,#ff936f)!important;
  --fav-ribbon-glow:rgba(255,147,111,.45);
}
html[data-theme="day"] .favorite-ribbon.active{
  background:linear-gradient(180deg,#bcd8ff,#6ba9ff)!important;
  --fav-ribbon-glow:rgba(107,169,255,.44);
}
html[data-theme="noon"] .favorite-ribbon.active{
  background:linear-gradient(180deg,#a9d0ff,#5598ff)!important;
  --fav-ribbon-glow:rgba(85,152,255,.46);
}
html[data-theme="sunset"] .favorite-ribbon.active{
  background:linear-gradient(180deg,#ffc0d8,#ff80b2)!important;
  --fav-ribbon-glow:rgba(255,128,178,.48);
}
html[data-theme="night"] .favorite-ribbon.active{
  background:linear-gradient(180deg,#c8e0ff,#79b4ff)!important;
  --fav-ribbon-glow:rgba(121,180,255,.50);
}
html[data-theme="midnight"] .favorite-ribbon.active{
  background:linear-gradient(180deg,#d8ccff,#ad91ff)!important;
  --fav-ribbon-glow:rgba(173,145,255,.52);
}

/* Ajustes das variantes menores sem perder o contraste do estado ativo. */
.grerj-nav-wrap .favorite-ribbon{
  width:25px!important;
  min-width:25px!important;
  height:auto!important;
  min-height:36px!important;
}
.grerj-nav-wrap .favorite-ribbon.active{
  width:31px!important;
  min-width:31px!important;
  min-height:42px!important;
}
.admin-item-wrap > .favorite-ribbon{
  right:7px!important;
  top:0!important;
}


/* ==========================================================================
   ROUND26 · HOTFIX 5 · CASCADE FINAL
   Este bloco é propositalmente o ÚLTIMO CSS do documento.
   Vence regras legadas de bottom/top através de ID + estado.
   ========================================================================== */

/* CALCULADORA: chão REAL da viewport. */
body.calc-open:not(.chat-open) #miniCalcPanel,
body.calc-open #miniCalcPanel{
  position:fixed!important;
  left:18px!important;
  right:auto!important;
  top:auto!important;
  bottom:0!important;
  transform:none!important;
  margin:0!important;

  width:300px!important;
  max-width:calc(100vw - 86px)!important;
  height:auto!important;
  max-height:calc(100dvh - 74px)!important;

  overflow-x:hidden!important;
  overflow-y:auto!important;
  border-radius:22px 22px 0 0!important;

  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Dock acoplado ao lado da calculadora e também no piso. */
body.calc-open:not(.chat-open) #utilityDock{
  position:fixed!important;
  left:328px!important;
  right:auto!important;
  top:auto!important;
  bottom:10px!important;
  transform:none!important;
  margin:0!important;
}

/* BOB: chão REAL da viewport. */
body.bob-open:not(.chat-open) #bobPanel,
body.bob-open #bobPanel{
  position:fixed!important;
  left:18px!important;
  right:auto!important;
  top:72px!important;
  bottom:0!important;
  transform:none!important;
  margin:0!important;

  width:min(430px,calc(100vw - 86px))!important;
  height:auto!important;
  max-height:none!important;

  border-radius:26px 26px 0 0!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:8855!important;
}
body.bob-open:not(.chat-open) #utilityDock{
  position:fixed!important;
  left:458px!important;
  right:auto!important;
  top:auto!important;
  bottom:10px!important;
  transform:none!important;
  margin:0!important;
}

/* O botão B continua visível com o BOB aberto. */
body.bob-open #bobTab{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Viewport baixa: continua no chão; só comprime o conteúdo. */
@media(max-height:570px){
  body.calc-open #miniCalcPanel{
    left:12px!important;
    bottom:0!important;
    width:288px!important;
    max-height:calc(100dvh - 62px)!important;
    padding:10px!important;
  }
  body.calc-open:not(.chat-open) #utilityDock{
    left:309px!important;
    bottom:6px!important;
  }
}

/* Narrow */
@media(max-width:540px){
  body.calc-open #miniCalcPanel{
    left:0!important;
    right:64px!important;
    bottom:0!important;
    width:auto!important;
    max-width:none!important;
  }
  body.calc-open:not(.chat-open) #utilityDock{
    left:auto!important;
    right:8px!important;
    bottom:8px!important;
  }

  body.bob-open #bobPanel{
    left:0!important;
    right:62px!important;
    top:72px!important;
    bottom:0!important;
    width:auto!important;
    border-radius:20px 20px 0 0!important;
  }
  body.bob-open:not(.chat-open) #utilityDock{
    left:auto!important;
    right:8px!important;
    bottom:8px!important;
  }
}

/* Badge some realmente quando zerado. */
#chatUnreadBadge[hidden]{
  display:none!important;
}


/* ========================================================================== 
   ROUND26 · REBASE UTILITIES V1 — FONTE ÚNICA DE GEOMETRIA
   ========================================================================== */
:root{--utility-floor:0px;--utility-left:18px;--utility-gap:10px;--utility-header:68px}

/* HOME: viewport real. Documento não participa do layout vertical. */
html:has(body.app-home){height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
body.app-home{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  min-height:100dvh!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;
}
body.app-home #homeView.home-v2{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:100%!important;height:auto!important;min-height:calc(100dvh - var(--utility-header))!important;max-height:none!important;
  overflow:visible!important;margin:0!important;
}
body.app-home #homeView.home-v2 .home-shell{min-height:0!important}

/* O dock é um único objeto. Nada dentro dele pode voltar a position:fixed. */
#utilityDock{
  position:fixed!important;left:var(--utility-left)!important;right:auto!important;top:auto!important;
  bottom:14px!important;transform:none!important;margin:0!important;z-index:8900!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important;
}
#utilityDock .social-tool-orbs{
  position:static!important;inset:auto!important;transform:none!important;margin:0!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;
}
#utilityDock .social-chat-tab{
  position:static!important;inset:auto!important;transform:none!important;margin:0!important;
}

/* Fechado = fora de interação; aberto = sobe do chão poucos pixels. */
#miniCalcPanel,#bobPanel,#chatPanel{
  transition:opacity .18s ease,transform .28s cubic-bezier(.16,1,.3,1),visibility 0s linear .28s!important;
  will-change:transform,opacity!important;
}
body:not(.calc-open) #miniCalcPanel,
body:not(.bob-open) #bobPanel,
body:not(.chat-open) #chatPanel{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:translateY(18px) scale(.985)!important;
}
body.calc-open #miniCalcPanel,
body.bob-open #bobPanel,
body.chat-open #chatPanel{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:none!important;transition-delay:0s!important;
}

/* CALCULADORA: largura natural, piso = viewport. */
#miniCalcPanel{
  position:fixed!important;left:var(--utility-left)!important;right:auto!important;top:auto!important;bottom:var(--utility-floor)!important;
  width:300px!important;max-width:calc(100vw - 86px)!important;height:auto!important;max-height:calc(100dvh - var(--utility-header))!important;
  box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;
  border-radius:22px 22px 0 0!important;z-index:8854!important;margin:0!important;
}
body.calc-open:not(.chat-open) #utilityDock{left:328px!important;bottom:10px!important}
body.calc-open:not(.chat-open) #utilityDock .social-tool-orbs{flex-direction:column!important}
body.calc-open:not(.chat-open) #utilityDock .social-chat-label{display:none!important}
body.calc-open:not(.chat-open) #utilityDock .social-chat-tab{width:48px!important;min-width:48px!important;padding:0!important;justify-content:center!important}

/* BOB: painel vertical inteiro do header ao piso. */
#bobPanel{
  position:fixed!important;left:var(--utility-left)!important;right:auto!important;top:var(--utility-header)!important;bottom:var(--utility-floor)!important;
  width:min(430px,calc(100vw - 86px))!important;height:auto!important;max-height:none!important;
  display:flex!important;flex-direction:column!important;box-sizing:border-box!important;overflow:hidden!important;
  border-radius:26px 26px 0 0!important;z-index:8855!important;margin:0!important;
}
#bobPanel .bob-head,#bobPanel .bob-composer{flex:0 0 auto!important}
#bobPanel .bob-messages{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important}
body.bob-open:not(.chat-open) #utilityDock{left:458px!important;bottom:10px!important}
body.bob-open:not(.chat-open) #utilityDock .social-tool-orbs{flex-direction:column!important}
body.bob-open:not(.chat-open) #utilityDock .social-chat-label{display:none!important}
body.bob-open:not(.chat-open) #utilityDock .social-chat-tab{width:48px!important;min-width:48px!important;padding:0!important;justify-content:center!important}

/* CHAT: mesma geometria do BOB; conteúdo FLEX preenche o painel. */
#chatPanel{
  position:fixed!important;left:var(--utility-left)!important;right:auto!important;top:var(--utility-header)!important;bottom:var(--utility-floor)!important;
  width:min(430px,calc(100vw - 86px))!important;height:auto!important;max-height:none!important;
  display:flex!important;flex-direction:column!important;box-sizing:border-box!important;overflow:hidden!important;
  border-radius:26px 26px 0 0!important;z-index:8856!important;margin:0!important;
}
#chatPanel .chat-head,#chatPanel .chat-mode-tabs,#chatPanel .chat-private-tools,#chatPanel .chat-room-title,#chatPanel .chat-composer{flex:0 0 auto!important}
#chatPanel .chat-messages{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important}
#chatPanel.private-inbox #chatRoomList{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important}
body.chat-open #utilityDock{left:458px!important;bottom:10px!important}
body.chat-open #utilityDock .social-tool-orbs{flex-direction:column!important}
body.chat-open #utilityDock .social-chat-label{display:none!important}
body.chat-open #utilityDock .social-chat-tab{width:48px!important;min-width:48px!important;padding:0!important;justify-content:center!important}

/* Se Chat + outra ferramenta estiverem abertos em desktop largo, lado a lado. */
@media(min-width:1020px){
  body.chat-open.calc-open #miniCalcPanel{left:458px!important}
  body.chat-open.bob-open #bobPanel{left:458px!important;width:min(430px,calc(100vw - 544px))!important}
  body.chat-open.calc-open #utilityDock,
  body.chat-open.bob-open #utilityDock{left:898px!important}
}

/* Em telas menores, BOB/Calculadora podem sobrepor o Chat, mas nunca saem da viewport. */
@media(max-width:1019px){
  body.chat-open.calc-open #miniCalcPanel{z-index:8862!important}
  body.chat-open.bob-open #bobPanel{z-index:8862!important}
  body.chat-open.calc-open #utilityDock,
  body.chat-open.bob-open #utilityDock{left:auto!important;right:8px!important}
}

@media(max-width:540px){
  :root{--utility-left:0px}
  #miniCalcPanel{right:62px!important;width:auto!important;max-width:none!important}
  #bobPanel,#chatPanel{right:62px!important;width:auto!important;border-radius:20px 20px 0 0!important}
  #utilityDock{left:auto!important;right:8px!important;bottom:8px!important}
  body.calc-open:not(.chat-open) #utilityDock,
  body.bob-open:not(.chat-open) #utilityDock,
  body.chat-open #utilityDock{left:auto!important;right:8px!important;bottom:8px!important}
}

/* Home baixa: compacta a composição, não cria scroll de página. */
@media(max-height:620px){
  body.app-home #homeView.home-v2 .home-shell{transform:scale(.94);transform-origin:top center;width:106.4%;margin-left:-3.2%}
  #miniCalcPanel{max-height:calc(100dvh - 54px)!important}
  .mini-calc-display{height:48px!important;min-height:48px!important}
  .mini-calc-grid{gap:5px!important}
  .mini-calc-key{height:35px!important;min-height:35px!important}
  .mini-calc-note{display:none!important}
}



/* ========================================================================
   BRUTAL REIMAGINATION V1 · COMMAND CENTER + RESPONSIVE SYSTEM
   ------------------------------------------------------------------------
   Objetivo: reimaginar a experiência SEM tocar em Supabase, schema, RPCs,
   localStorage, IDs funcionais ou bindings. Esta é deliberadamente a última
   camada visual para encerrar a cascata de hotfixes anteriores.
   ======================================================================== */

body{
  --br-max:1480px;
  --br-content:1120px;
  --br-radius-xl:26px;
  --br-radius-lg:20px;
  --br-radius-md:14px;
  --br-border:color-mix(in srgb,var(--line) 82%,transparent);
  --br-glass:color-mix(in srgb,var(--panel-strong) 90%,transparent);
  --br-soft:color-mix(in srgb,var(--panel-soft) 82%,transparent);
  --br-elev:0 24px 64px rgba(0,0,0,.14),0 5px 18px rgba(0,0,0,.06);
  --br-elev-soft:0 12px 34px rgba(0,0,0,.09),0 2px 8px rgba(0,0,0,.04);
}
html{scroll-padding-top:110px}
body,main,section,aside,div{min-width:0}

/* ---------- APP SHELL / HEADER ---------- */
.app-header{
  background:color-mix(in srgb,var(--panel-strong) 82%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.025),0 10px 30px rgba(0,0,0,.035)!important;
}
.app-header .header-inner{
  width:min(var(--br-max),calc(100% - 56px))!important;
  min-height:78px!important;
  gap:14px!important;
}
.app-header .brand-wrap{min-width:158px!important}
.app-header .brand{font-size:15px!important;letter-spacing:-.03em!important}
.app-header .brand-sub{font-size:10px!important;opacity:.88}
.app-header .nav{
  margin-left:12px!important;
  gap:3px!important;
  padding:4px!important;
  border:1px solid var(--br-border)!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--panel) 74%,transparent)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.app-header .nav button{
  min-height:38px!important;
  border-radius:10px!important;
  padding:0 14px!important;
  font-size:11.5px!important;
}
.app-header .nav button::after{display:none!important}
.app-header .nav button.active{
  background:color-mix(in srgb,var(--blue) 13%,var(--panel-strong))!important;
  color:var(--blue)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.055),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.app-header .header-actions{gap:7px!important}
.app-header .theme-btn,.app-header .mute-btn,.app-header .profile-orb{
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  border-radius:12px!important;
}
.app-header .admin-btn{
  min-height:40px!important;
  border-radius:12px!important;
  padding:0 13px!important;
  font-size:10.5px!important;
}
.status-hub{height:36px!important;min-width:36px!important;padding:0 10px!important}

/* ---------- HOME = CENTRAL OPERACIONAL ---------- */
body.app-home #homeView.home-v2{
  padding:26px 0 72px!important;
  min-height:calc(100dvh - 78px)!important;
  display:flex!important;
  align-items:center!important;
}
body.app-home .home-shell{
  width:min(1360px,calc(100% - 64px))!important;
  max-width:1360px!important;
}
body.app-home .home-v2 .hero{
  min-height:min(720px,calc(100dvh - 126px))!important;
  padding:46px 0 28px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;
  grid-template-areas:
    "eyebrow search"
    "title search"
    "bob search"
    "actions search"
    "foot foot"!important;
  grid-template-rows:auto auto auto 1fr auto!important;
  column-gap:clamp(42px,6vw,88px)!important;
  row-gap:0!important;
  align-items:start!important;
  align-content:center!important;
}
.home-v2 .eyebrow{grid-area:eyebrow!important}
.home-v2 h1{grid-area:title!important}
.home-v2 .bob-moment{grid-area:bob!important}
.home-v2 .hero-actions{grid-area:actions!important}
.home-v2 .search-panel{grid-area:search!important}
.home-v2 .home-foot{grid-area:foot!important}

.home-v2 .eyebrow{
  font-size:9.5px!important;
  letter-spacing:.19em!important;
  opacity:.92!important;
}
.home-v2 h1{
  margin:20px 0 0!important;
  max-width:760px!important;
  font-size:clamp(58px,5.8vw,92px)!important;
  line-height:.92!important;
  letter-spacing:-.065em!important;
  text-wrap:balance!important;
}
.home-v2 .bob-moment{
  margin-top:28px!important;
  max-width:690px!important;
  gap:13px!important;
}
.home-v2 .bob-msg{
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:620!important;
}
.home-v2 .hero-actions{
  margin-top:30px!important;
  align-self:start!important;
}
.home-v2 .hero-action{
  min-height:54px!important;
  border-radius:15px!important;
  padding:0 21px!important;
  font-size:12.5px!important;
  box-shadow:0 10px 26px rgba(0,0,0,.075)!important;
}
.home-v2 .search-panel{
  width:100%!important;
  max-width:470px!important;
  margin:0!important;
  align-self:center!important;
  justify-self:end!important;
  padding:22px!important;
  border-radius:var(--br-radius-xl)!important;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--panel-strong) 92%,transparent),color-mix(in srgb,var(--panel) 86%,transparent))!important;
  border:1px solid color-mix(in srgb,var(--line) 88%,white 12%)!important;
  box-shadow:var(--br-elev)!important;
  overflow:hidden!important;
}
.home-v2 .search-panel::before{
  content:"";
  position:absolute;
  left:22px;right:22px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--blue) 55%,white 45%),transparent);
  opacity:.55;
}
.home-v2 .search-label{
  margin:0 0 12px 2px!important;
  letter-spacing:.16em!important;
  font-size:9px!important;
}
.home-v2 .search-wrap input{
  height:54px!important;
  border-radius:14px!important;
  padding-left:46px!important;
  font-size:13px!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.035)!important;
}
.home-v2 .search-wrap>span{top:16px!important;left:16px!important}
.home-v2 .people{
  grid-template-columns:1fr!important;
  gap:7px!important;
  max-height:338px!important;
  margin-top:10px!important;
}
.home-v2 .people-result{
  min-height:58px!important;
  border-radius:13px!important;
  padding:10px 11px!important;
}
.home-v2 .home-foot{
  margin-top:44px!important;
  padding-top:18px!important;
  font-size:9.5px!important;
  opacity:.90!important;
}

/* ---------- MODELOS / GRERJ = WORKSPACE ---------- */
body:not(.app-home):not(.profile-view) .controls{
  position:sticky!important;
  top:78px!important;
  z-index:31!important;
  background:color-mix(in srgb,var(--panel-strong) 88%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 66%,transparent)!important;
  box-shadow:0 9px 28px rgba(0,0,0,.035)!important;
}
body:not(.app-home):not(.profile-view) .searchbar{
  width:min(var(--br-max),calc(100% - 56px))!important;
  max-width:var(--br-max)!important;
  margin:0 auto!important;
  padding:16px 0 14px!important;
  display:grid!important;
  grid-template-columns:minmax(300px,700px) minmax(0,1fr)!important;
  grid-template-areas:
    "query tabs"
    "options options"
    "hint hint"!important;
  gap:9px 18px!important;
  align-items:center!important;
}
body:not(.app-home):not(.profile-view) .searchbar .searchwrap{grid-area:query!important;max-width:none!important}
body:not(.app-home):not(.profile-view) .searchbar .tabs{
  grid-area:tabs!important;
  margin:0!important;
  justify-content:flex-end!important;
  overflow:auto!important;
  scrollbar-width:none!important;
}
body:not(.app-home):not(.profile-view) .searchbar .tabs::-webkit-scrollbar{display:none}
body:not(.app-home):not(.profile-view) .search-options{
  grid-area:options!important;
  margin:0!important;
  gap:7px!important;
}
body:not(.app-home):not(.profile-view) .search-options>b{
  font-size:10px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--muted)!important;
}
body:not(.app-home):not(.profile-view) .search-options label{
  min-height:30px!important;
  padding:5px 9px!important;
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--panel) 62%,transparent)!important;
  font-size:10.5px!important;
}
body:not(.app-home):not(.profile-view) .search-hint{
  grid-area:hint!important;
  margin:0!important;
  font-size:10px!important;
  opacity:.72!important;
}
body:not(.app-home):not(.profile-view) .searchwrap input{
  height:50px!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--panel-strong) 94%,transparent)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.035),0 5px 16px rgba(0,0,0,.04)!important;
}
body:not(.app-home):not(.profile-view) main.shell{
  width:min(var(--br-max),calc(100% - 56px))!important;
  max-width:var(--br-max)!important;
  margin:0 auto!important;
  padding:28px 0 96px!important;
  grid-template-columns:238px minmax(0,1fr)!important;
  gap:32px!important;
  align-items:start!important;
}
body:not(.app-home):not(.profile-view) main.shell>section{
  width:100%!important;
  max-width:var(--br-content)!important;
}
body:not(.app-home):not(.profile-view) .side{
  top:210px!important;
  border-radius:18px!important;
  padding:10px!important;
  background:color-mix(in srgb,var(--panel) 76%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--line) 76%,transparent)!important;
  box-shadow:none!important;
}
body:not(.app-home):not(.profile-view) .side h2{
  margin:6px 10px 9px!important;
  font-size:9px!important;
  letter-spacing:.18em!important;
}
body:not(.app-home):not(.profile-view) .cats{gap:3px!important}
body:not(.app-home):not(.profile-view) .cats button{
  min-height:40px!important;
  padding:9px 11px!important;
  border-radius:10px!important;
  font-size:12px!important;
}
body:not(.app-home):not(.profile-view) .topline{
  align-items:flex-end!important;
  margin:2px 0 17px!important;
}
body:not(.app-home):not(.profile-view) .topline h1{
  font-size:clamp(24px,2.3vw,34px)!important;
  letter-spacing:-.045em!important;
  margin-top:4px!important;
}
body:not(.app-home):not(.profile-view) .count{
  font-size:10px!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
body:not(.app-home):not(.profile-view) .cards{gap:14px!important}
body:not(.app-home):not(.profile-view) .card{
  border-radius:var(--br-radius-lg)!important;
  border-color:color-mix(in srgb,var(--line) 80%,transparent)!important;
  box-shadow:var(--br-elev-soft)!important;
  overflow:hidden!important;
}
body:not(.app-home):not(.profile-view) .card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.11)!important;
}
body:not(.app-home):not(.profile-view) .cardhead{
  padding:15px 17px!important;
  gap:14px!important;
  background:color-mix(in srgb,var(--panel-soft) 70%,transparent)!important;
}
body:not(.app-home):not(.profile-view) .body{
  padding:19px 21px 22px!important;
  line-height:1.72!important;
  font-size:14px!important;
  max-width:100ch!important;
}
body:not(.app-home):not(.profile-view) .copy,
body:not(.app-home):not(.profile-view) .quick-edit{
  min-height:42px!important;
  padding:0 14px!important;
  border-radius:11px!important;
  font-size:11.5px!important;
}

/* GRERJ: desktop arejado e inputs previsíveis */
.grerj-shell{gap:14px!important}
.grerj-hero,.grerj-card,.grerj-summary,.grerj-certificate{
  border-radius:var(--br-radius-lg)!important;
  box-shadow:var(--br-elev-soft)!important;
}
.grerj-hero{padding:20px 22px!important}
.grerj-row{
  grid-template-columns:minmax(150px,1.25fr) 82px 112px 76px minmax(145px,1fr) 96px minmax(150px,1fr)!important;
  gap:10px!important;
  padding:13px 14px!important;
}
.grerj-head{font-size:9px!important;letter-spacing:.09em!important}
.grerj-name{font-size:12px!important}
.grerj-code{font-size:10px!important}
.grerj-due{font-size:11.5px!important}
.grerj-result{font-size:11.5px!important}
.grerj-qty,.money-input,.pct-input{min-height:42px!important;border-radius:11px!important}
.tax-card{padding:20px!important}
.tax-grid{gap:11px!important}
.calc-box{border-radius:12px!important}

/* ---------- PERFIL ---------- */
.profile-interface{
  width:min(1240px,calc(100% - 56px))!important;
  padding:34px 0 84px!important;
  min-height:calc(100dvh - 78px)!important;
}
.profile-interface-inner{max-width:1120px!important}
.profile-interface-nav{margin-bottom:18px!important}
.profile-hero-v2{
  border-radius:var(--br-radius-xl)!important;
  padding:22px!important;
  box-shadow:var(--br-elev-soft)!important;
}
.profile-dashboard-v2{gap:14px!important}
.profile-box-v2{border-radius:var(--br-radius-lg)!important;padding:18px!important;box-shadow:var(--br-elev-soft)!important}
.profile-session-v2{border-radius:var(--br-radius-lg)!important}

/* ---------- ADMIN ---------- */
#modal .panel{
  width:min(1180px,calc(100vw - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  border-radius:24px!important;
}
#modal .admin-grid{grid-template-columns:minmax(230px,270px) minmax(0,1fr)!important}
#modal .admin-dock{border-radius:16px!important}
#modal .admin-nav{border-radius:18px!important}
#modal .formbox{border-radius:16px!important}

/* ---------- RESPONSIVE: TABLET ---------- */
@media(max-width:1120px){
  .app-header .header-inner{width:calc(100% - 32px)!important}
  .status-slot{display:none!important}
  .app-header .brand-wrap{min-width:138px!important}
  .app-header .nav{margin-left:4px!important}
  .app-header .nav button{padding:0 11px!important}

  body.app-home .home-shell{width:calc(100% - 48px)!important}
  body.app-home .home-v2 .hero{
    grid-template-columns:minmax(0,1fr) minmax(330px,.82fr)!important;
    column-gap:40px!important;
  }
  .home-v2 h1{font-size:clamp(52px,7.3vw,78px)!important}

  body:not(.app-home):not(.profile-view) .searchbar,
  body:not(.app-home):not(.profile-view) main.shell{width:calc(100% - 40px)!important}
  body:not(.app-home):not(.profile-view) main.shell{grid-template-columns:210px minmax(0,1fr)!important;gap:24px!important}
}

@media(max-width:900px){
  /* Header em duas faixas. A navegação NÃO desaparece. */
  .app-header .header-inner{
    width:100%!important;
    padding:8px 14px 9px!important;
    min-height:0!important;
    flex-wrap:wrap!important;
    gap:8px 10px!important;
  }
  .app-header .mark{width:40px!important;height:40px!important;min-width:40px!important;border-radius:12px!important}
  .app-header .brand-wrap{min-width:0!important;flex:1 1 auto!important}
  .app-header .spacer{display:none!important}
  .app-header .header-actions{margin-left:auto!important;order:2!important;gap:6px!important}
  .app-header .nav{
    display:flex!important;
    order:4!important;
    width:100%!important;
    margin:0!important;
    padding:3px!important;
  }
  .app-header .nav button{flex:1 1 0!important;min-width:0!important;min-height:36px!important;padding:0 8px!important}
  .app-header .offline{display:none!important}
  .app-header .admin-btn{
    width:40px!important;min-width:40px!important;padding:0!important;font-size:0!important;
  }
  .app-header .admin-btn::before{content:"🔒";font-size:14px!important}
  .app-header .header-logout{display:none!important}

  body.app-home #homeView.home-v2{min-height:0!important;padding:18px 0 68px!important;align-items:flex-start!important}
  body.app-home .home-shell{width:calc(100% - 36px)!important}
  body.app-home .home-v2 .hero{
    min-height:0!important;
    padding:34px 0 16px!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"eyebrow" "title" "bob" "actions" "search" "foot"!important;
    grid-template-rows:auto!important;
  }
  .home-v2 .eyebrow{justify-content:flex-start!important}
  .home-v2 .eyebrow::before{display:block!important}
  .home-v2 h1{text-align:left!important;font-size:clamp(50px,10.5vw,72px)!important;max-width:720px!important}
  .home-v2 .bob-moment{margin-left:0!important;margin-right:0!important;text-align:left!important}
  .home-v2 .hero-actions{justify-content:flex-start!important}
  .home-v2 .hero-action{flex:0 1 auto!important;min-width:160px!important}
  .home-v2 .search-panel{max-width:none!important;justify-self:stretch!important;margin-top:34px!important}
  .home-v2 .people{grid-template-columns:1fr 1fr!important}
  .home-v2 .home-foot{margin-top:28px!important}

  body:not(.app-home):not(.profile-view) .controls{top:113px!important}
  body:not(.app-home):not(.profile-view) .searchbar{
    width:calc(100% - 30px)!important;
    padding:13px 0!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"query" "tabs" "options" "hint"!important;
  }
  body:not(.app-home):not(.profile-view) .searchbar .tabs{justify-content:flex-start!important}
  body:not(.app-home):not(.profile-view) main.shell{
    width:calc(100% - 30px)!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding-top:18px!important;
  }
  body:not(.app-home):not(.profile-view) .side{
    position:static!important;
    padding:8px!important;
    border-radius:15px!important;
    overflow:hidden!important;
  }
  body:not(.app-home):not(.profile-view) .side h2{margin:4px 7px 8px!important}
  body:not(.app-home):not(.profile-view) .cats{
    flex-direction:row!important;
    overflow-x:auto!important;
    gap:6px!important;
    scrollbar-width:none!important;
    padding-bottom:1px!important;
  }
  body:not(.app-home):not(.profile-view) .cats::-webkit-scrollbar{display:none}
  body:not(.app-home):not(.profile-view) .cats button{white-space:nowrap!important;flex:0 0 auto!important;min-height:36px!important}
  body:not(.app-home):not(.profile-view) main.shell>section{max-width:none!important}

  .profile-interface{width:calc(100% - 36px)!important;padding-top:28px!important}
  .profile-dashboard-v2{grid-template-columns:1fr 1fr!important}
  .profile-avatar-box-v2{grid-column:1/-1!important}
}

/* ---------- RESPONSIVE: MOBILE ---------- */
@media(max-width:650px){
  html{scroll-padding-top:106px}
  .app-header .header-inner{padding-left:10px!important;padding-right:10px!important}
  .app-header .brand{font-size:13.5px!important}
  .app-header .brand-sub{font-size:9px!important}
  .app-header .theme-btn,.app-header .mute-btn,.app-header .profile-orb,.app-header .admin-btn{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:11px!important;
  }
  .app-header .nav button{font-size:10.5px!important;min-height:34px!important}

  body.app-home .home-shell{width:calc(100% - 28px)!important}
  body.app-home .home-v2 .hero{padding-top:28px!important}
  .home-v2 .eyebrow{font-size:8.5px!important}
  .home-v2 h1{font-size:clamp(44px,13.2vw,62px)!important;line-height:.94!important;margin-top:16px!important}
  .home-v2 .bob-moment{margin-top:22px!important}
  .home-v2 .bob-msg{font-size:14px!important}
  .home-v2 .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:9px!important;margin-top:24px!important}
  .home-v2 .hero-action{width:100%!important;min-width:0!important;min-height:50px!important;padding:0 10px!important}
  .home-v2 .search-panel{padding:15px!important;border-radius:20px!important;margin-top:26px!important}
  .home-v2 .search-panel::before{left:16px;right:16px}
  .home-v2 .search-wrap input{height:50px!important}
  .home-v2 .people{grid-template-columns:1fr!important;max-height:280px!important}
  .home-v2 .home-foot{align-items:flex-start!important;flex-direction:column!important;gap:6px!important}

  body:not(.app-home):not(.profile-view) .controls{top:105px!important}
  body:not(.app-home):not(.profile-view) .searchbar{width:calc(100% - 24px)!important}
  body:not(.app-home):not(.profile-view) .search-options{align-items:stretch!important}
  body:not(.app-home):not(.profile-view) .search-options>b{width:100%!important}
  body:not(.app-home):not(.profile-view) .search-options label{flex:1 1 150px!important}
  body:not(.app-home):not(.profile-view) .search-hint{display:none!important}
  body:not(.app-home):not(.profile-view) main.shell{width:calc(100% - 24px)!important;padding-bottom:82px!important}
  body:not(.app-home):not(.profile-view) .topline{align-items:flex-start!important;gap:10px!important}
  body:not(.app-home):not(.profile-view) .topline h1{font-size:26px!important}
  body:not(.app-home):not(.profile-view) .cardhead{padding:13px!important}
  body:not(.app-home):not(.profile-view) .tags{flex-wrap:wrap!important}
  body:not(.app-home):not(.profile-view) .card-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  body:not(.app-home):not(.profile-view) .card-actions .quick-edit,
  body:not(.app-home):not(.profile-view) .card-actions .copy{width:100%!important}
  body:not(.app-home):not(.profile-view) .body{padding:16px!important;font-size:13.5px!important;line-height:1.68!important}

  /* GRERJ em mobile vira cards legíveis, em vez de uma coluna sem rótulos. */
  .grerj-card:not(.tax-card){
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    display:grid!important;
    gap:10px!important;
  }
  .grerj-head{display:none!important}
  .grerj-row:not(.grerj-head){
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px 10px!important;
    padding:15px!important;
    margin:0!important;
    border:1px solid var(--line)!important;
    border-radius:17px!important;
    background:var(--panel)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.07)!important;
  }
  .grerj-row:not(.grerj-head)>.grerj-name{
    grid-column:1/-1!important;
    font-size:14px!important;
    padding-bottom:3px!important;
  }
  .grerj-row:not(.grerj-head)>div:nth-child(2)::before,
  .grerj-row:not(.grerj-head)>div:nth-child(3)::before,
  .grerj-row:not(.grerj-head)>div:nth-child(4)::before,
  .grerj-row:not(.grerj-head)>div:nth-child(5)::before,
  .grerj-row:not(.grerj-head)>div:nth-child(6)::before,
  .grerj-row:not(.grerj-head)>div:nth-child(7)::before{
    display:block!important;
    margin-bottom:5px!important;
    color:var(--muted)!important;
    font-size:8px!important;
    font-weight:900!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }
  .grerj-row:not(.grerj-head)>div:nth-child(2)::before{content:"Conta"}
  .grerj-row:not(.grerj-head)>div:nth-child(3)::before{content:"TJRJ"}
  .grerj-row:not(.grerj-head)>div:nth-child(4)::before{content:"Quantidade"}
  .grerj-row:not(.grerj-head)>div:nth-child(5)::before{content:"Recolheu"}
  .grerj-row:not(.grerj-head)>div:nth-child(6)::before{content:"Dispensa"}
  .grerj-row:not(.grerj-head)>div:nth-child(7)::before{content:"Resultado"}
  .grerj-row:not(.grerj-head)>div:nth-child(5),
  .grerj-row:not(.grerj-head)>div:nth-child(7){grid-column:1/-1!important}
  .grerj-row:not(.grerj-head) .grerj-qty,
  .grerj-row:not(.grerj-head) .money-input,
  .grerj-row:not(.grerj-head) .dispense-btn{width:100%!important}
  .tax-title{align-items:flex-start!important;flex-direction:column!important}
  .tax-title-actions{width:100%!important;flex-wrap:wrap!important}
  .tax-grid{grid-template-columns:1fr!important}

  .profile-interface{width:calc(100% - 24px)!important;padding:22px 0 74px!important}
  .profile-interface-nav{gap:10px!important;align-items:flex-start!important}
  .profile-interface-heading h1{font-size:26px!important}
  .profile-interface-heading p{font-size:11.5px!important}
  .profile-hero-v2{grid-template-columns:72px 1fr!important;padding:16px!important;gap:13px!important}
  .profile-photo-v2{width:72px!important;height:72px!important}
  .profile-hero-status{grid-column:1/-1!important}
  .profile-dashboard-v2{grid-template-columns:1fr!important}
  .profile-avatar-box-v2{grid-column:auto!important}
  .profile-session-v2{align-items:flex-start!important;flex-direction:column!important}

  /* Admin = workspace fullscreen no telefone. */
  #modal{padding:0!important;align-items:stretch!important}
  #modal .panel{
    width:100vw!important;height:100dvh!important;max-height:none!important;
    border-radius:0!important;padding:0!important;
  }
  #modal .admin-command-header{position:sticky!important;top:0!important;z-index:30!important}
  #modal .admin-grid,#modal .admin-grid.nav-collapsed{padding:8px!important;gap:8px!important}
  #modal .admin-nav{max-height:210px!important;border-radius:14px!important}
  #modal .admin-dock .secondary{min-width:116px!important}
  #modal .admin-view-hero{padding:14px!important;border-radius:14px!important}
  #modal .formbox{padding:13px!important;border-radius:14px!important}

  .theme-menu{top:102px!important;right:8px!important;width:calc(100vw - 16px)!important;max-height:calc(100dvh - 116px)!important;overflow:auto!important}
}

@media(max-width:430px){
  .app-header .brand-sub{display:none!important}
  .app-header .mark{width:38px!important;height:38px!important;min-width:38px!important}
  .app-header .brand{font-size:12.8px!important}
  .app-header .theme-btn,.app-header .mute-btn,.app-header .profile-orb,.app-header .admin-btn{
    width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
  }
  .home-v2 .hero-actions{grid-template-columns:1fr!important}
  .home-v2 h1{font-size:clamp(42px,14vw,56px)!important}
  .home-v2 .bob-orb{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}
  body:not(.app-home):not(.profile-view) .search-options{display:none!important}
  body:not(.app-home):not(.profile-view) .controls{top:95px!important}
  .grerj-row:not(.grerj-head){grid-template-columns:1fr!important}
  .grerj-row:not(.grerj-head)>div{grid-column:1!important}
}

/* A regra antiga de ecrã baixo escalava a Home inteira e podia causar overflow. */
@media(max-height:620px){
  body.app-home #homeView.home-v2 .home-shell{
    transform:none!important;width:min(1360px,calc(100% - 36px))!important;margin-left:auto!important;margin-right:auto!important;
  }
  body.app-home .home-v2 .hero{min-height:0!important;padding-top:24px!important;padding-bottom:18px!important}
  .home-v2 h1{font-size:clamp(44px,8vh,68px)!important}
  .home-v2 .search-panel{padding:15px!important}
}

@media(prefers-reduced-motion:reduce){
  .app-header,.controls,.side,.card,.grerj-row,.profile-box-v2,.profile-hero-v2{scroll-behavior:auto!important}
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   REIMAGINAÇÃO V2 · COMMAND CENTER
   Camada visual/funcional aditiva. Não altera schema, RPCs nem autenticação.
   ======================================================================== */
:root{
  --rx-ink:#173454;--rx-muted:#687d93;--rx-line:rgba(108,142,180,.22);
  --rx-glass:rgba(255,255,255,.70);--rx-glass-strong:rgba(255,255,255,.86);
  --rx-shadow:0 24px 70px rgba(25,55,91,.11);--rx-shadow-soft:0 12px 34px rgba(25,55,91,.075);
  --rx-accent:#3269aa;--rx-accent-2:#5f93ca;--rx-green:#27795a;
}
html[data-theme="sunset"],html[data-theme="night"],html[data-theme="midnight"]{
  --rx-ink:#edf5ff;--rx-muted:#a9bad0;--rx-line:rgba(182,205,235,.17);
  --rx-glass:rgba(13,22,36,.56);--rx-glass-strong:rgba(15,24,39,.76);
  --rx-shadow:0 26px 90px rgba(0,0,0,.27);--rx-shadow-soft:0 12px 38px rgba(0,0,0,.18);
  --rx-accent:#82b9f5;--rx-accent-2:#b6d6fb;--rx-green:#86d6b6;
}
body{overflow-x:hidden}

/* Header como barra de comando flutuante em desktop. */
@media(min-width:1181px){
  .app-header{
    margin:12px auto 0!important;width:min(1760px,calc(100% - 28px))!important;
    border:1px solid var(--rx-line)!important;border-radius:22px!important;
    box-shadow:var(--rx-shadow-soft)!important;overflow:visible!important;
    background:var(--rx-glass-strong)!important;
  }
  .app-header .header-inner{min-height:64px!important;padding:0 16px!important}
  body:not(.app-home) .controls{margin-top:14px!important}
}

/* ===== HOME · central operacional ===== */
body.app-home #homeView.home-command-center{
  display:block!important;min-height:calc(100svh - 82px)!important;padding:24px 20px 52px!important;
}
.home-command-center .home-workspace{width:min(1560px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.72fr);gap:18px;align-items:start}
.home-command-center .home-main,.home-command-center .home-rail{min-width:0;display:grid;gap:18px}
.rx-panel{
  position:relative;border:1px solid var(--rx-line);background:var(--rx-glass);border-radius:24px;
  box-shadow:var(--rx-shadow-soft);backdrop-filter:blur(24px) saturate(1.08);-webkit-backdrop-filter:blur(24px) saturate(1.08);
  color:var(--rx-ink);overflow:hidden
}
.rx-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 32%,transparent 68%,rgba(255,255,255,.08))}

.home-command-center .command-hero{padding:34px 34px 30px;min-height:360px;display:grid;align-content:space-between;isolation:isolate}
.home-command-center .command-hero::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-100px;top:-150px;background:radial-gradient(circle,rgba(100,174,245,.24),rgba(100,174,245,0) 70%);filter:blur(4px);z-index:-1}
.rx-eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:var(--rx-muted)}
.rx-eyebrow .pulse{width:7px;height:7px;border-radius:50%;background:var(--rx-green);box-shadow:0 0 0 5px color-mix(in srgb,var(--rx-green) 13%,transparent)}
.home-command-center h1{margin:20px 0 10px!important;max-width:840px;color:var(--rx-ink)!important;font-size:clamp(42px,5.6vw,78px)!important;line-height:.94!important;letter-spacing:-.06em!important;text-shadow:none!important}
.home-command-center h1 .name{color:var(--rx-accent)!important}
.home-command-center .hero-copy{max-width:700px;color:var(--rx-muted);font-size:14px;line-height:1.65;margin:0 0 22px}
.home-command-center .bob-moment{margin:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:11px!important;max-width:760px}
.home-command-center .bob-orb{width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:14px!important;background:linear-gradient(145deg,var(--rx-accent),color-mix(in srgb,var(--rx-accent) 60%,#233e66))!important;color:#fff!important;box-shadow:0 12px 24px color-mix(in srgb,var(--rx-accent) 25%,transparent)!important}
.home-command-center .bob-msg{margin:0!important;color:var(--rx-muted)!important;text-align:left!important;font-size:13px!important}

/* Barra universal */
.rx-command-box{margin-top:26px;position:relative}
.rx-command-input{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:10px 11px 10px 15px;border:1px solid var(--rx-line);background:var(--rx-glass-strong);border-radius:17px;box-shadow:0 14px 34px rgba(23,54,93,.09);transition:.2s}
.rx-command-input:focus-within{transform:translateY(-2px);border-color:color-mix(in srgb,var(--rx-accent) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--rx-accent) 12%,transparent),0 20px 44px rgba(23,54,93,.12)}
.rx-command-input .glass-icon{font-size:20px;color:var(--rx-accent)}
.rx-command-input input{width:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:var(--rx-ink)!important;font-size:15px!important;padding:9px 0!important;box-shadow:none!important;transform:none!important}
.rx-kbd{border:1px solid var(--rx-line);background:color-mix(in srgb,var(--rx-glass-strong) 90%,transparent);border-radius:9px;padding:5px 7px;color:var(--rx-muted);font-size:10px;font-weight:900;white-space:nowrap}
.rx-command-hint{margin:8px 2px 0;color:var(--rx-muted);font-size:10.5px}

/* Ações grandes */
.rx-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
.rx-action{position:relative;overflow:hidden;min-height:92px;border:1px solid var(--rx-line);background:color-mix(in srgb,var(--rx-glass-strong) 87%,transparent);border-radius:17px;padding:15px;text-align:left;color:var(--rx-ink);cursor:pointer;transition:transform .2s var(--ease-ios),border-color .2s,background .2s,box-shadow .2s}
.rx-action:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--rx-accent) 40%,transparent);box-shadow:0 14px 30px rgba(23,54,93,.10)}
.rx-action.primary{background:linear-gradient(145deg,color-mix(in srgb,var(--rx-accent) 90%,#21446f),var(--rx-accent));color:#fff;border-color:transparent}
.rx-action .rx-action-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.14);font-size:15px;margin-bottom:13px}
.rx-action:not(.primary) .rx-action-icon{background:color-mix(in srgb,var(--rx-accent) 10%,transparent);color:var(--rx-accent)}
.rx-action strong{display:block;font-size:12.5px}.rx-action small{display:block;margin-top:3px;font-size:9.5px;line-height:1.3;opacity:.72}

/* métricas */
.rx-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rx-stat{padding:17px 18px;min-height:106px;display:flex;flex-direction:column;justify-content:space-between}
.rx-stat span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--rx-muted)}
.rx-stat strong{font-size:28px;letter-spacing:-.04em;color:var(--rx-ink)}
.rx-stat small{font-size:10px;color:var(--rx-muted)}
.rx-stat .online{color:var(--rx-green)}

/* favoritos + recentes */
.rx-section{padding:20px}
.rx-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.rx-section-title{min-width:0}.rx-section-title b{display:block;color:var(--rx-ink);font-size:14px}.rx-section-title small{display:block;color:var(--rx-muted);font-size:10px;margin-top:2px}
.rx-text-btn{border:0;background:transparent;color:var(--rx-accent);font-weight:800;font-size:10.5px;cursor:pointer;padding:7px 8px;border-radius:8px}
.rx-text-btn:hover{background:color-mix(in srgb,var(--rx-accent) 9%,transparent)}
.rx-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.rx-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--rx-line);background:color-mix(in srgb,var(--rx-glass-strong) 78%,transparent);border-radius:14px;padding:10px;min-width:0;transition:.18s}
.rx-item:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--rx-accent) 35%,transparent)}
.rx-item-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--rx-accent) 10%,transparent);color:var(--rx-accent);font-size:14px}
.rx-item-copy{min-width:0}.rx-item-copy b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--rx-ink);font-size:11.5px}.rx-item-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--rx-muted);font-size:9.5px;margin-top:2px}
.rx-item-actions{display:flex;gap:5px}.rx-mini{width:30px;height:30px;border:1px solid var(--rx-line);border-radius:9px;background:transparent;color:var(--rx-accent);cursor:pointer}.rx-mini:hover{background:color-mix(in srgb,var(--rx-accent) 9%,transparent)}
.rx-empty{grid-column:1/-1;border:1px dashed var(--rx-line);border-radius:14px;padding:17px;color:var(--rx-muted);font-size:10.5px;text-align:center}

/* rail */
.home-command-center .home-rail{position:sticky;top:92px}
.rx-rail-card{padding:18px}
.rx-rail-card h2{margin:0;color:var(--rx-ink);font-size:14px}.rx-rail-card>p{margin:4px 0 14px;color:var(--rx-muted);font-size:10.5px;line-height:1.45}
.home-command-center .search-panel{margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.home-command-center .home-people-search{width:auto!important;margin:0!important;position:relative!important;z-index:30!important}
.home-command-center .search-label{color:var(--rx-muted)!important;margin-bottom:7px!important}
.home-command-center .search-wrap{max-width:none!important}
.home-command-center .search-wrap input{height:46px!important;border:1px solid var(--rx-line)!important;background:var(--rx-glass-strong)!important;color:var(--rx-ink)!important;border-radius:13px!important;box-shadow:none!important}
.home-command-center .people-results-home{background:var(--rx-glass-strong)!important;border-color:var(--rx-line)!important;color:var(--rx-ink)!important}

.rx-scratch textarea{width:100%;min-height:156px;resize:vertical;border:1px solid var(--rx-line);border-radius:13px;background:color-mix(in srgb,var(--rx-glass-strong) 83%,transparent);color:var(--rx-ink);padding:12px;font:12px/1.55 inherit;outline:0;transition:.18s}
.rx-scratch textarea:focus{border-color:color-mix(in srgb,var(--rx-accent) 45%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--rx-accent) 10%,transparent)}
.rx-scratch-actions{display:flex;justify-content:space-between;gap:7px;margin-top:9px}.rx-scratch-actions span{align-self:center;font-size:9px;color:var(--rx-muted)}
.rx-scratch-buttons{display:flex;gap:6px}.rx-scratch-buttons button{border:1px solid var(--rx-line);border-radius:9px;background:transparent;color:var(--rx-accent);font-size:10px;font-weight:800;padding:7px 9px;cursor:pointer}
.rx-shortcuts{display:grid;gap:8px}.rx-shortcut-row{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--rx-muted);font-size:10px}.rx-shortcut-row kbd{font:900 9px inherit;color:var(--rx-ink);border:1px solid var(--rx-line);border-bottom-width:2px;background:var(--rx-glass-strong);border-radius:7px;padding:4px 6px}
.rx-system-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid var(--rx-line);font-size:9.5px;color:var(--rx-muted)}
#homeSystemLine.online{color:var(--rx-green)}#homeSystemLine.error{color:#d96b6b}

/* ===== Command palette ===== */
.rx-command-palette{position:fixed;inset:0;z-index:12000;display:grid;place-items:start center;padding:12vh 16px 28px;background:rgba(9,16,27,.34);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:.18s}
.rx-command-palette.open{opacity:1;visibility:visible;pointer-events:auto}
.rx-command-dialog{width:min(720px,100%);max-height:min(670px,76vh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--rx-line);border-radius:22px;background:var(--rx-glass-strong);box-shadow:0 34px 100px rgba(4,12,23,.28);transform:translateY(-14px) scale(.98);transition:.28s var(--ease-spring)}
.rx-command-palette.open .rx-command-dialog{transform:none}
.rx-command-dialog-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px;border-bottom:1px solid var(--rx-line)}
.rx-command-dialog-head input{border:0!important;outline:0!important;background:transparent!important;color:var(--rx-ink)!important;font-size:16px!important;box-shadow:none!important;transform:none!important;padding:10px 0!important}
.rx-command-results{overflow:auto;padding:8px}
.rx-command-group{padding:7px 7px 4px;color:var(--rx-muted);font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:900}
.rx-command-option{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-radius:12px;padding:9px;background:transparent;color:var(--rx-ink);text-align:left;cursor:pointer}
.rx-command-option:hover,.rx-command-option.active{background:color-mix(in srgb,var(--rx-accent) 10%,transparent)}
.rx-command-option .ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--rx-accent) 10%,transparent);color:var(--rx-accent)}
.rx-command-option b{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rx-command-option small{display:block;color:var(--rx-muted);font-size:9.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rx-command-option em{font-style:normal;color:var(--rx-muted);font-size:9px}
.rx-command-empty{padding:34px 18px;text-align:center;color:var(--rx-muted);font-size:11px}

/* Responsividade forte */
@media(max-width:1180px){
  body.app-home #homeView.home-command-center{padding-top:18px!important}
  .home-command-center .home-workspace{grid-template-columns:1fr}.home-command-center .home-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.home-command-center .home-rail .rx-shortcut-card{display:none}
  .rx-action-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:840px){
  .home-command-center .command-hero{padding:26px 22px;min-height:0}.home-command-center h1{font-size:clamp(42px,11vw,66px)!important}
  .rx-action-grid{grid-template-columns:repeat(2,1fr)}.rx-stat-grid{grid-template-columns:repeat(2,1fr)}.rx-items{grid-template-columns:1fr}
  .home-command-center .home-rail{grid-template-columns:1fr}.rx-command-input .rx-kbd{display:none}
}
@media(max-width:620px){
  body.app-home #homeView.home-command-center{padding:12px 10px 96px!important}.home-command-center .home-workspace{gap:10px}.home-command-center .home-main,.home-command-center .home-rail{gap:10px}
  .rx-panel{border-radius:18px}.home-command-center .command-hero{padding:22px 16px 18px}.home-command-center h1{font-size:clamp(38px,14vw,56px)!important;margin-top:15px!important}.home-command-center .hero-copy{font-size:12px;margin-bottom:16px}
  .rx-command-box{margin-top:20px}.rx-command-input{border-radius:14px;padding-left:12px}.rx-command-input input{font-size:13px!important}
  .rx-action-grid{gap:7px}.rx-action{min-height:82px;padding:12px;border-radius:14px}.rx-action .rx-action-icon{margin-bottom:9px}.rx-action small{display:none}
  .rx-stat-grid{gap:7px}.rx-stat{min-height:90px;padding:13px}.rx-stat strong{font-size:23px}
  .rx-section,.rx-rail-card{padding:15px}.rx-section-head{align-items:flex-start}.rx-section-head .rx-text-btn{padding-top:2px}
  .rx-command-palette{padding:7vh 8px 12px}.rx-command-dialog{border-radius:18px;max-height:84vh}.rx-command-dialog-head{padding:9px}
}
@media(max-width:390px){.rx-action-grid{grid-template-columns:1fr 1fr}.rx-stat-grid{grid-template-columns:1fr 1fr}.home-command-center .bob-msg{font-size:11.5px!important}}
@media(prefers-reduced-motion:reduce){.rx-action:hover,.rx-item:hover,.rx-command-input:focus-within{transform:none!important}}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   V2.1 · CLEAN COMMAND CENTER
   Corrige o antigo bloqueio de viewport e reduz competição visual na Home.
   ======================================================================== */
html{scrollbar-gutter:stable}
html:has(body.app-home){
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
}
body.app-home{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:100svh!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
body.app-home #homeView.home-v2.home-command-center{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:calc(100svh - 84px)!important;
  max-height:none!important;
  overflow:visible!important;
  padding:18px 20px 118px!important;
}

/* Scrollbar discreta, mas EXISTENTE. */
html::-webkit-scrollbar{width:11px}
html::-webkit-scrollbar-track{background:transparent}
html::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--rx-muted) 38%,transparent);border:3px solid transparent;border-radius:999px;background-clip:padding-box}
html::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--rx-muted) 55%,transparent);border:3px solid transparent;background-clip:padding-box}

/* Mais espaço vazio e menos caixas brigando pela atenção. */
.home-command-center .home-workspace{
  width:min(1460px,100%)!important;
  grid-template-columns:minmax(0,1.9fr) minmax(300px,.72fr)!important;
  gap:16px!important;
}
.home-command-center .home-main{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.home-command-center .home-main>.command-hero,
.home-command-center .home-main>.rx-stat-grid{
  grid-column:1/-1!important;
}
.home-command-center .home-rail{gap:16px!important;top:88px!important}

.rx-panel{
  border-radius:20px!important;
  box-shadow:0 10px 30px rgba(5,18,34,.08)!important;
}
.home-command-center .command-hero{
  min-height:0!important;
  padding:28px 30px 26px!important;
}
.home-command-center .command-hero::after{width:300px!important;height:300px!important;right:-110px!important;top:-140px!important;opacity:.72}
.home-command-center h1{
  margin:16px 0 9px!important;
  max-width:760px!important;
  font-size:clamp(44px,4.2vw,64px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
}
.home-command-center .hero-copy{
  max-width:650px!important;
  font-size:12.5px!important;
  line-height:1.58!important;
  margin-bottom:17px!important;
}
.home-command-center .bob-moment{max-width:680px!important}
.home-command-center .bob-orb{width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:12px!important}
.home-command-center .bob-msg{font-size:11.5px!important}

.rx-command-box{margin-top:20px!important}
.rx-command-input{border-radius:14px!important;padding:7px 9px 7px 13px!important;box-shadow:none!important}
.rx-command-input input{font-size:13.5px!important;padding:8px 0!important}
.rx-command-hint{margin-top:6px!important;font-size:9.5px!important;opacity:.86}

/* Ações: continuam visíveis, mas viram uma barra operacional em vez de 4 heróis. */
.rx-action-grid{gap:8px!important;margin-top:16px!important}
.rx-action{
  min-height:74px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.rx-action:hover{transform:translateY(-2px)!important;box-shadow:0 8px 20px rgba(5,18,34,.08)!important}
.rx-action .rx-action-icon{width:27px!important;height:27px!important;border-radius:9px!important;margin-bottom:8px!important;font-size:13px!important}
.rx-action strong{font-size:11.5px!important}
.rx-action small{font-size:8.8px!important;line-height:1.25!important}

/* Quatro métricas passam a ser UMA superfície contínua. */
.rx-stat-grid{
  gap:0!important;
  overflow:hidden!important;
  border:1px solid var(--rx-line)!important;
  border-radius:18px!important;
  background:var(--rx-glass)!important;
  box-shadow:0 8px 24px rgba(5,18,34,.055)!important;
  backdrop-filter:blur(22px) saturate(1.06)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.06)!important;
}
.rx-stat-grid>.rx-stat{
  min-height:82px!important;
  padding:13px 15px!important;
  border:0!important;
  border-right:1px solid var(--rx-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.rx-stat-grid>.rx-stat:last-child{border-right:0!important}
.rx-stat span{font-size:8px!important}
.rx-stat strong{font-size:23px!important}
.rx-stat small{font-size:8.5px!important}

/* Favoritos e recentes ficam lado a lado no desktop. */
.rx-section{padding:16px!important;min-height:142px!important}
.rx-section-head{margin-bottom:10px!important}
.rx-section-title b{font-size:12px!important}
.rx-section-title small{font-size:9px!important}
.rx-items{grid-template-columns:1fr!important;gap:7px!important}
.rx-item{padding:8px!important;border-radius:12px!important;grid-template-columns:32px minmax(0,1fr) auto!important}
.rx-item-icon{width:32px!important;height:32px!important;border-radius:10px!important}
.rx-empty{padding:14px!important}

/* Rail = só ferramentas úteis. Atalhos continuam funcionando via teclado/command palette. */
.home-command-center .rx-shortcut-card{display:none!important}
.rx-rail-card{padding:16px!important}
.rx-rail-card h2{font-size:12.5px!important}
.rx-rail-card>p{font-size:9.5px!important;margin-bottom:11px!important}
.home-command-center .search-wrap input{height:42px!important;font-size:12px!important}
.rx-scratch textarea{min-height:126px!important;max-height:230px!important;font-size:11.5px!important}

/* O dock não deve tapar o fim da Home. */
body.app-home #utilityDock{z-index:8900!important}

@media(max-width:1180px){
  body.app-home #homeView.home-v2.home-command-center{padding:16px 18px 110px!important}
  .home-command-center .home-workspace{grid-template-columns:1fr!important;width:min(980px,100%)!important}
  .home-command-center .home-rail{position:static!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:840px){
  .home-command-center .home-main{grid-template-columns:1fr!important}
  .home-command-center .home-main>*{grid-column:1!important}
  .home-command-center .home-rail{grid-template-columns:1fr!important}
  .home-command-center h1{font-size:clamp(40px,10vw,56px)!important}
  .rx-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rx-stat-grid>.rx-stat{border-right:1px solid var(--rx-line)!important;border-bottom:1px solid var(--rx-line)!important}
  .rx-stat-grid>.rx-stat:nth-child(2n){border-right:0!important}
  .rx-stat-grid>.rx-stat:nth-last-child(-n+2){border-bottom:0!important}
}
@media(max-width:620px){
  body.app-home #homeView.home-v2.home-command-center{padding:10px 10px 104px!important}
  .home-command-center .command-hero{padding:20px 15px 17px!important}
  .home-command-center h1{font-size:clamp(38px,13vw,52px)!important}
  .home-command-center .hero-copy{font-size:11.5px!important}
  .rx-command-hint{display:none!important}
  .rx-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rx-action{min-height:70px!important}
  .rx-action small{display:none!important}
  .rx-section{min-height:0!important}
}
@media(max-width:390px){
  .rx-stat strong{font-size:20px!important}
  .rx-stat-grid>.rx-stat{padding:11px!important}
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   V3 · AUDITORIA FUNCIONAL + RECONSTRUÇÃO VISUAL
   Regra: se aparece e parece clicável, tem função clara.
   ======================================================================== */

:root{
  --v3-max:1480px;
  --v3-radius-xl:24px;
  --v3-radius-lg:18px;
  --v3-radius-md:13px;
  --v3-gap:14px;
}
/* Theme tokens live on <body> in the original app. V3 tokens must therefore
   be derived on body as well (custom properties do not inherit upward to html). */
body{
  --v3-surface:color-mix(in srgb,var(--panel-strong, #fff) 86%,transparent);
  --v3-surface-soft:color-mix(in srgb,var(--panel, #f7f9fc) 78%,transparent);
  --v3-border:color-mix(in srgb,var(--line,#d8e1ed) 84%,transparent);
  --v3-text:var(--ink,#17233a);
  --v3-muted:var(--muted,#64748b);
  --v3-accent:var(--blue,#2f5597);
  --v3-shadow:0 16px 44px rgba(8,22,40,.085);
}
html[data-theme="sunset"] body,html[data-theme="night"] body,html[data-theme="midnight"] body{
  --v3-shadow:0 18px 48px rgba(0,0,0,.18);
}

/* Hidden infrastructure is not a UI feature. */
.rx-system-probe{display:none!important}

/* ---------- Global page behavior ---------- */
body:not(.app-home){
  min-height:100svh!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body.app-models .controls,body.app-grerj .controls,
body.app-models .shell,body.app-grerj .shell,
.workspace-overview-inner{
  width:min(var(--v3-max),calc(100% - 40px))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ---------- Workspace overview ---------- */
.workspace-overview{
  display:block;
  padding:24px 0 12px;
  position:relative;
  z-index:3;
}
.workspace-overview[hidden]{display:none!important}
.workspace-overview-inner{
  min-height:126px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:24px 26px;
  border:1px solid var(--v3-border);
  border-radius:var(--v3-radius-xl);
  background:
    radial-gradient(circle at 86% 0%,color-mix(in srgb,var(--v3-accent) 16%,transparent),transparent 35%),
    var(--v3-surface);
  box-shadow:var(--v3-shadow);
  backdrop-filter:blur(24px) saturate(1.08);
  -webkit-backdrop-filter:blur(24px) saturate(1.08);
}
.workspace-overview-copy{min-width:0;max-width:880px}
.workspace-eyebrow{
  display:block;margin-bottom:8px;color:var(--v3-accent);
  font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;
}
.workspace-overview h1{
  margin:0!important;color:var(--v3-text)!important;font-size:clamp(30px,3.1vw,46px)!important;
  line-height:.98!important;letter-spacing:-.045em!important;
}
.workspace-overview p{margin:10px 0 0;color:var(--v3-muted);font-size:12.5px;line-height:1.55}
.workspace-overview-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.workspace-kpi{
  min-width:108px;padding:10px 13px;border:1px solid var(--v3-border);border-radius:13px;
  background:color-mix(in srgb,var(--v3-surface) 84%,transparent);text-align:left;
}
.workspace-kpi span{display:block;color:var(--v3-muted);font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.10em}
.workspace-kpi strong{display:block;margin-top:3px;color:var(--v3-text);font-size:21px;letter-spacing:-.035em}
.workspace-action{
  min-height:44px;padding:0 15px;border:1px solid color-mix(in srgb,var(--v3-accent) 30%,var(--v3-border));
  border-radius:12px;background:color-mix(in srgb,var(--v3-accent) 12%,var(--v3-surface));
  color:var(--v3-accent);font:800 11px/1 inherit;cursor:pointer;
  transition:transform .16s ease,background-color .18s ease,opacity .18s ease;
}
.workspace-action:hover:not(:disabled){transform:translateY(-2px);background:color-mix(in srgb,var(--v3-accent) 18%,var(--v3-surface))}
.workspace-action:active:not(:disabled){transform:scale(.97)}
.workspace-action:disabled{opacity:.42;cursor:default}

/* ---------- Models / GRERJ control bar ---------- */
body.app-models .controls,body.app-grerj .controls{
  background:transparent!important;border:0!important;padding:0!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.app-models .searchbar,body.app-grerj .searchbar{
  width:100%!important;max-width:none!important;margin:0!important;
  padding:14px!important;border:1px solid var(--v3-border)!important;border-radius:var(--v3-radius-lg)!important;
  background:var(--v3-surface)!important;box-shadow:0 10px 30px rgba(8,22,40,.055)!important;
  backdrop-filter:blur(20px) saturate(1.06)!important;-webkit-backdrop-filter:blur(20px) saturate(1.06)!important;
}
body.app-models .searchwrap,body.app-grerj .searchwrap{max-width:none!important;width:100%!important}
body.app-models .searchwrap input,body.app-grerj .searchwrap input{
  height:50px!important;border-radius:14px!important;border:1px solid var(--v3-border)!important;
  background:color-mix(in srgb,var(--v3-surface) 90%,transparent)!important;color:var(--v3-text)!important;
  box-shadow:none!important;font-size:14px!important;
}
body.app-models .searchwrap input:focus,body.app-grerj .searchwrap input:focus{
  border-color:color-mix(in srgb,var(--v3-accent) 54%,var(--v3-border))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--v3-accent) 11%,transparent)!important;
  transform:none!important;
}

/* Menu tabs are navigation filters, not giant buttons. */
body.app-models .tabs{
  display:flex!important;gap:7px!important;margin:11px 0 0!important;padding:0 0 2px!important;
  overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;
}
body.app-models .tabs::-webkit-scrollbar{display:none}
body.app-models .tabs button{
  flex:0 0 auto!important;min-height:38px!important;padding:0 12px!important;border-radius:10px!important;
  border:1px solid var(--v3-border)!important;background:transparent!important;color:var(--v3-muted)!important;
  box-shadow:none!important;font-size:11.5px!important;font-weight:800!important;transform:none!important;
}
body.app-models .tabs button:hover{background:color-mix(in srgb,var(--v3-accent) 7%,transparent)!important;color:var(--v3-text)!important}
body.app-models .tabs button.active{
  background:color-mix(in srgb,var(--v3-accent) 14%,var(--v3-surface))!important;
  border-color:color-mix(in srgb,var(--v3-accent) 34%,var(--v3-border))!important;color:var(--v3-accent)!important;
  box-shadow:none!important;transform:none!important;
}

/* Search scope has a real, visible state. */
body.app-models .search-options{
  display:inline-flex!important;width:max-content!important;max-width:100%!important;align-items:center!important;gap:4px!important;
  margin-top:10px!important;padding:4px!important;border:1px solid var(--v3-border)!important;border-radius:11px!important;
  background:color-mix(in srgb,var(--v3-surface-soft) 75%,transparent)!important;
}
body.app-models .search-options>b{font-size:9px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--v3-muted)!important;padding:0 7px!important}
body.app-models .search-options label{
  position:relative;min-height:31px;padding:0 10px;border-radius:8px;color:var(--v3-muted)!important;
  font-size:10px!important;font-weight:800!important;cursor:pointer;display:flex!important;align-items:center!important;gap:0!important;
}
body.app-models .search-options label input{position:absolute;opacity:0;pointer-events:none}
body.app-models .search-options label:has(input:checked){background:var(--v3-surface)!important;color:var(--v3-text)!important;box-shadow:0 2px 8px rgba(8,22,40,.07)}
body.app-models .search-hint{margin-top:7px!important;color:var(--v3-muted)!important;font-size:9.5px!important;line-height:1.4!important}

/* GRERJ does not need model-library menus/scope controls. */
body.app-grerj .tabs,body.app-grerj .search-options,body.app-grerj .search-hint{display:none!important}

/* ---------- Filters / results ---------- */
body.app-models .shell,body.app-grerj .shell{
  display:flex!important;flex-direction:column!important;gap:12px!important;padding:12px 0 110px!important;
}
body.app-models .side,body.app-grerj .side{
  position:static!important;width:100%!important;padding:12px!important;border:1px solid var(--v3-border)!important;
  border-radius:var(--v3-radius-lg)!important;background:var(--v3-surface)!important;box-shadow:none!important;
  display:flex!important;align-items:flex-start!important;gap:12px!important;overflow:hidden!important;
}
body.app-models .side h2,body.app-grerj .side h2{
  flex:0 0 auto;margin:8px 3px 0!important;font-size:8.5px!important;letter-spacing:.14em!important;color:var(--v3-muted)!important;
}
body.app-models .cats,body.app-grerj .cats{
  min-width:0!important;flex:1!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;
  overflow-x:auto!important;overflow-y:hidden!important;padding:1px 2px 3px!important;scrollbar-width:none;
}
body.app-models .cats::-webkit-scrollbar,body.app-grerj .cats::-webkit-scrollbar{display:none}
body.app-models .cats button,body.app-grerj .cats button{
  flex:0 0 auto!important;white-space:nowrap!important;min-height:34px!important;padding:0 10px!important;border-radius:9px!important;
  border:1px solid transparent!important;background:transparent!important;color:var(--v3-muted)!important;box-shadow:none!important;
  transform:none!important;font-size:10.5px!important;font-weight:800!important;
}
body.app-models .cats button:hover,body.app-grerj .cats button:hover{
  transform:none!important;background:color-mix(in srgb,var(--v3-accent) 7%,transparent)!important;color:var(--v3-text)!important;
}
body.app-models .cats button.active,body.app-grerj .cats button.active{
  background:color-mix(in srgb,var(--v3-accent) 13%,var(--v3-surface))!important;
  color:var(--v3-accent)!important;border-color:color-mix(in srgb,var(--v3-accent) 26%,transparent)!important;box-shadow:none!important;
}
body.app-grerj .grerj-nav-wrap{flex:0 0 auto!important;position:relative!important}
body.app-grerj .grerj-nav-wrap>button:first-child{padding-right:34px!important}

body.app-models .shell>section,body.app-grerj .shell>section{min-width:0!important;width:100%!important}
body.app-models .topline,body.app-grerj .topline{
  min-height:38px!important;margin:0 2px 8px!important;align-items:center!important;
}
body.app-models .topline h1,body.app-grerj .topline h1{font-size:14px!important;margin:2px 0 0!important;color:var(--v3-text)!important;letter-spacing:-.02em!important}
body.app-models .count,body.app-grerj .count{font-size:9.5px!important;color:var(--v3-muted)!important}
body.app-models .clear{
  display:none;border:1px solid var(--v3-border)!important;border-radius:9px!important;background:transparent!important;
  color:var(--v3-accent)!important;padding:8px 10px!important;font-size:10px!important;box-shadow:none!important;
}

/* ---------- Model cards ---------- */
body.app-models .cards{gap:10px!important}
body.app-models .card{
  position:relative!important;border:1px solid var(--v3-border)!important;border-radius:var(--v3-radius-lg)!important;
  background:var(--v3-surface)!important;box-shadow:0 9px 26px rgba(8,22,40,.052)!important;overflow:hidden!important;
  transform:none!important;
}
body.app-models .card:hover{transform:none!important;border-color:color-mix(in srgb,var(--v3-accent) 24%,var(--v3-border))!important;box-shadow:0 13px 34px rgba(8,22,40,.075)!important}
body.app-models .cardhead{
  padding:15px 17px!important;background:color-mix(in srgb,var(--v3-surface-soft) 62%,transparent)!important;
  border-bottom:1px solid var(--v3-border)!important;align-items:center!important;
}
body.app-models .title{font-size:14px!important;line-height:1.35!important;color:var(--v3-text)!important;letter-spacing:-.015em!important}
body.app-models .tags{margin-bottom:6px!important;gap:5px!important;flex-wrap:wrap!important}
body.app-models .tag{font-size:8.5px!important;padding:3px 7px!important;border-radius:999px!important;background:color-mix(in srgb,var(--v3-accent) 14%,transparent)!important;color:var(--v3-accent)!important;border:1px solid color-mix(in srgb,var(--v3-accent) 16%,transparent)!important}
body.app-models .tag.light{background:transparent!important;color:var(--v3-muted)!important;border-color:var(--v3-border)!important}
body.app-models .card-actions{gap:6px!important}
body.app-models .copy,body.app-models .quick-edit{
  min-height:38px!important;padding:0 12px!important;border-radius:10px!important;font-size:10.5px!important;box-shadow:none!important;transform:none!important;
}
body.app-models .copy:hover,body.app-models .quick-edit:hover{transform:translateY(-1px)!important}
body.app-models .card .body{
  position:relative!important;padding:17px 19px!important;color:var(--v3-text)!important;font-size:12.5px!important;line-height:1.68!important;
  background:transparent!important;
}
body.app-models .card.v3-previewable:not(.v3-expanded) .body{
  max-height:12.3em!important;overflow:hidden!important;
  mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);
}
body.app-models .card.v3-expanded .body{max-height:none!important;overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important}
.v3-model-expand{
  display:block;width:100%;min-height:37px;border:0;border-top:1px solid var(--v3-border);background:color-mix(in srgb,var(--v3-surface-soft) 54%,transparent);
  color:var(--v3-accent);font:800 10px/1 inherit;cursor:pointer;text-align:center;
}
.v3-model-expand:hover{background:color-mix(in srgb,var(--v3-accent) 7%,var(--v3-surface-soft))}
body.app-models .favorite-ribbon{top:8px!important;right:8px!important}
body.app-models .cardhead{padding-right:52px!important}

/* ---------- GRERJ: same product, not an old embedded page ---------- */
body.app-grerj .topline{display:none!important}
body.app-grerj .cards{gap:12px!important}
body.app-grerj .grerj-shell{display:grid!important;gap:12px!important}
body.app-grerj .grerj-hero,body.app-grerj .grerj-card,body.app-grerj .grerj-summary,body.app-grerj .grerj-certificate,body.app-grerj .grerj-warning{
  border-radius:var(--v3-radius-lg)!important;border-color:var(--v3-border)!important;box-shadow:0 10px 30px rgba(8,22,40,.055)!important;
}
body.app-grerj .grerj-hero{
  padding:18px 20px!important;background:var(--v3-surface)!important;border:1px solid var(--v3-border)!important;
}
body.app-grerj .grerj-hero h2{font-size:18px!important;letter-spacing:-.025em!important;color:var(--v3-text)!important}
body.app-grerj .grerj-hero p{font-size:11.5px!important;line-height:1.55!important;color:var(--v3-muted)!important}
body.app-grerj .grerj-card{overflow:hidden!important;background:var(--v3-surface)!important}
body.app-grerj .grerj-head{background:color-mix(in srgb,var(--v3-surface-soft) 72%,transparent)!important}
body.app-grerj .grerj-row{border-color:var(--v3-border)!important}
body.app-grerj .grerj-result{border-radius:9px!important;min-height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}
body.app-grerj .money-input,body.app-grerj .pct-input,body.app-grerj .grerj-qty,body.app-grerj .tax-hypothesis{
  border-radius:9px!important;border-color:var(--v3-border)!important;background:color-mix(in srgb,var(--v3-surface) 88%,transparent)!important;color:var(--v3-text)!important;
}
body.app-grerj .dispense-btn{border-radius:9px!important;box-shadow:none!important}
body.app-grerj .tax-card{padding:18px!important}
body.app-grerj .tax-title{gap:12px!important;align-items:flex-start!important}
body.app-grerj .tax-grid{gap:9px!important}
body.app-grerj .calc-box{border-radius:12px!important;border-color:var(--v3-border)!important;background:color-mix(in srgb,var(--v3-surface-soft) 64%,transparent)!important}
body.app-grerj .grerj-summary,body.app-grerj .grerj-certificate{padding:18px!important;background:var(--v3-surface)!important}
body.app-grerj .cert-preview{border-radius:13px!important}

/* ---------- Admin: status must be real ---------- */
#modal .admin-sync-pill.v3-sync-working{opacity:.72}
#modal .admin-sync-pill.v3-sync-error{border-color:rgba(211,79,79,.28)!important;color:#d96b6b!important}
#modal .admin-sync-pill.v3-sync-online{border-color:rgba(49,170,116,.26)!important;color:#63d69e!important}
#modal .admin-sync-pill.v3-sync-error .admin-sync-dot{background:#d96b6b!important;box-shadow:0 0 0 4px rgba(217,107,107,.10)!important}
#modal .admin-sync-pill.v3-sync-online .admin-sync-dot{background:#63d69e!important;box-shadow:0 0 0 4px rgba(99,214,158,.10)!important}

/* ---------- Profile / auxiliary tools coherence ---------- */
.profile-interface-inner{width:min(1240px,calc(100% - 32px))!important}
.profile-box-v2,.profile-hero-v2,.profile-session-v2{border-color:var(--v3-border)!important;box-shadow:0 10px 30px rgba(8,22,40,.055)!important}
.chat-panel,.bob-panel,.mini-calc-panel{border-color:var(--v3-border)!important}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .workspace-overview{padding-top:16px}
  .workspace-overview-inner{align-items:flex-start;flex-direction:column;padding:20px;min-height:0}
  .workspace-overview-tools{width:100%;justify-content:space-between}
  .workspace-kpi{flex:1;min-width:0}
  body.app-models .side,body.app-grerj .side{flex-direction:column;gap:6px!important}
  body.app-models .side h2,body.app-grerj .side h2{margin:2px 4px 0!important}
}
@media(max-width:760px){
  body.app-models .controls,body.app-grerj .controls,
  body.app-models .shell,body.app-grerj .shell,
  .workspace-overview-inner{width:calc(100% - 20px)!important}
  .workspace-overview{padding:10px 0 7px}
  .workspace-overview-inner{border-radius:18px!important;padding:16px!important;gap:15px!important}
  .workspace-overview h1{font-size:30px!important}
  .workspace-overview p{font-size:11px!important}
  .workspace-overview-tools{gap:7px}
  .workspace-action{min-height:42px;padding:0 12px;font-size:10px}
  body.app-models .searchbar,body.app-grerj .searchbar{padding:10px!important;border-radius:15px!important}
  body.app-models .search-options{width:100%!important;display:grid!important;grid-template-columns:auto 1fr 1fr!important}
  body.app-models .search-options label{justify-content:center;padding:0 6px!important;text-align:center}
  body.app-models .search-hint{display:none!important}
  body.app-models .shell,body.app-grerj .shell{padding-bottom:122px!important}
  body.app-models .cardhead{align-items:stretch!important;flex-direction:column!important;padding:14px 14px 12px!important;padding-right:48px!important}
  body.app-models .card-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  body.app-models .card-actions .copy:only-child{grid-column:1/-1}
  body.app-models .card .body{padding:15px!important;font-size:12px!important}
  body.app-grerj .grerj-hero{padding:15px!important}
  body.app-grerj .tax-card,body.app-grerj .grerj-summary,body.app-grerj .grerj-certificate{padding:14px!important}
  body.app-grerj .tax-title{flex-direction:column!important}
  body.app-grerj .tax-title-actions{width:100%!important;flex-wrap:wrap!important}
}
@media(max-width:480px){
  .workspace-overview-tools{display:grid;grid-template-columns:1fr auto}
  .workspace-kpi strong{font-size:18px}
  body.app-models .search-options{grid-template-columns:1fr 1fr!important}
  body.app-models .search-options>b{display:none!important}
  body.app-models .side,body.app-grerj .side{padding:9px!important;border-radius:14px!important}
  body.app-models .cats button,body.app-grerj .cats button{min-height:32px!important;font-size:10px!important}
  body.app-models .card-actions{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  .workspace-action,.v3-model-expand{transition:none!important}
}

/* ---------- Mobile audit hotfixes ---------- */
@media(max-width:600px){
  /* A regra legada escondia esta escolha no telemóvel. Ela é funcional, então fica acessível. */
  body.app-models:not(.app-home):not(.profile-view) .search-options{
    display:grid!important;width:100%!important;grid-template-columns:1fr 1fr!important;
  }
  body.app-models:not(.app-home):not(.profile-view) .search-options>b{display:none!important}
  body.app-models:not(.app-home):not(.profile-view) .search-hint{display:none!important}

  /* O texto já traz o cadeado. Remove o pseudo-ícone legado que duplicava 🔒. */
  .app-header .admin-btn::before{content:none!important;display:none!important}

  /* Fechado, o dock vira uma pequena barra inferior e deixa de tapar ações dos cards. */
  body:not(.chat-open):not(.bob-open):not(.calc-open) .social-tool-dock{
    left:50%!important;right:auto!important;bottom:max(8px,env(safe-area-inset-bottom))!important;
    transform:translateX(-50%)!important;flex-direction:row!important;align-items:center!important;gap:5px!important;
    padding:5px!important;border:1px solid var(--line)!important;border-radius:17px!important;
    background:color-mix(in srgb,var(--panel-strong) 92%,transparent)!important;
    box-shadow:0 14px 36px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05)!important;
    backdrop-filter:blur(22px) saturate(1.08)!important;-webkit-backdrop-filter:blur(22px) saturate(1.08)!important;
  }
  body:not(.chat-open):not(.bob-open):not(.calc-open) .social-tool-orbs{
    position:static!important;left:auto!important;right:auto!important;bottom:auto!important;
    flex-direction:row!important;gap:5px!important;
  }
  body:not(.chat-open):not(.bob-open):not(.calc-open) .social-orb,
  body:not(.chat-open):not(.bob-open):not(.calc-open) .social-chat-tab{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border-radius:13px!important;
  }
  .social-chat-label{display:none!important}
  .social-chat-tab{justify-content:center!important;padding:0!important;min-width:44px!important}
  body.app-models .shell,body.app-grerj .shell{padding-bottom:155px!important}
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


.mobile-utility-toggle{display:none}
@media(max-width:600px){
  /* No mobile the three permanent floating buttons become one deliberate tools button. */
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock{
    position:fixed!important;left:auto!important;right:10px!important;top:auto!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;transform:none!important;margin:0!important;
    width:auto!important;height:auto!important;max-width:none!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;
    padding:0!important;border:0!important;border-radius:17px!important;background:transparent!important;box-shadow:none!important;
  }
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock:not(.mobile-tools-open) #socialToolOrbs,
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock:not(.mobile-tools-open) #chatTab{display:none!important}
  body:not(.chat-open):not(.bob-open):not(.calc-open) #mobileUtilityToggle{
    display:grid!important;place-items:center;width:46px;height:46px;min-width:46px;min-height:46px;padding:0;
    border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--panel-strong) 94%,transparent);
    color:var(--blue);box-shadow:0 12px 30px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter:blur(22px) saturate(1.08);-webkit-backdrop-filter:blur(22px) saturate(1.08);
    font:900 16px/1 system-ui;letter-spacing:1px;cursor:pointer;
  }
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open{
    padding:5px!important;border:1px solid var(--line)!important;background:color-mix(in srgb,var(--panel-strong) 94%,transparent)!important;
    box-shadow:0 14px 36px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05)!important;
    backdrop-filter:blur(22px) saturate(1.08)!important;-webkit-backdrop-filter:blur(22px) saturate(1.08)!important;
  }
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #socialToolOrbs{
    position:static!important;inset:auto!important;transform:none!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;
  }
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #chatTab{display:flex!important}
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #bobTab,
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #miniCalcTab,
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #chatTab{
    position:relative!important;inset:auto!important;transform:none!important;width:42px!important;height:42px!important;
    min-width:42px!important;min-height:42px!important;padding:0!important;border-radius:13px!important;justify-content:center!important;
  }
  body:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #mobileUtilityToggle{
    width:42px;height:42px;min-width:42px;min-height:42px;box-shadow:none;
  }
  .social-chat-label{display:none!important}
  .social-chat-tab{justify-content:center!important;padding:0!important}
  body.app-models .shell,body.app-grerj .shell{padding-bottom:130px!important}
}

/* Workspaces keep utilities available without permanently covering legal content. */
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock{
  position:fixed!important;left:auto!important;right:14px!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;
  transform:none!important;margin:0!important;width:auto!important;height:auto!important;max-width:none!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;padding:0!important;border:0!important;
  background:transparent!important;box-shadow:none!important;
}
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock:not(.mobile-tools-open) #socialToolOrbs,
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock:not(.mobile-tools-open) #chatTab,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock:not(.mobile-tools-open) #socialToolOrbs,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock:not(.mobile-tools-open) #chatTab{display:none!important}
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #mobileUtilityToggle,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #mobileUtilityToggle{
  display:grid!important;place-items:center;width:46px;height:46px;min-width:46px;min-height:46px;padding:0;
  border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--panel-strong) 94%,transparent);
  color:var(--blue);box-shadow:0 12px 30px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(22px) saturate(1.08);-webkit-backdrop-filter:blur(22px) saturate(1.08);font:900 16px/1 system-ui;cursor:pointer;
}
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open{
  padding:5px!important;border:1px solid var(--line)!important;border-radius:17px!important;
  background:color-mix(in srgb,var(--panel-strong) 94%,transparent)!important;box-shadow:0 14px 36px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(22px) saturate(1.08)!important;-webkit-backdrop-filter:blur(22px) saturate(1.08)!important;
}
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #socialToolOrbs,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #socialToolOrbs{
  position:static!important;inset:auto!important;transform:none!important;display:flex!important;flex-direction:row!important;gap:5px!important;
}
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #chatTab,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #chatTab{display:flex!important}
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #bobTab,
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #miniCalcTab,
body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #chatTab,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #bobTab,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #miniCalcTab,
body.app-grerj:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock.mobile-tools-open #chatTab{
  position:relative!important;inset:auto!important;transform:none!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;border-radius:13px!important;justify-content:center!important;
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   V3.3 · CORREÇÃO ESTRUTURAL
   Não usa margem/calculadora para fingir coluna lateral.
   Sidebar, pesquisa e resultados pertencem ao MESMO grid.
   Pesquisar pessoas usa componente próprio, sem CSS legado de search-panel.
   ======================================================================== */

/* ---------- HOME · PESQUISAR PESSOAS ---------- */
body.app-home .rx-people-card{
  overflow:visible!important;
}
body.app-home .rx-people-search{
  position:relative!important;
  z-index:40!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
body.app-home .rx-people-label{
  display:block!important;
  width:100%!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:var(--rx-muted)!important;
  font-size:8px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.app-home .rx-people-control{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--rx-line)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--rx-glass-strong) 83%,transparent)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.app-home .rx-people-icon{
  position:absolute!important;
  left:15px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:grid!important;
  place-items:center!important;
  width:16px!important;
  height:16px!important;
  margin:0!important;
  color:var(--rx-muted)!important;
  font-size:16px!important;
  line-height:1!important;
  pointer-events:none!important;
}
body.app-home .rx-people-control input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:0 14px 0 43px!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--rx-ink)!important;
  box-shadow:none!important;
  transform:none!important;
  font:11.5px/1.2 inherit!important;
}
body.app-home .rx-people-control:focus-within{
  border-color:color-mix(in srgb,var(--rx-accent) 48%,var(--rx-line))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--rx-accent) 10%,transparent)!important;
}
body.app-home .rx-people-control input::placeholder{color:var(--rx-muted)!important;opacity:.9!important}
body.app-home .rx-people-results{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  z-index:9000!important;
}

/* ---------- MODELOS / GRERJ · WORKSPACE ÚNICO ---------- */
body.app-models .rx-module-workspace,
body.app-grerj .rx-module-workspace{
  --rx-module-side:240px;
  --rx-module-gap:28px;
  width:min(var(--v3-max),calc(100% - 40px))!important;
  max-width:none!important;
  margin:22px auto 0!important;
  padding:0 0 120px!important;
  display:grid!important;
  grid-template-columns:var(--rx-module-side) minmax(0,1fr)!important;
  grid-template-areas:
    "side controls"
    "side results"!important;
  column-gap:var(--rx-module-gap)!important;
  row-gap:18px!important;
  align-items:start!important;
}

body.app-models .rx-module-side,
body.app-grerj .rx-module-side{
  grid-area:side!important;
  position:sticky!important;
  top:92px!important;
  align-self:start!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  padding:12px!important;
  overflow:visible!important;
  border:1px solid var(--v3-border)!important;
  border-radius:var(--v3-radius-lg)!important;
  background:var(--v3-surface)!important;
  box-shadow:0 10px 30px rgba(8,22,40,.045)!important;
  backdrop-filter:blur(18px) saturate(1.06)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.06)!important;
}
body.app-models .rx-module-side h2,
body.app-grerj .rx-module-side h2{
  display:block!important;
  margin:4px 10px 10px!important;
  font-size:9px!important;
  line-height:1.2!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  color:var(--v3-muted)!important;
}
body.app-models .rx-module-side .cats,
body.app-grerj .rx-module-side .cats{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  overflow:visible!important;
  padding:0!important;
}
body.app-models .rx-module-side .cats button,
body.app-grerj .rx-module-side .cats button{
  width:100%!important;
  flex:0 0 auto!important;
  min-height:38px!important;
  padding:9px 11px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:left!important;
  line-height:1.28!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--v3-surface-soft) 70%,transparent)!important;
  color:var(--v3-muted)!important;
  box-shadow:none!important;
  transform:none!important;
  font-size:10.5px!important;
  font-weight:790!important;
}
body.app-models .rx-module-side .cats button:hover,
body.app-grerj .rx-module-side .cats button:hover{
  transform:none!important;
  background:color-mix(in srgb,var(--v3-accent) 8%,var(--v3-surface-soft))!important;
  border-color:color-mix(in srgb,var(--v3-accent) 12%,var(--v3-border))!important;
  color:var(--v3-text)!important;
}
body.app-models .rx-module-side .cats button.active,
body.app-grerj .rx-module-side .cats button.active{
  transform:none!important;
  background:color-mix(in srgb,var(--v3-accent) 15%,var(--v3-surface))!important;
  border-color:color-mix(in srgb,var(--v3-accent) 38%,var(--v3-border))!important;
  color:var(--v3-accent)!important;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--v3-accent) 72%,transparent)!important;
}

body.app-models .rx-module-controls,
body.app-grerj .rx-module-controls{
  grid-area:controls!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.app-models .rx-module-controls .searchbar,
body.app-grerj .rx-module-controls .searchbar{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:13px!important;
  border:1px solid var(--v3-border)!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--v3-surface) 92%,transparent)!important;
  box-shadow:none!important;
  backdrop-filter:blur(16px) saturate(1.04)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.04)!important;
}
body.app-models .rx-module-controls .searchwrap,
body.app-grerj .rx-module-controls .searchwrap{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
body.app-models .rx-module-controls .searchwrap input,
body.app-grerj .rx-module-controls .searchwrap input{
  width:100%!important;
  min-width:0!important;
  transform:none!important;
}

body.app-models .rx-module-controls .searchbar{
  display:grid!important;
  grid-template-columns:minmax(300px,1fr) max-content!important;
  grid-template-areas:
    "query tabs"
    "scope scope"
    "hint hint"!important;
  gap:9px 14px!important;
  align-items:center!important;
}
body.app-models .rx-module-controls .searchwrap{grid-area:query!important}
body.app-models .rx-module-controls .tabs{
  grid-area:tabs!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:7px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
body.app-models .rx-module-controls .search-options{
  grid-area:scope!important;
  margin:0!important;
}
body.app-models .rx-module-controls .search-hint{
  grid-area:hint!important;
  margin:0!important;
}

/* GRERJ usa a mesma coluna sem a barra atravessar a página. */
body.app-grerj .rx-module-controls .searchbar{display:block!important}
body.app-grerj .rx-module-controls .tabs{margin-top:10px!important}

body.app-models .rx-module-results,
body.app-grerj .rx-module-results{
  grid-area:results!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body.app-models .rx-module-results .topline,
body.app-grerj .rx-module-results .topline{
  margin-top:0!important;
}

/* Tablet: sidebar continua lateral, mas mais estreita. */
@media(min-width:901px) and (max-width:1120px){
  body.app-models .rx-module-workspace,
  body.app-grerj .rx-module-workspace{
    --rx-module-side:210px;
    --rx-module-gap:20px;
  }
  body.app-models .rx-module-controls .searchbar{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"query" "tabs" "scope" "hint"!important;
  }
  body.app-models .rx-module-controls .tabs{
    justify-content:flex-start!important;
    width:100%!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    scrollbar-width:none!important;
  }
  body.app-models .rx-module-controls .tabs::-webkit-scrollbar{display:none!important}
}

/* Mobile: pesquisa -> categorias -> resultados, sem sidebar esmagada. */
@media(max-width:900px){
  body.app-models .rx-module-workspace,
  body.app-grerj .rx-module-workspace{
    width:calc(100% - 24px)!important;
    margin:12px auto 0!important;
    padding:0 0 122px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"controls" "side" "results"!important;
    gap:12px!important;
  }
  body.app-models .rx-module-side,
  body.app-grerj .rx-module-side{
    position:static!important;
    top:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    overflow:hidden!important;
    padding:9px!important;
  }
  body.app-models .rx-module-side h2,
  body.app-grerj .rx-module-side h2{
    flex:0 0 auto!important;
    margin:0 2px 0 4px!important;
    align-self:center!important;
  }
  body.app-models .rx-module-side .cats,
  body.app-grerj .rx-module-side .cats{
    min-width:0!important;
    flex:1!important;
    display:flex!important;
    flex-direction:row!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    padding:0!important;
  }
  body.app-models .rx-module-side .cats::-webkit-scrollbar,
  body.app-grerj .rx-module-side .cats::-webkit-scrollbar{display:none!important}
  body.app-models .rx-module-side .cats button,
  body.app-grerj .rx-module-side .cats button{
    width:auto!important;
    min-width:max-content!important;
    white-space:nowrap!important;
  }
  body.app-models .rx-module-controls .searchbar,
  body.app-grerj .rx-module-controls .searchbar{padding:10px!important}
  body.app-models .rx-module-controls .searchbar{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"query" "tabs" "scope" "hint"!important;
  }
  body.app-models .rx-module-controls .tabs{
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    scrollbar-width:none!important;
  }
  body.app-models .rx-module-controls .tabs::-webkit-scrollbar{display:none!important}
}

@media(max-width:620px){
  body.app-home .rx-people-control{height:46px!important}
  body.app-models .rx-module-controls .search-options{gap:6px!important}
  body.app-models .rx-module-controls .search-options label{font-size:9.5px!important}
}

/* Estabilização contra regras legadas de maior especificidade. */
@media(min-width:901px){
  body.app-models main.shell.rx-module-workspace,
  body.app-grerj main.shell.rx-module-workspace{
    width:min(var(--v3-max),calc(100% - 40px))!important;
    max-width:none!important;
    margin:22px auto 0!important;
    padding:0 0 120px!important;
    grid-template-columns:var(--rx-module-side) minmax(0,1fr)!important;
    column-gap:var(--rx-module-gap)!important;
    row-gap:18px!important;
  }
  body.app-models main.shell.rx-module-workspace > aside.rx-module-side,
  body.app-grerj main.shell.rx-module-workspace > aside.rx-module-side{
    top:92px!important;
    width:100%!important;
    max-width:none!important;
  }
  body.app-models main.shell.rx-module-workspace > .rx-module-controls,
  body.app-grerj main.shell.rx-module-workspace > .rx-module-controls{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  body.app-models main.shell.rx-module-workspace > section.rx-module-results,
  body.app-grerj main.shell.rx-module-workspace > section.rx-module-results{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* V3.4 · BOB em evidência + remoção direta de favoritos */

/* Sem a frase genérica, a saudação respira e o BOB vira o comentário principal. */
body.app-home .command-hero h1{
  margin-bottom:0!important;
}
body.app-home .command-hero .bob-spotlight{
  width:min(760px,100%)!important;
  max-width:760px!important;
  margin:22px 0 0!important;
  padding:13px 15px!important;
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  border:1px solid color-mix(in srgb,var(--rx-accent) 24%,var(--rx-line))!important;
  border-radius:16px!important;
  background:
    linear-gradient(135deg,
      color-mix(in srgb,var(--rx-accent) 9%,var(--rx-glass-strong)),
      color-mix(in srgb,var(--rx-glass-strong) 94%,transparent)
    )!important;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent),
    0 12px 30px rgba(0,0,0,.07)!important;
}
body.app-home .command-hero .bob-spotlight .bob-orb{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  flex:0 0 46px!important;
  border-radius:14px!important;
}
body.app-home .bob-spotlight-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
body.app-home .bob-label{
  display:block;
  color:var(--rx-accent);
  font-size:8.5px;
  line-height:1;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.9;
}
body.app-home .command-hero .bob-spotlight .bob-msg{
  margin:0!important;
  color:var(--rx-ink)!important;
  font-size:15px!important;
  line-height:1.42!important;
  font-weight:760!important;
  letter-spacing:-.012em!important;
}

/* O BOB é clicável: pequeno feedback sem transformar em brinquedo. */
@media(hover:hover){
  body.app-home .command-hero .bob-spotlight{
    transition:border-color .18s ease,background .18s ease,transform .18s ease;
  }
  body.app-home .command-hero .bob-spotlight:has(.bob-orb:hover){
    border-color:color-mix(in srgb,var(--rx-accent) 40%,var(--rx-line))!important;
    transform:translateY(-1px);
  }
}

/* Remover dos úteis fica explícito, mas não compete com Abrir/Copiar. */
.rx-item-actions .rx-remove-fav{
  color:color-mix(in srgb,#e35d6a 78%,var(--rx-muted))!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:500!important;
}
@media(hover:hover){
  .rx-item-actions .rx-remove-fav:hover{
    color:#fff!important;
    border-color:color-mix(in srgb,#d94c5a 62%,transparent)!important;
    background:color-mix(in srgb,#d94c5a 82%,transparent)!important;
    transform:translateY(-1px);
  }
}
.rx-item-actions .rx-remove-fav:active{
  transform:scale(.92);
}

@media(max-width:620px){
  body.app-home .command-hero .bob-spotlight{
    padding:12px!important;
    gap:11px!important;
  }
  body.app-home .command-hero .bob-spotlight .bob-orb{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    flex-basis:42px!important;
  }
  body.app-home .command-hero .bob-spotlight .bob-msg{
    font-size:14px!important;
  }
  .rx-item-actions{
    gap:4px!important;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* V3.5 · BOB minimalista, ainda brilhante */
body.app-home .command-hero .bob-spotlight{
  width:min(760px,100%)!important;
  max-width:760px!important;
  margin:22px 0 0!important;
  padding:12px 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  border:1px solid color-mix(in srgb,var(--rx-accent) 22%,var(--rx-line))!important;
  border-radius:16px!important;
  background:
    radial-gradient(circle at 0% 50%,
      color-mix(in srgb,var(--rx-accent) 13%,transparent),
      transparent 42%),
    linear-gradient(135deg,
      color-mix(in srgb,var(--rx-accent) 7%,var(--rx-glass-strong)),
      color-mix(in srgb,var(--rx-glass-strong) 96%,transparent)
    )!important;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb,#fff 9%,transparent),
    0 10px 26px rgba(0,0,0,.065)!important;
  overflow:hidden!important;
}

body.app-home .command-hero .bob-spotlight .bob-orb{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  flex:0 0 42px!important;
  border-radius:13px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 7px 18px color-mix(in srgb,var(--rx-accent) 24%,transparent)!important;
}

body.app-home .bob-spotlight-copy{
  min-width:0!important;
  display:block!important;
}

body.app-home .command-hero .bob-spotlight .bob-msg{
  margin:0!important;
  color:color-mix(in srgb,var(--rx-ink) 86%,var(--rx-muted))!important;
  font-size:15px!important;
  line-height:1.42!important;
  font-weight:620!important;
  letter-spacing:-.008em!important;
}

/* Garante que o rótulo antigo nunca reapareça por CSS/markup residual. */
body.app-home .bob-label{
  display:none!important;
}

@media(hover:hover){
  body.app-home .command-hero .bob-spotlight{
    transition:
      border-color .18s ease,
      box-shadow .18s ease,
      transform .18s ease,
      background .18s ease;
  }
  body.app-home .command-hero .bob-spotlight:has(.bob-orb:hover){
    transform:translateY(-1px);
    border-color:color-mix(in srgb,var(--rx-accent) 38%,var(--rx-line))!important;
    box-shadow:
      inset 0 1px 0 color-mix(in srgb,#fff 11%,transparent),
      0 14px 32px rgba(0,0,0,.085)!important;
  }
}

@media(max-width:620px){
  body.app-home .command-hero .bob-spotlight{
    padding:11px 12px!important;
    gap:10px!important;
  }
  body.app-home .command-hero .bob-spotlight .bob-orb{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    flex-basis:40px!important;
  }
  body.app-home .command-hero .bob-spotlight .bob-msg{
    font-size:14px!important;
    font-weight:600!important;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* V3.6 · Auditoria estrutural de Modelos
   A sidebar não participa mais da altura entre pesquisa e resultados. */

@media(min-width:901px){
  body.app-models main.shell.rx-module-workspace,
  body.app-grerj main.shell.rx-module-workspace{
    display:grid!important;
    grid-template-columns:var(--rx-module-side) minmax(0,1fr)!important;
    grid-template-areas:"side main"!important;
    column-gap:var(--rx-module-gap)!important;
    row-gap:0!important;
    align-items:start!important;
  }
  body.app-models main.shell.rx-module-workspace > aside.rx-module-side,
  body.app-grerj main.shell.rx-module-workspace > aside.rx-module-side{
    grid-area:side!important;
    max-height:calc(100vh - 116px)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
    scrollbar-color:color-mix(in srgb,var(--v3-accent) 22%,transparent) transparent!important;
  }
  body.app-models main.shell.rx-module-workspace > aside.rx-module-side::-webkit-scrollbar,
  body.app-grerj main.shell.rx-module-workspace > aside.rx-module-side::-webkit-scrollbar{width:5px!important}
  body.app-models main.shell.rx-module-workspace > aside.rx-module-side::-webkit-scrollbar-thumb,
  body.app-grerj main.shell.rx-module-workspace > aside.rx-module-side::-webkit-scrollbar-thumb{
    background:color-mix(in srgb,var(--v3-accent) 22%,transparent)!important;
    border-radius:999px!important;
  }
  body.app-models .rx-module-main,
  body.app-grerj .rx-module-main{
    grid-area:main!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
    align-content:start!important;
  }
  body.app-models .rx-module-main > .rx-module-controls,
  body.app-models .rx-module-main > .rx-module-results,
  body.app-grerj .rx-module-main > .rx-module-controls,
  body.app-grerj .rx-module-main > .rx-module-results{
    grid-area:auto!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
  }
}

/* Resultados sempre começam logo depois do painel de pesquisa. */
body.app-models .rx-module-results .topline{
  min-height:54px!important;
  margin:0 0 12px!important;
  align-items:flex-end!important;
}
body.app-models .rx-module-results .cards{margin-top:0!important}

/* Favorito de Modelo agora é uma ação normal, sem ribbon sobrepondo Copiar. */
body.app-models .cardhead{
  padding-right:18px!important;
}
body.app-models .model-favorite{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--v3-border)!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--v3-surface-soft) 82%,transparent)!important;
  color:var(--v3-muted)!important;
  box-shadow:none!important;
  font-size:16px!important;
  line-height:1!important;
  cursor:pointer!important;
  opacity:.72!important;
  transition:transform .14s var(--ease-ios),background .18s var(--ease-ios),color .18s var(--ease-ios),border-color .18s var(--ease-ios),opacity .18s var(--ease-ios)!important;
}
body.app-models .model-favorite.active{
  color:#f6c85f!important;
  opacity:1!important;
  border-color:color-mix(in srgb,#f6c85f 38%,var(--v3-border))!important;
  background:color-mix(in srgb,#f6c85f 10%,var(--v3-surface-soft))!important;
}
@media(hover:hover){
  body.app-models .model-favorite:hover{
    transform:translateY(-1px)!important;
    opacity:1!important;
    color:#f6c85f!important;
    border-color:color-mix(in srgb,#f6c85f 30%,var(--v3-border))!important;
  }
}
body.app-models .model-favorite:active{transform:scale(.94)!important}

/* Mantém os controles alinhados mesmo com títulos grandes e acesso de edição. */
body.app-models .cardhead > div:first-child{min-width:0!important}
body.app-models .card-actions{
  flex:0 0 auto!important;
  align-self:center!important;
}
body.app-models .title{overflow-wrap:anywhere!important}

/* Mobile/tablet estreito: o wrapper desaparece visualmente e mantém
   pesquisa -> categorias -> resultados, sem alterar o fluxo aprovado. */
@media(max-width:900px){
  body.app-models .rx-module-main,
  body.app-grerj .rx-module-main{display:contents!important}
  body.app-models main.shell.rx-module-workspace,
  body.app-grerj main.shell.rx-module-workspace{
    grid-template-areas:"controls" "side" "results"!important;
  }
  body.app-models .rx-module-controls,body.app-grerj .rx-module-controls{grid-area:controls!important}
  body.app-models .rx-module-side,body.app-grerj .rx-module-side{grid-area:side!important}
  body.app-models .rx-module-results,body.app-grerj .rx-module-results{grid-area:results!important}
  body.app-models .cardhead{padding-right:14px!important}
  body.app-models .card-actions{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:7px!important;
  }
  body.app-models .card-actions:has(.quick-edit){
    grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)!important;
  }
  body.app-models .model-favorite{width:44px!important;min-width:44px!important}
  body.app-models .card-actions .copy,
  body.app-models .card-actions .quick-edit{width:100%!important;min-width:0!important}
}

@media(max-width:520px){
  body.app-models .rx-module-results .topline{align-items:flex-start!important}
  body.app-models .rx-module-results .topline h1{font-size:26px!important}
}

@media(prefers-reduced-motion:reduce){
  body.app-models .model-favorite{transition:none!important}
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* Última passagem mobile: nenhum controle importante fica cortado ou coberto. */
@media(max-width:620px){
  body.app-models:not(.app-home):not(.profile-view) main.shell.rx-module-workspace > .rx-module-controls .searchbar > .tabs{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    white-space:normal!important;
    gap:6px!important;
  }
  body.app-models .rx-module-controls .tabs button{
    flex:0 0 auto!important;
  }
  body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #utilityDock:not(.mobile-tools-open){
    left:auto!important;
    right:0!important;
    bottom:18px!important;
    width:30px!important;
    min-width:30px!important;
    transform:none!important;
  }
  body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #mobileUtilityToggle{
    width:30px!important;
    height:46px!important;
    min-width:30px!important;
    border-radius:12px 0 0 12px!important;
    padding:0!important;
    opacity:.78!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #mobileUtilityToggle:hover,
  body.app-models:not(.chat-open):not(.bob-open):not(.calc-open) #mobileUtilityToggle:focus-visible{opacity:1!important}
  body.app-models .card-actions{padding-right:8px!important}
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ======================================================================
   V4 LAB · utilidade primeiro. Camada experimental isolada da V3.6.
   ====================================================================== */
:root{--lab-danger:#e86a78;--lab-warn:#e6b55b;--lab-ok:#65d3a4}

/* 1. Cápsula de atividade: não ocupa espaço para dizer o óbvio. */
#toast{display:none!important}
.status-slot{min-width:38px!important}
#statusHub{gap:7px!important;max-width:min(520px,calc(100vw - 26px))!important}
#statusHub:not(.show):not(.has-unread){opacity:0!important;transform:translateY(-7px) scale(.88)!important;pointer-events:none!important}
.status-hub.show:has(.status-hub-action:not([hidden])){width:min(390px,calc(100vw - 300px))!important;max-width:390px!important}
.status-hub-action{position:relative;z-index:3;border:0;border-left:1px solid rgba(255,255,255,.16);background:transparent;color:#9bc8ff;padding:1px 0 1px 9px;font:800 10px/1 inherit;cursor:pointer;white-space:nowrap}
.status-hub-action:hover{color:#fff}

/* Home lab sections */
.lab-resume-section,.lab-pinned-section{position:relative}
.lab-resume-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--rx-line);border-radius:14px;padding:11px;background:color-mix(in srgb,var(--rx-glass-strong) 86%,transparent)}
.lab-resume-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--rx-accent) 14%,transparent);color:var(--rx-accent);font-weight:900}
.lab-resume-copy{min-width:0}.lab-resume-copy b{display:block;color:var(--rx-ink);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-resume-copy small{display:block;color:var(--rx-muted);font-size:9px;margin-top:3px}
.lab-resume-go{border:1px solid var(--rx-line);background:var(--rx-accent);color:#fff;border-radius:10px;padding:8px 11px;font-size:10px;font-weight:900;cursor:pointer}
.lab-pin-toggle.active{color:#ffd166!important}

/* Métricas acionáveis */
.rx-stat-grid .rx-stat.lab-clickable{cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
@media(hover:hover){.rx-stat-grid .rx-stat.lab-clickable:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--rx-accent) 38%,var(--rx-line));background:color-mix(in srgb,var(--rx-accent) 6%,var(--rx-glass))}}
.rx-stat .lab-stat-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* Vistas guardadas de Modelos */
.lab-saved-views{padding:0 7px 10px;margin:0 0 9px;border-bottom:1px solid color-mix(in srgb,var(--v3-border) 74%,transparent)}
.lab-saved-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.lab-saved-head span{font-size:8px;font-weight:950;letter-spacing:.13em;color:var(--v3-muted)}
.lab-save-view{border:1px solid var(--v3-border);background:var(--v3-surface-soft);color:var(--v3-accent);border-radius:8px;padding:5px 7px;font-size:9px;font-weight:900;cursor:pointer}
.lab-saved-list{display:grid;gap:5px}.lab-saved-view{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.lab-saved-open,.lab-saved-delete{border:1px solid var(--v3-border);background:transparent;color:var(--v3-ink);border-radius:8px;padding:6px 7px;font-size:9px;cursor:pointer}.lab-saved-open{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-saved-delete{color:var(--lab-danger)}
.lab-saved-empty{font-size:9px;color:var(--v3-muted);padding:3px 1px 5px}

/* Ações novas nos cards sem transformar em carnaval. */
.card-actions .lab-card-action{border:1px solid var(--v3-border);border-radius:9px;background:var(--v3-surface);color:var(--v3-muted);min-height:40px;padding:9px 10px;font-size:10px;font-weight:850;cursor:pointer;box-shadow:none;transition:.16s}
@media(hover:hover){.card-actions .lab-card-action:hover{color:var(--v3-accent);border-color:color-mix(in srgb,var(--v3-accent) 40%,var(--v3-border));transform:translateY(-1px)}}

/* Preparar cópia */
.lab-prep-backdrop{position:fixed;inset:0;z-index:16000;background:rgba(4,10,18,.46);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.lab-prep-modal{position:fixed;z-index:16001;left:50%;top:50%;transform:translate(-50%,-50%);width:min(820px,calc(100vw - 28px));max-height:min(820px,calc(100vh - 28px));overflow:auto;border:1px solid var(--v3-border);border-radius:22px;background:var(--v3-surface);box-shadow:0 34px 100px rgba(0,0,0,.32);padding:18px;color:var(--v3-ink)}
.lab-prep-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.lab-prep-head span{font-size:8px;letter-spacing:.15em;color:var(--v3-accent);font-weight:950}.lab-prep-head h2{margin:4px 0 0;font-size:22px}.lab-prep-head button{border:1px solid var(--v3-border);background:transparent;color:var(--v3-ink);border-radius:9px;width:36px;height:36px;cursor:pointer}.lab-prep-note{margin:8px 0 12px;color:var(--v3-muted);font-size:10px}.lab-prep-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.lab-prep-fields:empty{display:none}.lab-prep-field{display:grid;gap:4px;font-size:9px;color:var(--v3-muted);font-weight:800}.lab-prep-field input{border:1px solid var(--v3-border);border-radius:9px;background:var(--v3-surface-soft);color:var(--v3-ink);padding:9px}.lab-prep-modal textarea{width:100%;min-height:320px;resize:vertical;border:1px solid var(--v3-border);border-radius:13px;background:var(--v3-surface-soft);color:var(--v3-ink);padding:13px;font:12px/1.7 inherit;outline:0}.lab-prep-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}

/* GRERJ: mini resumo sticky + save state */
.lab-grerj-live{position:sticky;top:82px;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 12px;padding:10px 12px;border:1px solid var(--v3-border);border-radius:14px;background:color-mix(in srgb,var(--v3-surface) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.lab-grerj-live-main{display:flex;align-items:center;gap:14px;min-width:0}.lab-grerj-live-status{min-width:0}.lab-grerj-live-status b{display:block;font-size:11px;color:var(--v3-ink)}.lab-grerj-live-status small{display:block;font-size:8.5px;color:var(--v3-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-grerj-money{display:flex;gap:12px;flex-wrap:wrap}.lab-grerj-money span{font-size:8px;color:var(--v3-muted)}.lab-grerj-money strong{display:block;color:var(--v3-ink);font-size:10.5px;margin-top:1px}.lab-grerj-live-actions{display:flex;gap:6px}.lab-grerj-live-actions button{border:1px solid var(--v3-border);background:transparent;color:var(--v3-accent);border-radius:9px;padding:7px 9px;font-size:9px;font-weight:850;cursor:pointer}

/* Pessoas: agora resultado vira ponto de ação. */
.rx-people-results .people-result.lab-person{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;cursor:default!important}.lab-person-actions{display:flex;gap:5px}.lab-person-actions button{border:1px solid var(--rx-line);background:transparent;color:var(--rx-accent);border-radius:8px;padding:6px 7px;font-size:9px;font-weight:850;cursor:pointer}.lab-person-actions button:disabled{opacity:.35;cursor:not-allowed}

/* Rascunho: 4 ações precisam caber. */
.rx-scratch-buttons{flex-wrap:wrap;justify-content:flex-end}.rx-scratch-buttons button:disabled{opacity:.38;cursor:not-allowed}

@media(max-width:900px){.lab-grerj-live{top:70px}.lab-grerj-live{grid-template-columns:1fr}.lab-grerj-live-actions{justify-content:flex-start}}
@media(max-width:620px){.lab-prep-fields{grid-template-columns:1fr}.lab-prep-modal textarea{min-height:250px}.lab-prep-actions{flex-direction:column}.lab-prep-actions>*{width:100%}.rx-people-results .people-result.lab-person{grid-template-columns:auto minmax(0,1fr)!important}.lab-person-actions{grid-column:1/-1;justify-content:flex-end}.lab-grerj-live-main{align-items:flex-start;flex-direction:column;gap:7px}.lab-grerj-money{width:100%;justify-content:space-between}}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* GRERJ · documento cartorário copiável · V1.4
   Referência: formatação real observada no sistema cartorário. */
.cert-preview.cartorio-doc{
  white-space:normal!important;
  padding:14px!important;
  background:rgba(248,251,254,.72)!important;
}
.cert-preview.cartorio-doc .cartorio-document{
  box-sizing:border-box;
  width:min(760px,100%);
  margin:0 auto;
  padding:22px 16px 28px;
  background:#fff;
  color:#000;
  font-family:"Times New Roman",Times,serif;
  font-size:16px;
  line-height:1.36;
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 5px 18px rgba(0,0,0,.045);
}
.cert-preview.cartorio-doc .cartorio-cert-title{
  margin:0 0 46px;
  text-align:center;
  font-size:20px;
  line-height:1;
  font-weight:700;
}
.cert-preview.cartorio-doc .cartorio-section-title{
  margin:0 0 22px;
  text-align:left;
  font-weight:700;
}
.cert-preview.cartorio-doc .cartorio-option{
  margin:0 0 22px;
  text-align:left;
}
.cert-preview.cartorio-doc .cartorio-option:last-of-type{
  margin-bottom:42px;
}
.cert-preview.cartorio-doc .cartorio-rubricas{margin:0}
.cert-preview.cartorio-doc .cartorio-rubrica{
  margin:0 0 24px;
  text-align:left;
  font-style:italic;
  line-height:1.4;
}
.cert-preview.cartorio-doc .cartorio-act-title{
  margin:70px 0 34px;
  text-align:center;
  font-size:20px;
  line-height:1;
  font-weight:700;
}
.cert-preview.cartorio-doc .cartorio-act{
  margin:0;
  text-align:justify;
  text-indent:92px;
  line-height:1.38;
}
@media(max-width:720px){
  .cert-preview.cartorio-doc .cartorio-document{
    padding:20px 14px 24px;
    font-size:15px;
  }
  .cert-preview.cartorio-doc .cartorio-cert-title{margin-bottom:36px}
  .cert-preview.cartorio-doc .cartorio-option:last-of-type{margin-bottom:32px}
  .cert-preview.cartorio-doc .cartorio-act-title{margin-top:54px}
  .cert-preview.cartorio-doc .cartorio-act{text-indent:48px}
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   HOME V1.5 · MAIS ÓBVIA PARA QUEM NÃO CONHECE O SISTEMA
   ======================================================================== */

/* Sem rail lateral: a Home volta a ser uma única coluna de leitura. */
body.app-home .home-command-center .home-workspace{
  width:min(1180px,100%)!important;
  grid-template-columns:minmax(0,1fr)!important;
}
body.app-home .home-command-center .home-main{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.app-home .home-command-center .home-main>.command-hero,
body.app-home .home-command-center .home-main>.rx-stat-grid{
  grid-column:1/-1!important;
}

/* Três métricas são suficientes: biblioteca, GRERJ e estado da nuvem. */
body.app-home .rx-stat-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.app-home .rx-stat-grid>.rx-stat:nth-child(3){
  border-right:0!important;
}

/* Fixados e Copiados recentemente são as únicas áreas auxiliares da Home. */
body.app-home #labPinnedSection,
body.app-home #homeRecentList{
  min-width:0;
}
body.app-home #labPinnedSection .rx-section-title b::first-letter{
  color:var(--amber);
}

/* A Home não depende mais do antigo rail. */
body.app-home .home-rail{display:none!important}

@media(max-width:840px){
  body.app-home .home-command-center .home-main{
    grid-template-columns:1fr!important;
  }
  body.app-home .home-command-center .home-main>*{
    grid-column:1!important;
  }
  body.app-home .rx-stat-grid{
    grid-template-columns:1fr!important;
  }
  body.app-home .rx-stat-grid>.rx-stat{
    border-right:0!important;
    border-bottom:1px solid var(--rx-line)!important;
  }
  body.app-home .rx-stat-grid>.rx-stat:last-child{
    border-bottom:0!important;
  }
}

/* ========================================================================
   DIRETÓRIO DE USUÁRIOS
   ======================================================================== */
.people-directory{
  position:fixed;
  inset:0;
  z-index:12150;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(8,15,26,.34);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 160ms var(--ease-ios),visibility 0s linear 160ms;
}
.people-directory.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition-delay:0s;
}
.people-directory-dialog{
  width:min(920px,100%);
  max-height:min(760px,88vh);
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--rx-line);
  border-radius:22px;
  background:var(--rx-glass-strong);
  color:var(--rx-ink);
  box-shadow:0 34px 100px rgba(4,12,23,.30);
  transform:translateY(12px) scale(.985);
  transition:transform 220ms var(--ease-spring);
}
.people-directory.open .people-directory-dialog{transform:none}
.people-directory-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px 17px;
  border-bottom:1px solid var(--rx-line);
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.people-directory-kicker{
  display:block;
  margin-bottom:5px;
  color:var(--rx-muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
}
.people-directory-head h2{
  margin:0;
  color:var(--rx-ink);
  font-size:24px;
  letter-spacing:-.03em;
}
.people-directory-head p{
  margin:5px 0 0;
  color:var(--rx-muted);
  font-size:11px;
}
#peopleDirectoryClose{
  width:40px;
  height:40px;
  min-height:40px;
  border:1px solid var(--rx-line);
  border-radius:12px;
  background:transparent;
  color:var(--rx-muted);
  font-size:22px;
  cursor:pointer;
}
.people-directory-search{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:center;
  margin:16px 18px 8px;
  padding:0 14px;
  border:1px solid var(--rx-line);
  border-radius:14px;
  background:color-mix(in srgb,var(--rx-glass) 82%,transparent);
}
.people-directory-search span{color:var(--rx-accent)}
.people-directory-search input{
  width:100%;
  min-width:0;
  height:46px;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--rx-ink)!important;
  box-shadow:none!important;
  transform:none!important;
}
.people-directory-status{
  padding:0 20px 9px;
  color:var(--rx-muted);
  font-size:10px;
}
.people-directory-list{
  overflow:auto;
  padding:8px 18px 18px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.people-directory-card{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:11px;
  border:1px solid var(--rx-line);
  border-radius:15px;
  background:color-mix(in srgb,var(--rx-glass) 72%,transparent);
  color:var(--rx-ink);
  text-align:left;
  cursor:pointer;
  transition:transform 150ms var(--ease-ios),border-color 150ms ease,background 150ms ease;
}
@media(hover:hover){
  .people-directory-card:hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb,var(--rx-accent) 42%,var(--rx-line));
    background:color-mix(in srgb,var(--rx-accent) 7%,var(--rx-glass));
  }
}
.people-directory-avatar{
  width:42px;
  height:42px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:color-mix(in srgb,var(--rx-accent) 11%,transparent);
  color:var(--rx-accent);
  font-size:11px;
  font-weight:900;
}
.people-directory-avatar img{width:100%;height:100%;object-fit:cover}
.people-directory-copy{min-width:0}
.people-directory-copy strong,
.people-directory-copy small{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.people-directory-copy strong{font-size:12px}
.people-directory-copy small{margin-top:3px;color:var(--rx-muted);font-size:9.5px}
.people-directory-role{
  border:1px solid var(--rx-line);
  border-radius:999px;
  padding:5px 8px;
  color:var(--rx-muted);
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}
.people-directory-test{
  display:inline-flex;
  margin-top:5px;
  padding:3px 6px;
  border-radius:7px;
  background:color-mix(in srgb,var(--amber) 15%,transparent);
  color:var(--amber);
  font-size:8.5px;
  font-weight:900;
}
.people-directory-empty{
  grid-column:1/-1;
  padding:34px 18px;
  border:1px dashed var(--rx-line);
  border-radius:14px;
  color:var(--rx-muted);
  text-align:center;
  font-size:11px;
}
@media(max-width:720px){
  .people-directory{padding:8px}
  .people-directory-dialog{max-height:92vh;border-radius:18px}
  .people-directory-list{grid-template-columns:1fr}
}

/* ========================================================================
   CONTA INTERNA DE TESTE · hardcoded por username real, não display name.
   ======================================================================== */
.profile-test-account-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:7px 0 0;
  padding:5px 9px;
  border:1px solid color-mix(in srgb,var(--amber) 38%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--amber) 13%,transparent);
  color:var(--amber);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.03em;
}
.profile-test-account-badge[hidden]{display:none!important}
#profileInterface.is-test-account .profile-hero-v2{
  border-color:color-mix(in srgb,var(--amber) 48%,var(--line))!important;
  box-shadow:
    0 0 0 3px color-mix(in srgb,var(--amber) 7%,transparent),
    0 14px 36px rgba(34,67,108,.09)!important;
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   V1.5.1 · MODELOS — LAYOUT CORRETO
   Estrutura real:
     controls controls
     side     main
   O painel de pesquisa é filho DIRETO do workspace.
   ======================================================================== */

body{
  --assistente-control-ink:
    color-mix(in srgb,var(--ink) 88%,var(--blue) 12%);
  --assistente-control-ink-strong:
    color-mix(in srgb,var(--ink) 95%,var(--blue) 5%);
}

/* ------------------------------------------------------------------------
   LEGIBILIDADE · texto clicável não parece desabilitado.
   Variáveis de tema garantem o mesmo princípio nos seis céus.
   ------------------------------------------------------------------------ */
.module-btn:not(.active),
body.app-models .rx-module-side .cats button:not(.active),
body.app-grerj .rx-module-side .cats button:not(.active),
body.app-models .rx-module-controls .tabs button:not(.active),
body.app-models .rx-module-controls .search-options label,
.workspace-action:not(:disabled),
.secondary:not(:disabled),
.quick-edit:not(:disabled),
.dispense-btn:not(:disabled),
.rx-text-btn:not(:disabled),
.lab-save-view:not(:disabled),
.lab-saved-open:not(:disabled){
  color:var(--assistente-control-ink)!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  font-weight:820!important;
}

/* Navegação global e seleções ficam ainda mais inequívocas. */
.module-btn.active{
  color:var(--assistente-control-ink-strong)!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  font-weight:900!important;
}
body.app-models .rx-module-side .cats button.active,
body.app-grerj .rx-module-side .cats button.active{
  color:var(--blue)!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  font-weight:900!important;
}
body.app-models .rx-module-controls .tabs button.active{
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  font-weight:900!important;
}

/* Placeholder continua secundário, porém legível. */
body.app-models #search::placeholder{
  color:color-mix(in srgb,var(--ink) 58%,var(--muted) 42%)!important;
  opacity:1!important;
}

/* ------------------------------------------------------------------------
   DESKTOP · busca acima, categorias e resultados embaixo.
   ------------------------------------------------------------------------ */
@media(min-width:901px){
  body.app-models main.shell.rx-module-workspace{
    display:grid!important;
    grid-template-columns:var(--rx-module-side) minmax(0,1fr)!important;
    grid-template-areas:
      "controls controls"
      "side main"!important;
    column-gap:var(--rx-module-gap)!important;
    row-gap:18px!important;
    align-items:start!important;
  }

  body.app-models main.shell.rx-module-workspace > .rx-module-controls{
    grid-area:controls!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }

  body.app-models main.shell.rx-module-workspace > .rx-module-side{
    grid-area:side!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  body.app-models main.shell.rx-module-workspace > .rx-module-main{
    grid-area:main!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  body.app-models .rx-module-main > .rx-module-results{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
}

/* ------------------------------------------------------------------------
   PAINEL DE PESQUISA · ordem sem ambiguidade:
   1. menus
   2. busca
   3. alcance
   ------------------------------------------------------------------------ */
body.app-models .rx-module-controls .searchbar{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:13px 14px 14px!important;
}

/* Menus ficam ACIMA da barra. */
body.app-models:not(.app-home):not(.profile-view) main.shell.rx-module-workspace > .rx-module-controls .searchbar > .tabs{
  order:1!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

/* Busca ocupa toda a largura do painel. */
body.app-models .rx-module-controls .searchwrap{
  order:2!important;
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
body.app-models .rx-module-controls .searchwrap input{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:52px!important;
  margin:0!important;
  font-size:14px!important;
  transform:none!important;
}

/* Alcance é terciário e compacto. */
body.app-models .rx-module-controls .search-options{
  order:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
}
body.app-models .rx-module-controls .search-options > b{
  color:var(--assistente-control-ink)!important;
  opacity:1!important;
  font-weight:900!important;
}

/* Se algum hotfix legado recriar a explicação, ela continua fora da UI. */
body.app-models .rx-module-controls .search-hint{
  display:none!important;
}

/* ------------------------------------------------------------------------
   MOBILE / TABLET · mesma leitura vertical.
   O CSS legado já usa display:contents em .rx-module-main abaixo de 900px;
   agora isso é seguro porque controls já é filho direto do workspace.
   ------------------------------------------------------------------------ */
@media(max-width:900px){
  body.app-models .rx-module-controls .searchbar{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  body.app-models:not(.app-home):not(.profile-view) main.shell.rx-module-workspace > .rx-module-controls .searchbar > .tabs{
    order:1!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }
  body.app-models .rx-module-controls .tabs::-webkit-scrollbar{
    display:none!important;
  }
  body.app-models .rx-module-controls .searchwrap{order:2!important}
  body.app-models .rx-module-controls .search-options{
    order:3!important;
    width:100%!important;
  }
}

@media(max-width:620px){
  body.app-models .rx-module-controls .tabs{
    flex-wrap:wrap!important;
    overflow:visible!important;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* V1.5.3 · GRERJ: pesquisa no topo + calculadora real à direita */

.grerj-calc-dock{display:none;min-width:0}

@media(min-width:901px){
  body.app-grerj main.shell.rx-module-workspace{
    display:grid!important;
    grid-template-columns:var(--rx-module-side) minmax(0,1fr)!important;
    grid-template-areas:
      "controls controls"
      "side main"!important;
    column-gap:22px!important;
    row-gap:18px!important;
    align-items:start!important;
  }

  body.app-grerj main.shell.rx-module-workspace > .rx-module-controls{
    grid-area:controls!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
  body.app-grerj main.shell.rx-module-workspace > .rx-module-side{grid-area:side!important}
  body.app-grerj main.shell.rx-module-workspace > .rx-module-main{
    grid-area:main!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  body.app-grerj .rx-module-controls .searchbar{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:13px 14px!important;
  }
  body.app-grerj .rx-module-controls .searchwrap{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
  body.app-grerj .rx-module-controls .searchwrap input{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    margin:0!important;
    transform:none!important;
  }
  body.app-grerj .rx-module-controls .tabs,
  body.app-grerj .rx-module-controls .search-options,
  body.app-grerj .rx-module-controls .search-hint{
    display:none!important;
  }
}

@media(min-width:1200px){
  body.app-grerj main.shell.rx-module-workspace{
    --grerj-calc-width:310px;
    --rx-module-side:240px;
    grid-template-columns:
      var(--rx-module-side)
      minmax(0,1fr)
      var(--grerj-calc-width)!important;
    grid-template-areas:
      "controls controls controls"
      "side main calc"!important;
  }

  body.app-grerj #grerjCalcDock{
    grid-area:calc!important;
    display:block!important;
    position:sticky!important;
    top:92px!important;
    align-self:start!important;
    width:100%!important;
    min-width:0!important;
    min-height:430px!important;
    isolation:isolate!important;
  }

  body.app-grerj #grerjCalcDock::before{
    content:"";
    position:absolute;
    inset:18px -12px -18px;
    z-index:-1;
    border-radius:32px;
    background:
      radial-gradient(circle at 50% 20%,
        color-mix(in srgb,var(--blue) 17%,transparent),
        transparent 58%);
    filter:blur(24px);
    opacity:.72;
    pointer-events:none;
  }

  body.app-grerj.grerj-calc-docked #grerjCalcDock > #miniCalcPanel{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:15px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    translate:none!important;
    z-index:1!important;
    border-radius:20px!important;
    overflow:visible!important;
    box-shadow:
      0 18px 44px rgba(8,22,40,.11),
      inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.app-grerj.grerj-calc-docked #miniCalcPanel .mini-calc-head{margin-bottom:11px!important}
  body.app-grerj.grerj-calc-docked #miniCalcPanel .mini-calc-display{
    width:100%!important;
    height:60px!important;
    min-height:60px!important;
    font-size:24px!important;
  }
  body.app-grerj.grerj-calc-docked #miniCalcPanel .mini-calc-grid{gap:8px!important}
  body.app-grerj.grerj-calc-docked #miniCalcPanel .mini-calc-key{
    height:46px!important;
    min-height:46px!important;
  }
  body.app-grerj.grerj-calc-docked #miniCalcPanel .mini-calc-note{
    display:block!important;
    margin-top:10px!important;
  }
  body.app-grerj.grerj-calc-docked #miniCalcClose,
  body.app-grerj.grerj-calc-docked #miniCalcTab{
    display:none!important;
  }
}

@media(max-width:1199px){
  body.app-grerj #grerjCalcDock{display:none!important}
}

@media(max-width:900px){
  body.app-grerj main.shell.rx-module-workspace{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "controls"
      "side"
      "main"!important;
    gap:12px!important;
  }
  body.app-grerj main.shell.rx-module-workspace > .rx-module-controls{grid-area:controls!important}
  body.app-grerj main.shell.rx-module-workspace > .rx-module-side{grid-area:side!important}
  body.app-grerj main.shell.rx-module-workspace > .rx-module-main{
    grid-area:main!important;
    display:block!important;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   V1.5.4 · GRERJ — DISPENSA LEGÍVEL + FAVORITO DISCRETO
   ======================================================================== */

/* ------------------------------------------------------------------------
   FAVORITO DA SIDEBAR
   A regra genérica ".cats button { width:100% }" era a causa do overflow.
   A linha passa a ser uma grid real: estrela pequena | nome.
   ------------------------------------------------------------------------ */
body.app-grerj .rx-module-side .cats{
  overflow-x:hidden!important;
}

body.app-grerj .rx-module-side .cats .grerj-nav-wrap{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

body.app-grerj .rx-module-side .cats .grerj-nav-wrap > button:not(.grerj-nav-favorite){
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:9px 10px!important;
  overflow-wrap:anywhere!important;
}

body.app-grerj .rx-module-side .cats .grerj-nav-wrap > .grerj-nav-favorite{
  grid-column:1!important;
  position:static!important;
  inset:auto!important;
  box-sizing:border-box!important;

  width:26px!important;
  min-width:26px!important;
  max-width:26px!important;
  height:auto!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;

  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;

  border:1px solid transparent!important;
  border-radius:9px!important;
  clip-path:none!important;
  background:transparent!important;
  box-shadow:none!important;

  color:color-mix(in srgb,var(--v3-muted) 76%,transparent)!important;
  opacity:.58!important;
  filter:none!important;
  transform:none!important;
  cursor:pointer!important;
}
body.app-grerj .rx-module-side .cats .grerj-nav-wrap > .grerj-nav-favorite::before{
  content:"☆"!important;
  position:static!important;
  font-size:15px!important;
  line-height:1!important;
  color:currentColor!important;
  text-shadow:none!important;
  transform:none!important;
}
body.app-grerj .rx-module-side .cats .grerj-nav-wrap > .grerj-nav-favorite::after{
  content:none!important;
  display:none!important;
}
body.app-grerj .rx-module-side .cats .grerj-nav-wrap > .grerj-nav-favorite.active{
  width:26px!important;
  min-width:26px!important;
  max-width:26px!important;
  min-height:38px!important;
  opacity:1!important;
  color:var(--amber)!important;
  background:color-mix(in srgb,var(--amber) 9%,transparent)!important;
  border-color:color-mix(in srgb,var(--amber) 17%,transparent)!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  animation:none!important;
}
body.app-grerj .rx-module-side .cats .grerj-nav-wrap > .grerj-nav-favorite.active::before{
  content:"★"!important;
  font-size:15px!important;
  color:var(--amber)!important;
}
@media(hover:hover){
  body.app-grerj .rx-module-side .cats .grerj-nav-wrap > .grerj-nav-favorite:hover{
    opacity:1!important;
    color:var(--amber)!important;
    background:color-mix(in srgb,var(--amber) 7%,transparent)!important;
    border-color:color-mix(in srgb,var(--amber) 13%,transparent)!important;
    transform:none!important;
  }
}

/* ------------------------------------------------------------------------
   DISPENSAR · estado neutro
   Nunca branco estourado em tema escuro e nunca texto apagado.
   ------------------------------------------------------------------------ */
body.app-grerj .dispense-btn{
  min-height:39px!important;
  border:
    1px solid color-mix(in srgb,var(--v3-border) 72%,var(--v3-accent) 28%)!important;
  border-radius:10px!important;
  background:
    color-mix(in srgb,var(--v3-surface-soft) 88%,var(--v3-accent) 12%)!important;
  color:var(--v3-text)!important;
  opacity:1!important;
  font-weight:850!important;
  filter:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
@media(hover:hover){
  body.app-grerj .dispense-btn:not(.active):hover{
    background:
      color-mix(in srgb,var(--v3-surface-soft) 78%,var(--v3-accent) 22%)!important;
    border-color:
      color-mix(in srgb,var(--v3-border) 50%,var(--v3-accent) 50%)!important;
    color:var(--v3-text)!important;
  }
}

/* ------------------------------------------------------------------------
   DISPENSADO · estado ligado
   A linha inteira comunica a decisão, não apenas o botão.
   ------------------------------------------------------------------------ */
body.app-grerj .dispense-btn.active,
body.app-grerj .dispense-btn[aria-pressed="true"]{
  background:
    color-mix(in srgb,var(--v3-accent) 20%,var(--v3-surface))!important;
  border-color:
    color-mix(in srgb,var(--v3-accent) 58%,var(--v3-border))!important;
  color:color-mix(in srgb,var(--v3-text) 90%,var(--v3-accent) 10%)!important;
  opacity:1!important;
  font-weight:900!important;
  box-shadow:
    inset 3px 0 0 color-mix(in srgb,var(--v3-accent) 78%,transparent),
    0 0 0 2px color-mix(in srgb,var(--v3-accent) 7%,transparent)!important;
}

body.app-grerj .grerj-row.is-dispensed{
  position:relative!important;
  background:
    color-mix(in srgb,var(--v3-accent) 7%,var(--v3-surface))!important;
  box-shadow:
    inset 4px 0 0 color-mix(in srgb,var(--v3-accent) 56%,transparent)!important;
}
body.app-grerj .grerj-row.is-dispensed .grerj-name{
  color:var(--v3-text)!important;
  opacity:.82!important;
}
body.app-grerj .grerj-row.is-dispensed .grerj-name::after{
  content:"DISPENSADA";
  display:inline-flex;
  margin-left:8px;
  padding:3px 6px;
  vertical-align:middle;
  border:
    1px solid color-mix(in srgb,var(--v3-accent) 35%,var(--v3-border));
  border-radius:999px;
  background:
    color-mix(in srgb,var(--v3-accent) 10%,transparent);
  color:color-mix(in srgb,var(--v3-text) 82%,var(--v3-accent) 18%);
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}

body.app-grerj .grerj-row.is-dispensed .money-input,
body.app-grerj .grerj-row.is-dispensed .grerj-qty{
  opacity:.42!important;
  filter:saturate(.45)!important;
}

/* Resultado dispensado vira uma pill visível inclusive à noite. */
body.app-grerj .grerj-result.dispensed{
  border:
    1px solid color-mix(in srgb,var(--v3-accent) 42%,var(--v3-border))!important;
  background:
    color-mix(in srgb,var(--v3-accent) 13%,var(--v3-surface-soft))!important;
  color:color-mix(in srgb,var(--v3-text) 88%,var(--v3-accent) 12%)!important;
  opacity:1!important;
  font-weight:900!important;
}

/* Taxa Judiciária dispensada segue a mesma linguagem. */
body.app-grerj .tax-card.is-dispensed{
  background:
    color-mix(in srgb,var(--v3-accent) 7%,var(--v3-surface))!important;
  box-shadow:
    inset 4px 0 0 color-mix(in srgb,var(--v3-accent) 56%,transparent),
    0 10px 30px rgba(8,22,40,.055)!important;
}
body.app-grerj .tax-card.is-dispensed .tax-title h3::after{
  content:"DISPENSADA";
  display:inline-flex;
  margin-left:9px;
  padding:3px 6px;
  vertical-align:middle;
  border:
    1px solid color-mix(in srgb,var(--v3-accent) 35%,var(--v3-border));
  border-radius:999px;
  background:
    color-mix(in srgb,var(--v3-accent) 10%,transparent);
  color:color-mix(in srgb,var(--v3-text) 82%,var(--v3-accent) 18%);
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}

/* Especialmente nos três temas escuros/quentes: mata qualquer regra legada
   que tente devolver fundo branco ao botão. */
html[data-theme="sunset"] body.app-grerj .dispense-btn,
html[data-theme="night"] body.app-grerj .dispense-btn,
html[data-theme="midnight"] body.app-grerj .dispense-btn{
  background:
    color-mix(in srgb,var(--v3-surface-soft) 84%,var(--v3-accent) 16%)!important;
  color:var(--v3-text)!important;
}
html[data-theme="sunset"] body.app-grerj .dispense-btn.active,
html[data-theme="night"] body.app-grerj .dispense-btn.active,
html[data-theme="midnight"] body.app-grerj .dispense-btn.active{
  background:
    color-mix(in srgb,var(--v3-accent) 28%,var(--v3-surface))!important;
  color:var(--v3-text)!important;
}

/* O controle "Hipótese BQ" foi removido por não possuir lógica funcional. */


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   V1.5.5 · FAVORITO DE MODELOS + DISPENSA
   ======================================================================== */

/* ------------------------------------------------------------------------
   MODELOS · mesma linguagem da estrela da GRERJ.
   A estrela pertence ao título; Editar/Copiar continuam como ações.
   ------------------------------------------------------------------------ */
body.app-models .model-card-heading{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  align-items:start!important;
  gap:8px!important;
  min-width:0!important;
}
body.app-models .model-card-heading-copy{
  min-width:0!important;
}

/* Vence completamente o antigo botão quadrado 44x44. */
body.app-models .model-card-heading > .model-favorite{
  position:static!important;
  inset:auto!important;
  box-sizing:border-box!important;

  width:26px!important;
  min-width:26px!important;
  max-width:26px!important;
  height:32px!important;
  min-height:32px!important;

  display:grid!important;
  place-items:center!important;

  margin:0!important;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:transparent!important;
  box-shadow:none!important;

  color:color-mix(in srgb,var(--v3-muted) 76%,transparent)!important;
  opacity:.62!important;
  filter:none!important;
  transform:none!important;

  font-size:16px!important;
  line-height:1!important;
  font-weight:800!important;
  cursor:pointer!important;

  transition:
    color 100ms ease,
    opacity 100ms ease,
    background-color 100ms ease,
    border-color 100ms ease!important;
}
body.app-models .model-card-heading > .model-favorite.active{
  width:26px!important;
  min-width:26px!important;
  height:32px!important;
  color:var(--amber)!important;
  opacity:1!important;
  background:color-mix(in srgb,var(--amber) 9%,transparent)!important;
  border-color:color-mix(in srgb,var(--amber) 17%,transparent)!important;
  box-shadow:none!important;
  transform:none!important;
}
@media(hover:hover){
  body.app-models .model-card-heading > .model-favorite:hover{
    color:var(--amber)!important;
    opacity:1!important;
    background:color-mix(in srgb,var(--amber) 7%,transparent)!important;
    border-color:color-mix(in srgb,var(--amber) 13%,transparent)!important;
    transform:none!important;
  }
}

/* O card-actions não contém mais a estrela.
   Corrige também o grid mobile legado que reservava uma coluna de 44px. */
body.app-models .card-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
}
@media(max-width:900px){
  body.app-models .card-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }
  body.app-models .card-actions:not(:has(.quick-edit)){
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.app-models .card-actions .copy,
  body.app-models .card-actions .quick-edit{
    width:100%!important;
    min-width:0!important;
  }
}

/* ------------------------------------------------------------------------
   DISPENSA · status e ação não brigam mais.
   Linha/Resultado dizem "Dispensado"; botão ativo diz "Reativar".
   ------------------------------------------------------------------------ */
body.app-grerj .dispense-btn{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0 9px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1!important;
}

/* Ativo continua visualmente diferente, mas agora é um verbo/ação curta. */
body.app-grerj .dispense-btn.active,
body.app-grerj .dispense-btn[aria-pressed="true"]{
  white-space:nowrap!important;
  font-size:11px!important;
  letter-spacing:0!important;
}

/* Dá à coluna de dispensa largura suficiente sem engordar a tabela inteira. */
@media(min-width:1121px){
  body.app-grerj .grerj-row{
    grid-template-columns:
      minmax(138px,1.18fr)
      72px
      104px
      68px
      minmax(128px,1fr)
      112px
      minmax(132px,1fr)!important;
    gap:8px!important;
  }
}

/* O resultado é o STATUS definitivo da rubrica. */
body.app-grerj .grerj-result.dispensed{
  white-space:nowrap!important;
  font-size:10.5px!important;
  padding:0 8px!important;
}

/* Taxa: o botão não precisa ocupar largura arbitrária do flex. */
body.app-grerj #taxDispense{
  width:auto!important;
  min-width:92px!important;
  max-width:none!important;
  padding-inline:12px!important;
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   BUILD 1.5 ESTÁVEL · SIDEBAR DE MODELOS
   Mesma linguagem visual da GRERJ, preservando nomes longos.
   A estrela é um indicador de navegação, não um favorito de categoria.
   ======================================================================== */

body.app-models .rx-module-side .cats .model-cat-wrap{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:6px!important;

  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}

/* O texto continua sendo o verdadeiro botão de navegação. */
body.app-models .rx-module-side .cats .model-cat-wrap > button{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;

  padding:9px 10px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
}

/* Coluna visual fixa — não participa do clique e nunca aperta o nome. */
body.app-models .rx-module-side .cats .model-cat-star{
  grid-column:1!important;
  align-self:center!important;
  justify-self:center!important;

  width:24px!important;
  min-width:24px!important;
  height:30px!important;

  display:grid!important;
  place-items:center!important;

  color:color-mix(in srgb,var(--v3-muted) 72%,transparent)!important;
  opacity:.58!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:800!important;
  text-shadow:none!important;
  pointer-events:none!important;

  transition:
    color 120ms ease,
    opacity 120ms ease,
    transform 150ms var(--ease-ios)!important;
}

/* Categoria selecionada: mesma leitura rápida do item ativo da GRERJ. */
body.app-models .rx-module-side .cats .model-cat-wrap.active > .model-cat-star{
  color:var(--amber)!important;
  opacity:1!important;
  transform:scale(1.04)!important;
}

/* Hover na linha reforça a estrela sem criar um segundo alvo de clique. */
@media(hover:hover){
  body.app-models .rx-module-side .cats .model-cat-wrap:hover > .model-cat-star{
    color:color-mix(in srgb,var(--amber) 72%,var(--v3-muted))!important;
    opacity:.9!important;
  }
}

/* Mobile: mantém a coluna mínima e entrega todo o espaço restante ao texto. */
@media(max-width:900px){
  body.app-models .rx-module-side .cats .model-cat-wrap{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:5px!important;
  }
  body.app-models .rx-module-side .cats .model-cat-star{
    width:22px!important;
    min-width:22px!important;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   BUILD 1.5 ESTÁVEL · FAVORITOS UNIFICADOS
   Azul = seleção atual
   ☆/★ = salvar/fixar
   ======================================================================== */

/* ------------------------------------------------------------------------
   MODELOS · sidebar
   A estrela é um botão real, mas ocupa só uma coluna mínima.
   ------------------------------------------------------------------------ */
body.app-models .rx-module-side .cats .model-cat-wrap{
  grid-template-columns:24px minmax(0,1fr)!important;
  gap:6px!important;
}

/* Vence a regra antiga ".model-cat-wrap > button" que também atingiria
   o novo botão da estrela. */
body.app-models .rx-module-side .cats .model-cat-wrap > .model-cat-favorite{
  grid-column:1!important;
  align-self:center!important;
  justify-self:center!important;

  box-sizing:border-box!important;
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  height:32px!important;
  min-height:32px!important;

  display:grid!important;
  place-items:center!important;

  margin:0!important;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;

  color:color-mix(in srgb,var(--v3-muted) 72%,transparent)!important;
  opacity:.58!important;
  filter:none!important;
  transform:none!important;

  font-size:15px!important;
  line-height:1!important;
  font-weight:850!important;
  cursor:pointer!important;

  transition:
    color 100ms ease,
    opacity 100ms ease,
    background-color 100ms ease,
    border-color 100ms ease!important;
}

/* IMPORTANTE: seleção da categoria NÃO altera a estrela. */
body.app-models .rx-module-side .cats .model-cat-wrap.active > .model-cat-favorite{
  color:color-mix(in srgb,var(--v3-muted) 72%,transparent)!important;
  opacity:.58!important;
  background:transparent!important;
  border-color:transparent!important;
  transform:none!important;
}

/* Somente o favorito real acende. */
body.app-models .rx-module-side .cats .model-cat-wrap > .model-cat-favorite.active,
body.app-models .rx-module-side .cats .model-cat-wrap.active > .model-cat-favorite.active{
  color:var(--amber)!important;
  opacity:1!important;
  background:color-mix(in srgb,var(--amber) 9%,transparent)!important;
  border-color:color-mix(in srgb,var(--amber) 17%,transparent)!important;
}

@media(hover:hover){
  body.app-models .rx-module-side .cats .model-cat-wrap > .model-cat-favorite:hover{
    color:var(--amber)!important;
    opacity:1!important;
    background:color-mix(in srgb,var(--amber) 7%,transparent)!important;
    border-color:color-mix(in srgb,var(--amber) 13%,transparent)!important;
  }
}

/* O nome continua com TODO o resto da largura. */
body.app-models .rx-module-side .cats .model-cat-wrap > button:not(.model-cat-favorite){
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* ------------------------------------------------------------------------
   GRERJ ABERTA · acabou a bandeira.
   A estrela usa a mesma linguagem de salvar dos demais lugares.
   ------------------------------------------------------------------------ */
body.app-grerj .grerj-hero-title-main{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
}
body.app-grerj .grerj-hero-title-main h2{
  min-width:0!important;
}

body.app-grerj .grerj-current-favorite{
  flex:0 0 28px!important;
  width:28px!important;
  min-width:28px!important;
  height:32px!important;
  min-height:32px!important;

  display:grid!important;
  place-items:center!important;

  margin:0!important;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:transparent!important;
  box-shadow:none!important;

  color:color-mix(in srgb,var(--v3-muted) 72%,transparent)!important;
  opacity:.62!important;
  filter:none!important;
  transform:none!important;

  font-size:17px!important;
  line-height:1!important;
  font-weight:850!important;
  cursor:pointer!important;
}

body.app-grerj .grerj-current-favorite.active{
  color:var(--amber)!important;
  opacity:1!important;
  background:color-mix(in srgb,var(--amber) 9%,transparent)!important;
  border-color:color-mix(in srgb,var(--amber) 17%,transparent)!important;
}

@media(hover:hover){
  body.app-grerj .grerj-current-favorite:hover{
    color:var(--amber)!important;
    opacity:1!important;
    background:color-mix(in srgb,var(--amber) 7%,transparent)!important;
    border-color:color-mix(in srgb,var(--amber) 13%,transparent)!important;
  }
}

/* A linha do título continua deixando Editar no extremo direito. */
body.app-grerj .grerj-hero-title-row{
  justify-content:space-between!important;
}

/* Mobile preserva os nomes longos da lateral de Modelos. */
@media(max-width:900px){
  body.app-models .rx-module-side .cats .model-cat-wrap{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:5px!important;
  }
  body.app-models .rx-module-side .cats .model-cat-wrap > .model-cat-favorite{
    width:22px!important;
    min-width:22px!important;
    max-width:22px!important;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   SEARCH SURFACE · REGRA UNIVERSAL V2
   ------------------------------------------------------------------------
   CAUSA REAL:
   o wrapper .controls ainda recebia fundo/borda/sombra de uma regra legada
   mais específica:
     body:not(.app-home):not(.profile-view) .controls
   Isso deixava um retângulo quadrado atrás da .searchbar arredondada.

   REGRA:
   1. .controls.rx-module-controls = estrutura / posicionamento, SEM PINTURA.
   2. .searchbar = única superfície visual.
   ======================================================================== */

:root{
  --assistente-search-radius:16px;
}

/* O wrapper estrutural nunca desenha superfície.
   A especificidade é deliberadamente maior que a regra legada. */
body:not(.app-home):not(.profile-view) .controls.rx-module-controls{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-color:transparent!important;
  box-shadow:none!important;
  outline:0!important;

  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;

  /* Mantém sticky/top/z-index/padding do layout legado quando necessários. */
  isolation:auto!important;
}

/* Nenhuma película decorativa pode voltar a pintar o wrapper. */
body:not(.app-home):not(.profile-view) .controls.rx-module-controls::before,
body:not(.app-home):not(.profile-view) .controls.rx-module-controls::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* A barra é a única superfície visível. */
body:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar{
  box-sizing:border-box!important;
  border-radius:var(--assistente-search-radius)!important;
  background-clip:padding-box!important;

  /* Recorta a pintura/blur da própria barra, não do wrapper. */
  overflow:hidden!important;
  contain:paint!important;
  isolation:isolate!important;
}

/* Camadas decorativas futuras obedecem ao raio da barra. */
body:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar::before,
body:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar::after{
  border-radius:inherit!important;
}

@media(max-width:900px){
  body:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar{
    --assistente-search-radius:15px;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   BUILD 1.5.2 · GUIAS / BIBLIOTECA / MURAL
   ======================================================================== */
.module-nav{max-width:min(760px,58vw);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;flex-wrap:nowrap!important}
.module-nav::-webkit-scrollbar{display:none}.module-nav .module-btn{flex:0 0 auto!important;white-space:nowrap!important}
.nav-mural{position:relative}.nav-notice-dot{position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--amber,#f4b844);box-shadow:0 0 0 2px color-mix(in srgb,var(--panel-strong,#fff) 90%,transparent)}

.kb-page[hidden]{display:none!important}.kb-page{display:block;min-height:calc(100svh - 64px);padding:24px 0 120px;position:relative;z-index:3}
.kb-frame{width:min(var(--v3-max,1480px),calc(100% - 40px));margin:0 auto}
body.app-guides>main.shell.rx-module-workspace,body.app-library>main.shell.rx-module-workspace,body.app-mural>main.shell.rx-module-workspace{display:none!important}
body.app-guides #workspaceOverview,body.app-library #workspaceOverview,body.app-mural #workspaceOverview{display:none!important}

.kb-hero{min-height:126px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px 26px;border:1px solid var(--v3-border);border-radius:var(--v3-radius-xl,24px);background:radial-gradient(circle at 86% 0%,color-mix(in srgb,var(--v3-accent) 16%,transparent),transparent 35%),var(--v3-surface);box-shadow:var(--v3-shadow);backdrop-filter:blur(24px) saturate(1.08);-webkit-backdrop-filter:blur(24px) saturate(1.08)}
.kb-hero-copy{min-width:0;max-width:900px}.kb-eyebrow{display:block;margin-bottom:8px;color:var(--v3-accent);font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.kb-hero h1{margin:0;color:var(--v3-text);font-size:clamp(30px,3.1vw,46px);line-height:.98;letter-spacing:-.045em}.kb-hero p{margin:10px 0 0;color:var(--v3-muted);font-size:12.5px;line-height:1.55}.kb-hero-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}.kb-kpi{min-width:108px;padding:10px 13px;border:1px solid var(--v3-border);border-radius:13px;background:color-mix(in srgb,var(--v3-surface) 84%,transparent);text-align:left}.kb-kpi span{display:block;color:var(--v3-muted);font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.10em}.kb-kpi strong{display:block;margin-top:3px;color:var(--v3-text);font-size:21px;letter-spacing:-.035em}.kb-hero-action{min-height:44px;padding:0 15px;border:1px solid color-mix(in srgb,var(--v3-accent) 30%,var(--v3-border));border-radius:12px;background:color-mix(in srgb,var(--v3-accent) 12%,var(--v3-surface));color:var(--v3-accent);font:800 11px/1 inherit;cursor:pointer}.kb-hero-action:disabled{opacity:.42;cursor:default}.kb-primary-action{background:var(--v3-accent)!important;color:white!important;border-color:var(--v3-accent)!important}

.kb-shell{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-areas:"controls controls" "side main";gap:12px;padding:12px 0 0}.kb-controls{grid-area:controls!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.kb-searchbar{width:100%;padding:14px!important;border:1px solid var(--v3-border)!important;border-radius:18px!important;background:var(--v3-surface)!important;box-shadow:0 10px 30px rgba(8,22,40,.055)!important;backdrop-filter:blur(20px) saturate(1.06)!important;-webkit-backdrop-filter:blur(20px) saturate(1.06)!important}.kb-searchwrap{max-width:none!important;width:100%!important}.kb-searchwrap input{height:50px!important;border-radius:14px!important;border:1px solid var(--v3-border)!important;background:color-mix(in srgb,var(--v3-surface) 90%,transparent)!important;color:var(--v3-text)!important;box-shadow:none!important;font-size:14px!important}.kb-searchwrap input:focus{border-color:color-mix(in srgb,var(--v3-accent) 54%,var(--v3-border))!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--v3-accent) 11%,transparent)!important}
.kb-tabs{display:flex;gap:7px;margin:0 0 11px;padding:0 0 2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.kb-tabs::-webkit-scrollbar{display:none}.kb-tabs button{flex:0 0 auto;min-height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--v3-border);background:transparent;color:var(--v3-muted);font-size:11px;font-weight:850;cursor:pointer}.kb-tabs button:hover{background:color-mix(in srgb,var(--v3-accent) 7%,transparent);color:var(--v3-text)}.kb-tabs button.active{background:color-mix(in srgb,var(--v3-accent) 14%,var(--v3-surface));border-color:color-mix(in srgb,var(--v3-accent) 34%,var(--v3-border));color:var(--v3-accent)}

.kb-side{grid-area:side;align-self:start;position:sticky;top:82px;max-height:calc(100svh - 102px);overflow:auto;padding:14px 10px;border:1px solid var(--v3-border);border-radius:18px;background:var(--v3-surface);box-shadow:var(--v3-shadow);scrollbar-width:thin}.kb-side-head{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:4px 8px 10px}.kb-side-head span,.kb-side-title{font-size:8.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--v3-muted)}.kb-side-head small{font-size:9px;color:var(--v3-muted)}.kb-side-list{display:grid;gap:5px}.kb-side-item,.kb-side-filter{width:100%;min-width:0;text-align:left;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--v3-text);padding:9px 10px;font:800 10.5px/1.25 inherit;cursor:pointer;overflow-wrap:anywhere}.kb-side-item small{display:block;margin-top:4px;color:var(--v3-muted);font-size:8.5px;font-weight:700}.kb-side-item:hover,.kb-side-filter:hover{background:color-mix(in srgb,var(--v3-accent) 7%,transparent)}.kb-side-item.active,.kb-side-filter.active{background:color-mix(in srgb,var(--v3-accent) 14%,var(--v3-surface));border-color:color-mix(in srgb,var(--v3-accent) 38%,var(--v3-border));color:var(--v3-accent)}.kb-side-section{padding:8px 7px 5px}.kb-side-divider{height:1px;background:var(--v3-border);margin:8px 6px}.kb-main{grid-area:main;min-width:0}

.guide-head,.library-reader-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 21px;border:1px solid var(--v3-border);border-radius:18px;background:var(--v3-surface);box-shadow:var(--v3-shadow)}.guide-head h2,.library-reader-head h2{margin:4px 0 0;color:var(--v3-text);font-size:24px;line-height:1.05;letter-spacing:-.035em}.guide-head p,.library-reader-head p{margin:8px 0 0;color:var(--v3-muted);font-size:11.5px;line-height:1.55}.kb-mini-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:8px;border:1px solid var(--v3-border);background:color-mix(in srgb,var(--v3-surface-soft) 76%,transparent);color:var(--v3-muted);font-size:8.5px;font-weight:850}.guide-progress{min-width:150px}.guide-progress-label{display:flex;justify-content:space-between;gap:8px;color:var(--v3-muted);font-size:9px;font-weight:800}.guide-progress-track{height:7px;margin-top:7px;border-radius:999px;background:color-mix(in srgb,var(--v3-border) 75%,transparent);overflow:hidden}.guide-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--v3-accent);transition:width .2s ease}
.guide-sections{display:grid;gap:10px;margin-top:10px}.guide-section{border:1px solid var(--v3-border);border-radius:16px;background:var(--v3-surface);overflow:hidden}.guide-section h3{margin:0;padding:13px 16px;border-bottom:1px solid var(--v3-border);color:var(--v3-text);font-size:11.5px}.guide-check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:flex-start;padding:10px 15px;border-bottom:1px solid color-mix(in srgb,var(--v3-border) 68%,transparent);cursor:pointer;color:var(--v3-text);font-size:11px;line-height:1.45}.guide-check:last-child{border-bottom:0}.guide-check input{appearance:none;width:18px;height:18px;margin:0;border:1px solid color-mix(in srgb,var(--v3-muted) 50%,var(--v3-border));border-radius:6px;background:color-mix(in srgb,var(--v3-surface-soft) 70%,transparent);display:grid;place-items:center;cursor:pointer}.guide-check input:checked{background:var(--v3-accent);border-color:var(--v3-accent)}.guide-check input:checked::after{content:'✓';color:#fff;font-size:11px;font-weight:900}.guide-check:has(input:checked) span{color:var(--v3-muted);text-decoration:line-through;text-decoration-thickness:1px}.guide-rule{margin-top:10px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--amber,#e4a72d) 35%,var(--v3-border));border-radius:15px;background:color-mix(in srgb,var(--amber,#e4a72d) 8%,var(--v3-surface));color:var(--v3-text);font-size:11px;line-height:1.55}.guide-rule b{display:block;margin-bottom:4px;color:var(--amber,#c98b14);font-size:9px;letter-spacing:.08em;text-transform:uppercase}

.library-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.library-summary{margin-top:10px;padding:16px 17px;border:1px solid var(--v3-border);border-radius:15px;background:var(--v3-surface);color:var(--v3-text);font-size:11.5px;line-height:1.65}.library-summary b{color:var(--v3-accent)}.library-warning{margin-top:10px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--amber,#e4a72d) 38%,var(--v3-border));border-radius:14px;background:color-mix(in srgb,var(--amber,#e4a72d) 9%,var(--v3-surface));color:var(--v3-text);font-size:10.5px;line-height:1.55}.library-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.kb-small-action{min-height:34px;padding:0 10px;border:1px solid var(--v3-border);border-radius:9px;background:color-mix(in srgb,var(--v3-surface-soft) 75%,transparent);color:var(--v3-text);font:800 9.5px/1 inherit;cursor:pointer}.kb-small-action:hover{border-color:color-mix(in srgb,var(--v3-accent) 35%,var(--v3-border));color:var(--v3-accent)}.library-snippets{display:grid;gap:7px;margin-top:10px}.library-snippet{padding:12px 14px;border:1px solid var(--v3-border);border-radius:13px;background:color-mix(in srgb,var(--v3-surface) 86%,transparent);color:var(--v3-text);font-size:10.5px;line-height:1.55}.library-snippet mark{background:color-mix(in srgb,var(--amber,#ffd166) 52%,transparent);color:inherit;border-radius:3px;padding:0 1px}.library-full{margin-top:10px;border:1px solid var(--v3-border);border-radius:15px;background:var(--v3-surface);overflow:hidden}.library-full summary{cursor:pointer;padding:13px 15px;color:var(--v3-text);font-size:10.5px;font-weight:850;list-style:none}.library-full summary::-webkit-details-marker{display:none}.library-full summary::after{content:'+';float:right;color:var(--v3-accent)}.library-full[open] summary::after{content:'−'}.library-full-text{max-height:68svh;overflow:auto;margin:0;padding:16px;border-top:1px solid var(--v3-border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--v3-text);font:500 11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;background:color-mix(in srgb,var(--v3-surface-soft) 72%,transparent)}

.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.contact-card{padding:15px;border:1px solid var(--v3-border);border-radius:15px;background:var(--v3-surface);box-shadow:0 8px 24px rgba(8,22,40,.04)}.contact-card h3{margin:0 0 9px;color:var(--v3-text);font-size:11.5px;line-height:1.35}.contact-email{display:flex;align-items:center;gap:7px;margin-top:6px;padding:7px 8px;border-radius:9px;background:color-mix(in srgb,var(--v3-surface-soft) 70%,transparent);min-width:0}.contact-email code{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--v3-text);font-size:9.5px}.contact-email button{flex:0 0 auto;min-height:28px;padding:0 8px;border:1px solid var(--v3-border);border-radius:7px;background:var(--v3-surface);color:var(--v3-accent);font-size:8.5px;font-weight:850;cursor:pointer}.contact-note{margin-top:8px;color:var(--v3-muted);font-size:9px;line-height:1.4}

.kb-empty{padding:28px;border:1px dashed var(--v3-border);border-radius:16px;background:color-mix(in srgb,var(--v3-surface) 70%,transparent);color:var(--v3-muted);font-size:11px;line-height:1.55;text-align:center}.kb-empty b{display:block;margin-bottom:5px;color:var(--v3-text);font-size:13px}

.mural-feed{display:grid;gap:10px;align-content:start}.mural-post{padding:18px 19px;border:1px solid var(--v3-border);border-radius:18px;background:var(--v3-surface);box-shadow:var(--v3-shadow)}.mural-post.pinned{border-color:color-mix(in srgb,var(--amber,#e4a72d) 40%,var(--v3-border));background:linear-gradient(180deg,color-mix(in srgb,var(--amber,#e4a72d) 5%,transparent),transparent 42%),var(--v3-surface)}.mural-post-head{display:flex;align-items:center;gap:10px}.mural-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--v3-accent) 12%,var(--v3-surface));border:1px solid var(--v3-border);color:var(--v3-accent);font-size:10px;font-weight:900;flex:0 0 auto}.mural-avatar img{width:100%;height:100%;object-fit:cover}.mural-author{min-width:0;flex:1}.mural-author b{display:block;color:var(--v3-text);font-size:11px}.mural-author small{display:block;margin-top:2px;color:var(--v3-muted);font-size:8.8px}.mural-post-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.mural-post-title{margin:15px 0 0;color:var(--v3-text);font-size:18px;line-height:1.12;letter-spacing:-.025em}.mural-post-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.mural-post-body{margin-top:13px;color:var(--v3-text);font-size:11.5px;line-height:1.7}.mural-post-body p{margin:0 0 9px}.mural-post-body h4{margin:13px 0 6px;font-size:12px}.mural-post-body ul{margin:7px 0 9px;padding-left:20px}.mural-post-body a{color:var(--v3-accent);font-weight:800}.mural-pin-badge{color:var(--amber,#c98b14)!important}

.mural-editor{position:fixed;inset:0;z-index:15000;display:grid;place-items:center;padding:20px;background:rgba(5,12,24,.34);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:.18s}.mural-editor.open{opacity:1;visibility:visible}.mural-editor-dialog{width:min(680px,100%);max-height:min(820px,calc(100svh - 34px));display:flex;flex-direction:column;border:1px solid var(--v3-border);border-radius:22px;background:color-mix(in srgb,var(--panel-strong,#fff) 95%,transparent);box-shadow:0 28px 80px rgba(0,0,0,.24);overflow:hidden}.mural-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--v3-border)}.mural-editor-head span{font-size:8px;font-weight:900;letter-spacing:.14em;color:var(--v3-muted)}.mural-editor-head h2{margin:3px 0 0;color:var(--v3-text);font-size:20px}.mural-editor-head>button{width:34px;height:34px;border:1px solid var(--v3-border);border-radius:10px;background:transparent;color:var(--v3-text);font-size:20px;cursor:pointer}.mural-editor-body{padding:16px 20px;overflow:auto;display:grid;gap:12px}.mural-editor-body label{display:grid;gap:6px;color:var(--v3-muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.mural-editor-body input:not([type=checkbox]),.mural-editor-body select,.mural-editor-body textarea{width:100%;box-sizing:border-box;border:1px solid var(--v3-border);border-radius:11px;background:color-mix(in srgb,var(--v3-surface) 92%,transparent);color:var(--v3-text);padding:10px 11px;font:600 11px/1.5 inherit;outline:0}.mural-editor-body textarea{resize:vertical;min-height:190px;text-transform:none;letter-spacing:normal}.mural-format-toolbar{display:flex;gap:5px;flex-wrap:wrap}.mural-format-toolbar button{min-height:32px;padding:0 9px;border:1px solid var(--v3-border);border-radius:8px;background:var(--v3-surface);color:var(--v3-text);font-size:9px;font-weight:800;cursor:pointer}.mural-pin-option{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;text-transform:none!important;letter-spacing:normal!important;color:var(--v3-text)!important}.mural-editor-error{min-height:16px;color:#d84c4c;font-size:10px}.mural-editor-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--v3-border)}.mural-editor-actions button{min-height:39px;padding:0 13px;border-radius:10px;font-size:10px;font-weight:850;cursor:pointer}.mural-editor-actions .secondary{border:1px solid var(--v3-border);background:transparent;color:var(--v3-text)}.mural-editor-actions .copy{border:1px solid var(--v3-accent);background:var(--v3-accent);color:white}

@media(max-width:1100px){.module-nav{max-width:50vw}.kb-shell{grid-template-columns:230px minmax(0,1fr)}.contact-grid{grid-template-columns:1fr}}
@media(max-width:900px){.kb-page{padding-top:14px}.kb-frame{width:min(100% - 20px,var(--v3-max,1480px))}.kb-hero{align-items:flex-start;flex-direction:column;padding:19px}.kb-hero-tools{width:100%;justify-content:space-between}.kb-shell{display:flex;flex-direction:column}.kb-side{position:static;max-height:none;overflow:hidden}.kb-side-list{display:flex;overflow-x:auto;gap:6px}.kb-side-item,.kb-side-filter{flex:0 0 auto;width:auto;max-width:250px}.kb-side-section{display:flex;gap:6px;overflow-x:auto;padding:4px}.guide-head,.library-reader-head{flex-direction:column}.guide-progress{width:100%}.library-actions{justify-content:flex-start}.module-nav{max-width:48vw}}
@media(max-width:640px){.kb-frame{width:calc(100% - 14px)}.kb-hero-tools{align-items:stretch}.kb-kpi{min-width:92px}.kb-hero-action{flex:1}.kb-searchbar{padding:10px!important}.contact-grid{grid-template-columns:1fr}.mural-post{padding:15px}.mural-post-head{align-items:flex-start}.mural-post-actions{width:100%;justify-content:flex-start}.mural-editor{padding:8px}.mural-editor-dialog{max-height:calc(100svh - 16px);border-radius:17px}}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* BUILD 1.5.2 · navegação principal com 6 módulos no mobile.
   Em vez de comprimir os rótulos, a faixa navega horizontalmente. */
@media(max-width:900px){
  .app-header .module-nav{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
  }
  .app-header .module-nav::-webkit-scrollbar{display:none!important}
  .app-header .module-nav .module-btn{
    flex:0 0 auto!important;
    min-width:max-content!important;
    max-width:none!important;
    padding-left:11px!important;
    padding-right:11px!important;
    white-space:nowrap!important;
    scroll-snap-align:start;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* ========================================================================
   BUILD 1.5.2 · CANDIDATA V2
   Guias alinhados ao padrão de Modelos, Biblioteca sem rail infinito,
   favoritos universais, Mural rich-text e pequenas remoções de redundância.
   ======================================================================== */

/* Home: removido o botão redundante do BOB -> 3 ações ocupam a linha inteira. */
@media(min-width:901px){
  body.app-home .rx-action-grid.home-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* ------------------------------------------------------------------------
   CONTROLES DE CONHECIMENTO · mesma leitura vertical de Modelos:
   1. abas
   2. busca
   3. filtros secundários (quando existirem)
   ------------------------------------------------------------------------ */
body.app-guides .kb-searchbar,
body.app-library .kb-searchbar,
body.app-mural .kb-searchbar{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:13px 14px 14px!important;
}

body.app-guides .kb-searchbar > .kb-tabs,
body.app-library .kb-searchbar > .kb-tabs,
body.app-mural .kb-searchbar > .kb-tabs{
  order:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.app-guides .kb-searchbar > .kb-searchwrap,
body.app-library .kb-searchbar > .kb-searchwrap,
body.app-mural .kb-searchbar > .kb-searchwrap{
  order:2!important;
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}

body.app-guides .kb-searchbar > .kb-searchwrap input,
body.app-library .kb-searchbar > .kb-searchwrap input,
body.app-mural .kb-searchbar > .kb-searchwrap input{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:52px!important;
  margin:0!important;
  transform:none!important;
}

.kb-subfilters{
  order:3!important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:7px;
  width:100%;
  min-width:0;
}
.kb-subfilters:empty{display:none}
.kb-subfilter{
  min-height:32px;
  padding:0 10px;
  border:1px solid var(--v3-border);
  border-radius:9px;
  background:transparent;
  color:var(--v3-muted);
  font:850 9.5px/1 inherit;
  cursor:pointer;
}
.kb-subfilter:hover{
  color:var(--v3-text);
  background:color-mix(in srgb,var(--v3-accent) 7%,transparent);
}
.kb-subfilter.active{
  color:var(--v3-accent);
  border-color:color-mix(in srgb,var(--v3-accent) 35%,var(--v3-border));
  background:color-mix(in srgb,var(--v3-accent) 13%,var(--v3-surface));
}

@media(max-width:900px){
  body.app-guides .kb-searchbar > .kb-tabs,
  body.app-library .kb-searchbar > .kb-tabs,
  body.app-mural .kb-searchbar > .kb-tabs,
  .kb-subfilters{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }
  body.app-guides .kb-searchbar > .kb-tabs::-webkit-scrollbar,
  body.app-library .kb-searchbar > .kb-tabs::-webkit-scrollbar,
  body.app-mural .kb-searchbar > .kb-tabs::-webkit-scrollbar,
  .kb-subfilters::-webkit-scrollbar{display:none}
}

/* ------------------------------------------------------------------------
   ESTRELA UNIVERSAL · azul = seleção / ★ = favorito pessoal.
   ------------------------------------------------------------------------ */
.kb-favorite-star{
  box-sizing:border-box;
  width:28px;
  min-width:28px;
  height:32px;
  min-height:32px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  box-shadow:none;
  color:color-mix(in srgb,var(--v3-muted) 72%,transparent);
  opacity:.62;
  font:900 16px/1 inherit;
  cursor:pointer;
  flex:0 0 28px;
}
.kb-favorite-star.active{
  color:var(--amber,#e4a72d);
  opacity:1;
  background:color-mix(in srgb,var(--amber,#e4a72d) 9%,transparent);
  border-color:color-mix(in srgb,var(--amber,#e4a72d) 18%,transparent);
}
@media(hover:hover){
  .kb-favorite-star:hover{
    color:var(--amber,#e4a72d);
    opacity:1;
    background:color-mix(in srgb,var(--amber,#e4a72d) 7%,transparent);
  }
}
.kb-title-with-star{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
}
.kb-title-with-star > div{min-width:0}

/* Guias: estrela e nome têm colunas independentes, como GRERJ/Modelos. */
.kb-side-guide-row{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:5px;
  width:100%;
  min-width:0;
}
.kb-side-guide-row > .kb-favorite-star{
  justify-self:center;
}
.kb-side-guide-row > .kb-side-item{
  width:100%;
  min-width:0;
}

/* ------------------------------------------------------------------------
   BIBLIOTECA · sem sidebar de "Assuntos + Documentos".
   Navegação de referências vive no fluxo principal, sem scroll aninhado.
   ------------------------------------------------------------------------ */
body.app-library .kb-shell{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:
    "controls"
    "main"!important;
}
body.app-library #librarySide{display:none!important}
body.app-library #libraryMain{
  grid-area:main!important;
  width:100%!important;
  min-width:0!important;
}

.library-browser{
  display:grid;
  gap:10px;
  margin-bottom:12px;
}
.library-browser-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  padding:2px 2px 0;
}
.library-browser-head b{
  color:var(--v3-text);
  font-size:13px;
}
.library-browser-head small{
  color:var(--v3-muted);
  font-size:9.5px;
}
.library-index{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.library-index-row{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:5px;
  align-items:stretch;
  min-width:0;
  padding:7px;
  border:1px solid var(--v3-border);
  border-radius:14px;
  background:var(--v3-surface);
  box-shadow:0 8px 24px rgba(8,22,40,.035);
}
.library-index-row.selected{
  border-color:color-mix(in srgb,var(--v3-accent) 43%,var(--v3-border));
  background:color-mix(in srgb,var(--v3-accent) 8%,var(--v3-surface));
}
.library-index-open{
  min-width:0;
  width:100%;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--v3-text);
  text-align:left;
  padding:7px 8px;
  cursor:pointer;
}
.library-index-open b{
  display:block;
  font-size:10.5px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.library-index-open small{
  display:block;
  margin-top:4px;
  color:var(--v3-muted);
  font-size:8.5px;
  line-height:1.3;
}
.library-index-open:hover{
  background:color-mix(in srgb,var(--v3-accent) 6%,transparent);
}

.library-full{
  margin-top:10px!important;
  overflow:hidden!important;
}
.library-full-label{
  padding:13px 15px;
  border-bottom:1px solid var(--v3-border);
  color:var(--v3-text);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.library-full-text{
  display:block!important;
  max-height:68svh!important;
  overflow:auto!important;
  border-top:0!important;
}

.contact-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.contact-card-head > div{min-width:0}

@media(max-width:1050px){
  .library-index{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .library-index{grid-template-columns:minmax(0,1fr)}
}

/* ------------------------------------------------------------------------
   MURAL · rich editor.
   ------------------------------------------------------------------------ */
.mural-rich-editor{
  width:100%;
  min-height:220px;
  max-height:50svh;
  overflow:auto;
  box-sizing:border-box;
  border:1px solid var(--v3-border);
  border-radius:11px;
  background:color-mix(in srgb,var(--v3-surface) 92%,transparent);
  color:var(--v3-text);
  padding:12px;
  outline:0;
  font:600 11px/1.6 inherit;
  text-transform:none!important;
  letter-spacing:normal!important;
  white-space:normal;
  cursor:text;
}
.mural-rich-editor:focus{
  border-color:color-mix(in srgb,var(--v3-accent) 55%,var(--v3-border));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--v3-accent) 10%,transparent);
}
.mural-rich-editor:empty::before{
  content:attr(data-placeholder);
  color:var(--v3-muted);
  opacity:.72;
  pointer-events:none;
}
.mural-rich-editor p{margin:0 0 9px}
.mural-rich-editor h4{margin:13px 0 6px;font-size:12px}
.mural-rich-editor ul,.mural-rich-editor ol{margin:7px 0 9px;padding-left:21px}
.mural-rich-editor blockquote{
  margin:9px 0;
  padding:8px 11px;
  border-left:3px solid var(--v3-accent);
  background:color-mix(in srgb,var(--v3-accent) 6%,transparent);
}
.mural-rich-hint{
  display:block;
  margin-top:5px;
  color:var(--v3-muted);
  font-size:8.5px;
  font-weight:650;
  text-transform:none;
  letter-spacing:normal;
}
.mural-post-head > .kb-favorite-star{
  margin-right:1px;
}

/* O antigo textarea não participa mais do layout. */
.mural-editor-body textarea{display:none!important}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* Especificidade deliberadamente acima do legado:
   body:not(.app-home):not(.profile-view) .searchbar */
body.app-guides:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar,
body.app-library:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar,
body.app-mural:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  grid-template-columns:none!important;
  grid-template-areas:none!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:13px 14px 14px!important;
}

body.app-guides:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar > .kb-tabs,
body.app-library:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar > .kb-tabs,
body.app-mural:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar > .kb-tabs{
  order:1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  justify-content:flex-start!important;
}

body.app-guides:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar > .kb-searchwrap,
body.app-library:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar > .kb-searchwrap,
body.app-mural:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar > .kb-searchwrap{
  order:2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

body.app-library:not(.app-home):not(.profile-view) .controls.rx-module-controls > .searchbar.kb-searchbar > .kb-subfilters{
  order:3!important;
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* As abas administrativas precisam ficar acima das superfícies animadas. */
#modal .admin-dock{
  position:sticky!important;
  z-index:60!important;
  pointer-events:auto!important;
  isolation:isolate!important;
}
#modal .admin-dock [data-view],
#modal #newModel,
#modal #adminNavToggle{
  position:relative!important;
  z-index:2!important;
  pointer-events:auto!important;
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* Quando recolhida, a lateral vira somente o botão de expansão.
   Nada de divisor, contador escondido ou trilho vertical vazio. */
#modal .admin-grid.nav-collapsed{
  grid-template-columns:56px minmax(0,1fr)!important;
  gap:12px!important;
}

#modal .admin-grid.nav-collapsed .admin-nav{
  align-self:start!important;
  width:56px!important;
  min-width:56px!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  padding:8px!important;
  margin:0!important;
  border-radius:15px!important;
  overflow:hidden!important;
  justify-content:flex-start!important;
}

#modal .admin-grid.nav-collapsed .admin-nav-head{
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

#modal .admin-grid.nav-collapsed .admin-nav-title{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Tudo que pertence à biblioteca desaparece de verdade no estado recolhido. */
#modal .admin-grid.nav-collapsed .admin-nav-title > b,
#modal .admin-grid.nav-collapsed .admin-library-count,
#modal .admin-grid.nav-collapsed #newModel,
#modal .admin-grid.nav-collapsed #adminSearch,
#modal .admin-grid.nav-collapsed .admin-list{
  display:none!important;
}

/* O botão passa a ser o único elemento visual da cápsula. */
#modal .admin-grid.nav-collapsed .admin-nav-toggle{
  position:static!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  flex:0 0 38px!important;
  margin:0!important;
  border-radius:11px!important;
  box-shadow:none!important;
}

@media(hover:hover){
  #modal .admin-grid.nav-collapsed .admin-nav-toggle:hover{
    transform:scale(1.045)!important;
  }
}

/* Em mobile, o menu já usa layout de uma coluna; não força cápsula estreita. */
@media(max-width:760px){
  #modal .admin-grid.nav-collapsed .admin-nav{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:8px!important;
  }
}


/* ===== bloco de estilo seguinte do arquivo original ===== */


/* Moderador/visitante: as abas administrativas não podem reaparecer por
   causa do display:flex!important do design novo do dock. */
body:not(.is-admin) #modal .admin-dock .role-structure,
body:not(.is-admin) #modal .admin-dock .role-grerj,
body:not(.is-admin) #modal .admin-dock .role-users,
body:not(.is-admin) #modal .admin-dock .role-backup{
  display:none!important;
}

/* Para Moderador o painel é, por definição atual de permissões, um editor
   de Modelos. Não deixa quatro colunas vazias no dock. */
body:not(.is-admin) #modal .admin-dock{
  grid-template-columns:minmax(0,1fr)!important;
}

/* Admin e Direção continuam com as cinco áreas. */
body.is-admin #modal .admin-dock{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}

/* Segurança adicional: hidden sempre vence o componente visual do dock. */
#modal .admin-dock [data-view][hidden]{
  display:none!important;
}

/* ========================================================================== */
/* BUILD 1.5.1 GPU HOTFIX · idle rendering                                   */
/* Mantém a identidade visual, mas elimina composição fullscreen contínua.   */
/* ========================================================================== */

/* O céu continua visualmente presente, porém fica estático em idle. */
.ambient-bg{
  animation:none!important;
  will-change:auto!important;
  transform:none!important;
  background-position:0% 0%,100% 0%,50% 100%,50% 50%!important;
}

/* Blur grande em camada fullscreen + transform infinito era particularmente caro. */
.ambient-aurora{
  animation:none!important;
  will-change:auto!important;
  transform:none!important;
  filter:blur(42px)!important;
}

/* Movimento de fundos de estrelas força repaint/composição constante. */
.ambient-stars,
.ambient-stars-extra,
.ambient-stars-sparkle{
  animation:none!important;
  will-change:auto!important;
  filter:none!important;
}

/* Elementos decorativos não precisam consumir GPU quando o utilizador está parado. */
.ambient-ghosts span,
.home-v2 .bob-orb{
  animation:none!important;
  will-change:auto!important;
}

/* Evita promoções permanentes de layers em superfícies grandes. */
.ambient-bg,.ambient-aurora,.ambient-stars,.ambient-stars-extra,.ambient-stars-sparkle,
.panel,.side,.card,.search-panel,.bob-panel,.chat-panel,.mini-calc-panel{
  will-change:auto!important;
}

/* Mantém vidro, mas reduz custo nas maiores superfícies estáticas. */
@supports (backdrop-filter: blur(1px)) {
  .home-v2 .search-panel{backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}
}

/* Quando a aba não está visível, não há motivo para animações decorativas rodarem. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}

/* ========================================================================== */
/* BUILD 1.5.1 GPU HOTFIX v2 · BACKGROUND MOTION OFF                         */
/* Pedido do projeto: nenhum elemento atmosférico do fundo anima em idle.    */
/* O tema continua a mudar visualmente; céu, estrelas, sol/lua ficam estáticos.*/
/* ========================================================================== */

/* Desliga TODA a animação das camadas ambientais, incluindo pseudo-elementos. */
.ambient-bg,
.ambient-aurora,
.ambient-stars-sparse,
.ambient-stars,
.ambient-stars-extra,
.ambient-stars-sparkle,
.ambient-sun,
.ambient-moon,
.ambient-ghosts,
.ambient-bg::before,.ambient-bg::after,
.ambient-aurora::before,.ambient-aurora::after,
.ambient-stars-sparse::before,.ambient-stars-sparse::after,
.ambient-stars::before,.ambient-stars::after,
.ambient-stars-extra::before,.ambient-stars-extra::after,
.ambient-stars-sparkle::before,.ambient-stars-sparkle::after,
.ambient-sun::before,.ambient-sun::after,
.ambient-moon::before,.ambient-moon::after,
.ambient-ghosts::before,.ambient-ghosts::after,
.ambient-ghosts span{
  animation:none!important;
  animation-name:none!important;
  will-change:auto!important;
}

/* Congela posições/efeitos que antes eram alterados pelos keyframes. */
.ambient-bg{
  transform:none!important;
  background-position:0% 0%,100% 0%,50% 100%,50% 50%!important;
}
.ambient-aurora{transform:none!important}
.ambient-stars,.ambient-stars-extra,.ambient-stars-sparkle{filter:none!important}
.ambient-ghosts span{transform:none!important}

/* Evita que futuras regras antigas reativem movimento ambiental. */
html body .ambient-bg,
html body .ambient-aurora,
html body .ambient-stars-sparse,
html body .ambient-stars,
html body .ambient-stars-extra,
html body .ambient-stars-sparkle,
html body .ambient-sun,
html body .ambient-moon,
html body .ambient-ghosts,
html body .ambient-ghosts span{
  animation:none!important;
}
\n\n/* ==========================================================================\n   BUILD 1.5.1 CLEAN CORE · low-cost rendering\n   ========================================================================== */\n/* Camadas atmosféricas não usam filtros fullscreen. */\n.ambient-aurora{filter:none!important;-webkit-filter:none!important;opacity:.34!important}\n#cursorLight{display:none!important}\n\n/* Superfícies grandes mantêm cor/transparência, mas deixam de recompor o fundo. */\n.panel,.side,.search-panel,.bob-panel,.chat-panel,.mini-calc-panel,.kb-frame,.grerj-hero,main.shell{\n  backdrop-filter:none!important;\n  -webkit-backdrop-filter:none!important;\n  will-change:auto!important;\n}\n/* Conteúdo fora da viewport pode ser pulado pelo motor sem alterar layout. */\n.card,.library-index-row,.contact-card,.mural-post,.admin-item{\n  content-visibility:auto;\n  contain-intrinsic-size:1px 120px;\n}\n/* Nenhum smooth-scroll automático quando há uma árvore pesada a ser trocada. */\nbody.app-grerj{scroll-behavior:auto!important}\n
/* ==========================================================================
   BUILD 1.5.1 · MURAL DOCUMENT EDITOR
   Editor rico local, sem dependências e sem trabalho em idle.
   ========================================================================== */
.mural-editor-dialog{width:min(900px,100%)}
.mural-editor-body{gap:14px}
.mural-format-toolbar{
  position:sticky;top:-16px;z-index:4;
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  padding:8px;margin:0 -2px;
  border:1px solid var(--v3-border);border-radius:13px;
  background:color-mix(in srgb,var(--panel-strong,#fff) 97%,transparent);
  box-shadow:0 8px 24px rgba(0,0,0,.055);
}
.mural-format-group{display:flex;align-items:center;gap:3px;padding-right:7px;border-right:1px solid var(--v3-border)}
.mural-format-group:last-child{border-right:0;padding-right:0}
.mural-format-group select{
  min-height:32px;max-width:145px;padding:0 28px 0 9px!important;
  border-radius:8px!important;font-size:9.5px!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important;
}
.mural-format-toolbar button{
  width:32px;min-width:32px;height:32px;min-height:32px;padding:0!important;
  display:grid;place-items:center;border-radius:8px!important;
  font-size:11px!important;line-height:1!important;
}
.mural-format-toolbar button:hover{background:color-mix(in srgb,var(--v3-accent) 8%,var(--v3-surface))}
.mural-format-toolbar button.active,
.mural-format-toolbar button[aria-pressed="true"]{
  color:var(--v3-accent);border-color:color-mix(in srgb,var(--v3-accent) 35%,var(--v3-border));
  background:color-mix(in srgb,var(--v3-accent) 10%,var(--v3-surface));
}
.mural-rich-editor{
  min-height:360px;max-height:50svh;overflow:auto;
  padding:30px 38px!important;
  border-radius:14px!important;
  background:color-mix(in srgb,#fff 92%,var(--v3-surface))!important;
  color:#172033!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:13.5px!important;line-height:1.68!important;
  text-transform:none!important;letter-spacing:normal!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--v3-border) 55%,transparent),0 8px 24px rgba(0,0,0,.045);
  caret-color:var(--v3-accent);
  white-space:normal;overflow-wrap:anywhere;
}
.mural-rich-editor:focus{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--v3-accent) 65%,transparent),0 10px 28px rgba(0,0,0,.055)!important}
.mural-rich-editor:empty::before{color:#8b93a2;font-family:ui-sans-serif,system-ui,sans-serif;font-style:normal}
.mural-rich-editor p{margin:0 0 10px;min-height:1.2em}
.mural-rich-editor h2{margin:18px 0 10px;font-size:20px;line-height:1.25;font-weight:800;color:#111827}
.mural-rich-editor h3{margin:15px 0 8px;font-size:16px;line-height:1.3;font-weight:800;color:#182033}
.mural-rich-editor ul,.mural-rich-editor ol{margin:9px 0 12px;padding-left:29px}
.mural-rich-editor li{margin:4px 0;padding-left:3px}
.mural-rich-editor blockquote{margin:12px 0;padding:9px 13px;border-left:3px solid color-mix(in srgb,var(--v3-accent) 65%,#9aa4b2);background:rgba(120,130,150,.07);font-style:italic}
.mural-rich-editor hr{border:0;border-top:1px solid #d7dce4;margin:18px 0}
.mural-rich-editor a{color:#1d63c6;text-decoration:underline;text-underline-offset:2px}
.mural-rich-editor s{opacity:.72}
.mural-rich-hint{font-size:9px!important;line-height:1.45!important}

/* O post publicado usa tipografia documental, mas respeita o tema da aplicação. */
.mural-post-body{font-size:12px;line-height:1.72;overflow-wrap:anywhere}
.mural-post-body p{margin:0 0 10px;min-height:1em}
.mural-post-body h2{margin:18px 0 9px;font-size:18px;line-height:1.25;letter-spacing:-.015em;color:var(--v3-text)}
.mural-post-body h3{margin:15px 0 7px;font-size:14px;line-height:1.3;color:var(--v3-text)}
.mural-post-body ul,.mural-post-body ol{margin:8px 0 11px;padding-left:27px}
.mural-post-body li{margin:3px 0;padding-left:2px}
.mural-post-body blockquote{margin:12px 0;padding:8px 12px;border-left:3px solid color-mix(in srgb,var(--v3-accent) 55%,var(--v3-border));background:color-mix(in srgb,var(--v3-accent) 4%,transparent);font-style:italic}
.mural-post-body hr{border:0;border-top:1px solid var(--v3-border);margin:16px 0}
.mural-post-body s{opacity:.68}

@media(max-width:700px){
  .mural-editor-dialog{width:100%}
  .mural-format-toolbar{top:-16px;gap:5px;padding:6px}
  .mural-format-group{padding-right:4px}
  .mural-format-group select{max-width:122px}
  .mural-rich-editor{min-height:300px;padding:22px 18px!important;font-size:13px!important}
}


/* ======================================================================
   BUILD 1.5.1 · UX CONSISTENCY PASS
   Dynamic Island removed; top-center notification is the only feedback hub.
   ====================================================================== */
#statusHub,.status-hub,.status-slot:has(#statusHub){display:none!important}
#toast{
  display:flex!important;
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  z-index:200000!important;
  width:max-content!important;
  max-width:min(620px,calc(100vw - 28px))!important;
  min-height:44px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:10px 13px!important;
  border:1px solid color-mix(in srgb,var(--v3-border,#d8e1ed) 88%,transparent)!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--panel-strong,#fff) 96%,transparent)!important;
  color:var(--v3-text,var(--ink,#17233a))!important;
  box-shadow:0 14px 40px rgba(8,18,35,.20)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translate3d(-50%,-10px,0) scale(.985)!important;
  transition:opacity 160ms cubic-bezier(.2,.8,.2,1),transform 190ms cubic-bezier(.16,1,.3,1),visibility 0s linear 190ms!important;
  pointer-events:none!important;
  font:800 11px/1.35 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  text-align:left!important;
}
#toast.show{opacity:1!important;visibility:visible!important;transform:translate3d(-50%,0,0) scale(1)!important;transition-delay:0s!important;pointer-events:auto!important}
#toast .toast-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px;border-radius:50%;font-size:12px;font-weight:950;background:color-mix(in srgb,var(--v3-accent,#2f5597) 11%,transparent);color:var(--v3-accent,#2f5597)}
#toast .toast-text{min-width:0;overflow-wrap:anywhere}
#toast .toast-action{margin-left:4px;padding:5px 8px;border:0;border-left:1px solid var(--v3-border,#d8e1ed);background:transparent;color:var(--v3-accent,#2f5597);font:900 10px/1 inherit;cursor:pointer}
#toast.error{border-color:color-mix(in srgb,#d84c4c 42%,var(--v3-border))!important;background:color-mix(in srgb,#d84c4c 8%,var(--panel-strong,#fff))!important;color:var(--v3-text)!important}
#toast.error .toast-icon{background:color-mix(in srgb,#d84c4c 14%,transparent);color:#d84c4c}
#toast.warning{border-color:color-mix(in srgb,#d69b2d 42%,var(--v3-border))!important;background:color-mix(in srgb,#d69b2d 8%,var(--panel-strong,#fff))!important;color:var(--v3-text)!important}
#toast.warning .toast-icon{background:color-mix(in srgb,#d69b2d 14%,transparent);color:#b7791f}
#toast.success .toast-icon{background:color-mix(in srgb,#2d9d69 14%,transparent);color:#27865d}
#toast.working .toast-icon{animation:motionSpin 780ms linear infinite!important}

/* Calculator trigger: a clean arithmetic glyph instead of the legacy hash-like icon. */
#miniCalcTab{font-size:19px!important;font-weight:850!important;letter-spacing:-.04em!important}

/* Mural rich editor and published rich text are theme-native. No hard-coded white canvas. */
.mural-editor-dialog{background:var(--panel-strong,var(--v3-surface,#fff))!important;color:var(--v3-text,var(--ink,#17233a))!important}
.mural-editor-body input:not([type=checkbox]),.mural-editor-body select,.mural-rich-editor{
  background:color-mix(in srgb,var(--v3-surface,var(--panel-strong,#fff)) 94%,transparent)!important;
  color:var(--v3-text,var(--ink,#17233a))!important;
  border-color:var(--v3-border,var(--line,#d8e1ed))!important;
  caret-color:var(--v3-accent,#2f5597)!important;
}
.mural-rich-editor::selection,.mural-rich-editor *::selection{background:color-mix(in srgb,var(--v3-accent,#2f5597) 28%,transparent);color:inherit}
.mural-rich-editor h2,.mural-rich-editor h3,.mural-rich-editor h4,.mural-rich-editor p,.mural-rich-editor li,.mural-rich-editor blockquote{color:var(--v3-text,var(--ink,#17233a))!important}
.mural-rich-editor h2{font-size:20px!important}.mural-rich-editor h3{font-size:16px!important}
.mural-rich-editor blockquote{background:color-mix(in srgb,var(--v3-accent,#2f5597) 7%,transparent)!important;border-left-color:color-mix(in srgb,var(--v3-accent,#2f5597) 65%,var(--v3-border))!important}
.mural-rich-editor hr{border-top-color:var(--v3-border,var(--line,#d8e1ed))!important}
.mural-rich-editor a,.mural-post-body a{color:var(--v3-accent,#2f5597)!important}
.mural-format-toolbar button,.mural-block-select{background:var(--v3-surface,var(--panel-strong,#fff))!important;color:var(--v3-text,var(--ink,#17233a))!important;border-color:var(--v3-border,var(--line,#d8e1ed))!important}
.mural-format-toolbar button.active{background:color-mix(in srgb,var(--v3-accent,#2f5597) 14%,var(--v3-surface))!important;color:var(--v3-accent,#2f5597)!important;border-color:color-mix(in srgb,var(--v3-accent,#2f5597) 50%,var(--v3-border))!important}
.mural-post-body,.mural-post-body h2,.mural-post-body h3,.mural-post-body h4,.mural-post-body p,.mural-post-body li,.mural-post-body blockquote{color:var(--v3-text,var(--ink,#17233a))!important}
.mural-post-body blockquote{background:color-mix(in srgb,var(--v3-accent,#2f5597) 6%,transparent)!important}

/* Form validation should be visible on compound controls too. */
#modelCategories.ui-invalid{border:1px solid #d84c4c!important;border-radius:12px!important;padding:6px!important;box-shadow:0 0 0 3px rgba(216,76,76,.12)!important}

@media(max-width:640px){#toast{top:max(9px,env(safe-area-inset-top))!important;max-width:calc(100vw - 16px)!important}}

.status-slot{display:none!important}


/* ======================================================================
   BUILD 1.5.1 · ACTION SYSTEM + CONTROL CENTER REIMAGINE
   One action language across Models, Home, Guides, Library, Mural and Admin.
   ====================================================================== */
:root{
  --z-admin:50000;
  --z-dialog:62000;
  --z-feedback:200000;
  --action-radius:10px;
  --action-h:38px;
}

/* ---------- Universal action primitive ---------- */
.ui-action,
.quick-edit,
.kb-small-action,
[data-copy-contact]{
  -webkit-appearance:none;appearance:none;
  min-height:var(--action-h);
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:0 12px;
  border:1px solid color-mix(in srgb,var(--line) 84%,var(--blue) 16%);
  border-radius:var(--action-radius);
  background:color-mix(in srgb,var(--panel-strong) 92%,var(--panel-soft) 8%);
  color:var(--ink);
  font:800 11px/1 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:0;
  box-shadow:0 2px 7px rgba(0,0,0,.055);
  cursor:pointer;
  transition:transform 90ms cubic-bezier(.2,.8,.2,1),background-color 150ms ease,border-color 150ms ease,color 150ms ease,box-shadow 150ms ease;
}
.ui-action-icon{font-size:12px;line-height:1;opacity:.82}
.ui-action:hover,
.quick-edit:hover,
.kb-small-action:hover,
[data-copy-contact]:hover{
  background:color-mix(in srgb,var(--panel-soft) 76%,var(--blue) 7%);
  border-color:color-mix(in srgb,var(--line) 58%,var(--blue) 42%);
  color:var(--navy);
  box-shadow:0 5px 13px rgba(0,0,0,.075);
}
.ui-action:active,
.quick-edit:active,
.kb-small-action:active,
[data-copy-contact]:active{transform:scale(.975)}
.ui-action:focus-visible,
.quick-edit:focus-visible,
.kb-small-action:focus-visible,
[data-copy-contact]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--blue) 25%,transparent);
  outline-offset:2px;
}
.ui-action:disabled{opacity:.48;cursor:not-allowed;transform:none!important}

.ui-action-copy,
.copy-action,
.copy-cert{
  background:color-mix(in srgb,var(--blue) 10%,var(--panel-strong) 90%)!important;
  border-color:color-mix(in srgb,var(--blue) 34%,var(--line) 66%)!important;
  color:var(--blue)!important;
  min-height:var(--action-h)!important;
  padding:0 12px!important;
  border-radius:var(--action-radius)!important;
  box-shadow:0 2px 7px rgba(0,0,0,.055)!important;
  filter:none!important;
}
.ui-action-copy:hover,
.copy-action:hover,
.copy-cert:hover{
  background:color-mix(in srgb,var(--blue) 16%,var(--panel-strong) 84%)!important;
  border-color:color-mix(in srgb,var(--blue) 48%,var(--line) 52%)!important;
  color:color-mix(in srgb,var(--blue) 82%,var(--ink) 18%)!important;
}
.ui-action-edit,.quick-edit,.kb-small-action[data-mural-edit]{
  background:color-mix(in srgb,var(--panel-strong) 94%,var(--panel-soft) 6%)!important;
  border-color:var(--line)!important;
  color:var(--ink)!important;
}
.ui-action.done,.copy-action.done,.copy-cert.done{
  background:color-mix(in srgb,#2d9d69 12%,var(--panel-strong) 88%)!important;
  border-color:color-mix(in srgb,#2d9d69 38%,var(--line) 62%)!important;
  color:#27865d!important;
  box-shadow:0 2px 7px rgba(0,0,0,.055)!important;
}
.ui-action-compact{min-height:32px;padding:0 9px;font-size:10px;border-radius:9px}
.ui-action-icon-only{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border-radius:9px!important;font-size:13px!important}
.card-actions,.library-actions,.mural-post-actions,.lab-prep-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card-actions .ui-action{min-width:112px}

/* Remove the old glossy/physical copy-button generation. */
.copy-action::before,.copy-cert::before,.ui-action::before{display:none!important}

/* ---------- Administration layering ---------- */
#modal{z-index:var(--z-admin)!important}
#quickEditModal,#confirmModal{z-index:var(--z-dialog)!important}
#grerjCreateModal{z-index:calc(var(--z-dialog) + 10)!important}
#toast{z-index:var(--z-feedback)!important}
.grerj-create-modal{
  background:rgba(8,15,28,.44)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.grerj-create-card{
  background:var(--panel-strong)!important;color:var(--ink)!important;border-color:var(--line)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
}
.grerj-create-card h3{color:var(--navy)!important}
.grerj-create-card p{color:var(--muted)!important}
.grerj-create-icon{background:color-mix(in srgb,var(--blue) 12%,var(--panel-strong))!important;color:var(--blue)!important}
.grerj-create-modal.motion-owned .grerj-create-card{will-change:transform,opacity!important}

/* ---------- Central de Controle: clearer IA ---------- */
#modal .panel.admin-command-center{
  width:min(1180px,calc(100vw - 32px))!important;
  max-height:min(900px,calc(100svh - 28px))!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--panel-strong)!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#modal .admin-command-header{
  position:sticky!important;top:0!important;z-index:80!important;
  padding:19px 22px 15px!important;margin:0!important;
  background:var(--panel-strong)!important;border-bottom:1px solid var(--line)!important;
}
#modal .admin-command-kicker{color:var(--blue)!important;font-size:9px!important;font-weight:900!important;letter-spacing:.13em!important}
#modal .admin-command-brand h2{font-size:22px!important;letter-spacing:-.025em!important}
#modal .admin-command-brand p{max-width:650px!important;margin-top:4px!important}
#modal .admin-sync-notice{
  margin:12px 18px 0!important;padding:9px 11px!important;border-radius:11px!important;
  font-size:10px!important;box-shadow:none!important;
}
#modal .admin-grid{
  min-height:0!important;height:calc(min(900px,100svh - 28px) - 142px)!important;
  padding:14px 18px 18px!important;gap:14px!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  overflow:hidden!important;
}
#modal .admin-main{min-height:0!important;overflow:auto!important;padding:0 4px 12px!important}
#modal .admin-nav{
  min-height:0!important;height:100%!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;padding:12px!important;
  border-radius:15px!important;box-shadow:none!important;
  background:color-mix(in srgb,var(--panel) 78%,var(--panel-strong) 22%)!important;
}
#modal .admin-list{flex:1!important;min-height:0!important;height:auto!important;overflow:auto!important}
#modal .admin-nav-title b{font-size:12px!important}
#modal .admin-library-count{font-variant-numeric:tabular-nums}
#modal #newModel{min-height:34px!important;padding:0 10px!important;font-size:10px!important}

/* The dock is the primary navigation, not a decorative card strip. */
#modal .admin-dock{
  position:sticky!important;top:0!important;z-index:65!important;
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:6px!important;margin:0 0 10px!important;padding:5px!important;
  border:1px solid var(--line)!important;border-radius:13px!important;
  background:color-mix(in srgb,var(--panel) 82%,var(--panel-strong) 18%)!important;
  box-shadow:none!important;
}
#modal .admin-dock .secondary{
  min-height:48px!important;padding:7px 9px!important;border:0!important;border-radius:9px!important;
  background:transparent!important;box-shadow:none!important;color:var(--muted)!important;
  justify-content:flex-start!important;text-align:left!important;
}
#modal .admin-dock .secondary:hover{background:color-mix(in srgb,var(--panel-soft) 78%,transparent)!important;transform:none!important}
#modal .admin-dock .secondary.active{
  background:var(--panel-strong)!important;color:var(--ink)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.07)!important;
}
#modal .admin-tab-icon{
  width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;
  border-radius:8px;background:color-mix(in srgb,var(--blue) 9%,transparent);color:var(--blue);font-size:11px;font-weight:900;
}
#modal .admin-tab-copy{display:grid;gap:2px;min-width:0}
#modal .admin-tab-copy b{font-size:10.5px;color:inherit!important}
#modal .admin-tab-copy small{font-size:8px;line-height:1.15;color:var(--muted)!important;white-space:normal}

#modal .admin-view-hero{
  margin:0 0 10px!important;padding:13px 14px!important;border-radius:13px!important;
  border:1px solid var(--line)!important;background:color-mix(in srgb,var(--panel) 72%,var(--panel-strong) 28%)!important;
  box-shadow:none!important;
}
#modal .admin-view-icon{width:34px!important;height:34px!important;border-radius:9px!important;font-size:13px!important}
#modal .admin-view-kicker{font-size:8px!important}
#modal .admin-view-identity h3{font-size:16px!important;margin:2px 0!important}
#modal .admin-view-identity p{font-size:10px!important;line-height:1.35!important}
#modal .admin-stat{min-width:66px!important;padding:7px 9px!important;border-radius:9px!important}
#modal .admin-stat b{font-size:13px!important}
#modal .admin-stat span{font-size:7.5px!important}

#modal .formbox,#modal .formbox.soft{
  margin-top:10px!important;padding:14px!important;border-radius:14px!important;box-shadow:none!important;
  background:color-mix(in srgb,var(--panel) 82%,var(--panel-strong) 18%)!important;
}
#modal .admin-section-head{margin-bottom:7px!important}
#modal .admin-section-icon{width:30px!important;height:30px!important;border-radius:9px!important}
#modal .admin-section-eyebrow{font-size:7.5px!important}
#modal .admin-section-head h3{font-size:14px!important;margin:1px 0 0!important}

/* The model library belongs only to Modelos. Other areas use the entire canvas. */
#modal[data-admin-view]:not([data-admin-view="model"]) .admin-grid{
  grid-template-columns:minmax(0,1fr)!important;
}
#modal[data-admin-view]:not([data-admin-view="model"]) .admin-nav{display:none!important}
#modal[data-admin-view="model"] .admin-nav{display:flex!important}

/* Inputs/buttons remain theme-native in all modes. */
#modal input,#modal select,#modal textarea,
#quickEditModal input,#quickEditModal textarea,
#grerjCreateModal input{
  background:var(--panel-strong)!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;
  border-color:var(--line)!important;
}
#modal input::placeholder,#modal textarea::placeholder,#quickEditModal input::placeholder,#quickEditModal textarea::placeholder,#grerjCreateModal input::placeholder{color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important;opacity:.72!important}

/* Quick edit: no white card in dark themes. */
#quickEditModal .panel,#quickEditModal .quick-edit-panel{
  background:var(--panel-strong)!important;color:var(--ink)!important;border:1px solid var(--line)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#quickEditModal h2,#quickEditModal .field{color:var(--ink)!important}
#quickEditModal .quick-edit-help,#quickEditModal .quick-edit-context{color:var(--muted)!important}

@media(max-width:900px){
  #modal .admin-dock{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #modal .admin-grid{grid-template-columns:220px minmax(0,1fr)!important}
}
@media(max-width:760px){
  #modal .panel.admin-command-center{width:100%!important;max-height:100svh!important;border-radius:0!important}
  #modal .admin-grid,#modal[data-admin-view] .admin-grid{height:calc(100svh - 140px)!important;grid-template-columns:1fr!important;padding:10px!important}
  #modal .admin-nav{display:none!important}
  #modal[data-admin-view="model"] .admin-nav{display:flex!important;height:210px!important}
  #modal .admin-dock{grid-template-columns:repeat(2,minmax(0,1fr))!important;position:relative!important}
  #modal .admin-command-header{padding:14px!important}
  #modal .admin-sync-notice{margin:8px 10px 0!important}
}

/* ======================================================================
   BUILD 1.5.1 · RELEASE POLISH
   Central de Controle V2 + Action Standard V2 + Model Card Layout Fix
   ====================================================================== */

/* ---------- ONE action language, everywhere ---------- */
:root{
  --action-h:40px;
  --action-radius:11px;
}

/* Neutral action: Editar / Preparar / BOB / secondary utilities */
.ui-action,
.quick-edit,
.lab-card-action,
.kb-small-action,
.grerj-edit-current,
[data-copy-contact]{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-height:var(--action-h)!important;
  height:var(--action-h)!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid color-mix(in srgb,var(--line) 86%,var(--blue) 14%)!important;
  border-radius:var(--action-radius)!important;
  background:color-mix(in srgb,var(--panel-strong) 95%,var(--panel-soft) 5%)!important;
  color:var(--ink)!important;
  font:800 11.5px/1 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;
  box-shadow:0 1px 2px rgba(0,0,0,.045),0 4px 12px rgba(0,0,0,.035)!important;
  cursor:pointer!important;
  filter:none!important;
  transform:none;
  transition:transform 90ms cubic-bezier(.2,.8,.2,1),background-color 140ms ease,border-color 140ms ease,color 140ms ease,box-shadow 140ms ease!important;
}

/* Copy is always the same button, regardless of module. */
.copy,
.copy-action,
.copy-cert,
.ui-action-copy,
button[data-copy],
#libraryCopyDoc,
#labPrepCopy,
#copyGrerjCertificate{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-height:var(--action-h)!important;
  height:var(--action-h)!important;
  min-width:118px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid color-mix(in srgb,var(--blue) 68%,var(--line) 32%)!important;
  border-radius:var(--action-radius)!important;
  background:color-mix(in srgb,var(--blue) 86%,#79a9ff 14%)!important;
  color:#fff!important;
  font:850 11.5px/1 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;
  box-shadow:0 1px 2px rgba(0,0,0,.10),0 5px 14px color-mix(in srgb,var(--blue) 16%,transparent)!important;
  cursor:pointer!important;
  filter:none!important;
  transform:none;
  overflow:hidden!important;
  transition:transform 90ms cubic-bezier(.2,.8,.2,1),background-color 140ms ease,border-color 140ms ease,box-shadow 140ms ease!important;
}
.copy::before,.copy-action::before,.copy-cert::before,.ui-action::before,button[data-copy]::before{display:none!important;content:none!important}

@media(hover:hover) and (pointer:fine){
  .ui-action:hover,.quick-edit:hover,.lab-card-action:hover,.kb-small-action:hover,.grerj-edit-current:hover,[data-copy-contact]:hover{
    transform:translateY(-1px)!important;
    background:color-mix(in srgb,var(--panel-strong) 84%,var(--blue) 6%)!important;
    border-color:color-mix(in srgb,var(--line) 58%,var(--blue) 42%)!important;
    color:var(--navy)!important;
    box-shadow:0 2px 4px rgba(0,0,0,.055),0 7px 16px rgba(0,0,0,.055)!important;
  }
  .copy:hover,.copy-action:hover,.copy-cert:hover,.ui-action-copy:hover,button[data-copy]:hover,#libraryCopyDoc:hover,#labPrepCopy:hover,#copyGrerjCertificate:hover{
    transform:translateY(-1px)!important;
    background:color-mix(in srgb,var(--blue) 92%,#8db6ff 8%)!important;
    border-color:color-mix(in srgb,var(--blue) 78%,white 22%)!important;
    color:#fff!important;
    box-shadow:0 2px 4px rgba(0,0,0,.09),0 8px 18px color-mix(in srgb,var(--blue) 20%,transparent)!important;
  }
}
.ui-action:active,.quick-edit:active,.lab-card-action:active,.kb-small-action:active,.grerj-edit-current:active,[data-copy-contact]:active,
.copy:active,.copy-action:active,.copy-cert:active,.ui-action-copy:active,button[data-copy]:active{
  transform:scale(.975)!important;
  filter:none!important;
}
.ui-action:focus-visible,.quick-edit:focus-visible,.lab-card-action:focus-visible,.kb-small-action:focus-visible,.grerj-edit-current:focus-visible,[data-copy-contact]:focus-visible,
.copy:focus-visible,.copy-action:focus-visible,.copy-cert:focus-visible,.ui-action-copy:focus-visible,button[data-copy]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--blue) 30%,transparent)!important;
  outline-offset:2px!important;
}
.copy.done,.copy-action.done,.copy-cert.done,.ui-action.done,button[data-copy].done{
  background:#27865d!important;
  border-color:#36a576!important;
  color:#fff!important;
  box-shadow:0 4px 14px rgba(39,134,93,.18)!important;
}

/* Dark/warm themes: preserve identical shape and stronger contrast. */
html[data-theme="sunset"] .ui-action,
html[data-theme="night"] .ui-action,
html[data-theme="midnight"] .ui-action,
html[data-theme="sunset"] .quick-edit,
html[data-theme="night"] .quick-edit,
html[data-theme="midnight"] .quick-edit,
html[data-theme="sunset"] .lab-card-action,
html[data-theme="night"] .lab-card-action,
html[data-theme="midnight"] .lab-card-action{
  background:color-mix(in srgb,var(--panel-strong) 90%,white 3%)!important;
  border-color:color-mix(in srgb,var(--line) 88%,white 12%)!important;
  color:var(--ink)!important;
}

/* ---------- Models: header owns actions; body always starts below ---------- */
body.app-models .card{
  display:block!important;
  overflow:hidden!important;
}
body.app-models .cardhead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  padding:15px 18px!important;
  padding-right:18px!important;
  min-width:0!important;
}
body.app-models .model-card-heading{grid-column:1!important;min-width:0!important}
body.app-models .card-actions{
  grid-column:2!important;
  align-self:center!important;
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
}
body.app-models .card-actions .ui-action,
body.app-models .card-actions .quick-edit,
body.app-models .card-actions .copy-action,
body.app-models .card-actions .lab-card-action{
  min-width:auto!important;
  white-space:nowrap!important;
}
body.app-models .body{
  position:relative!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  padding:18px 20px 20px!important;
  margin:0!important;
  clear:both!important;
  white-space:pre-wrap!important;
}
@media(max-width:880px){
  body.app-models .cardhead{grid-template-columns:1fr!important;align-items:start!important}
  body.app-models .card-actions{grid-column:1!important;width:100%!important;justify-content:flex-start!important;min-width:0!important}
  body.app-models .card-actions>*{flex:1 1 auto!important}
}

/* ---------- CENTRAL DE CONTROLE V2: one navigation axis ---------- */
#modal .admin-command-center{
  width:min(1180px,calc(100vw - 30px))!important;
  max-height:min(92vh,900px)!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid color-mix(in srgb,var(--line) 88%,var(--blue) 12%)!important;
  background:var(--panel-strong)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.30)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#modal .admin-command-header{
  padding:20px 22px 16px!important;
  border-bottom:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--panel-strong) 95%,var(--blue) 5%)!important;
}
#modal .admin-sync-notice{
  margin:12px 18px 0!important;
  min-height:34px!important;
  padding:8px 12px!important;
  border-radius:10px!important;
  font-size:9.5px!important;
}
#modal .admin-grid.admin-workspace{
  display:grid!important;
  grid-template-columns:270px minmax(0,1fr)!important;
  gap:0!important;
  margin:12px 18px 18px!important;
  min-height:0!important;
  height:min(690px,calc(92vh - 164px))!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:var(--panel)!important;
}
#modal .admin-nav{
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  padding:12px!important;
  margin:0!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-radius:0!important;
  background:color-mix(in srgb,var(--panel-strong) 94%,var(--panel-soft) 6%)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
#modal .admin-dock{
  order:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  margin:0!important;
  padding:0 0 11px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
#modal .admin-dock .secondary{
  position:relative!important;
  width:100%!important;
  min-height:52px!important;
  padding:7px 9px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 14px!important;
  align-items:center!important;
  gap:9px!important;
  text-align:left!important;
  border:1px solid transparent!important;
  border-radius:11px!important;
  background:transparent!important;
  color:var(--muted)!important;
  box-shadow:none!important;
  transform:none!important;
}
#modal .admin-dock .secondary:hover{
  transform:none!important;
  background:color-mix(in srgb,var(--panel-soft) 82%,transparent)!important;
  border-color:color-mix(in srgb,var(--line) 72%,transparent)!important;
}
#modal .admin-dock .secondary.active{
  background:color-mix(in srgb,var(--blue) 11%,var(--panel-strong) 89%)!important;
  border-color:color-mix(in srgb,var(--blue) 28%,var(--line) 72%)!important;
  color:var(--navy)!important;
  box-shadow:inset 3px 0 0 var(--blue)!important;
}
#modal .admin-tab-icon{
  width:34px!important;height:34px!important;display:grid!important;place-items:center!important;
  border-radius:9px!important;background:color-mix(in srgb,var(--panel-soft) 78%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;
  color:var(--muted)!important;font-size:11px!important;font-weight:900!important;
}
#modal .admin-dock .secondary.active .admin-tab-icon{
  background:color-mix(in srgb,var(--blue) 15%,var(--panel-strong) 85%)!important;
  border-color:color-mix(in srgb,var(--blue) 24%,var(--line) 76%)!important;
  color:var(--blue)!important;
}
#modal .admin-tab-copy b{font-size:11.5px!important;color:inherit!important;line-height:1.15!important}
#modal .admin-tab-copy small{font-size:9px!important;color:var(--muted)!important;line-height:1.2!important;margin-top:3px!important}
#modal .admin-tab-chevron{font-size:18px!important;color:var(--muted)!important;opacity:.55!important;text-align:center!important}
#modal .admin-dock .secondary.active .admin-tab-chevron{color:var(--blue)!important;opacity:1!important}

#modal .admin-model-browser{
  order:1!important;
  min-height:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  padding-top:11px!important;
}
#modal:not([data-admin-view="model"]) .admin-model-browser{display:none!important}
#modal .admin-nav-head{margin:0 0 9px!important;padding:0!important;border:0!important;gap:8px!important}
#modal .admin-nav-title{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}
#modal .admin-nav-title b{font-size:11px!important;color:var(--ink)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#modal .admin-library-count{font-size:9px!important;min-width:24px!important;height:22px!important;padding:0 6px!important;border-radius:999px!important;display:grid!important;place-items:center!important;background:color-mix(in srgb,var(--blue) 12%,var(--panel-strong))!important;color:var(--blue)!important}
#modal #newModel{min-height:32px!important;height:32px!important;padding:0 10px!important;border-radius:9px!important;font-size:10px!important}
#modal .admin-search-box{position:relative!important;display:block!important;margin-bottom:9px!important}
#modal .admin-search-box>span{position:absolute!important;left:11px!important;top:50%!important;translate:0 -50%!important;color:var(--muted)!important;pointer-events:none!important;font-size:14px!important}
#modal #adminSearch{
  width:100%!important;height:38px!important;margin:0!important;padding:0 11px 0 32px!important;
  border-radius:10px!important;background:var(--panel)!important;color:var(--ink)!important;border:1px solid var(--line)!important;
  font-size:11px!important;
}
#modal .admin-list{min-height:0!important;flex:1 1 auto!important;height:auto!important;overflow:auto!important;gap:6px!important;padding-right:3px!important}
#modal .admin-item{border:1px solid var(--line)!important;background:var(--panel)!important;border-radius:10px!important;padding:10px 12px!important;color:var(--ink)!important;box-shadow:none!important}
#modal .admin-item.active{background:color-mix(in srgb,var(--blue) 11%,var(--panel-strong) 89%)!important;border-color:color-mix(in srgb,var(--blue) 32%,var(--line) 68%)!important;color:var(--navy)!important}

#modal .admin-main{
  min-width:0!important;min-height:0!important;height:100%!important;
  padding:16px 18px 22px!important;
  overflow:auto!important;
  background:var(--panel)!important;
}
#modal .admin-view-hero{
  position:sticky!important;top:-16px!important;z-index:5!important;
  margin:-16px -18px 16px!important;padding:13px 18px!important;
  min-height:64px!important;
  border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;
  background:color-mix(in srgb,var(--panel) 97%,var(--blue) 3%)!important;
  box-shadow:none!important;
}
#modal .admin-view-icon{width:34px!important;height:34px!important;border-radius:10px!important;font-size:12px!important}
#modal .admin-view-kicker{font-size:8px!important;letter-spacing:.14em!important}
#modal .admin-view-hero h3{font-size:16px!important;margin:2px 0 0!important}
#modal .admin-view-hero p{font-size:9.5px!important;margin:3px 0 0!important;max-width:520px!important}
#modal .admin-view-stats{gap:6px!important}
#modal .admin-stat{min-width:62px!important;padding:7px 9px!important;border-radius:9px!important;background:var(--panel-strong)!important;border:1px solid var(--line)!important}
#modal .admin-stat b{font-size:13px!important}
#modal .admin-stat span{font-size:7px!important}

/* The form surface is the content, not another giant nested card. */
#modal .admin-main .formbox{
  margin-top:12px!important;
  border-radius:14px!important;
  border:1px solid var(--line)!important;
  background:var(--panel-strong)!important;
  box-shadow:none!important;
}
#modal #modelView>.formbox{margin-top:0!important}

/* GRERJ: clear three-step flow instead of a wall of equal cards. */
#modal #grerjView{counter-reset:grerj-admin-step;display:flex!important;flex-direction:column!important;gap:14px!important}
#modal #grerjView>.formbox{counter-increment:grerj-admin-step;position:relative!important;margin:0!important;padding-top:18px!important}
#modal #grerjView>.formbox::after{
  content:"ETAPA " counter(grerj-admin-step);
  position:absolute;right:14px;top:13px;
  font-size:7.5px;font-weight:900;letter-spacing:.15em;color:var(--muted);opacity:.72;
}
#modal #grerjView>.formbox:nth-child(2){border-color:color-mix(in srgb,var(--blue) 32%,var(--line) 68%)!important}

/* Older collapse rules must not alter this new fixed information architecture. */
#modal .admin-grid.nav-collapsed{grid-template-columns:270px minmax(0,1fr)!important}
#modal .admin-grid.nav-collapsed .admin-nav{width:auto!important;min-width:0!important;padding:12px!important}
#modal .admin-grid.nav-collapsed .admin-dock,
#modal .admin-grid.nav-collapsed .admin-model-browser{display:flex!important}
#modal:not([data-admin-view="model"]) .admin-grid.nav-collapsed .admin-model-browser{display:none!important}

@media(max-width:900px){
  #modal .admin-command-center{width:min(96vw,760px)!important;max-height:94vh!important}
  #modal .admin-grid.admin-workspace{grid-template-columns:1fr!important;height:auto!important;max-height:calc(94vh - 150px)!important;overflow:auto!important}
  #modal .admin-nav{height:auto!important;border-right:0!important;border-bottom:1px solid var(--line)!important;overflow:visible!important}
  #modal .admin-dock{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border-bottom:0!important;padding-bottom:0!important}
  #modal .admin-dock .secondary{min-height:48px!important}
  #modal .admin-model-browser{max-height:300px!important;border-top:1px solid var(--line)!important;margin-top:10px!important}
  #modal .admin-main{height:auto!important;overflow:visible!important}
}

/* ========================================================================== 
   RELEASE POLISH — ADMIN VIEW/LAYER HOTFIX
   Fixes regressions caused by late !important rules overriding [hidden] and
   older admin-nav visibility rules. Keep this block last in the cascade.
   ========================================================================== */

/* The JS router owns which administrative view is visible. CSS must NEVER
   override the native hidden state. */
#modal .admin-main > [hidden],
#modal .admin-main > #modelView[hidden],
#modal .admin-main > #structureView[hidden],
#modal .admin-main > #grerjView[hidden],
#modal .admin-main > #usersView[hidden],
#modal .admin-main > #backupView[hidden]{
  display:none!important;
}

/* Keep the navigation rail available in every admin area. Older late rules
   hid it outside Modelos, which made the workspace lose its hierarchy. */
#modal[data-admin-view]:not([data-admin-view="model"]) .admin-nav,
#modal[data-admin-view] .admin-nav{
  display:flex!important;
}

/* Only the model browser is contextual to Modelos. The primary admin
   navigation itself remains visible everywhere. */
#modal[data-admin-view]:not([data-admin-view="model"]) .admin-model-browser{
  display:none!important;
}
#modal[data-admin-view="model"] .admin-model-browser{
  display:flex!important;
}

/* GRERJ uses the step layout only while it is the active view. */
#modal #grerjView:not([hidden]){
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}

/* Other routed views are normal block flows when active. */
#modal #modelView:not([hidden]),
#modal #structureView:not([hidden]),
#modal #usersView:not([hidden]),
#modal #backupView:not([hidden]){
  display:block!important;
}

/* Avoid legacy collapsed-nav rules changing the active workspace. */
#modal[data-admin-view] .admin-grid.admin-workspace,
#modal[data-admin-view] .admin-grid.admin-workspace.nav-collapsed{
  grid-template-columns:270px minmax(0,1fr)!important;
}

@media(max-width:900px){
  #modal[data-admin-view] .admin-grid.admin-workspace,
  #modal[data-admin-view] .admin-grid.admin-workspace.nav-collapsed{
    grid-template-columns:1fr!important;
  }
  #modal[data-admin-view] .admin-nav{
    display:flex!important;
  }
}

/* ========================================================================== 
   ADMIN WORKSPACE V3 — horizontal sections + contextual libraries
   ========================================================================== */
#modal .admin-grid.admin-workspace{
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  grid-template-areas:
    "tabs tabs"
    "context main"!important;
  gap:0!important;
  height:min(720px,calc(92vh - 150px))!important;
  min-height:0!important;
  overflow:hidden!important;
}
#modal .admin-tabs.admin-dock{
  grid-area:tabs!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  min-height:0!important;
  padding:9px 12px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:var(--panel)!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#modal .admin-tabs.admin-dock .secondary{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  min-height:48px!important;
  padding:7px 10px!important;
  text-align:left!important;
  border:1px solid transparent!important;
  border-radius:11px!important;
  background:transparent!important;
  color:var(--muted)!important;
  box-shadow:none!important;
}
#modal .admin-tabs.admin-dock .secondary:hover{
  background:color-mix(in srgb,var(--blue) 6%,var(--panel-strong))!important;
  color:var(--ink)!important;
}
#modal .admin-tabs.admin-dock .secondary.active{
  background:color-mix(in srgb,var(--blue) 12%,var(--panel-strong))!important;
  border-color:color-mix(in srgb,var(--blue) 28%,var(--line))!important;
  color:var(--navy)!important;
  box-shadow:inset 0 -2px 0 var(--blue)!important;
}
#modal .admin-tabs.admin-dock .admin-tab-icon{
  width:30px!important;height:30px!important;border-radius:9px!important;
}
#modal .admin-tabs.admin-dock .admin-tab-copy{min-width:0!important}
#modal .admin-tabs.admin-dock .admin-tab-copy b{display:block!important;font-size:10.5px!important}
#modal .admin-tabs.admin-dock .admin-tab-copy small{display:block!important;font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#modal .admin-tab-chevron{display:none!important}

#modal .admin-context-sidebar{
  grid-area:context!important;
  min-width:0!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  padding:12px!important;
  border-right:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--panel) 96%,var(--blue) 4%)!important;
  overflow:hidden!important;
}
#modal .admin-context-sidebar[hidden]{display:none!important}
#modal .admin-context-sidebar .admin-model-browser,
#modal .admin-context-sidebar .admin-grerj-browser{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  flex:1 1 auto!important;
}
#modal .admin-context-sidebar .admin-model-browser[hidden],
#modal .admin-context-sidebar .admin-grerj-browser[hidden]{display:none!important}

#modal .admin-main{
  grid-area:main!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  overflow:auto!important;
  padding:16px 18px 24px!important;
  overscroll-behavior:contain!important;
}
/* Hero belongs to the document flow. It must not chase the user while scrolling. */
#modal .admin-view-hero{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  margin:-16px -18px 16px!important;
}
/* Kill older sticky variants of admin content headings. */
#modal .admin-main .admin-view-hero,
#modal .admin-main > .admin-view-hero{
  position:relative!important;
  inset:auto!important;
}

#modal .admin-grerj-browser .admin-list{display:grid!important;gap:6px!important}
#modal .admin-grerj-item{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 11px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:var(--panel)!important;
  color:var(--ink)!important;
  text-align:left!important;
  cursor:pointer!important;
}
#modal .admin-grerj-item:hover{background:color-mix(in srgb,var(--blue) 6%,var(--panel))!important}
#modal .admin-grerj-item.active{
  background:color-mix(in srgb,var(--blue) 12%,var(--panel-strong))!important;
  border-color:color-mix(in srgb,var(--blue) 34%,var(--line))!important;
  box-shadow:inset 3px 0 0 var(--blue)!important;
}
#modal .admin-grerj-item-copy{min-width:0!important}
#modal .admin-grerj-item-copy b{display:block!important;font-size:10.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#modal .admin-grerj-item-copy small{display:block!important;margin-top:4px!important;font-size:8px!important;color:var(--muted)!important}
#modal .admin-grerj-item-state{font-size:8px!important;font-weight:900!important;color:var(--muted)!important}
#modal .admin-grerj-item.active .admin-grerj-item-state{color:var(--blue)!important}

/* Views without a contextual library use the whole content width. */
#modal[data-admin-view="structure"] .admin-grid.admin-workspace,
#modal[data-admin-view="users"] .admin-grid.admin-workspace,
#modal[data-admin-view="backup"] .admin-grid.admin-workspace{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"tabs" "main"!important;
}
#modal[data-admin-view="structure"] .admin-context-sidebar,
#modal[data-admin-view="users"] .admin-context-sidebar,
#modal[data-admin-view="backup"] .admin-context-sidebar{display:none!important}

@media(max-width:900px){
  #modal .admin-grid.admin-workspace{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto minmax(0,1fr)!important;
    grid-template-areas:"tabs" "context" "main"!important;
    height:auto!important;
    max-height:calc(94vh - 145px)!important;
    overflow:auto!important;
  }
  #modal .admin-tabs.admin-dock{grid-template-columns:repeat(5,minmax(112px,1fr))!important;overflow-x:auto!important}
  #modal .admin-context-sidebar{border-right:0!important;border-bottom:1px solid var(--line)!important;max-height:240px!important}
  #modal .admin-main{overflow:visible!important}
  #modal[data-admin-view="structure"] .admin-grid.admin-workspace,
  #modal[data-admin-view="users"] .admin-grid.admin-workspace,
  #modal[data-admin-view="backup"] .admin-grid.admin-workspace{
    grid-template-areas:"tabs" "main"!important;
    grid-template-rows:auto minmax(0,1fr)!important;
  }
}



/* ==========================================================================
   ADMIN WORKSPACE V3.1 — contextual library parity + canonical copy button
   ========================================================================== */

/* GRERJ contextual browser must use the exact same visual system as Models. */
#modal .admin-grerj-browser .admin-list{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-height:0!important;
  overflow:auto!important;
  padding:0 2px 8px!important;
}
#modal .admin-grerj-item{
  position:relative!important;
  width:100%!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:8px!important;
  padding:11px 10px 11px 12px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:var(--panel)!important;
  color:var(--ink)!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
#modal .admin-grerj-item:hover{
  background:color-mix(in srgb,var(--panel) 94%,var(--blue) 6%)!important;
  border-color:color-mix(in srgb,var(--line) 72%,var(--blue) 28%)!important;
}
#modal .admin-grerj-item.active{
  background:color-mix(in srgb,var(--blue) 11%,var(--panel-strong) 89%)!important;
  border-color:color-mix(in srgb,var(--blue) 58%,var(--line) 42%)!important;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--blue) 72%,#8db6ff 28%)!important;
}
#modal .admin-grerj-item-copy{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
}
#modal .admin-grerj-item-copy b{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  color:var(--ink)!important;
}
#modal .admin-grerj-item-copy small{
  display:block!important;
  margin-top:5px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:8px!important;
  line-height:1.2!important;
  color:var(--muted)!important;
}
#modal .admin-grerj-item-state{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:28px!important;
  border-radius:7px!important;
  font-size:10px!important;
  font-weight:900!important;
  color:var(--muted)!important;
  background:color-mix(in srgb,var(--panel-soft) 84%,transparent)!important;
}
#modal .admin-grerj-item.active .admin-grerj-item-state{
  color:var(--blue)!important;
  background:color-mix(in srgb,var(--blue) 10%,var(--panel-soft) 90%)!important;
}

/* CANONICAL COPY BUTTON — Models screenshot is the single source of truth.
   Neutral surface, subtle border, compact, no blue filled variant anywhere. */
.copy,
.copy-action,
.copy-cert,
.ui-action-copy,
button[data-copy],
#libraryCopyDoc,
#labPrepCopy,
#copyGrerjCertificate{
  -webkit-appearance:none!important;
  appearance:none!important;
  min-width:0!important;
  min-height:44px!important;
  height:44px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid color-mix(in srgb,var(--line) 88%,var(--blue) 12%)!important;
  border-radius:11px!important;
  background:color-mix(in srgb,var(--panel-strong) 94%,var(--panel-soft) 6%)!important;
  color:var(--ink)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.10)!important;
  font:800 12px/1 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;
  filter:none!important;
  cursor:pointer!important;
}
.copy .ui-action-icon,
.copy-action .ui-action-icon,
.copy-cert .ui-action-icon,
.ui-action-copy .ui-action-icon,
#libraryCopyDoc .ui-action-icon,
#labPrepCopy .ui-action-icon,
#copyGrerjCertificate .ui-action-icon{
  font-size:11px!important;
  line-height:1!important;
  opacity:.78!important;
}
@media(hover:hover) and (pointer:fine){
  .copy:hover,
  .copy-action:hover,
  .copy-cert:hover,
  .ui-action-copy:hover,
  button[data-copy]:hover,
  #libraryCopyDoc:hover,
  #labPrepCopy:hover,
  #copyGrerjCertificate:hover{
    transform:translateY(-1px)!important;
    background:color-mix(in srgb,var(--panel-strong) 86%,var(--blue) 7%)!important;
    border-color:color-mix(in srgb,var(--line) 62%,var(--blue) 38%)!important;
    color:var(--ink)!important;
    box-shadow:0 6px 16px rgba(0,0,0,.13)!important;
  }
}
.copy:active,
.copy-action:active,
.copy-cert:active,
.ui-action-copy:active,
button[data-copy]:active,
#libraryCopyDoc:active,
#labPrepCopy:active,
#copyGrerjCertificate:active{
  transform:scale(.975)!important;
}
.copy:focus-visible,
.copy-action:focus-visible,
.copy-cert:focus-visible,
.ui-action-copy:focus-visible,
button[data-copy]:focus-visible,
#libraryCopyDoc:focus-visible,
#labPrepCopy:focus-visible,
#copyGrerjCertificate:focus-visible{
  outline:3px solid color-mix(in srgb,var(--blue) 28%,transparent)!important;
  outline-offset:2px!important;
}
.copy.done,
.copy-action.done,
.copy-cert.done,
.ui-action-copy.done,
button[data-copy].done,
#libraryCopyDoc.done,
#labPrepCopy.done,
#copyGrerjCertificate.done{
  background:color-mix(in srgb,#2d9d69 13%,var(--panel-strong) 87%)!important;
  border-color:color-mix(in srgb,#2d9d69 42%,var(--line) 58%)!important;
  color:color-mix(in srgb,#2d9d69 80%,var(--ink) 20%)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.09)!important;
}



/* ==========================================================================
   CALCULATOR ROUTING FIX — global floating mode vs GRERJ dock
   ========================================================================== */
body.app-guides #miniCalcTab,
body.app-library #miniCalcTab,
body.app-mural #miniCalcTab{
  display:grid!important;
}

/* Outside GRERJ, stale dock state must not influence layout. */
body:not(.app-grerj).grerj-calc-docked #grerjCalcDock{
  display:none!important;
}
body:not(.app-grerj).grerj-calc-docked #utilityDock{
  left:auto!important;
}

/* In desktop GRERJ the calculator already occupies its own column.
   Floating-open offsets must never push the utility controls away. */
@media(min-width:1200px){
  body.app-grerj.grerj-calc-docked #utilityDock{
    left:auto!important;
    right:14px!important;
  }
}



/* ==========================================================================
   GRERJ LIBRARY UNIFICATION — Models is the canonical sidebar primitive
   ========================================================================== */

/* Search field: exact same component as Biblioteca de modelos. */
#modal #adminSearch,
#modal #adminGrerjSearch{
  width:100%!important;
  height:38px!important;
  margin:0!important;
  padding:0 11px 0 32px!important;
  border-radius:10px!important;
  background:var(--panel)!important;
  color:var(--ink)!important;
  border:1px solid var(--line)!important;
  font-size:11px!important;
  font-family:inherit!important;
  outline:none!important;
}
#modal #adminSearch:focus,
#modal #adminGrerjSearch:focus{
  border-color:color-mix(in srgb,var(--blue) 50%,var(--line) 50%)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent)!important;
}

/* Both libraries use the same list rhythm. */
#modal #adminList,
#modal #adminGrerjList{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-height:0!important;
  flex:1 1 auto!important;
  height:auto!important;
  overflow:auto!important;
  padding-right:3px!important;
}

/* GRERJ now literally uses admin-item/admin-item-wrap. */
#modal .admin-grerj-item-wrap{
  position:relative!important;
  width:100%!important;
}
#modal .admin-grerj-item-wrap > .admin-item{
  width:100%!important;
  padding-right:42px!important;
}

/* Same right-edge visual role as the ribbon in Models, but semantic navigation
   instead of favorite state. */
#modal .admin-grerj-library-mark{
  position:absolute!important;
  top:0!important;
  right:7px!important;
  width:25px!important;
  min-width:25px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
  border-radius:0 0 7px 7px!important;
  background:color-mix(in srgb,var(--panel-soft) 84%,var(--blue) 8%)!important;
  color:var(--muted)!important;
  font:900 10px/1 system-ui!important;
  opacity:.72!important;
}
#modal .admin-grerj-library-mark.active{
  width:31px!important;
  min-width:31px!important;
  height:42px!important;
  color:var(--blue)!important;
  opacity:1!important;
  background:color-mix(in srgb,var(--blue) 14%,var(--panel-soft) 86%)!important;
  box-shadow:0 7px 16px color-mix(in srgb,var(--blue) 12%,transparent)!important;
}

/* Kill the previous parallel GRERJ card design. It is no longer part of DOM,
   but these guards prevent stale markup from looking different. */
#modal .admin-grerj-item{
  all:unset!important;
}



/* ==========================================================================
   GRERJ ADMIN FAVORITES — exact Models ribbon, no chevron impostor
   ========================================================================== */
#modal #adminGrerjList .admin-item-wrap{
  position:relative!important;
}
#modal #adminGrerjList .admin-item{
  width:100%!important;
  padding-right:38px!important;
}
#modal #adminGrerjList .favorite-ribbon{
  right:7px!important;
  top:0!important;
}

/* Previous V3.1 navigation marker is obsolete and must never render. */
#modal .admin-grerj-library-mark{
  display:none!important;
}


/* ======================================================================
   BUILD 1.5.2 · LIBRARY FILE WALL + MURAL DOCUMENT NORMALIZER
   ====================================================================== */
.library-editor{position:fixed;inset:0;z-index:63000;display:none;place-items:center;padding:20px;background:rgba(5,12,24,.46)}
.library-editor.open{display:grid}
.library-editor-dialog{width:min(760px,calc(100vw - 28px));max-height:min(860px,calc(100svh - 28px));overflow:auto;border:1px solid var(--v3-border);border-radius:20px;background:var(--panel-strong,var(--v3-surface));color:var(--v3-text);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.library-editor-body{display:grid;gap:14px;padding:18px 20px}.library-editor-body>label,.library-editor-grid label{display:grid;gap:6px;color:var(--v3-muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.library-editor-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12px}.library-editor-body input,.library-editor-body select,.library-editor-body textarea{width:100%;box-sizing:border-box;border:1px solid var(--v3-border);border-radius:11px;background:var(--v3-surface);color:var(--v3-text);padding:11px 12px;font:600 12px/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;outline:0;text-transform:none;letter-spacing:normal}.library-editor-body textarea{resize:vertical;min-height:132px}.library-editor-body input:focus,.library-editor-body select:focus,.library-editor-body textarea:focus{border-color:color-mix(in srgb,var(--v3-accent) 52%,var(--v3-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--v3-accent) 10%,transparent)}
.dialog-spacer{flex:1}.library-wall-index .library-browser-head{align-items:center}.library-browser-head>div{display:flex;align-items:baseline;gap:8px}.library-backend-note{font-size:8.5px;color:var(--amber,#d29221);font-weight:800}.library-file-post{display:grid;gap:14px}.library-editorial{padding:17px 19px;border:1px solid var(--v3-border);border-radius:16px;background:color-mix(in srgb,var(--v3-surface) 96%,transparent);color:var(--v3-text)}.library-editorial-label{margin-bottom:8px;color:var(--v3-muted);font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.library-editorial p{margin:0;font-size:12px;line-height:1.68}.library-editorial small{display:block;margin-top:12px;color:var(--v3-muted);font-size:9px}.library-document-card,.knowledge-attachment-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--v3-border);border-radius:14px;background:color-mix(in srgb,var(--v3-surface) 96%,transparent);color:var(--v3-text);text-align:left;cursor:pointer}.library-document-card:hover,.knowledge-attachment-card:hover{border-color:color-mix(in srgb,var(--v3-accent) 38%,var(--v3-border));background:color-mix(in srgb,var(--v3-accent) 5%,var(--v3-surface))}.library-document-card b,.knowledge-attachment-card b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.library-document-card small,.knowledge-attachment-card small{display:block;margin-top:3px;color:var(--v3-muted);font-size:8.8px}.library-document-icon,.attachment-type{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--v3-accent) 25%,var(--v3-border));border-radius:10px;background:color-mix(in srgb,var(--v3-accent) 8%,var(--v3-surface));color:var(--v3-accent);font-size:8px;font-weight:950;letter-spacing:.04em}
.knowledge-attachment-editor{display:grid;gap:8px;padding:12px;border:1px solid var(--v3-border);border-radius:13px;background:color-mix(in srgb,var(--v3-surface-soft) 58%,transparent)}.knowledge-attachment-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.knowledge-attachment-head b{display:block;color:var(--v3-text);font-size:10px}.knowledge-attachment-head small{display:block;margin-top:2px;color:var(--v3-muted);font-size:8px}.knowledge-file-button{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border:1px solid var(--v3-border);border-radius:9px;background:var(--v3-surface);color:var(--v3-text)!important;font:850 9px/1 ui-sans-serif,system-ui!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}.knowledge-file-button input{position:absolute!important;inset:0!important;opacity:0!important;cursor:pointer!important}.knowledge-attachment-list{display:grid;gap:6px}.knowledge-attachment-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--v3-border);border-radius:10px;background:var(--v3-surface)}.knowledge-attachment-row .attachment-type{width:30px;height:30px;border-radius:8px}.knowledge-attachment-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v3-text);font-size:9.5px}.knowledge-attachment-row small{display:block;margin-top:2px;color:var(--v3-muted);font-size:8px}.knowledge-attachment-row>button{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--v3-muted);cursor:pointer}.knowledge-attachment-row>button:hover{background:color-mix(in srgb,#d84c4c 10%,transparent);color:#d84c4c}.attachment-empty{padding:7px 2px;color:var(--v3-muted);font-size:8.5px}.mural-attachments{display:grid;gap:7px;margin-top:13px}.mural-attachments .knowledge-attachment-card{padding:10px 11px}.mural-attachments .attachment-type{width:32px;height:32px;border-radius:8px}

/* Rich text is a neutral app-native canvas. No Georgia/Times, no inherited all-bold PDF look. */
.mural-rich-editor{background:color-mix(in srgb,var(--v3-surface) 96%,transparent)!important;color:var(--v3-text)!important;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:13px!important;font-weight:400!important;line-height:1.68!important}
.mural-rich-editor p,.mural-rich-editor li,.mural-rich-editor blockquote{font-family:inherit!important;font-weight:400}
.mural-rich-editor strong,.mural-post-body strong{font-weight:800!important}.mural-rich-editor em,.mural-post-body em{font-style:italic!important}
.mural-rich-editor h2,.mural-rich-editor h3{font-family:inherit!important;font-weight:800!important}.mural-post-body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-weight:400!important}
.mural-post-body p,.mural-post-body li,.mural-post-body blockquote{font-weight:400}
.mural-color-auto{font-weight:900!important;text-decoration:underline;text-decoration-color:var(--v3-accent);text-decoration-thickness:3px;text-underline-offset:3px}.mural-color-picker{position:relative;width:32px;height:32px;display:grid!important;place-items:center;border:1px solid var(--v3-border);border-radius:8px;background:var(--v3-surface);color:var(--v3-text)!important;overflow:hidden;cursor:pointer}.mural-color-picker span{font:900 11px/1 ui-sans-serif,system-ui!important}.mural-color-picker input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important}.mural-highlight-picker span{font-size:12px!important}.mural-color-auto{color:var(--v3-text)!important}.mural-rich-editor .mural-color-auto,.mural-post-body .mural-color-auto{color:var(--v3-text)!important}
.mural-legal-header{text-align:center!important;margin:0 0 3px!important;font-weight:650!important}.mural-legal-code{text-align:center!important;color:var(--v3-muted)!important;font-size:10px!important;letter-spacing:.04em}.mural-legal-title{text-align:center!important;margin:18px 0 16px!important;font-size:20px!important}.mural-legal-ementa{max-width:72%;margin:0 0 18px auto!important;padding-left:14px;border-left:2px solid var(--v3-border);color:var(--v3-muted)!important}.mural-legal-considerando{margin:0 0 12px!important}.mural-legal-considerando::first-letter{font-weight:800}.mural-legal-resolve{text-align:center!important;margin:18px 0 15px!important;font-size:14px!important;letter-spacing:.08em}.mural-legal-article{margin:0 0 12px!important}.mural-legal-incisos{margin:5px 0 15px!important;padding-left:34px!important}.mural-legal-incisos li{padding-left:4px}.mural-legal-signature{text-align:center!important;margin:14px auto!important}.mural-legal-section{text-align:center!important;margin:17px 0 10px!important;font-size:14px!important}
.mural-editor-body textarea{display:block!important}.library-editor-body textarea{display:block!important}

@media(max-width:700px){.library-editor-grid{grid-template-columns:1fr}.library-editor{padding:8px}.library-editor-dialog{width:100%;max-height:calc(100svh - 16px);border-radius:16px}.library-document-card,.knowledge-attachment-card{grid-template-columns:auto minmax(0,1fr) auto}.mural-legal-ementa{max-width:92%}}

.library-editorial p{display:block!important}.mural-rich-editor span[style*='color'],.mural-post-body span[style*='color']{color:revert-layer}.mural-rich-editor span[style*='background-color'],.mural-post-body span[style*='background-color']{border-radius:2px;padding:0 .08em}


/* ==========================================================================\n   BUILD 1.5.2.1 — LIBRARY 14 / FILE WALL POLISH\n   ========================================================================== */
body.app-library #libraryTabs{display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:center!important}
body.app-library #libraryTabs button{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:34px!important;padding:0 11px!important;border-radius:10px!important}
body.app-library #libraryTabs button em{display:inline-grid!important;place-items:center!important;min-width:20px!important;height:20px!important;padding:0 6px!important;border-radius:999px!important;background:color-mix(in srgb,var(--v3-text) 7%,transparent)!important;color:var(--v3-muted)!important;font:800 8px/1 ui-sans-serif,system-ui!important;font-style:normal!important}
body.app-library #libraryTabs button.active em{background:color-mix(in srgb,var(--v3-accent) 16%,transparent)!important;color:var(--v3-accent)!important}

body.app-library .library-browser-head{align-items:center!important;margin-bottom:2px!important}
body.app-library .library-browser-head>div{display:flex!important;align-items:baseline!important;gap:8px!important}
body.app-library .library-browser-head b{font-size:14px!important;letter-spacing:-.01em!important}
body.app-library .library-browser-head small{font-size:9px!important}

body.app-library .library-index{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
body.app-library .library-index-row{display:flex!important;flex-direction:column!important;min-height:158px!important;padding:12px!important;border:1px solid color-mix(in srgb,var(--v3-border) 92%,transparent)!important;border-radius:15px!important;background:color-mix(in srgb,var(--v3-surface) 87%,transparent)!important;box-shadow:0 7px 22px rgba(7,18,32,.045)!important;overflow:hidden!important;transition:transform 140ms ease,border-color 140ms ease,background-color 140ms ease!important}
body.app-library .library-index-row:hover{transform:translateY(-1px)!important;border-color:color-mix(in srgb,var(--v3-accent) 28%,var(--v3-border))!important;background:color-mix(in srgb,var(--v3-accent) 4%,var(--v3-surface))!important}
body.app-library .library-index-row.selected{border-color:color-mix(in srgb,var(--v3-accent) 52%,var(--v3-border))!important;background:color-mix(in srgb,var(--v3-accent) 7%,var(--v3-surface))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--v3-accent) 8%,transparent),0 8px 26px rgba(7,18,32,.055)!important}
body.app-library .library-index-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:24px!important}
body.app-library .library-index-type{display:inline-flex!important;align-items:center!important;max-width:calc(100% - 30px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;padding:4px 7px!important;border-radius:7px!important;background:color-mix(in srgb,var(--v3-accent) 7%,transparent)!important;color:var(--v3-muted)!important;font:850 7.8px/1 ui-sans-serif,system-ui!important;letter-spacing:.045em!important;text-transform:uppercase!important}
body.app-library .library-index-row .kb-favorite-star{flex:0 0 auto!important;width:25px!important;height:25px!important}
body.app-library .library-index-open{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;padding:9px 0 8px!important;border-radius:0!important;background:transparent!important}
body.app-library .library-index-open:hover{background:transparent!important}
body.app-library .library-index-open b{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:11.5px!important;line-height:1.28!important;letter-spacing:-.01em!important;color:var(--v3-text)!important}
body.app-library .library-index-open p{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin:7px 0 0!important;color:var(--v3-muted)!important;font-size:8.8px!important;line-height:1.42!important;font-weight:500!important}
body.app-library .library-index-open small{margin-top:auto!important;padding-top:8px!important;font-size:8px!important;color:var(--v3-muted)!important}
body.app-library .library-index-pdf{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:31px!important;padding:0 9px!important;border:1px solid color-mix(in srgb,var(--v3-border) 88%,var(--v3-accent) 12%)!important;border-radius:9px!important;background:color-mix(in srgb,var(--v3-surface-soft) 68%,transparent)!important;color:var(--v3-text)!important;font:800 8.5px/1 ui-sans-serif,system-ui!important;cursor:pointer!important}
body.app-library .library-index-pdf span:first-child{color:var(--v3-accent)!important;font-size:7.5px!important;letter-spacing:.06em!important}
body.app-library .library-index-pdf:hover{border-color:color-mix(in srgb,var(--v3-accent) 34%,var(--v3-border))!important;background:color-mix(in srgb,var(--v3-accent) 6%,var(--v3-surface-soft))!important}

body.app-library .library-file-post{margin-top:14px!important;border-radius:17px!important;background:color-mix(in srgb,var(--v3-surface) 90%,transparent)!important;border:1px solid var(--v3-border)!important;box-shadow:0 14px 38px rgba(7,18,32,.06)!important}
body.app-library .library-reader-head{padding:18px!important}
body.app-library .library-editorial{margin:0 18px 12px!important;padding:14px 15px!important;border-radius:12px!important;background:color-mix(in srgb,var(--v3-surface-soft) 74%,transparent)!important;border:1px solid color-mix(in srgb,var(--v3-border) 82%,transparent)!important}
body.app-library .library-document-card{margin:0 18px 18px!important;width:calc(100% - 36px)!important;border-radius:12px!important;background:color-mix(in srgb,var(--v3-surface-soft) 64%,transparent)!important}

@media(max-width:1100px){body.app-library .library-index{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){body.app-library .library-index{grid-template-columns:minmax(0,1fr)!important}.library-index-row{min-height:145px!important}}


/* ==========================================================================\n   BUILD 1.5.2.2 — Biblioteca PDF Reader + Mural font size\n   ========================================================================== */
body.app-library .library-index-open b{
  font-size:14px!important;
  line-height:1.22!important;
  font-weight:900!important;
  letter-spacing:-.018em!important;
  color:var(--v3-text)!important;
}
body.app-library .library-index-open p{font-size:9.2px!important;line-height:1.48!important;margin-top:8px!important}
body.app-library .library-index-row{min-height:170px!important}
body.app-library .library-index-pdf{height:34px!important;font-size:9px!important}
body.app-library .library-index-pdf span:first-child{font-size:7.6px!important;font-weight:950!important;letter-spacing:.075em!important}
body.library-reader-open{overflow:hidden!important}
.library-pdf-reader{position:fixed;inset:0;z-index:72000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(5,12,24,.62)}
.library-pdf-reader.open{display:flex}
.library-pdf-reader-dialog{width:min(1500px,calc(100vw - 36px));height:min(94vh,980px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--v3-border);border-radius:22px;background:var(--v3-surface);box-shadow:0 26px 90px rgba(0,0,0,.36)}
.library-pdf-reader-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--v3-border);background:color-mix(in srgb,var(--v3-surface) 96%,var(--v3-accent) 4%)}
.library-pdf-reader-title{min-width:0}.library-pdf-reader-title>span{display:block;margin-bottom:4px;color:var(--v3-muted);font-size:8px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.library-pdf-reader-title h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v3-text);font-size:20px;line-height:1.15;letter-spacing:-.025em;font-weight:900}.library-pdf-reader-title small{display:block;margin-top:5px;color:var(--v3-muted);font-size:9px}
.library-pdf-reader-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.library-pdf-reader-close{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--v3-border);border-radius:11px;background:var(--v3-surface-soft);color:var(--v3-text);font-size:22px;cursor:pointer}.library-pdf-reader-close:hover{border-color:color-mix(in srgb,var(--v3-accent) 36%,var(--v3-border));background:color-mix(in srgb,var(--v3-accent) 6%,var(--v3-surface-soft))}
.library-pdf-reader-stage{min-height:0;padding:0;background:#20242a}.library-pdf-reader-stage iframe{display:block;width:100%;height:100%;border:0;background:#20242a}
.library-pdf-reader-info{padding:10px 18px;border-bottom:1px solid var(--v3-border);color:var(--v3-muted);font-size:10px}
.mural-font-size-group select{min-width:78px!important;height:34px!important;padding:0 8px!important;border:1px solid var(--v3-border)!important;border-radius:9px!important;background:var(--v3-surface)!important;color:var(--v3-text)!important;font:800 10px/1 ui-sans-serif,system-ui!important}
@media(max-width:760px){.library-pdf-reader{padding:0}.library-pdf-reader-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0;border-left:0;border-right:0}.library-pdf-reader-head{align-items:flex-start;padding:12px}.library-pdf-reader-title h2{font-size:16px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.library-pdf-reader-actions .ui-action span:last-child{display:none}.library-pdf-reader-actions .ui-action{width:38px!important;padding:0!important}.library-pdf-reader-close{width:38px;height:38px}}




/* BUILD 1.5.3B2 — native Guides/Library administration */
#modal .admin-dock{grid-template-columns:repeat(7,minmax(0,1fr))!important}
#modal .admin-guide-browser,#modal .admin-library-browser{min-height:0;display:flex;flex-direction:column}
#modal .admin-guide-browser[hidden],#modal .admin-library-browser[hidden]{display:none!important}
#modal .admin-inline-delete{position:absolute;right:7px;bottom:7px;width:24px;height:24px;border:1px solid color-mix(in srgb,#c94c57 32%,var(--line));border-radius:7px;background:color-mix(in srgb,#c94c57 7%,var(--panel));color:#b84a54;font-weight:900;cursor:pointer}
#modal .admin-guide-browser .admin-item{padding-right:38px!important}
.guide-admin-items{min-height:300px!important;line-height:1.55!important;font-family:inherit!important}
.library-admin-selected-info{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel-soft)}
.library-admin-meta{display:grid;gap:5px}.library-admin-meta>b{font-size:10px;text-transform:uppercase;color:var(--accent)}.library-admin-meta>span{font-size:10px;color:var(--muted)}.library-admin-meta>p{font-size:12px;line-height:1.55;margin:5px 0 0}
.kb-side-head-admin{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px}
.kb-side-head-actions{display:flex;align-items:center;gap:7px}.kb-side-new{min-height:30px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--blue) 40%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--blue) 12%,var(--panel));color:var(--ink);font-size:9px;font-weight:900;cursor:pointer}
.kb-side-guide-row.is-manageable{grid-template-columns:26px minmax(0,1fr) auto!important}
.kb-guide-row-actions{display:grid;grid-template-columns:26px 26px;gap:4px;align-self:center}
.kb-guide-row-actions button{width:26px;height:26px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft);color:var(--muted);font-size:10px;font-weight:900;cursor:pointer}
.kb-guide-row-actions button:hover:first-child{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 40%,var(--line))}
.kb-guide-row-actions button:hover:last-child{color:#c94c57;border-color:color-mix(in srgb,#c94c57 40%,var(--line))}

/* Keep the proven modal controller, but make Central read as a real screen. */
body.admin-modal-open{overflow:hidden!important}
body.admin-modal-open #modal{padding:0!important;align-items:stretch!important;justify-content:stretch!important;background:var(--bg)!important}
body.admin-modal-open #modal>.admin-command-center{width:100%!important;max-width:none!important;height:100vh!important;max-height:none!important;border-radius:0!important;border:0!important;margin:0!important;padding:18px clamp(18px,3vw,48px) 40px!important;box-shadow:none!important;overflow:auto!important}
body.admin-modal-open #modal .admin-command-header{position:sticky!important;top:-18px!important;z-index:40!important;margin:-18px calc(clamp(18px,3vw,48px)*-1) 0!important;padding:18px clamp(18px,3vw,48px)!important;background:color-mix(in srgb,var(--panel) 96%,transparent)!important;border-bottom:1px solid var(--line)!important}
@media(max-width:1050px){#modal .admin-dock{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* BUILD 1.5.3C — Biblioteca: categorias/etiquetas administráveis */
.library-taxonomy-admin{margin-top:14px!important}
.library-taxonomy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.library-taxonomy-column{min-width:0;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--panel-soft)}
.library-taxonomy-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.library-taxonomy-title>b{font-size:11px}
.library-taxonomy-title>span{display:grid;place-items:center;min-width:25px;height:22px;padding:0 7px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:9px;color:var(--muted);font-weight:900}
.library-taxonomy-list{display:grid;gap:6px;margin-top:9px}
.library-taxonomy-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.library-taxonomy-row>input{min-width:0;height:34px}
.library-taxonomy-row>span{font-size:8px;color:var(--muted);white-space:nowrap}
.library-taxonomy-row>button{min-height:34px!important;padding:6px 9px!important;font-size:9px!important}
.library-taxonomy-row>button:disabled{opacity:.38;cursor:not-allowed}
#libraryEditorSection,#libraryEditorSubject{min-height:42px}
@media(max-width:900px){.library-taxonomy-grid{grid-template-columns:1fr}.library-taxonomy-row{grid-template-columns:minmax(0,1fr) auto auto}.library-taxonomy-row>span{grid-column:1/-1}}


/* BUILD 1.5.3D — Guias sincronizadas e visualmente organizadas */
#guidesView .kb-side-guide-row{grid-template-columns:28px minmax(0,1fr)!important;gap:7px!important;align-items:center}
#guidesView .kb-side-item{padding:10px 11px!important;border-radius:11px!important}
#guidesView .kb-side-item b{font-size:10.5px!important;line-height:1.28!important}
#guidesView .kb-side-item small{display:flex!important;align-items:center!important;gap:5px!important;margin-top:4px!important;font-size:8px!important;color:var(--muted)!important}
#guidesView .kb-side-item small i{font-style:normal;opacity:.45}
#guidesView .kb-guide-row-actions{display:none!important}

#guidesView .guide-head-v3{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 230px!important;
  gap:24px!important;
  align-items:start!important;
  padding-bottom:18px!important;
  margin-bottom:0!important;
  border-bottom:1px solid var(--line)!important;
}
#guidesView .guide-title-block{min-width:0}
#guidesView .guide-title-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
#guidesView .guide-title-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#guidesView .kb-mini-tag.subtle{opacity:.72;background:var(--panel-soft)!important}
#guidesView .guide-selected-actions{display:flex;gap:6px;flex:0 0 auto}
#guidesView .guide-selected-actions button{min-height:31px;padding:5px 10px;border-radius:9px;font-size:9px;font-weight:850}
#guidesView .guide-title-row{align-items:flex-start!important}
#guidesView .guide-title-row h2{font-size:20px!important;line-height:1.18!important;margin:0 0 7px!important}
#guidesView .guide-title-row p{max-width:720px!important;line-height:1.55!important;color:var(--muted)!important;margin:0!important}
#guidesView .guide-progress-card{
  width:100%!important;
  padding:12px 13px!important;
  border:1px solid var(--line)!important;
  border-radius:13px!important;
  background:var(--panel-soft)!important;
}
#guidesView .guide-progress-card small{display:block;margin-top:6px;text-align:right;font-size:8px;color:var(--muted)}
#guidesView .guide-content-label{display:flex;justify-content:space-between;align-items:center;padding:16px 0 10px}
#guidesView .guide-content-label span{font-size:8px;font-weight:900;letter-spacing:.13em;color:var(--muted)}
#guidesView .guide-content-label small{font-size:8px;color:var(--muted)}
#guidesView .guide-sections{display:grid!important;gap:10px!important}
#guidesView .guide-section{border:1px solid var(--line)!important;border-radius:13px!important;background:color-mix(in srgb,var(--panel) 95%,transparent)!important;padding:13px 14px!important}
#guidesView .guide-section h3{margin:0 0 9px!important;padding-bottom:8px!important;border-bottom:1px solid var(--line)!important;font-size:10.5px!important}
#guidesView .guide-check{padding:7px 5px!important;border-radius:8px!important}
#guidesView .guide-check:hover{background:var(--panel-soft)!important}

.guide-taxonomy-admin{margin-top:14px!important}
.guide-taxonomy-grid{margin-top:12px}
#guideAdminCategory,#guideAdminTag{width:100%}

@media(max-width:920px){
  #guidesView .guide-head-v3{grid-template-columns:1fr!important}
  #guidesView .guide-progress-card{max-width:none!important}
}
@media(max-width:680px){
  #guidesView .guide-title-topline{align-items:flex-start;flex-direction:column}
  #guidesView .guide-selected-actions{width:100%;justify-content:flex-end}
}


/* ========================================================================
   BUILD 1.5.3E2 · PERFIL SAFE REFORM
   IMPORTANTE: reforma puramente visual sobre a 1.5.3D estável.
   Nenhum HTML, autenticação, sessão, Supabase ou JS do Perfil foi alterado.
   ======================================================================== */

/* Canvas e largura */
#profileInterface.profile-interface{
  width:min(1320px,calc(100% - 36px))!important;
  min-height:calc(100dvh - 74px)!important;
  margin:0 auto!important;
  padding:24px 0 72px!important;
  color:var(--ink)!important;
  background:transparent!important;
}
#profileInterface .profile-interface-inner{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
}

/* Cabeçalho real do Perfil — sem faixa branca fixa */
#profileInterface .profile-interface-nav{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0 0 14px!important;
  padding:15px 17px!important;
  border:1px solid var(--v3-border,var(--line))!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--panel-strong) 92%,transparent)!important;
  box-shadow:0 8px 26px rgba(8,22,40,.05)!important;
  backdrop-filter:blur(18px) saturate(1.04)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.04)!important;
}
#profileInterface .profile-home-btn{
  margin:0!important;
  min-height:37px!important;
  padding:0 12px!important;
  border-radius:11px!important;
  flex:0 0 auto!important;
}
#profileInterface .profile-interface-heading .kicker{
  display:block!important;
  margin-bottom:2px!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  font-weight:900!important;
  color:var(--blue)!important;
}
#profileInterface .profile-interface-heading h1{
  margin:0 0 2px!important;
  font-size:23px!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
  color:var(--navy)!important;
}
#profileInterface .profile-interface-heading p{
  margin:0!important;
  font-size:10.5px!important;
  line-height:1.4!important;
  color:var(--muted)!important;
}

/* Identidade principal */
#profileInterface .profile-hero-v2{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr) auto!important;
  gap:16px!important;
  align-items:center!important;
  margin:0 0 14px!important;
  padding:17px 18px!important;
  border:1px solid var(--v3-border,var(--line))!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--panel-strong) 92%,transparent)!important;
  box-shadow:0 9px 28px rgba(8,22,40,.055)!important;
  backdrop-filter:blur(18px) saturate(1.04)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.04)!important;
  overflow:hidden!important;
}
#profileInterface .profile-photo-v2{
  width:84px!important;
  height:84px!important;
  border-radius:23px!important;
  border:1px solid var(--v3-border,var(--line))!important;
  background:color-mix(in srgb,var(--panel-soft) 82%,var(--blue) 18%)!important;
  box-shadow:none!important;
}
#profileInterface .profile-photo-v2 img{border-radius:inherit!important}
#profileInterface .profile-hero-copy{min-width:0!important}
#profileInterface .profile-hero-copy h2{
  margin:0 0 3px!important;
  color:var(--navy)!important;
  font-size:21px!important;
  line-height:1.16!important;
  letter-spacing:-.025em!important;
}
#profileInterface .profile-hero-copy p{
  margin:0 0 8px!important;
  color:var(--muted)!important;
  font-size:10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#profileInterface .profile-role-v2{
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  padding:0 9px!important;
  font-size:8.5px!important;
}
#profileInterface .profile-registration-v2{
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  margin:0 0 0 6px!important;
  padding:0 9px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:var(--panel-soft)!important;
  color:var(--muted)!important;
  font-size:8.5px!important;
  font-weight:800!important;
}
#profileInterface .profile-hero-status{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:31px!important;
  padding:0 10px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:var(--panel-soft)!important;
  color:var(--muted)!important;
  font-size:9px!important;
  font-weight:800!important;
}

/* Dashboard: Identidade e Acesso em cima, Foto embaixo */
#profileInterface .profile-dashboard-v2{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
}
#profileInterface .profile-box-v2{
  position:relative!important;
  margin:0!important;
  padding:17px!important;
  border:1px solid var(--v3-border,var(--line))!important;
  border-radius:17px!important;
  background:color-mix(in srgb,var(--panel-strong) 92%,transparent)!important;
  color:var(--ink)!important;
  box-shadow:0 8px 26px rgba(8,22,40,.05)!important;
  backdrop-filter:blur(18px) saturate(1.04)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.04)!important;
  overflow:hidden!important;
}
#profileInterface .profile-box-v2::before{display:none!important}
#profileInterface .profile-avatar-box-v2{grid-column:1/-1!important}
#profileInterface .profile-box-title{margin:0 0 14px!important}
#profileInterface .profile-box-title span{
  display:block!important;
  color:var(--blue)!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
#profileInterface .profile-box-title small{
  display:block!important;
  margin-top:2px!important;
  color:var(--muted)!important;
  font-size:9.5px!important;
}

/* Campos */
#profileInterface .field{
  display:grid!important;
  gap:5px!important;
  margin-bottom:10px!important;
  color:var(--muted)!important;
  font-size:9px!important;
  font-weight:800!important;
}
#profileInterface .field input,
#profileInterface .field select,
#profileInterface .field textarea{
  width:100%!important;
  min-height:39px!important;
  padding:0 10px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--panel-soft) 82%,transparent)!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  box-shadow:none!important;
  font-size:10.5px!important;
}
#profileInterface .field input:focus,
#profileInterface .field select:focus,
#profileInterface .field textarea:focus{
  outline:none!important;
  border-color:color-mix(in srgb,var(--blue) 60%,var(--line))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 13%,transparent)!important;
}
#profileInterface .profile-info-row{
  display:grid!important;
  grid-template-columns:80px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  margin:11px 0 13px!important;
  padding:10px 0!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
}
#profileInterface .profile-info-row span{
  color:var(--muted)!important;
  font-size:8px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
#profileInterface .profile-info-row strong{
  min-width:0!important;
  text-align:right!important;
  color:var(--navy)!important;
  font-size:9.5px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#profileInterface .row-actions{margin-top:10px!important}
#profileInterface .row-actions .primary{min-height:38px!important;border-radius:11px!important}

/* Acesso */
#profileInterface .access-role-card-v2{
  padding:12px!important;
  margin:0 0 10px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--panel-soft) 80%,transparent)!important;
}
#profileInterface .access-role-card-v2 span{color:var(--muted)!important;font-size:8px!important}
#profileInterface .access-role-card-v2 strong{color:var(--navy)!important;font-size:15px!important}
#profileInterface .profile-permissions-v2{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  margin:0 0 12px!important;
}
#profileInterface .permission-line-v2{
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:7px 9px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:color-mix(in srgb,var(--panel-soft) 78%,transparent)!important;
  color:var(--muted)!important;
  font-size:8.8px!important;
  line-height:1.25!important;
}
#profileInterface #profilePanelV2{width:100%!important;min-height:38px!important;justify-content:center!important;border-radius:11px!important}

/* Estúdio de avatar em linha */
#profileInterface .profile-avatar-box-v2{
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:22px!important;
  align-items:center!important;
}
#profileInterface .profile-avatar-box-v2 .profile-box-title{
  grid-column:1/-1!important;
}
#profileInterface .avatar-editor-v2{
  grid-column:1!important;
  grid-row:2!important;
  width:124px!important;
  height:124px!important;
  margin:0 auto!important;
  border:1px solid var(--line)!important;
  border-radius:25px!important;
  background:var(--panel-soft)!important;
  box-shadow:none!important;
}
#profileInterface .avatar-editor-v2 img{border-radius:inherit!important}
#profileInterface .avatar-controls-v2{
  grid-column:2!important;
  grid-row:2!important;
  display:grid!important;
  gap:10px!important;
}
#profileInterface .avatar-controls-v2 label{
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr) 42px!important;
  gap:9px!important;
  align-items:center!important;
  color:var(--muted)!important;
  font-size:8.8px!important;
}
#profileInterface .avatar-controls-v2 label>span{text-align:right!important;color:var(--navy)!important;font-size:8.8px!important;font-weight:800!important}
#profileInterface .avatar-controls-v2 input[type="range"]{width:100%!important;accent-color:var(--blue)!important}
#profileInterface #profileResetAvatarV2{justify-self:start!important;min-height:35px!important;border-radius:10px!important}
#profileInterface .profile-photo-note-v2{
  grid-column:1!important;
  grid-row:3!important;
  margin:8px auto 0!important;
  max-width:150px!important;
  text-align:center!important;
  color:var(--muted)!important;
  font-size:8px!important;
  line-height:1.4!important;
}

/* Sessão */
#profileInterface .profile-session-v2{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:14px 0 0!important;
  padding:13px 15px!important;
  border:1px solid var(--v3-border,var(--line))!important;
  border-radius:15px!important;
  background:color-mix(in srgb,var(--panel-strong) 92%,transparent)!important;
  box-shadow:0 8px 24px rgba(8,22,40,.045)!important;
}
#profileInterface .profile-session-v2 strong{color:var(--navy)!important;font-size:10px!important}
#profileInterface .profile-session-v2 small{color:var(--muted)!important;font-size:9px!important}
#profileInterface #profileLogoutV2{min-height:36px!important;border-radius:10px!important}

/* Temas claros: sombra mais delicada. */
html[data-theme="dawn"] #profileInterface .profile-interface-nav,
html[data-theme="day"] #profileInterface .profile-interface-nav,
html[data-theme="noon"] #profileInterface .profile-interface-nav,
html[data-theme="sunset"] #profileInterface .profile-interface-nav,
html[data-theme="dawn"] #profileInterface .profile-hero-v2,
html[data-theme="day"] #profileInterface .profile-hero-v2,
html[data-theme="noon"] #profileInterface .profile-hero-v2,
html[data-theme="sunset"] #profileInterface .profile-hero-v2,
html[data-theme="dawn"] #profileInterface .profile-box-v2,
html[data-theme="day"] #profileInterface .profile-box-v2,
html[data-theme="noon"] #profileInterface .profile-box-v2,
html[data-theme="sunset"] #profileInterface .profile-box-v2{
  box-shadow:0 9px 28px rgba(31,69,111,.075)!important;
}
/* Temas escuros: separação sem ficar cinza chapado. */
html[data-theme="night"] #profileInterface .profile-interface-nav,
html[data-theme="late"] #profileInterface .profile-interface-nav,
html[data-theme="midnight"] #profileInterface .profile-interface-nav,
html[data-theme="night"] #profileInterface .profile-hero-v2,
html[data-theme="late"] #profileInterface .profile-hero-v2,
html[data-theme="midnight"] #profileInterface .profile-hero-v2,
html[data-theme="night"] #profileInterface .profile-box-v2,
html[data-theme="late"] #profileInterface .profile-box-v2,
html[data-theme="midnight"] #profileInterface .profile-box-v2{
  box-shadow:0 14px 36px rgba(0,0,0,.18)!important;
}

/* Responsividade */
@media(max-width:980px){
  #profileInterface.profile-interface{width:calc(100% - 24px)!important;padding:18px 0 66px!important}
  #profileInterface .profile-dashboard-v2{grid-template-columns:1fr!important}
  #profileInterface .profile-avatar-box-v2{grid-column:auto!important}
}
@media(max-width:720px){
  #profileInterface .profile-interface-nav{align-items:flex-start!important;padding:14px!important}
  #profileInterface .profile-hero-v2{grid-template-columns:68px minmax(0,1fr)!important;padding:15px!important}
  #profileInterface .profile-photo-v2{width:68px!important;height:68px!important;border-radius:19px!important}
  #profileInterface .profile-hero-status{grid-column:1/-1!important;justify-self:start!important}
  #profileInterface .profile-registration-v2{margin:6px 0 0!important;display:flex!important;width:max-content!important}
  #profileInterface .profile-permissions-v2{grid-template-columns:1fr!important}
  #profileInterface .profile-avatar-box-v2{grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto!important}
  #profileInterface .profile-avatar-box-v2 .profile-box-title{grid-column:1!important}
  #profileInterface .avatar-editor-v2{grid-column:1!important;grid-row:2!important}
  #profileInterface .avatar-controls-v2{grid-column:1!important;grid-row:3!important;margin-top:14px!important}
  #profileInterface .profile-photo-note-v2{grid-column:1!important;grid-row:4!important;max-width:none!important}
}
@media(max-width:520px){
  #profileInterface.profile-interface{width:calc(100% - 16px)!important;padding-top:10px!important}
  #profileInterface .profile-interface-nav{flex-direction:column!important;gap:9px!important}
  #profileInterface .profile-info-row{grid-template-columns:1fr!important;gap:4px!important}
  #profileInterface .profile-info-row strong{text-align:left!important}
  #profileInterface .profile-session-v2{align-items:stretch!important;flex-direction:column!important}
  #profileInterface #profileLogoutV2{width:100%!important;justify-content:center!important}
  #profileInterface .avatar-controls-v2 label{grid-template-columns:60px minmax(0,1fr) 38px!important}
}


/* ========================================================================
   BUILD 1.6.0 · MENSAGENS / DIRECT 2.0
   Inbox estilo Instagram/WhatsApp, adaptado aos temas do Assistente.
   ======================================================================== */
.chat2-compat{display:none!important}
.chat2-panel{
  left:18px!important;right:auto!important;bottom:18px!important;
  width:min(940px,calc(100vw - 36px))!important;
  height:min(760px,calc(100dvh - 36px))!important;
  max-width:none!important;max-height:none!important;
  padding:0!important;border-radius:24px!important;overflow:hidden!important;
  background:color-mix(in srgb,var(--panel-strong) 96%,transparent)!important;
  border:1px solid var(--v3-border,var(--line))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.18)!important;
}
body.chat-open .chat2-panel{display:block!important}
.chat2-shell{display:grid;grid-template-columns:320px minmax(0,1fr);height:100%;min-height:0}
.chat2-inbox{
  position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;
  border-right:1px solid var(--v3-border,var(--line));
  background:color-mix(in srgb,var(--panel) 90%,transparent)
}
.chat2-inbox-head,.chat2-thread-head{
  min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border-bottom:1px solid var(--v3-border,var(--line));
  background:color-mix(in srgb,var(--panel-strong) 94%,transparent)!important
}
.chat2-me{display:flex;align-items:center;gap:10px;min-width:0}
.chat2-me-avatar{
  width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  background:var(--panel-soft);border:1px solid var(--line);color:var(--blue);font-size:10px;font-weight:950
}
.chat2-me-avatar img,.chat2-room-avatar img,.chat2-person-avatar img,.chat2-msg-avatar img{width:100%;height:100%;object-fit:cover}
.chat2-me-copy{min-width:0}
.chat2-me-copy strong{display:block;font-size:14px;color:var(--navy)}
.chat2-me-copy small{display:block;max-width:190px;margin-top:2px;font-size:8.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat2-head-actions,.chat2-thread-actions{display:flex;gap:5px}
.chat2-icon-btn,.chat2-context-close,.chat2-emoji-btn,.chat2-more{
  border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;
  display:grid;place-items:center;transition:.16s ease
}
.chat2-icon-btn{width:34px;height:34px;border-radius:10px;font-weight:900}
.chat2-icon-btn:hover,.chat2-emoji-btn:hover,.chat2-more:hover{background:var(--panel-soft);color:var(--navy);border-color:var(--line)}

.chat2-search{
  display:flex;align-items:center;gap:7px;margin:10px 11px 6px;padding:0 10px;height:38px;
  border:1px solid var(--line);border-radius:12px;background:var(--panel-soft);color:var(--muted)
}
.chat2-search input{
  width:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;
  color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;font-size:10.5px!important;box-shadow:none!important
}
.chat2-conversation-list{display:flex!important;flex:1 1 auto;min-height:0;overflow:auto;padding:4px 7px 12px!important;flex-direction:column;gap:2px}
.chat2-list-loading,.chat2-empty-list,.chat2-directory-hint{padding:18px 10px;text-align:center;color:var(--muted);font-size:9.5px}
.chat2-room{
  width:100%;display:flex;align-items:center;gap:10px;min-width:0;padding:9px 8px;
  border:1px solid transparent;border-radius:13px;background:transparent;color:inherit;text-align:left;cursor:pointer
}
.chat2-room:hover{background:var(--panel-soft);border-color:color-mix(in srgb,var(--line) 72%,transparent)}
.chat2-room.active{background:color-mix(in srgb,var(--blue) 9%,var(--panel-soft));border-color:color-mix(in srgb,var(--blue) 22%,var(--line))}
.chat2-avatar-wrap{position:relative;flex:0 0 auto}
.chat2-room-avatar,.chat2-person-avatar,.chat2-msg-avatar{
  width:45px;height:45px;display:grid;place-items:center;overflow:hidden;border-radius:50%;
  background:var(--panel-soft);border:1px solid var(--line);color:var(--blue);font-size:10px;font-weight:950
}
.chat2-general-avatar{font-size:18px}
.chat2-online-dot{position:absolute;right:0;bottom:1px;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid var(--panel-strong)}
.chat2-room-copy{flex:1;min-width:0;display:grid;gap:3px}
.chat2-room-line{display:flex;align-items:center;gap:8px;min-width:0}
.chat2-room-line b{flex:1;min-width:0;font-size:10.5px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat2-room-line time{font-size:8px;color:var(--muted)}
.chat2-room-line.preview small{flex:1;min-width:0;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat2-room.unread .chat2-room-line b,.chat2-room.unread .chat2-room-line.preview small{font-weight:900;color:var(--ink)}
.chat2-room-line.preview em{
  min-width:19px;height:19px;padding:0 5px;border-radius:999px;display:grid;place-items:center;
  background:var(--blue);color:#fff;font-size:7.5px;font-style:normal;font-weight:950
}

.chat2-new-message-sheet{
  position:absolute!important;inset:0!important;z-index:12!important;display:flex!important;flex-direction:column!important;
  padding:0!important;background:color-mix(in srgb,var(--panel-strong) 98%,transparent)!important
}
.chat2-new-message-sheet[hidden]{display:none!important}
.chat2-new-head{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.chat2-new-head div{display:grid;gap:2px}.chat2-new-head b{font-size:13px;color:var(--navy)}.chat2-new-head small{font-size:8.5px;color:var(--muted)}
.chat2-people-results{min-height:0;overflow:auto;padding:5px 8px 14px}
.chat2-person{
  width:100%;display:flex;align-items:center;gap:10px;padding:8px;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left;cursor:pointer
}
.chat2-person:hover{background:var(--panel-soft)}
.chat2-person-avatar{width:42px;height:42px;flex:0 0 42px}
.chat2-person span:last-child{min-width:0}.chat2-person b{display:block;font-size:10.5px;color:var(--navy)}.chat2-person small{display:block;margin-top:2px;font-size:8.5px;color:var(--muted)}

.chat2-thread{display:flex;flex-direction:column;min-width:0;min-height:0;background:color-mix(in srgb,var(--panel) 94%,transparent)}
.chat2-thread-head{flex:0 0 auto}
.chat2-room-profile{flex:1;min-width:0;display:flex!important;align-items:center!important;gap:9px!important;border:0!important;background:transparent!important;text-align:left!important;color:inherit!important;padding:0!important}
.chat2-room-profile:not(:disabled){cursor:pointer}
.chat2-room-profile-avatar{width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:50%!important}
.chat2-room-profile-copy{min-width:0}
.chat2-room-profile-copy strong{display:block;font-size:11.5px!important;color:var(--navy)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat2-room-profile-copy small{display:block;margin-top:2px;font-size:8.5px!important;color:var(--muted)!important}
.chat2-back{display:none}

.chat2-messages{
  flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:18px 18px 14px!important;
  background:
    radial-gradient(circle at 85% 8%,color-mix(in srgb,var(--blue) 5%,transparent),transparent 28%),
    transparent!important;
  scroll-behavior:smooth
}
.chat2-thread-empty{height:100%;display:grid;place-content:center;justify-items:center;text-align:center;color:var(--muted)}
.chat2-thread-empty>span{font-size:32px;margin-bottom:10px}.chat2-thread-empty b{font-size:13px;color:var(--navy)}.chat2-thread-empty small{margin-top:4px;font-size:9px}
.chat2-date-separator{display:flex;align-items:center;justify-content:center;margin:14px 0 18px;position:relative}
.chat2-date-separator::before{content:"";position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--line) 68%,transparent)}
.chat2-date-separator span{
  position:relative;z-index:1;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--panel-strong) 96%,transparent);
  border:1px solid var(--line);font-size:7.5px;font-weight:900;letter-spacing:.08em;color:var(--muted)
}
.chat2-message{display:flex;align-items:flex-end;gap:7px;margin:4px 0}
.chat2-message.mine{justify-content:flex-end}
.chat2-msg-avatar{width:27px;height:27px;flex:0 0 27px;font-size:7px}
.chat2-msg-body{max-width:min(72%,520px);min-width:0}
.chat2-message.mine .chat2-msg-body{display:grid;justify-items:end}
.chat2-author{border:0;background:transparent;padding:0 3px 3px;color:var(--muted);font-size:8px;font-weight:800;cursor:pointer}
.chat2-author:hover{text-decoration:underline}
.chat2-bubble-row{display:flex;align-items:center;gap:5px;position:relative;max-width:100%}
.chat2-message.mine .chat2-bubble-row{justify-content:flex-end}
.chat2-bubble{
  min-width:42px;padding:8px 11px;border-radius:16px 16px 16px 5px;
  background:var(--panel-soft);border:1px solid color-mix(in srgb,var(--line) 76%,transparent);color:var(--ink);
  font-size:10.5px;line-height:1.5;overflow-wrap:anywhere
}
.chat2-message.mine .chat2-bubble{
  border-radius:16px 16px 5px 16px;background:color-mix(in srgb,var(--blue) 17%,var(--panel-soft));
  border-color:color-mix(in srgb,var(--blue) 26%,var(--line))
}
.chat2-message.deleted .chat2-bubble{opacity:.67}.chat2-message.deleted .chat2-text em{color:var(--muted);font-style:italic}
.chat2-reply-quote{
  display:grid;gap:1px;margin:-2px -3px 7px;padding:6px 8px;border-left:3px solid color-mix(in srgb,var(--blue) 65%,var(--line));
  border-radius:7px;background:color-mix(in srgb,var(--panel-strong) 48%,transparent)
}
.chat2-reply-quote b{font-size:7.5px;color:var(--blue)}.chat2-reply-quote span{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat2-more{width:25px;height:25px;border-radius:8px;opacity:0;font-size:9px}
.chat2-message:hover .chat2-more,.chat2-more:focus{opacity:1}
.chat2-message-menu{
  position:absolute;z-index:40;top:calc(100% + 5px);right:0;width:166px;padding:5px;border:1px solid var(--line);border-radius:12px;
  background:color-mix(in srgb,var(--panel-strong) 98%,transparent);box-shadow:0 14px 34px rgba(0,0,0,.16)
}
.chat2-message.theirs .chat2-message-menu{left:0;right:auto}
.chat2-message-menu[hidden]{display:none!important}
.chat2-message-menu>button{width:100%;border:0;background:transparent;color:var(--ink);padding:7px 8px;border-radius:8px;text-align:left;font-size:9px;cursor:pointer}
.chat2-message-menu>button:hover{background:var(--panel-soft)}.chat2-message-menu>button.danger{color:#d65f5f}
.chat2-quick-reactions{display:flex;gap:2px;padding:3px 3px 5px;border-bottom:1px solid var(--line);margin-bottom:3px}
.chat2-quick-reactions button{flex:1;border:0;background:transparent;border-radius:7px;padding:4px 2px;cursor:pointer;font-size:14px}
.chat2-quick-reactions button:hover{background:var(--panel-soft);transform:scale(1.12)}
.chat2-msg-foot{display:flex;align-items:center;gap:6px;justify-content:flex-start;margin:2px 4px 0}
.chat2-message.mine .chat2-msg-foot{justify-content:flex-end}
.chat2-msg-foot>span{font-size:7.5px;color:var(--muted)}
.chat2-reactions{display:flex;gap:3px;flex-wrap:wrap}
.chat2-reaction{border:1px solid var(--line);background:var(--panel-strong);border-radius:999px;padding:2px 5px;display:flex;gap:3px;align-items:center;font-size:9px;cursor:pointer}
.chat2-reaction.mine{border-color:color-mix(in srgb,var(--blue) 40%,var(--line));background:color-mix(in srgb,var(--blue) 9%,var(--panel-strong))}
.chat2-reaction span{font-size:7px;color:var(--muted)}

.chat2-typing{flex:0 0 auto;padding:0 18px 6px;font-size:8px;color:var(--muted);font-style:italic}
.chat2-composer{position:relative;flex:0 0 auto;padding:9px 12px 10px!important;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel-strong) 94%,transparent)!important}
.chat2-composer-context{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;padding:7px 9px;border-left:3px solid var(--blue);border-radius:9px;background:var(--panel-soft)}
.chat2-composer-context[hidden]{display:none!important}
.chat2-composer-context>div{min-width:0;display:grid;gap:1px}.chat2-composer-context b{font-size:8px;color:var(--blue)}.chat2-composer-context span{font-size:8.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat2-context-close{width:25px;height:25px;border-radius:8px}
.chat2-input-box{display:flex!important;align-items:flex-end!important;gap:6px!important;padding:5px!important;border-radius:17px!important;border:1px solid var(--line)!important;background:var(--panel-soft)!important}
.chat2-emoji-btn{width:34px;height:34px;flex:0 0 34px;border-radius:11px;font-size:18px}
.chat2-input{
  flex:1;min-width:0;min-height:34px!important;max-height:118px!important;padding:8px 5px!important;border:0!important;background:transparent!important;
  color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;box-shadow:none!important;resize:none!important;font-size:10.5px!important;line-height:1.45!important
}
.chat2-send{width:36px!important;height:36px!important;flex:0 0 36px!important;border-radius:12px!important}
.chat2-footnote{padding:5px 4px 0!important;font-size:7.5px!important;color:var(--muted)!important}
.chat2-emoji-picker{
  position:absolute;left:12px;bottom:69px;width:286px;max-height:210px;overflow:auto;padding:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:3px;
  border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel-strong) 98%,transparent);box-shadow:0 16px 38px rgba(0,0,0,.17);z-index:45
}
.chat2-emoji-picker[hidden]{display:none!important}
.chat2-emoji-picker button{border:0;background:transparent;border-radius:8px;padding:5px 2px;font-size:18px;cursor:pointer}
.chat2-emoji-picker button:hover{background:var(--panel-soft);transform:scale(1.12)}
.chat2-setup-error{height:100%;display:grid;place-content:center;text-align:center;gap:6px;padding:25px;color:var(--muted)}
.chat2-setup-error b{color:var(--navy);font-size:12px}.chat2-setup-error span{max-width:430px;font-size:9px;line-height:1.5}

/* Tema: tudo deriva dos tokens; só sombras mudam por luminosidade. */
html[data-theme="night"] .chat2-panel,html[data-theme="late"] .chat2-panel,html[data-theme="midnight"] .chat2-panel{
  box-shadow:0 28px 80px rgba(0,0,0,.38)!important
}
html[data-theme="dawn"] .chat2-panel,html[data-theme="day"] .chat2-panel,html[data-theme="noon"] .chat2-panel,html[data-theme="sunset"] .chat2-panel{
  box-shadow:0 24px 65px rgba(30,64,103,.15)!important
}

/* Impede as regras legadas de transformar o Direct novo num painel de 430px. */
body.chat-open.bob-open .chat2-panel{left:18px!important;right:auto!important;width:min(940px,calc(100vw - 36px))!important}
body.chat-open .chat2-panel.private-inbox #chatMessages,
body.chat-open .chat2-panel.private-inbox .chat-composer,
body.chat-open .chat2-panel.private-inbox .chat-room-title{display:flex!important}
.chat2-panel.private-inbox #chatRoomList{display:flex!important}

/* Tablet */
@media(max-width:900px){
  .chat2-panel{width:calc(100vw - 24px)!important;left:12px!important;bottom:12px!important;height:calc(100dvh - 24px)!important}
  .chat2-shell{grid-template-columns:290px minmax(0,1fr)}
  .chat2-msg-body{max-width:80%}
}
/* Mobile: inbox primeiro; conversa ocupa a tela após tocar. */
@media(max-width:720px){
  .chat2-panel{left:0!important;bottom:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important;border:0!important}
  .chat2-shell{display:block;position:relative}
  .chat2-inbox,.chat2-thread{position:absolute;inset:0;width:100%;height:100%}
  .chat2-thread{transform:translateX(100%);transition:transform .22s var(--ease);z-index:5}
  .chat2-panel.chat2-room-open .chat2-thread{transform:translateX(0)}
  .chat2-panel.chat2-room-open .chat2-inbox{visibility:hidden}
  .chat2-back{display:grid}
  .chat2-inbox-head,.chat2-thread-head{min-height:64px;padding:10px 12px}
  .chat2-search{margin-left:10px;margin-right:10px}
  .chat2-conversation-list{padding-left:5px!important;padding-right:5px!important}
  .chat2-room{padding:10px 8px}
  .chat2-room-avatar{width:49px;height:49px}
  .chat2-messages{padding:15px 10px 12px!important}
  .chat2-msg-body{max-width:84%}
  .chat2-more{opacity:.72}
  .chat2-composer{padding:8px 8px 9px!important}
  .chat2-emoji-picker{left:8px;bottom:66px;width:calc(100vw - 16px);grid-template-columns:repeat(8,1fr)}
  body.chat-open.bob-open .chat2-panel{left:0!important;width:100vw!important}
}
@media(max-width:400px){
  .chat2-emoji-picker{grid-template-columns:repeat(7,1fr)}
  .chat2-me-copy small{max-width:160px}
}
@media(prefers-reduced-motion:reduce){
  .chat2-thread,.chat2-room,.chat2-icon-btn,.chat2-more,.chat2-emoji-picker button{transition:none!important}
}


/* ========================================================================
   BUILD 1.6.0.1 · DIRECT LAYOUT ISOLATION HOTFIX
   A arquitetura antiga tinha dezenas de regras .chat-panel !important.
   O Direct passa a ter geometria própria e modo compacto por largura real.
   ======================================================================== */
body:not(.chat-open) #chatPanel.chat2-panel{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
}
body.chat-open #chatPanel.chat2-panel{
  display:block!important;
  position:fixed!important;
  z-index:12050!important;
  top:74px!important;
  bottom:auto!important;
  left:50%!important;
  right:auto!important;
  width:min(1040px,calc(100vw - 40px))!important;
  min-width:0!important;
  max-width:none!important;
  height:min(780px,calc(100dvh - 96px))!important;
  min-height:520px!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  transform:translateX(-50%)!important;
  transform-origin:center!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  border-radius:22px!important;
}
body.chat-open #chatPanel.chat2-panel .chat2-shell{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(260px,320px) minmax(420px,1fr)!important;
}
body.chat-open #chatPanel.chat2-panel .chat2-inbox,
body.chat-open #chatPanel.chat2-panel .chat2-thread{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  height:100%!important;
}

/* Enquanto Mensagens estiver aberto, o dock antigo não invade a conversa. */
body.chat-open #utilityDock{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(10px)!important;
}

/* Se a largura REAL do painel cair abaixo de 760px, vira navegação em duas
   telas mesmo que o viewport do browser seja grande/zoomado. */
body.chat-open #chatPanel.chat2-panel.chat2-compact{
  top:12px!important;
  left:12px!important;
  width:calc(100vw - 24px)!important;
  height:calc(100dvh - 24px)!important;
  min-height:0!important;
  transform:none!important;
  border-radius:18px!important;
}
body.chat-open #chatPanel.chat2-panel.chat2-compact .chat2-shell{
  display:block!important;
  position:relative!important;
}
body.chat-open #chatPanel.chat2-panel.chat2-compact .chat2-inbox,
body.chat-open #chatPanel.chat2-panel.chat2-compact .chat2-thread{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
body.chat-open #chatPanel.chat2-panel.chat2-compact .chat2-thread{
  z-index:5!important;
  transform:translateX(100%)!important;
  transition:transform .2s var(--ease)!important;
  visibility:visible!important;
}
body.chat-open #chatPanel.chat2-panel.chat2-compact.chat2-room-open .chat2-thread{
  transform:none!important;
}
body.chat-open #chatPanel.chat2-panel.chat2-compact.chat2-room-open .chat2-inbox{
  visibility:hidden!important;
  pointer-events:none!important;
}
body.chat-open #chatPanel.chat2-panel.chat2-compact .chat2-back{
  display:grid!important;
}

@media(max-width:1100px){
  body.chat-open #chatPanel.chat2-panel{
    top:62px!important;
    width:calc(100vw - 24px)!important;
    height:calc(100dvh - 76px)!important;
  }
  body.chat-open #chatPanel.chat2-panel .chat2-shell{
    grid-template-columns:minmax(250px,290px) minmax(390px,1fr)!important;
  }
}
@media(max-width:760px){
  body.chat-open #chatPanel.chat2-panel{
    top:0!important;left:0!important;right:0!important;bottom:0!important;
    width:100vw!important;height:100dvh!important;min-height:0!important;
    transform:none!important;border-radius:0!important;border:0!important;
  }
  body.chat-open #chatPanel.chat2-panel .chat2-shell{
    display:block!important;position:relative!important;
  }
  body.chat-open #chatPanel.chat2-panel .chat2-inbox,
  body.chat-open #chatPanel.chat2-panel .chat2-thread{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  }
  body.chat-open #chatPanel.chat2-panel .chat2-thread{
    transform:translateX(100%)!important;z-index:5!important;
  }
  body.chat-open #chatPanel.chat2-panel.chat2-room-open .chat2-thread{transform:none!important}
  body.chat-open #chatPanel.chat2-panel.chat2-room-open .chat2-inbox{visibility:hidden!important;pointer-events:none!important}
  body.chat-open #chatPanel.chat2-panel .chat2-back{display:grid!important}
}


/* ========================================================================
   BUILD 1.6.0.2 · DIRECT SIDEBAR / CLOSED-NETWORK INBOX
   ======================================================================== */
#chatPanel.chat2-panel .chat2-inbox-scroll{
  flex:1 1 auto!important;min-height:0!important;overflow:auto!important;
  padding:2px 7px 14px!important;scrollbar-gutter:stable
}
#chatPanel.chat2-panel .chat2-section-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 7px 5px;color:var(--muted)
}
#chatPanel.chat2-panel .chat2-section-head span{font-size:7.5px;font-weight:950;letter-spacing:.12em}
#chatPanel.chat2-panel .chat2-section-head small{min-width:20px;text-align:center;font-size:7.5px;font-weight:900;color:var(--muted)}
#chatPanel.chat2-panel .chat2-conversation-list{
  display:flex!important;flex:none!important;overflow:visible!important;padding:0!important;gap:2px!important
}
#chatPanel.chat2-panel .chat2-team-head{
  margin-top:7px;border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent);padding-top:13px
}
#chatPanel.chat2-panel .chat2-directory-list{display:grid;gap:2px}
#chatPanel.chat2-panel .chat2-directory-person{
  width:100%;min-width:0;display:flex;align-items:center;gap:10px;padding:8px;
  border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;text-align:left;cursor:pointer
}
#chatPanel.chat2-panel .chat2-directory-person:hover{
  background:var(--panel-soft);border-color:color-mix(in srgb,var(--line) 72%,transparent)
}
#chatPanel.chat2-panel .chat2-directory-person.unread{background:color-mix(in srgb,var(--blue) 7%,var(--panel-soft))}
#chatPanel.chat2-panel .chat2-directory-copy{flex:1;min-width:0}
#chatPanel.chat2-panel .chat2-directory-copy b{
  display:block;font-size:10px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
#chatPanel.chat2-panel .chat2-directory-copy small{
  display:block;margin-top:2px;font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
#chatPanel.chat2-panel .chat2-directory-bell{
  flex:0 0 auto;font-size:13px;filter:saturate(.9);animation:chatBellNudge 1.8s ease-in-out infinite
}
#chatPanel.chat2-panel .chat2-directory-arrow{color:var(--muted);font-size:17px;opacity:.55}

#chatPanel.chat2-panel .chat2-unread-dot{
  position:absolute;left:-1px;top:1px;width:10px;height:10px;border-radius:50%;
  background:var(--blue);border:2px solid var(--panel-strong);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent),0 0 11px color-mix(in srgb,var(--blue) 62%,transparent);
  pointer-events:none
}
#chatPanel.chat2-panel .chat2-room.unread .chat2-room-avatar,
#chatPanel.chat2-panel .chat2-directory-person.unread .chat2-person-avatar{
  border-color:color-mix(in srgb,var(--blue) 58%,var(--line))
}

#chatTab.has-unread{
  border-color:color-mix(in srgb,var(--blue) 58%,var(--line))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 10%,transparent),0 9px 24px color-mix(in srgb,var(--blue) 18%,transparent)!important
}
#chatTab.has-unread #chatBellIcon{
  animation:chatBellNudge 1.8s ease-in-out infinite;transform-origin:50% 10%
}
@keyframes chatBellNudge{
  0%,72%,100%{transform:rotate(0)}
  78%{transform:rotate(10deg)}
  84%{transform:rotate(-9deg)}
  90%{transform:rotate(6deg)}
  96%{transform:rotate(-3deg)}
}

/* Painel lateral fixo: o site continua utilizável atrás/ao lado. */
body.chat-open #chatPanel.chat2-panel,
body.chat-open #chatPanel.chat2-panel.chat2-compact{
  display:block!important;position:fixed!important;z-index:8804!important;
  top:76px!important;right:14px!important;bottom:14px!important;left:auto!important;
  width:min(460px,calc(100vw - 28px))!important;height:auto!important;min-height:0!important;max-height:none!important;
  transform:none!important;border-radius:20px!important;box-shadow:0 22px 60px rgba(0,0,0,.20)!important
}
body.chat-open #chatPanel.chat2-panel .chat2-shell,
body.chat-open #chatPanel.chat2-panel.chat2-compact .chat2-shell{
  display:block!important;position:relative!important;width:100%!important;height:100%!important
}
body.chat-open #chatPanel.chat2-panel .chat2-inbox,
body.chat-open #chatPanel.chat2-panel .chat2-thread,
body.chat-open #chatPanel.chat2-panel.chat2-compact .chat2-inbox,
body.chat-open #chatPanel.chat2-panel.chat2-compact .chat2-thread{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;max-width:none!important
}
body.chat-open #chatPanel.chat2-panel .chat2-thread,
body.chat-open #chatPanel.chat2-panel.chat2-compact .chat2-thread{
  z-index:5!important;transform:translateX(100%)!important;transition:transform .2s var(--ease)!important;visibility:visible!important
}
body.chat-open #chatPanel.chat2-panel.chat2-room-open .chat2-thread,
body.chat-open #chatPanel.chat2-panel.chat2-compact.chat2-room-open .chat2-thread{transform:none!important}
body.chat-open #chatPanel.chat2-panel.chat2-room-open .chat2-inbox,
body.chat-open #chatPanel.chat2-panel.chat2-compact.chat2-room-open .chat2-inbox{
  visibility:hidden!important;pointer-events:none!important
}
body.chat-open #chatPanel.chat2-panel .chat2-back{display:grid!important}

/* Ferramentas continuam acessíveis sem cobrir o chat. */
body.chat-open #utilityDock{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  left:auto!important;right:488px!important;bottom:16px!important;transform:none!important
}
body.chat-open #utilityDock .social-chat-label{display:none!important}
body.chat-open #utilityDock .social-chat-tab{
  min-width:48px!important;width:48px!important;padding:0!important;justify-content:center!important
}

@media(max-width:980px) and (min-width:641px){
  body.chat-open #chatPanel.chat2-panel,
  body.chat-open #chatPanel.chat2-panel.chat2-compact{
    top:66px!important;right:10px!important;bottom:10px!important;
    width:min(420px,calc(100vw - 20px))!important;border-radius:18px!important
  }
  body.chat-open #utilityDock{right:444px!important}
}
@media(max-width:640px){
  body.chat-open #chatPanel.chat2-panel,
  body.chat-open #chatPanel.chat2-panel.chat2-compact{
    inset:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important;border:0!important
  }
  body.chat-open #utilityDock{display:none!important}
  #chatPanel.chat2-panel .chat2-inbox-head,
  #chatPanel.chat2-panel .chat2-thread-head{min-height:62px!important}
}
@media(prefers-reduced-motion:reduce){
  #chatTab.has-unread #chatBellIcon,
  #chatPanel.chat2-panel .chat2-directory-bell{animation:none!important}
}


/* ========================================================================
   BUILD 1.6.0.3 · CHAT LEFT + COMPLETE DIRECTORY
   ======================================================================== */
body.chat-open #chatPanel.chat2-panel,
body.chat-open #chatPanel.chat2-panel.chat2-compact{
  left:14px!important;
  right:auto!important;
}
body.chat-open #utilityDock{
  left:auto!important;
  right:16px!important;
  bottom:16px!important;
  transform:none!important;
}
@media(max-width:980px) and (min-width:641px){
  body.chat-open #chatPanel.chat2-panel,
  body.chat-open #chatPanel.chat2-panel.chat2-compact{
    left:10px!important;
    right:auto!important;
  }
  body.chat-open #utilityDock{right:12px!important}
}
@media(max-width:640px){
  body.chat-open #chatPanel.chat2-panel,
  body.chat-open #chatPanel.chat2-panel.chat2-compact{
    left:0!important;right:0!important;
  }
}


/* ========================================================================
   BUILD 1.6.0.4 · PROFILE NAVIGATION FIX
   Perfil é um canvas global: funciona a partir de Home, Modelos, GRERJ,
   Guias, Biblioteca e Mural sem destruir o estado do módulo de origem.
   ======================================================================== */
body.profile-view #workspaceOverview,
body.profile-view #guidesView,
body.profile-view #libraryView,
body.profile-view #muralView{
  display:none!important;
}
body.profile-view #profileInterface{
  display:block!important;
  position:relative!important;
  z-index:40!important;
  isolation:isolate!important;
}
body.profile-view #profileInterface .profile-interface-inner{
  position:relative!important;
  z-index:1!important;
}
/* O cabeçalho continua acessível para voltar/navegar, mas nenhuma superfície
   de módulo pode ficar por cima do Perfil. */
body.profile-view main.shell,
body.profile-view .controls.rx-module-controls{
  display:none!important;
}
