/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{border-width:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2,.top-\[50\%\]{top:50%}.bottom-full{bottom:100%}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.ml-auto{margin-left:auto}.line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1/1}.h-\[1px\]{height:1px}.h-full{height:100%}.h-px{height:1px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[300px\]{max-height:300px}.min-h-\[44px\]{min-height:44px}.min-h-\[56px\]{min-height:56px}.min-h-\[200px\]{min-height:200px}.min-h-svh{min-height:100svh}.w-\[1px\]{width:1px}.w-\[3px\]{width:3px}.w-\[280px\]{width:280px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\[80\%\]{max-width:80%}.max-w-\[120px\]{max-width:120px}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-\[425px\]{max-width:425px}.max-w-full{max-width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[160px\]{min-width:160px}.flex-1{flex:1}.flex-\[0_0_80\%\]{flex:0 0 80%}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2,.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[streaming-bounce_1\.2s_ease-in-out_infinite_0ms\]{animation:streaming-bounce 1.2s ease-in-out 0s infinite}.animate-\[streaming-bounce_1\.2s_ease-in-out_infinite_150ms\]{animation:streaming-bounce 1.2s ease-in-out .15s infinite}.animate-\[streaming-bounce_1\.2s_ease-in-out_infinite_300ms\]{animation:streaming-bounce 1.2s ease-in-out .3s infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-full{border-radius:calc(infinity*1px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-transparent{border-color:transparent}.border-t-transparent{border-top-color:transparent}.border-l-transparent{border-left-color:transparent}.bg-transparent{background-color:transparent}.bg-clip-padding{background-clip:padding-box}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-\[1px\]{padding:1px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-inherit{color:inherit}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-10{opacity:10%}.opacity-50{opacity:50%}.opacity-70{opacity:70%}.opacity-100{opacity:100%}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring,.ring-1,.ring-2{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-duration:var(--tw-duration,0s);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease)}.transition-\[border-radius\]{transition-duration:var(--tw-duration,0s);transition-property:border-radius;transition-timing-function:var(--tw-ease,ease)}.transition-\[margin-left\]{transition-duration:var(--tw-duration,0s);transition-property:margin-left;transition-timing-function:var(--tw-ease,ease)}.transition-\[width\]{transition-duration:var(--tw-duration,0s);transition-property:width;transition-timing-function:var(--tw-ease,ease)}.transition-all{transition-duration:var(--tw-duration,0s);transition-property:all;transition-timing-function:var(--tw-ease,ease)}.transition-colors{transition-duration:var(--tw-duration,0s);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease)}.transition-opacity{transition-duration:var(--tw-duration,0s);transition-property:opacity;transition-timing-function:var(--tw-ease,ease)}.transition-transform{transition-duration:var(--tw-duration,0s);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease)}.duration-200{--tw-duration:200ms;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-hover\:opacity-100{&:is(:where(.group):hover *){@media (hover:hover){opacity:100%}}}.group-hover\/bubble\:opacity-100{&:is(:where(.group\/bubble):hover *){@media (hover:hover){opacity:100%}}}.group-has-\[\>svg\]\/alert\:col-start-2{&:is(:where(.group\/alert):has(>svg) *){grid-column-start:2}}.file\:border-0{&::file-selector-button{border-style:var(--tw-border-style);border-width:0}}.file\:bg-transparent{&::file-selector-button{background-color:transparent}}.hover\:underline{&:hover{@media (hover:hover){text-decoration-line:underline}}}.hover\:opacity-80{&:hover{@media (hover:hover){opacity:80%}}}.hover\:opacity-100{&:hover{@media (hover:hover){opacity:100%}}}.focus\:ring-2{&:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-offset-2{&:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}}.focus\:outline-none{&:focus{--tw-outline-style:none;outline-style:none}}.focus-visible\:ring-1{&:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:ring-2{&:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:ring-3{&:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:ring-offset-2{&:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}}.focus-visible\:outline-none{&:focus-visible{--tw-outline-style:none;outline-style:none}}.active\:scale-\[0\.98\]{&:active{scale:.98}}.active\:not-aria-\[haspopup\]\:translate-y-px{&:active{&:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}}}.disabled\:pointer-events-none{&:disabled{pointer-events:none}}.disabled\:cursor-not-allowed{&:disabled{cursor:not-allowed}}.disabled\:opacity-50{&:disabled{opacity:50%}}.has-data-\[slot\=alert-action\]\:relative{&:has([data-slot=alert-action]){position:relative}}.has-\[\>svg\]\:grid-cols-\[auto_1fr\]{&:has(>svg){grid-template-columns:auto 1fr}}.aria-invalid\:ring-3{&[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.data-\[disabled\]\:pointer-events-none{&[data-disabled]{pointer-events:none}}.data-\[disabled\]\:opacity-50{&[data-disabled]{opacity:50%}}.data-\[disabled\=true\]\:pointer-events-none{&[data-disabled=true]{pointer-events:none}}.data-\[disabled\=true\]\:opacity-50{&[data-disabled=true]{opacity:50%}}.data-\[state\=open\]\:opacity-100{&[data-state=open]{opacity:100%}}.\[\&_a\]\:underline{& a{text-decoration-line:underline}}.\[\&_a\]\:underline-offset-3{& a{text-underline-offset:3px}}.\[\&_svg\]\:pointer-events-none{& svg{pointer-events:none}}.\[\&_svg\]\:shrink-0{& svg{flex-shrink:0}}.\[\&_tr\]\:border-b{& tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}}.\[\&_tr\:last-child\]\:border-0{& tr:last-child{border-style:var(--tw-border-style);border-width:0}}.\*\:\[svg\]\:row-span-2{:is(&>*){&:is(svg){grid-row:span 2/span 2}}}.\*\:\[svg\]\:text-current{:is(&>*){&:is(svg){color:currentcolor}}}.\[\&\>div\]\:\!block{&>div{display:block!important}}.\[\&\>tr\]\:last\:border-b-0{&>tr{&:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial}}}/* =============================================================================
   presence-chat.css — a estética do chat-residente (Pórtia e família).
   Veste as primitivas do Hammer (@codrstudio/openclaude-chat) SEM tocar o
   styles.css do SO. Tudo por tokens semânticos: o accent do tenant pinta
   sozinho via --primary / --ring (derivados de --accent-h). Escopo total sob
   `.rchat` — não vaza pro resto do SO.
   ============================================================================= */

/* ----------------------------------------------------------------------------
   Bolha do usuário — o Hammer pinta `bg-muted`; aqui ela ganha o accent da
   marca, cantos generosos e leve elevação. (Assistente fica texto puro,
   respirando — protagonismo do conteúdo, não da bolha.)
---------------------------------------------------------------------------- */
.rchat .group\/bubble > div:first-child {
  /* bolha do usuário: o Hammer marca com rounded-br-sm + bg-muted */
}

/* Alvo preciso: bolha do usuário = wrapper com bg-muted e canto rounded-br-sm. */
.rchat [class*="rounded-br-sm"] {
  background: var(--primary) !important;
  color: var(--primary-foreground) !important;
  border-radius: 1.15rem !important;
  border-bottom-right-radius: 0.4rem !important;
  box-shadow: 0 6px 20px -10px color-mix(in oklch, var(--primary) 70%, transparent);
}
.rchat [class*="rounded-br-sm"] a {
  color: var(--primary-foreground) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Espaço de respiro entre turnos e nas laterais da lista. */
.rchat [data-radix-scroll-area-viewport] > div,
.rchat .rchat-list > div {
  padding-block: 0.25rem;
}

/* ----------------------------------------------------------------------------
   Composer — vidro suave, foco com anel da marca, botão de envio em accent.
   O Hammer já usa tokens; aqui só elevamos a superfície e o ring.
---------------------------------------------------------------------------- */
.rchat textarea {
  font-size: 0.95rem;
  line-height: 1.5;
}

.rchat .rchat-composer {
  border-top: 1px solid color-mix(in oklch, var(--border) 70%, transparent);
  background: color-mix(in oklch, var(--card) 55%, transparent);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
}

/* O botão de enviar do Hammer é um <Button> default; pinta com accent. */
.rchat .rchat-composer button[type="submit"],
.rchat .rchat-composer button:not([aria-haspopup]):last-of-type {
  transition: transform 0.15s ease-out, filter 0.15s ease-out;
}
.rchat .rchat-composer button:active {
  transform: scale(0.94);
}

/* ----------------------------------------------------------------------------
   Streaming + scroll suave.
---------------------------------------------------------------------------- */
.rchat .rchat-list {
  scroll-behavior: smooth;
}

/* ----------------------------------------------------------------------------
   Chips de sugestão do vazio acolhedor.
---------------------------------------------------------------------------- */
.rchat-chip {
  border: 1px solid color-mix(in oklch, var(--border) 85%, transparent);
  background: color-mix(in oklch, var(--card) 60%, transparent);
  color: var(--foreground);
  transition: background-color 0.15s ease-out, border-color 0.15s ease-out,
    transform 0.12s ease-out;
}
.rchat-chip:hover {
  background: color-mix(in oklch, var(--primary) 12%, var(--card));
  border-color: color-mix(in oklch, var(--primary) 45%, transparent);
}
.rchat-chip:active {
  transform: scale(0.97);
}

/* ----------------------------------------------------------------------------
   Halo de presença viva no avatar do header (eco do orbe que respira).
---------------------------------------------------------------------------- */
@keyframes rchat-pulse {
  0%, 100% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.35); opacity: 0; }
}
.rchat-presence-halo {
  animation: rchat-pulse 3.4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .rchat-presence-halo { animation: none; }
  .rchat .rchat-list { scroll-behavior: auto; }
}
