/* ds-sereia-paper · componentes comuns C01–C30 e dados D01–D10
   Estados: default · :hover · :active · :focus-visible · [aria-selected|aria-pressed|aria-checked] · :disabled/[aria-disabled] · [data-state=loading|error|success] */
@layer irs.components{
/* C01 Button */
.irs-btn{--h:var(--irs-button-height-md);--px:var(--irs-button-padX-md);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--h);padding:0 var(--px);border-radius:var(--irs-radius-pill);border:var(--irs-border-hair) solid transparent;font:500 var(--irs-size-md)/1 var(--irs-font-ui);text-decoration:none;white-space:nowrap;transition:transform var(--irs-motion-levantar) var(--irs-motion-ease),box-shadow var(--irs-motion-levantar),background var(--irs-motion-levantar)}
.irs-btn[data-size="sm"]{--h:var(--irs-button-height-sm);--px:var(--irs-button-padX-sm);font-size:var(--irs-size-sm)}
.irs-btn[data-size="lg"]{--h:var(--irs-button-height-lg);--px:var(--irs-button-padX-lg);font-size:var(--irs-size-lg)}
.irs-btn svg{width:18px;height:18px}
.irs-btn--primario{background:var(--irs-acao);color:var(--irs-acao-texto);box-shadow:var(--irs-sh-card)}
.irs-btn--primario:hover{background:var(--irs-acao-hover);transform:translateY(-2px);box-shadow:var(--irs-sh-card-hover)}
.irs-btn--secundario{background:var(--irs-acao-2);color:var(--irs-acao-2-texto);box-shadow:var(--irs-sh-relevo),0 6px 12px -8px rgba(var(--irs-sombra-cor),.4)}
.irs-btn--secundario:hover{transform:translateY(-2px)}
.irs-btn--outline{background:transparent;color:var(--irs-texto);border-color:var(--irs-borda-forte)}
.irs-btn--outline:hover{background:var(--irs-selecao)}
.irs-btn--ghost{background:transparent;color:var(--irs-texto)}
.irs-btn--ghost:hover{background:var(--irs-selecao)}
.irs-btn--destrutivo{background:var(--irs-erro);color:var(--irs-folha)}
.irs-btn--link{background:none;padding:0;min-height:auto;color:var(--irs-texto);font:italic 400 var(--irs-size-lg)/1.2 var(--irs-font-texto);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.irs-btn:active{transform:translateY(1px);box-shadow:none}
.irs-btn:disabled,.irs-btn[aria-disabled="true"]{background:var(--irs-disabled-fundo);color:var(--irs-disabled-texto);box-shadow:none;transform:none;cursor:not-allowed;border-color:transparent}
.irs-btn[data-state="loading"]{pointer-events:none}
.irs-btn[data-state="loading"]::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:irs-spin .8s linear infinite}
@keyframes irs-spin{to{transform:rotate(360deg)}}
/* C02 IconButton */
.irs-iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--irs-radius-pill);border:0;background:var(--irs-selecao);color:var(--irs-texto)}
.irs-iconbtn:hover{background:var(--irs-borda)}.irs-iconbtn svg{width:20px;height:20px}.irs-iconbtn[data-size="sm"]{width:36px;height:36px}
.irs-iconbtn:disabled{color:var(--irs-disabled-texto);background:transparent}
/* C03 Link */
.irs-link{color:var(--irs-texto);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--irs-borda-forte)}
.irs-link:hover{text-decoration-color:currentColor}.irs-link:visited{color:var(--irs-texto-2)}
.irs-link[data-external]::after{content:" ↗"}
/* C04 Input · C05 Textarea · C06 Select · C11 Field */
.irs-field{display:grid;gap:6px}
.irs-label{font:500 var(--irs-size-sm)/1.3 var(--irs-font-ui);color:var(--irs-texto)}
.irs-label[data-required]::after{content:" *";color:var(--irs-erro)}
.irs-help{font:400 var(--irs-size-xs)/1.45 var(--irs-font-ui);color:var(--irs-texto-nota)}
.irs-input,.irs-textarea,.irs-select{width:100%;min-height:var(--irs-field-height);padding:10px var(--irs-field-padX);background:var(--irs-campo);border:var(--irs-border-hair) solid var(--irs-borda);border-radius:var(--irs-field-radius);box-shadow:inset 0 1px 2px rgba(var(--irs-sombra-cor),0.14);color:var(--irs-texto);font:400 var(--irs-size-md)/1.4 var(--irs-font-ui)}
.irs-textarea{min-height:110px;resize:vertical;line-height:1.5}
.irs-input::placeholder,.irs-textarea::placeholder{color:var(--irs-texto-nota)}
.irs-input:hover,.irs-textarea:hover,.irs-select:hover{border-color:var(--irs-borda-forte)}
.irs-input:focus-visible,.irs-textarea:focus-visible,.irs-select:focus-visible{outline:var(--irs-border-focus) solid var(--irs-foco);outline-offset:2px}
.irs-field[data-state="error"] .irs-input,.irs-field[data-state="error"] .irs-textarea,.irs-input[aria-invalid="true"]{border-color:var(--irs-erro);box-shadow:inset 0 0 0 1px var(--irs-erro)}
.irs-field[data-state="error"] .irs-help{color:var(--irs-erro)}
.irs-field[data-state="success"] .irs-help{color:var(--irs-sucesso)}
.irs-input:disabled,.irs-textarea:disabled,.irs-select:disabled{background:var(--irs-disabled-fundo);color:var(--irs-disabled-texto);box-shadow:none}
.irs-counter{justify-self:end;font:400 var(--irs-size-xs)/1 var(--irs-font-ui);color:var(--irs-texto-nota)}
.irs-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.irs-listbox{list-style:none;margin:6px 0 0;padding:6px;max-height:240px;overflow:auto}
.irs-option{padding:10px 12px;border-radius:var(--irs-radius-sm);cursor:pointer}
.irs-option[aria-selected="true"]{background:var(--irs-selecao);font-weight:500}
.irs-option[data-active]{outline:var(--irs-border-focus) solid var(--irs-foco)}
/* C07 Checkbox · C08 Radio · C09 Switch */
.irs-check{display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;font:400 var(--irs-size-md)/1.4 var(--irs-font-ui)}
.irs-check input{appearance:none;flex:none;width:20px;height:20px;margin:1px 0 0;border-radius:6px;background:var(--irs-campo);border:1.5px solid var(--irs-borda-forte);box-shadow:inset 0 1px 2px rgba(var(--irs-sombra-cor),.15);display:grid;place-items:center}
.irs-check input[type="radio"]{border-radius:50%}
.irs-check input:checked,.irs-check input:indeterminate{background:var(--irs-acao);border-color:var(--irs-acao)}
.irs-check input:checked::after{content:"";width:10px;height:6px;border:2px solid var(--irs-acao-texto);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.irs-check input[type="radio"]:checked::after{width:8px;height:8px;border:0;border-radius:50%;background:var(--irs-acao-texto);transform:none}
.irs-check input:indeterminate::after{content:"";width:10px;height:2px;background:var(--irs-acao-texto)}
.irs-check input:disabled{background:var(--irs-disabled-fundo);border-color:var(--irs-borda)}
.irs-check small{display:block;color:var(--irs-texto-nota);font-size:var(--irs-size-sm)}
.irs-switch{appearance:none;width:44px;height:26px;border-radius:999px;background:var(--irs-rebaixo);box-shadow:var(--irs-sh-prensado);position:relative;cursor:pointer;flex:none;opacity:.55}
.irs-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--irs-c-papel-300);box-shadow:0 1px 2px rgba(0,0,0,.4);transition:left var(--irs-motion-levantar) var(--irs-motion-ease)}
.irs-switch:checked{opacity:1}.irs-switch:checked::after{left:21px}
.irs-switch[aria-busy="true"]::after{background:var(--irs-c-papel-500)}
.irs-switch:disabled{opacity:.3;cursor:not-allowed}
/* C10 DatePicker */
.irs-cal{display:grid;grid-template-columns:repeat(7,minmax(32px,40px));gap:2px;font:400 var(--irs-size-sm)/1 var(--irs-font-ui)}
.irs-cal [role="columnheader"]{height:28px;display:grid;place-items:center;color:var(--irs-texto-nota);font-size:11px}
.irs-cal button{height:40px;border:0;border-radius:var(--irs-radius-sm);background:transparent;color:var(--irs-texto);font-variant-numeric:tabular-nums}
.irs-cal button:hover{background:var(--irs-selecao)}
.irs-cal button[aria-selected="true"]{background:var(--irs-acao);color:var(--irs-acao-texto)}
.irs-cal button[data-range]{background:var(--irs-selecao);border-radius:0}
.irs-cal button:disabled{color:var(--irs-disabled-texto);text-decoration:line-through}
/* C12 Search e filtros · C16 Chip */
.irs-search{position:relative}.irs-search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--irs-texto-nota)}
.irs-search .irs-input{padding-left:42px;border-radius:var(--irs-radius-pill)}
.irs-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border-radius:var(--irs-radius-pill);background:var(--irs-campo);border:var(--irs-border-hair) solid var(--irs-borda);font:400 var(--irs-size-sm)/1 var(--irs-font-ui);color:var(--irs-texto)}
.irs-chip[aria-pressed="true"],.irs-chip[data-ativo]{background:var(--irs-acao);color:var(--irs-acao-texto);border-color:var(--irs-acao)}
.irs-chip button{border:0;background:none;padding:0;width:18px;height:18px;display:grid;place-items:center;color:inherit}
.irs-chip .irs-rebaixo{min-width:20px;padding:3px 6px;font-size:10px}
/* C13 Tabs · C14 Segmented */
.irs-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.irs-tab{flex:none;min-height:40px;padding:0 16px;border:0;border-radius:var(--irs-radius-pill);background:transparent;color:var(--irs-texto-2);font:500 var(--irs-size-md)/1 var(--irs-font-ui)}
.irs-tab:hover{background:var(--irs-selecao)}
.irs-tab[aria-selected="true"]{background:var(--irs-card);color:var(--irs-texto);box-shadow:var(--irs-sh-card)}
.irs-tab:disabled{color:var(--irs-disabled-texto);background:none}
.irs-seg{display:inline-flex;padding:4px;gap:2px;border-radius:var(--irs-radius-pill);background:var(--irs-campo);box-shadow:inset 0 1px 2px rgba(var(--irs-sombra-cor),.15)}
.irs-seg button{min-height:34px;padding:0 14px;border:0;border-radius:var(--irs-radius-pill);background:transparent;color:var(--irs-texto-2);font:500 var(--irs-size-sm)/1 var(--irs-font-ui)}
.irs-seg button[aria-pressed="true"]{background:var(--irs-card);color:var(--irs-texto);box-shadow:var(--irs-sh-card)}
/* C15 Badge */
.irs-badge{display:inline-flex;flex:none;white-space:nowrap;align-items:center;gap:6px;min-height:24px;padding:0 10px;border-radius:var(--irs-radius-pill);font:500 12px/1 var(--irs-font-ui);background:var(--irs-info-fundo);color:var(--irs-info)}
.irs-badge svg{width:14px;height:14px}
.irs-badge[data-tone="sucesso"]{background:var(--irs-sucesso-fundo);color:var(--irs-sucesso)}
.irs-badge[data-tone="atencao"]{background:var(--irs-atencao-fundo);color:var(--irs-atencao)}
.irs-badge[data-tone="erro"]{background:var(--irs-erro-fundo);color:var(--irs-erro)}
.irs-badge[data-tone="neutro"]{background:var(--irs-campo);color:var(--irs-texto-2)}
.irs-badge[data-tone="versao"]{background:transparent;border:1px dashed var(--irs-borda-forte);color:var(--irs-texto-2)}
/* C17 Avatar */
.irs-avatar{--s:40px;width:var(--s);height:var(--s);border-radius:50%;display:grid;place-items:center;flex:none;font:500 calc(var(--s)*.38)/1 var(--irs-font-ui);color:var(--irs-c-marinho-700);overflow:hidden}
.irs-avatar[data-kind="pessoa"]{background:var(--irs-c-papel-300)}
.irs-avatar[data-kind="hotel"]{border-radius:var(--irs-radius-sm);background:var(--irs-card);border:1px solid var(--irs-borda);color:var(--irs-texto)}
.irs-avatar[data-kind="sereia"],.irs-avatar[data-kind="irs"]{background:var(--irs-broche-fundo);color:var(--irs-broche-texto);font-family:var(--irs-font-display);font-weight:400;box-shadow:var(--irs-broche-relevo);text-shadow:var(--irs-broche-gravado)}
.irs-avatar[data-kind="privado"]{background:var(--irs-rebaixo);color:var(--irs-rebaixo-texto);box-shadow:var(--irs-sh-prensado)}
/* C18–C20 Cards */
.irs-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:var(--irs-space-3)}
.irs-card-t{font:400 var(--irs-size-2xl)/1.2 var(--irs-font-display)}
.irs-card-f{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:var(--irs-space-4);padding-top:var(--irs-space-3);border-top:1px solid var(--irs-divisor)}
.irs-card[data-clickable]{cursor:pointer;transition:transform var(--irs-motion-levantar) var(--irs-motion-ease),box-shadow var(--irs-motion-levantar)}
.irs-card[data-clickable]:hover{transform:translateY(-3px);box-shadow:var(--irs-sh-card-hover)}
.irs-card[aria-selected="true"],.irs-card[aria-current="true"]{border-color:var(--irs-foco);box-shadow:0 0 0 1px var(--irs-foco),var(--irs-sh-card)}
.irs-metric-v{font:600 var(--irs-size-5xl)/1 var(--irs-font-ui);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.03em}
.irs-metric-u{font:400 var(--irs-size-lg)/1 var(--irs-font-ui);color:var(--irs-texto-2);margin-left:4px}
.irs-delta{display:inline-flex;align-items:center;gap:4px;font:500 var(--irs-size-sm)/1 var(--irs-font-ui);font-variant-numeric:tabular-nums}
.irs-delta[data-dir="up"]::before{content:"▲";font-size:9px}.irs-delta[data-dir="down"]::before{content:"▼";font-size:9px}
.irs-src{font:400 var(--irs-size-xs)/1.5 var(--irs-font-ui);color:var(--irs-texto-nota)}
.irs-decision{border-left:0;display:grid;gap:var(--irs-space-3)}
.irs-guardrail{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--irs-radius-sm);background:var(--irs-atencao-fundo);color:var(--irs-atencao);font:400 var(--irs-size-sm)/1.4 var(--irs-font-ui)}
/* C21 Lista · C22 Tabela · C23 Paginação */
.irs-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.irs-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--irs-radius-md);cursor:pointer}
.irs-item:hover{background:var(--irs-selecao)}
.irs-item[aria-selected="true"],.irs-item[aria-current="true"]{background:var(--irs-card);box-shadow:inset 3px 0 0 var(--irs-foco),var(--irs-sh-card)}
.irs-item-t{font:500 var(--irs-size-md)/1.3 var(--irs-font-ui);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.irs-item-m{font:400 var(--irs-size-xs)/1.4 var(--irs-font-ui);color:var(--irs-texto-nota)}
.irs-item[data-urgente] .irs-item-t::before{content:"● ";color:var(--irs-erro)}
.irs-table-wrap{overflow:auto;border-radius:var(--irs-radius-md);border:1px solid var(--irs-borda);background:var(--irs-card)}
.irs-table{width:100%;font:400 var(--irs-size-sm)/1.4 var(--irs-font-ui);font-variant-numeric:tabular-nums}
.irs-table th{position:sticky;top:0;background:var(--irs-campo);text-align:left;font-weight:500;color:var(--irs-texto-2);padding:10px 14px;white-space:nowrap}
.irs-table th[aria-sort] button{all:unset;cursor:pointer}.irs-table th[aria-sort="ascending"] button::after{content:" ↑"}.irs-table th[aria-sort="descending"] button::after{content:" ↓"}
.irs-table td{padding:10px 14px;border-top:1px solid var(--irs-divisor)}
.irs-table td[data-num],.irs-table th[data-num]{text-align:right}
.irs-table tr[aria-selected="true"] td{background:linear-gradient(var(--irs-selecao),var(--irs-selecao)),var(--irs-card)}
.irs-table tr[aria-selected="true"] td:first-child{box-shadow:inset 3px 0 0 var(--irs-foco)}
.irs-table th:first-child,.irs-table td:first-child{position:sticky;left:0}
.irs-table td:first-child{background:var(--irs-card)}
.irs-pag{display:flex;align-items:center;justify-content:space-between;gap:12px;font:400 var(--irs-size-sm)/1 var(--irs-font-ui);color:var(--irs-texto-2)}
/* C24 Accordion */
.irs-acc{border-radius:var(--irs-radius-md);background:var(--irs-card);border:1px solid var(--irs-borda)}
.irs-acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;font:400 var(--irs-size-lg)/1.3 var(--irs-font-display)}
.irs-acc summary::-webkit-details-marker{display:none}
.irs-acc summary::after{content:"+";font:400 20px/1 var(--irs-font-ui)}.irs-acc[open] summary::after{content:"−"}
.irs-acc>div{padding:0 18px 18px}
/* C25 Menu · C26 Popover/Tooltip */
.irs-menu{min-width:220px;padding:6px;list-style:none;margin:0}
.irs-menu [role="menuitem"]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:none;border-radius:var(--irs-radius-sm);text-align:left;color:var(--irs-texto);font:400 var(--irs-size-md)/1.2 var(--irs-font-ui)}
.irs-menu [role="menuitem"]:hover,.irs-menu [role="menuitem"]:focus-visible{background:var(--irs-selecao);outline:0}
.irs-menu [role="menuitem"][aria-disabled="true"]{color:var(--irs-disabled-texto)}
.irs-menu [role="menuitem"][data-destrutivo]{color:var(--irs-erro)}
.irs-menu [role="separator"]{height:1px;margin:6px;background:var(--irs-divisor)}
.irs-tooltip{display:inline-block;max-width:280px;padding:8px 12px;border-radius:var(--irs-radius-sm);background:var(--irs-c-marinho-700);color:var(--irs-c-papel-300);font:400 var(--irs-size-xs)/1.45 var(--irs-font-ui);box-shadow:var(--irs-sh-card)}
.irs-popover{padding:16px;max-width:340px}
/* C27 Dialog · C28 Toast/Alerta · C29 Loading · C30 Empty */
.irs-dialog{border:0;padding:0;max-width:min(560px,calc(100vw - 32px));background:var(--irs-overlay);color:var(--irs-texto);border-radius:var(--irs-radius-xl);box-shadow:var(--irs-sh-overlay)}
.irs-dialog::backdrop{background:var(--irs-veu)}
.irs-dialog-b{padding:28px 28px 8px;display:grid;gap:14px}.irs-dialog-f{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px 24px}
.irs-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--irs-radius-md);background:var(--irs-info-fundo);color:var(--irs-texto);font:400 var(--irs-size-sm)/1.45 var(--irs-font-ui)}
.irs-alert svg{flex:none;width:20px;height:20px;color:var(--irs-info)}
.irs-alert[data-tone="sucesso"]{background:var(--irs-sucesso-fundo)}.irs-alert[data-tone="sucesso"] svg{color:var(--irs-sucesso)}
.irs-alert[data-tone="atencao"]{background:var(--irs-atencao-fundo)}.irs-alert[data-tone="atencao"] svg{color:var(--irs-atencao)}
.irs-alert[data-tone="erro"]{background:var(--irs-erro-fundo)}.irs-alert[data-tone="erro"] svg{color:var(--irs-erro)}
.irs-toast{display:flex;gap:14px;align-items:center;min-width:300px;max-width:420px;padding:14px 14px 14px 18px}
.irs-skel{display:block;border-radius:8px;background:linear-gradient(90deg,var(--irs-campo),var(--irs-divisor),var(--irs-campo));background-size:200% 100%;animation:irs-skel 1.4s ease infinite;min-height:14px}
@keyframes irs-skel{to{background-position:-200% 0}}
.irs-spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--irs-borda);border-top-color:var(--irs-texto);animation:irs-spin .8s linear infinite}
.irs-progress{height:8px;border-radius:999px;background:var(--irs-rebaixo);box-shadow:var(--irs-sh-prensado);overflow:hidden}
.irs-progress>span{display:block;height:100%;border-radius:inherit;background:var(--irs-c-papel-300)}
.irs-progress[data-indeterminado]>span{width:30%;animation:irs-ind 1.2s var(--irs-motion-ease) infinite}
@keyframes irs-ind{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}
.irs-empty{display:grid;justify-items:center;text-align:center;gap:12px;padding:40px 24px}
.irs-empty img{width:140px;height:auto}
/* D · dados */
.irs-chart{width:100%;height:auto;font:400 14px/1 var(--irs-font-ui);color:var(--irs-texto-2)}
.irs-chart .grid{stroke:var(--irs-divisor)}.irs-chart .axis{fill:var(--irs-texto-nota)}
.irs-chart .s1{stroke:var(--irs-chart-1);fill:none;stroke-width:2.25}.irs-chart .s2{stroke:var(--irs-chart-2);fill:none;stroke-width:2;stroke-dasharray:5 4}
.irs-chart .ref{stroke:var(--irs-texto-nota);stroke-dasharray:2 4}
.irs-chart .b1{fill:var(--irs-chart-barra)}.irs-chart .b2{fill:var(--irs-chart-barra-2)}.irs-chart .neg{fill:var(--irs-chart-negativo)}
.irs-chart .sel{stroke:var(--irs-foco);stroke-width:2}
.irs-legend{display:flex;flex-wrap:wrap;gap:14px;font:400 var(--irs-size-xs)/1 var(--irs-font-ui);color:var(--irs-texto-2)}
.irs-legend i{display:inline-block;width:14px;height:3px;margin-right:6px;vertical-align:middle;background:var(--irs-chart-1)}
.irs-legend i[data-s="2"]{background:repeating-linear-gradient(90deg,var(--irs-chart-2) 0 5px,transparent 5px 9px)}
.irs-heat{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.irs-heat span{aspect-ratio:1;border-radius:6px;display:grid;place-items:center;font:500 10px/1 var(--irs-font-ui);font-variant-numeric:tabular-nums}
.irs-heat span[data-na]{background:repeating-linear-gradient(45deg,var(--irs-campo) 0 4px,transparent 4px 8px);color:var(--irs-texto-nota)}
.irs-funil{display:grid;gap:4px}.irs-funil-e{display:grid;grid-template-columns:140px 1fr 80px;align-items:center;gap:12px;font:400 var(--irs-size-sm)/1.2 var(--irs-font-ui)}
.irs-funil-e b{display:block;height:28px;margin:0 auto;border-radius:8px;background:var(--irs-chart-barra)}
.irs-funil-e[data-gargalo] b{background:var(--irs-chart-negativo);outline:2px dashed var(--irs-atencao);outline-offset:2px}
.irs-timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.irs-timeline li{display:grid;grid-template-columns:18px 1fr;gap:12px;padding-bottom:16px;position:relative}
.irs-timeline li::before{content:"";width:10px;height:10px;margin:5px 0 0 4px;border-radius:50%;background:var(--irs-texto)}
.irs-timeline li::after{content:"";position:absolute;left:8.5px;top:18px;bottom:0;width:1px;background:var(--irs-borda)}
.irs-timeline li:last-child::after{display:none}
.irs-diff{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.irs-diff [data-lado]{padding:14px;border-radius:var(--irs-radius-md);background:var(--irs-campo)}
.irs-diff del{text-decoration:line-through;text-decoration-thickness:1.5px;background:var(--irs-erro-fundo);color:var(--irs-texto)}
.irs-diff ins{text-decoration:underline;text-decoration-thickness:1.5px;background:var(--irs-sucesso-fundo);color:var(--irs-texto)}
/* Identidade de especialista · pílula prensada */
.irs-esp{display:inline-flex;align-self:flex-start;justify-self:start;width:max-content;align-items:center;gap:10px;padding:10px 16px 10px 12px;border-radius:var(--irs-radius-pill)}
.irs-esp svg{width:20px;height:20px;color:var(--irs-c-sepia-700)}
.irs-esp-n{font:400 19px/1 var(--irs-font-display)}
.irs-esp[data-size="sm"]{padding:6px 10px 6px 8px;gap:7px}.irs-esp[data-size="sm"] .irs-esp-n{font-size:15px}.irs-esp[data-size="sm"] svg{width:16px;height:16px}

/* C06 multi · seleção marcada por sinal, não só por cor */
.irs-listbox[hidden]{display:none}
.irs-listbox[aria-multiselectable="true"] .irs-option{display:flex;align-items:center;gap:10px}
.irs-listbox[aria-multiselectable="true"] .irs-option::before{content:"";flex:none;width:16px;height:16px;border-radius:4px;border:var(--irs-border-thin) solid var(--irs-borda-forte);background:var(--irs-campo)}
.irs-listbox[aria-multiselectable="true"] .irs-option[aria-selected="true"]::before{background:var(--irs-acao);border-color:var(--irs-acao);box-shadow:inset 0 0 0 3px var(--irs-campo)}
.irs-option[aria-disabled="true"]{color:var(--irs-disabled-texto);cursor:not-allowed}
/* C10 · linhas da grade não quebram o layout de 7 colunas */
.irs-cal [role="row"]{display:contents}
.irs-cal button:focus-visible{outline:var(--irs-border-focus) solid var(--irs-foco);outline-offset:1px;position:relative;z-index:1}
.irs-cal button[aria-selected="true"]{font-weight:600}
.irs-cal .irs-cal-fora{visibility:hidden;height:40px}
/* C22 · cabeçalho ordenável é botão real com foco visível */
.irs-table th[aria-sort] button:focus-visible{outline:var(--irs-border-focus) solid var(--irs-foco);outline-offset:3px;border-radius:4px}
.irs-table th[aria-sort="none"] button::after{content:" ↕";opacity:.45}
/* D03 · pontos da linha no eixo direito */
.irs-chart .pt{fill:var(--irs-card);stroke:var(--irs-chart-1);stroke-width:2}
/* D04 · intensidade no fundo, número em pílula de card: contraste não depende da intensidade */
.irs-heat span[style*="--v"]{background:color-mix(in srgb,var(--irs-chart-barra) var(--v),var(--irs-campo))}
.irs-heat span b{min-width:22px;padding:2px 4px;border-radius:6px;background:var(--irs-card);color:var(--irs-texto);font:500 10px/1 var(--irs-font-ui);text-align:center}
/* legenda em linha própria, longe dos rótulos do eixo */
.irs-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font:400 var(--irs-size-xs)/1.3 var(--irs-font-ui);color:var(--irs-texto-2)}
.irs-msg-falha{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.irs-msg-falha svg{width:16px;height:16px}
/* ação dentro de bolha herda a cor da bolha (o link padrão usa --irs-texto e some sobre a bolha do hotel) */
.irs-msg .irs-btn--link{color:inherit;font:600 var(--irs-size-sm)/1.2 var(--irs-font-ui);font-style:normal}
/* item de disponibilidade: o badge desce para baixo do título quando falta largura */
.irs-disp{grid-template-columns:auto minmax(0,1fr)}.irs-disp>span:last-child{grid-column:2;justify-self:start}
}
