/* Patrimo 7.0 — bundle.css. Todas as cores, raios, espaços e sombras vêm de tokens.css (var(--…)).
   Tamanhos de texto espelham os estilos de tokens.json (title-*, body*, label, caption, overline, num-*). */
:root{--ctl-h:var(--control-h-comfortable);--row-h:var(--row-h-comfortable);--fs:14px;--lh:22px;--fs-num:13px;--lh-num:20px}
[data-density="compact"]{--ctl-h:var(--control-h-compact);--row-h:var(--row-h-compact);--fs:13px;--lh:20px;--fs-num:12px;--lh-num:16px}
.pt-app,.pt-app *,.pt-app *::before,.pt-app *::after{box-sizing:border-box}
.pt-app{font-family:var(--font-sans);font-size:var(--fs);line-height:var(--lh);color:var(--text-primary);background:var(--canvas);-webkit-font-smoothing:antialiased;text-size-adjust:100%}
[class^="pt-"],[class*=" pt-"]{box-sizing:border-box}
[class^="pt-"]:focus-visible,[class*=" pt-"]:focus-visible,.pt-focusable:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.pt-sidebar [class*="pt-"]:focus-visible,.pt-sidebar:focus-visible{outline-color:var(--nav-focus)}
.pt-num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-num);line-height:var(--lh-num);font-weight:400;white-space:nowrap}
.pt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pt-muted{color:var(--text-muted)}.pt-secondary{color:var(--text-secondary)}
.pt-caption{font-size:12px;line-height:16px;color:var(--text-muted)}
.pt-overline{font-size:11px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}
.pt-title-xl{font-size:32px;line-height:40px;font-weight:600;letter-spacing:-.015em;margin:0}
.pt-title-lg{font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.01em;margin:0}
.pt-title-md{font-size:20px;line-height:28px;font-weight:600;margin:0}
.pt-title-sm{font-size:16px;line-height:24px;font-weight:600;margin:0}
.pt-icon{flex:none;display:inline-block;vertical-align:middle}
/* Botões */
.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--ctl-h);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-size:14px;line-height:20px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
.pt-btn--sm{height:32px;padding:0 var(--space-3);font-size:13px}
.pt-btn--primary{background:var(--action);color:var(--on-brand);border-color:var(--brand-ui)}
.pt-btn--primary:hover{background:var(--action-hover)}.pt-btn--primary:active{background:var(--action-active)}
.pt-btn--secondary{background:var(--surface-1);color:var(--text-primary);border-color:var(--border-strong)}
.pt-btn--secondary:hover{background:var(--surface-2)}.pt-btn--secondary:active{background:var(--surface-3)}
.pt-btn--ghost{background:transparent;color:var(--text-secondary)}
.pt-btn--ghost:hover{background:var(--surface-3);color:var(--text-primary)}
.pt-btn--danger{background:var(--negative-bg);color:var(--negative);border-color:var(--negative)}
.pt-btn--danger:hover{background:var(--surface-1)}
.pt-btn[disabled],.pt-btn[aria-disabled="true"]{background:var(--surface-2);color:var(--text-disabled);border-color:var(--border-subtle);cursor:not-allowed}
.pt-btn--loading{cursor:progress}
.pt-spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:pt-spin .8s linear infinite}
@keyframes pt-spin{to{transform:rotate(360deg)}}
.pt-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:var(--ctl-h);height:var(--ctl-h);min-width:32px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;position:relative}
.pt-iconbtn:hover{background:var(--surface-3);color:var(--text-primary)}
.pt-iconbtn--outline{border-color:var(--border-strong);background:var(--surface-1)}
.pt-iconbtn[disabled]{color:var(--text-disabled);cursor:not-allowed}
.pt-iconbtn__dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--brand-ui);border:2px solid var(--surface-1)}
.pt-split{display:inline-flex}.pt-split>.pt-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
.pt-split>.pt-btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0;padding:0 var(--space-3);border-left-color:var(--brand-ui)}
/* Menu / Popover */
.pt-pop{position:relative;display:inline-block}
.pt-menu{position:absolute;z-index:var(--z-popover);top:calc(100% + 6px);left:0;min-width:200px;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:var(--space-1)}
.pt-menu--right{left:auto;right:0}
.pt-menu--static{position:static;display:inline-block}
.pt-menu__item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--ctl-h);padding:0 var(--space-3);border:0;background:transparent;border-radius:var(--radius-sm);font:inherit;color:var(--text-primary);text-align:left;cursor:pointer}
.pt-menu__item:hover,.pt-menu__item[aria-selected="true"]{background:var(--surface-3)}
.pt-menu__item[aria-disabled="true"]{color:var(--text-disabled);cursor:not-allowed}
.pt-menu__sep{height:1px;background:var(--border-subtle);margin:var(--space-1) 0}
.pt-menu__hint{margin-left:auto;font-size:12px;color:var(--text-muted)}
.pt-tip{position:absolute;z-index:var(--z-tooltip);bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--nav-bg);color:var(--nav-text-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:12px;line-height:16px;width:max-content;max-width:260px;box-shadow:var(--shadow-popover);pointer-events:none}
/* Campos */
.pt-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.pt-field__label{font-size:13px;line-height:16px;font-weight:500;color:var(--text-primary)}
.pt-field__req{color:var(--text-muted);font-weight:400}
.pt-field__hint{font-size:12px;line-height:16px;color:var(--text-muted)}
.pt-field__err{display:flex;gap:6px;align-items:flex-start;font-size:12px;line-height:16px;color:var(--negative)}
.pt-input{display:flex;align-items:center;gap:var(--space-2);height:var(--ctl-h);padding:0 var(--space-3);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);min-width:0}
.pt-input:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}
.pt-input--invalid{border-color:var(--negative)}
.pt-input--disabled{background:var(--surface-2);color:var(--text-disabled);border-color:var(--border-subtle)}
.pt-input input,.pt-input select{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:inherit;font:inherit;padding:0}
.pt-input input::placeholder{color:var(--text-muted)}
.pt-input--num input{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;font-size:14px}
.pt-input__affix{color:var(--text-muted);font-size:13px;white-space:nowrap}
.pt-input select{appearance:none;-webkit-appearance:none;cursor:pointer}
.pt-check{display:inline-flex;gap:var(--space-3);align-items:flex-start;cursor:pointer;min-height:24px}
.pt-check input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:2px 0 0;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-1);display:grid;place-items:center;cursor:pointer}
.pt-check input:checked{background:var(--action);border-color:var(--brand-ui)}
.pt-check input:checked::after{content:"";width:10px;height:5px;border-left:2px solid var(--on-brand);border-bottom:2px solid var(--on-brand);transform:rotate(-45deg) translate(1px,-1px)}
.pt-check input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.pt-check input:disabled{background:var(--surface-2);border-color:var(--border-subtle);cursor:not-allowed}
.pt-switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;min-height:var(--ctl-h)}
.pt-switch input{appearance:none;-webkit-appearance:none;flex:none;width:44px;height:24px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-2);position:relative;margin:0;cursor:pointer}
.pt-switch input::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-secondary);transition:transform var(--duration-fast) var(--ease-standard)}
.pt-switch input:checked{background:var(--action);border-color:var(--brand-ui)}
.pt-switch input:checked::after{transform:translateX(20px);background:var(--on-brand)}
.pt-switch input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
/* Calendário */
.pt-cal{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:var(--space-3);width:296px}
.pt-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}
.pt-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.pt-cal__dow{font-size:11px;line-height:24px;font-weight:600;color:var(--text-secondary)}
.pt-cal__day{height:36px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer;font-variant-numeric:tabular-nums}
.pt-cal__day:hover{background:var(--surface-3)}
.pt-cal__day--out{color:var(--text-muted)}
.pt-cal__day--in{background:var(--surface-3)}
.pt-cal__day--sel{background:var(--action);color:var(--on-brand);border-color:var(--brand-ui);font-weight:600}
.pt-cal__day--today{border-color:var(--border-strong)}
.pt-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.pt-chip{display:inline-flex;align-items:center;gap:var(--space-1);height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:13px;line-height:16px;font-weight:500;cursor:pointer}
.pt-chip:hover{background:var(--surface-2)}
.pt-chip[aria-pressed="true"],.pt-chip[aria-checked="true"]{background:var(--surface-3);border-color:var(--brand-ui);font-weight:600}
.pt-chip[aria-pressed="true"]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-ui);margin-right:2px}
/* Abas */
.pt-tabs{display:flex;gap:var(--space-1);overflow-x:auto;border-bottom:1px solid var(--border-subtle);scrollbar-width:thin}
.pt-tab{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);height:var(--ctl-h);padding:0 var(--space-3);background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;font:inherit;font-size:13px;line-height:16px;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap}
.pt-tab:hover{color:var(--text-primary)}
.pt-tab[aria-selected="true"]{color:var(--text-primary);font-weight:600;border-bottom-color:var(--brand-ui)}
.pt-seg{display:inline-flex;max-width:100%;overflow-x:auto;scrollbar-width:thin;padding:2px;gap:2px;background:var(--surface-3);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}
.pt-seg__btn{flex:none;white-space:nowrap;height:calc(var(--ctl-h) - 8px);min-height:28px;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;font:inherit;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer}
.pt-seg__btn[aria-checked="true"]{background:var(--surface-1);color:var(--text-primary);font-weight:600;border-color:var(--border-strong)}
.pt-pager{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;font-size:13px;color:var(--text-secondary)}
.pt-pager__nav{display:flex;gap:var(--space-1);align-items:center}
.pt-pager__btn{min-width:36px;height:36px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font:inherit;font-variant-numeric:tabular-nums;color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.pt-pager__btn:hover{background:var(--surface-3)}
.pt-pager__btn[aria-current="page"]{background:var(--surface-1);border-color:var(--brand-ui);font-weight:600}
.pt-pager__btn[disabled]{color:var(--text-disabled);cursor:not-allowed;background:transparent}
.pt-crumbs{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--text-secondary);flex-wrap:wrap}
.pt-crumbs li{display:inline-flex;align-items:center;gap:8px}
.pt-crumbs a{color:var(--text-secondary);text-decoration:none}.pt-crumbs a:hover{color:var(--text-primary);text-decoration:underline}
.pt-crumbs [aria-current]{color:var(--text-primary);font-weight:600}
/* Cartões, badges */
.pt-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);min-width:0}
@container (min-width:1024px){.pt-card{padding:var(--space-5)}}
.pt-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}
.pt-badge{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border-radius:var(--radius-xs);font-size:12px;line-height:16px;font-weight:600;white-space:nowrap;background:var(--surface-3);color:var(--text-primary);border:1px solid transparent}
.pt-badge--positive{background:var(--positive-bg);color:var(--positive)}.pt-badge--negative{background:var(--negative-bg);color:var(--negative)}
.pt-badge--warning{background:var(--warning-bg);color:var(--warning)}.pt-badge--info{background:var(--info-bg);color:var(--info)}
.pt-badge--simulation{background:var(--simulation-bg);color:var(--simulation);border:1px dashed var(--simulation)}
.pt-badge--gold{background:var(--surface-1);color:var(--brand-text);border-color:var(--brand-ui)}
.pt-badge--outline{background:transparent;border-color:var(--border-strong);color:var(--text-secondary)}
/* Métricas */
.pt-kpi{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}
.pt-kpi__label{display:flex;align-items:center;gap:var(--space-2)}
.pt-kpi__value{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:500;font-size:24px;line-height:32px;letter-spacing:-.005em;white-space:nowrap}
.pt-kpi--xl .pt-kpi__value{font-size:32px;line-height:40px;letter-spacing:-.01em}
.pt-kpi__value--missing{color:var(--text-muted)}
.pt-kpi__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:12px;line-height:16px;color:var(--text-muted)}
.pt-kpi--sim .pt-kpi__value{border-bottom:1px dashed var(--simulation);display:inline-block;width:max-content}
.pt-delta{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:13px;line-height:16px;font-weight:500}
.pt-delta--positive{color:var(--positive)}.pt-delta--negative{color:var(--negative)}.pt-delta--neutral{color:var(--text-secondary)}
.pt-kpistrip{display:flex;flex-wrap:wrap;gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}
.pt-kpistrip>*{flex:1 1 var(--kpi-min,220px);min-width:0;background:var(--surface-1);padding:var(--space-4) var(--space-5)}
.pt-disclosure{position:relative;display:inline-block}
.pt-method{position:absolute;z-index:var(--z-popover);top:calc(100% + 6px);left:0;width:min(320px,80vw);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:var(--space-3);font-size:13px;line-height:20px}
.pt-method--static{position:static;margin-top:var(--space-2)}
/* 7.8.1 — balões flutuantes (portal no body, posição calculada em JS): anulam o posicionamento absoluto dos componentes originais */
.pt-float{inset:auto;transform:none;z-index:var(--z-popover);box-sizing:border-box;overflow-wrap:anywhere}
.pt-tip.pt-float{z-index:var(--z-tooltip);bottom:auto;white-space:normal;width:max-content;max-width:min(260px,calc(100vw - 16px))}
.pt-method.pt-float{width:min(320px,calc(100vw - 16px))}
.pt-float-root{display:contents}
.pt-method dl{display:grid;grid-template-columns:auto 1fr;gap:4px var(--space-3);margin:0}.pt-method dt{color:var(--text-muted)}.pt-method dd{margin:0}
.pt-linkbtn{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--brand-text);text-decoration:underline;cursor:pointer;display:inline-flex;gap:4px;align-items:center}
/* Página */
.pt-pagehead{display:flex;flex-direction:column;gap:var(--space-3)}
.pt-pagehead__row{display:flex;gap:var(--space-4);align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.pt-pagehead__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}
.pt-sechead{display:flex;gap:var(--space-3);justify-content:space-between;align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--space-3)}
.pt-tools{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}
.pt-tools__grow{flex:1;min-width:0}
.pt-filterbar{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
.pt-filterbar__row{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap}
.pt-active{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center;font-size:13px;color:var(--text-secondary)}
.pt-tag{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface-3);font-size:13px;color:var(--text-primary)}
.pt-tag button{display:inline-grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer}
.pt-tag button:hover{background:var(--surface-1)}
/* Tabela */
.pt-tablewrap{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:auto;max-width:100%}
.pt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs);line-height:var(--lh)}
.pt-table caption{text-align:left;padding:var(--space-3) var(--space-4);font-size:13px;color:var(--text-secondary)}
.pt-table th{position:sticky;top:0;z-index:var(--z-sticky);background:var(--surface-2);text-align:left;font-size:12px;line-height:16px;font-weight:600;color:var(--text-secondary);padding:0 var(--space-3);height:40px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}
.pt-table td{padding:0 var(--space-3);height:var(--row-h);border-bottom:1px solid var(--border-subtle);vertical-align:middle;white-space:nowrap}
.pt-table tbody tr:last-child td{border-bottom:0}
.pt-table tbody tr:hover td{background:var(--surface-2)}
.pt-table tr[aria-selected="true"] td{background:var(--surface-3)}
.pt-table .is-num{text-align:right}
.pt-table td.is-num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-num);white-space:nowrap}
.pt-table tfoot td{background:var(--surface-2);font-weight:600;border-top:1px solid var(--border-subtle);border-bottom:0}
.pt-table th:first-child,.pt-table td:first-child{padding-left:var(--space-4)}.pt-table th:last-child,.pt-table td:last-child{padding-right:var(--space-4)}
.pt-sort{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;font:inherit;color:inherit;font-weight:inherit;cursor:pointer;padding:0;height:100%}
.pt-sort:hover{color:var(--text-primary)}
.pt-sort[data-dir="asc"],.pt-sort[data-dir="desc"]{color:var(--text-primary)}
.pt-tablewrap--tall{max-height:360px}
.pt-asset{display:flex;align-items:center;gap:var(--space-3);min-width:0}
.pt-asset__txt{display:flex;flex-direction:column;min-width:0}
.pt-asset__sym{font-weight:600;font-size:14px;line-height:18px}
.pt-asset__name{font-size:12px;line-height:16px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-avatar{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-primary);font-size:11px;font-weight:600;letter-spacing:.02em;border:1px solid var(--border-subtle)}
.pt-avatar--lg{width:40px;height:40px;font-size:12px}
.pt-avatar--logo{position:relative;overflow:hidden;background:var(--logo-plate);padding:0}
.pt-avatar__img{width:100%;height:100%;object-fit:contain;border-radius:inherit;background:var(--logo-plate);padding:3px;box-sizing:border-box;display:block}
.pt-avatar{position:relative}
.pt-mlist{display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}
.pt-mitem{border-bottom:1px solid var(--border-subtle)}.pt-mitem:last-child{border-bottom:0}
.pt-mitem__btn{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3);align-items:center;width:100%;min-height:var(--target-min);padding:var(--space-3) var(--space-4);background:transparent;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.pt-mitem__btn:hover{background:var(--surface-2)}
.pt-mitem__vals{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.pt-mitem__detail{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4) var(--space-4);background:var(--surface-2);margin:0}
.pt-mitem__detail dt{font-size:12px;line-height:16px;color:var(--text-muted)}.pt-mitem__detail dd{margin:2px 0 0}
.pt-pcard{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}
.pt-pcard__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3)}
.pt-pcard__cell dt{font-size:11px;line-height:16px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.pt-pcard__cell dd{margin:2px 0 0}
.pt-ticker{display:flex;gap:var(--space-6);overflow-x:auto;padding:var(--space-2) var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);scrollbar-width:thin}
.pt-ticker__item{display:flex;align-items:baseline;gap:var(--space-2);flex:none}
.pt-ticker__sym{font-weight:600;font-size:13px}
/* Picker / combobox */
.pt-combo{position:relative}
.pt-list{position:absolute;z-index:var(--z-popover);top:calc(100% + 6px);left:0;right:0;max-height:296px;overflow:auto;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:var(--space-1);margin:0;list-style:none}
.pt-list--static{position:static;margin-top:6px}
.pt-opt{display:flex;align-items:center;gap:var(--space-3);min-height:var(--ctl-h);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer}
.pt-opt[aria-selected="true"]{background:var(--surface-3)}
.pt-opt:hover{background:var(--surface-2)}
.pt-opt__meta{margin-left:auto;color:var(--text-muted);font-size:12px}
.pt-optgroup{padding:var(--space-2) var(--space-3) var(--space-1)}
/* Feedback */
.pt-alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-1);font-size:14px;line-height:20px}
.pt-alert--info{background:var(--info-bg);border-color:var(--info)}.pt-alert--info .pt-alert__icon{color:var(--info)}
.pt-alert--positive{background:var(--positive-bg);border-color:var(--positive)}.pt-alert--positive .pt-alert__icon{color:var(--positive)}
.pt-alert--warning{background:var(--warning-bg);border-color:var(--warning)}.pt-alert--warning .pt-alert__icon{color:var(--warning)}
.pt-alert--negative{background:var(--negative-bg);border-color:var(--negative)}.pt-alert--negative .pt-alert__icon{color:var(--negative)}
.pt-alert--simulation{background:var(--simulation-bg);border:1px dashed var(--simulation)}.pt-alert--simulation .pt-alert__icon{color:var(--simulation)}
.pt-alert__body{flex:1;min-width:0}.pt-alert__title{font-weight:600}
.pt-alert__actions{display:flex;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}
.pt-banner{border-radius:0;border-width:0 0 1px 0;padding:var(--space-2) var(--space-4);align-items:center}
.pt-toast{display:flex;gap:var(--space-3);align-items:flex-start;width:min(380px,100%);padding:var(--space-3) var(--space-4);background:var(--nav-bg);color:var(--nav-text-strong);border:1px solid var(--nav-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);font-size:14px;line-height:20px}
.pt-toast__act{background:none;border:0;color:var(--nav-accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer;padding:0}
.pt-toast__close{margin-left:auto;background:none;border:0;color:var(--nav-text);cursor:pointer;padding:0;display:grid;place-items:center;width:24px;height:24px}
.pt-toast__icon--positive{color:var(--positive)}.pt-toast__icon--negative{color:var(--negative)}.pt-toast__icon--warning{color:var(--warning)}.pt-toast__icon--info{color:var(--info)}
.pt-toastwrap{position:fixed;z-index:var(--z-toast);right:var(--space-4);bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}
.pt-progress{height:8px;background:var(--surface-3);border-radius:var(--radius-pill);overflow:hidden;border:1px solid var(--border-subtle)}
.pt-progress__bar{height:100%;background:var(--brand-ui);border-radius:var(--radius-pill);transition:width var(--duration-slow) var(--ease-standard)}
.pt-progress--ind .pt-progress__bar{width:35%;animation:pt-ind 1.4s var(--ease-standard) infinite}
@keyframes pt-ind{0%{margin-left:-35%}100%{margin-left:100%}}
.pt-skel{background:var(--surface-3);border-radius:var(--radius-xs);position:relative;overflow:hidden;height:14px}
.pt-skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--surface-2),transparent);animation:pt-shim 1.4s infinite}
@keyframes pt-shim{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
/* Overlays */
.pt-scrim{position:fixed;inset:0;z-index:var(--z-modal);background:var(--overlay-scrim);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;padding:var(--space-4)}
.pt-scrim--inline{position:absolute;border-radius:var(--radius-md)}
.pt-scrim--drawer{place-items:stretch;justify-items:end;padding:0;z-index:var(--z-drawer)}
.pt-scrim--sheet{place-items:end stretch;padding:0;z-index:var(--z-drawer)}
.pt-modal{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);width:min(520px,100%);max-height:100%;display:flex;flex-direction:column}
.pt-modal--lg{width:min(720px,100%)}
.pt-modal__head{display:flex;gap:var(--space-3);align-items:flex-start;justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-3)}
.pt-modal__body{padding:0 var(--space-5) var(--space-4);overflow:auto}
.pt-modal__foot{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap;padding:var(--space-3) var(--space-5) var(--space-5);border-top:1px solid var(--border-subtle)}
.pt-drawer{background:var(--surface-1);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-modal);width:min(440px,100%);height:100%;display:flex;flex-direction:column}
.pt-drawer--left{border-left:0;border-right:1px solid var(--border-subtle)}
.pt-sheet{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-modal);max-height:85%;display:flex;flex-direction:column}
.pt-sheet__grab{width:40px;height:4px;border-radius:2px;background:var(--border-strong);margin:var(--space-2) auto 0}
@media (max-width:767px){.pt-modal--full{width:100%;height:100%;border-radius:0}}
/* Status */
.pt-status{display:inline-flex;align-items:center;gap:var(--space-2);font-size:12px;line-height:16px;color:var(--text-secondary);flex-wrap:wrap}
.pt-status__dot{width:8px;height:8px;border-radius:50%;flex:none}
.pt-pulse{animation:pt-pulse 1.6s ease-in-out infinite}
@keyframes pt-pulse{50%{opacity:.35}}
/* Gráficos */
.pt-chart{display:flex;flex-direction:column;gap:var(--space-3)}
.pt-chart__head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;flex-wrap:wrap}
.pt-chart__foot{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:12px;line-height:16px;color:var(--text-muted)}
.pt-chart__sum{font-size:13px;line-height:20px;color:var(--text-secondary);margin:0}
.pt-legend{display:flex;gap:var(--space-2) var(--space-4);flex-wrap:wrap;font-size:12px;line-height:16px;color:var(--text-secondary);list-style:none;margin:0;padding:0}
.pt-legend li{display:inline-flex;align-items:center;gap:6px}
.pt-svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font-sans);touch-action:pan-y}
.pt-svg text{fill:var(--text-secondary);font-size:11px;font-variant-numeric:tabular-nums}
.pt-svg .pt-axis{stroke:var(--border-strong);stroke-width:1}
.pt-svg .pt-grid{stroke:var(--chart-grid);stroke-width:1}
.pt-svg:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:var(--radius-xs)}
.pt-ctip{position:absolute;z-index:var(--z-tooltip);pointer-events:none;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-popover);padding:var(--space-2) var(--space-3);font-size:12px;line-height:16px;min-width:170px}
.pt-ctip dl{margin:var(--space-1) 0 0;display:grid;grid-template-columns:auto 1fr;gap:2px var(--space-3)}
.pt-ctip dt{color:var(--text-muted)}.pt-ctip dd{margin:0;text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums}
.pt-chartbox{position:relative}
.pt-hm{border-collapse:separate;border-spacing:2px;font-family:var(--font-num);font-size:12px}
.pt-hm th{font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--text-secondary);padding:var(--space-1) var(--space-2);white-space:nowrap}
.pt-hm td{width:56px;height:40px;text-align:center;border-radius:var(--radius-xs);font-variant-numeric:tabular-nums}
/* Estados */
.pt-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
.pt-state--inline{padding:var(--space-5);flex-direction:row;text-align:left;align-items:flex-start}
.pt-state__ico{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--surface-3);color:var(--text-secondary)}
.pt-state__ico--warning{background:var(--warning-bg);color:var(--warning)}.pt-state__ico--negative{background:var(--negative-bg);color:var(--negative)}.pt-state__ico--info{background:var(--info-bg);color:var(--info)}.pt-state__ico--gold{background:var(--surface-1);color:var(--brand-ui);border:1px solid var(--brand-ui)}
.pt-state__txt{max-width:420px;display:flex;flex-direction:column;gap:var(--space-1)}
.pt-state__act{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}
/* IA */
.pt-msg{display:flex;gap:var(--space-3);max-width:760px}
.pt-msg--user{margin-left:auto;flex-direction:row-reverse}
.pt-msg__bubble{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--border-subtle);min-width:0}
.pt-msg--user .pt-msg__bubble{background:var(--surface-3)}
.pt-msg__who{font-size:12px;line-height:16px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-1)}
.pt-cite{display:inline-flex;align-items:center;gap:6px;padding:2px var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-1);font-size:12px;line-height:16px;color:var(--text-primary);text-decoration:none}
.pt-cite__n{font-weight:600;color:var(--brand-text)}
.pt-composer{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-md)}
.pt-composer:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}
.pt-composer textarea{border:0;outline:0;resize:none;background:transparent;font:inherit;color:inherit;min-height:44px}
.pt-composer__row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.pt-quota{display:flex;align-items:center;gap:var(--space-3);font-size:12px;line-height:16px;color:var(--text-secondary)}
.pt-quota .pt-progress{width:96px}
/* Privacidade */
.pt-mask{font-family:var(--font-num);letter-spacing:.08em}
.pt-sens{display:inline-flex;align-items:center;gap:var(--space-2)}
/* Shell */
.pt-shell{container-type:inline-size;container-name:ptshell;background:var(--canvas);color:var(--text-primary);width:100%;height:100%;min-height:inherit;position:relative}
.pt-shell__grid{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:inherit;height:100%}
.pt-sidebar{background:var(--nav-bg);color:var(--nav-text);border-right:1px solid var(--nav-border);display:flex;flex-direction:column;min-height:0;overflow:auto;scrollbar-width:thin}
.pt-sidebar__brand{display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-5);flex:none}
.pt-logo{display:inline-flex;align-items:center;gap:.55em;font-size:20px;line-height:1;color:var(--nav-text-strong);flex:none;max-width:100%}
.pt-logo .pt-mark{width:1.7em;height:1.7em;flex:none;display:block}
.pt-logo__txt{display:flex;flex-direction:column;gap:.2em;min-width:0}
.pt-logo__txt b{font-family:var(--font-sans);font-size:1em;font-weight:900;letter-spacing:-.065em;line-height:.92;text-transform:lowercase;white-space:nowrap}
.pt-logo__txt span{font-size:.425em;font-weight:800;letter-spacing:.38em;line-height:1;text-transform:uppercase;color:var(--nav-accent);padding-left:.12em}
.pt-logo--on-light{color:var(--text-primary)}
.pt-logo--on-light .pt-logo__txt span{color:var(--brand-text)}
.pt-sidebar__nav{padding:var(--space-2) var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}
.pt-navgroup{display:flex;flex-direction:column;gap:2px}
.pt-navgroup__t{padding:0 var(--space-3);margin-bottom:var(--space-1);font-size:11px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--nav-muted)}
.pt-navitem{display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--nav-text);text-decoration:none;font-size:14px;line-height:20px;font-weight:500;border:0;background:transparent;width:100%;text-align:left;cursor:pointer;font-family:inherit}
.pt-navitem:hover{background:var(--nav-surface);color:var(--nav-text-strong)}
.pt-navitem[aria-current="page"]{background:var(--nav-surface);color:var(--nav-text-strong);font-weight:600}
.pt-navitem[aria-current="page"] .pt-icon{color:var(--nav-accent)}
.pt-navitem__lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-sidebar__foot{margin-top:auto;padding:var(--space-3);border-top:1px solid var(--nav-border);display:flex;align-items:center;gap:var(--space-3)}
.pt-sidebar__foot .pt-avatar{background:var(--nav-surface);border-color:var(--nav-border);color:var(--nav-text-strong)}
.pt-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.pt-topbar{display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--gutter);background:var(--surface-1);border-bottom:1px solid var(--border-subtle);flex:none;position:relative;z-index:var(--z-nav)}
.pt-topbar__sp{flex:1;min-width:0}
.pt-gsearch{display:flex;align-items:center;gap:var(--space-3);height:var(--ctl-h);min-width:0;width:min(420px,100%);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:14px;cursor:pointer;text-align:left}
.pt-gsearch:hover{background:var(--surface-3)}
.pt-gsearch span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-kbd{font-family:var(--font-num);font-size:11px;line-height:16px;padding:0 6px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-1);color:var(--text-secondary)}
.pt-content{padding:var(--gutter);display:flex;flex-direction:column;gap:var(--space-6);overflow:auto;flex:1;min-height:0;max-width:var(--content-w-max);width:100%;margin:0 auto}
.pt-shell{--gutter:var(--gutter-mobile)}
.pt-bnav{display:none;position:sticky;bottom:0;z-index:var(--z-nav);height:var(--bottom-nav-h);background:var(--nav-bg);border-top:1px solid var(--nav-border);box-shadow:var(--shadow-1);padding-bottom:env(safe-area-inset-bottom)}
.pt-bnav__list{display:grid;grid-template-columns:repeat(5,1fr);width:100%;list-style:none;margin:0;padding:0}
.pt-bnav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;min-height:var(--target-min);color:var(--nav-text);font-size:11px;line-height:14px;font-weight:500;text-decoration:none;border:0;background:transparent;font-family:inherit;cursor:pointer;width:100%}
.pt-bnav__item[aria-current="page"]{color:var(--nav-text-strong);font-weight:600}
.pt-bnav__item[aria-current="page"] .pt-icon{color:var(--nav-accent)}
.pt-mobonly{display:none}
@container ptshell (max-width:1023px){.pt-shell__grid{grid-template-columns:var(--sidebar-w-rail) minmax(0,1fr)}
 .pt-navitem__lbl,.pt-navgroup__t,.pt-sidebar .pt-logo__txt,.pt-sidebar__foot .pt-footinfo{display:none}.pt-navitem{justify-content:center;padding:0}.pt-sidebar__brand{justify-content:center;padding:0}.pt-sidebar__foot{justify-content:center}
 .pt-shell{--gutter:var(--gutter-tablet)}}
@container ptshell (min-width:1024px){.pt-shell{--gutter:var(--gutter-desktop)}}
@container ptshell (max-width:767px){.pt-shell__grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.pt-sidebar{display:none}.pt-bnav{display:flex}.pt-mobonly{display:inline-flex}.pt-app .pt-deskonly{display:none}
 .pt-shell{--gutter:var(--gutter-mobile)}}
.pt-shell--drawer-open .pt-sidebar{display:flex;position:absolute;z-index:var(--z-drawer);inset:0 auto 0 0;width:var(--sidebar-w)}
/* Painel / padrões */
.pt-grid{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr)}
@container ptshell (min-width:1024px){.pt-grid--2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.pt-grid--1-1{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@container ptshell (min-width:768px) and (max-width:1023px){.pt-grid--1-1{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.pt-collapse{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1)}
.pt-collapse>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--target-min);padding:var(--space-2) var(--space-4);cursor:pointer;list-style:none;font-weight:600}
.pt-collapse>summary::-webkit-details-marker{display:none}
.pt-collapse[open]>summary{border-bottom:1px solid var(--border-subtle)}
.pt-collapse[open]>summary .pt-chev{transform:rotate(180deg)}
.pt-collapse__body{padding:var(--space-4)}
.pt-list-plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pt-list-plain li{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle)}
.pt-list-plain li:last-child{border-bottom:0}
.pt-split2{display:grid;gap:var(--space-4);grid-template-columns:1fr}
@media (min-width:640px){.pt-split2{grid-template-columns:1fr 1fr}}
.pt-authcard{width:min(440px,100%);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.pt-code{display:flex;gap:var(--space-2)}
.pt-code input{width:44px;height:52px;text-align:center;font-family:var(--font-num);font-size:20px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary)}
.pt-code input[aria-invalid="true"]{border-color:var(--negative)}
.pt-diff{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.pt-diff__col{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-1)}
.pt-diff__row{display:flex;justify-content:space-between;gap:var(--space-3);padding:6px 0;border-bottom:1px solid var(--border-subtle);font-size:13px}
.pt-diff__row:last-child{border-bottom:0}
.pt-diff__row--changed{background:var(--warning-bg);margin:0 calc(var(--space-2) * -1);padding-left:var(--space-2);padding-right:var(--space-2)}

.pt-skip{position:absolute;left:8px;top:-64px;z-index:var(--z-toast);background:var(--surface-1);color:var(--text-primary);border:2px solid var(--focus-ring);padding:8px 12px;border-radius:var(--radius-sm);font-weight:600;text-decoration:none}
.pt-skip:focus{top:8px}
.pt-pagetitle{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.01em}
@container ptshell (min-width:1024px){.pt-pagetitle{font-size:32px;line-height:40px;letter-spacing:-.015em}}
.pt-scroll{flex:1;min-height:0;overflow:auto}
.pt-content{overflow:visible;flex:none;min-height:0}
.pt-sheetnav{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 8px;border-radius:6px;color:var(--text-primary);text-decoration:none;font-weight:500}
.pt-sheetnav:hover{background:var(--surface-3)}
.pt-sheetnav[aria-current="page"]{background:var(--surface-3);font-weight:600}
.pt-sheetnav[aria-current="page"] .pt-icon:first-child{color:var(--brand-ui)}

.pt-topbar .pt-crumbs{flex-wrap:nowrap;white-space:nowrap}.pt-topbar nav{flex:none}
.pt-state__ico{flex:none}

.pt-kpistrip>.pt-kpi--xl{flex:1.6 1 300px}.pt-kpi--xl .pt-kpi__value{font-size:28px;line-height:36px}.pt-disclosure .pt-linkbtn{min-width:24px;min-height:24px}
@keyframes pt-reveal{from{clip-path:inset(-6px 100% -6px -6px)}to{clip-path:inset(-6px -160px -6px -6px)}}
.pt-reveal{animation:pt-reveal .7s var(--ease-standard) both}
@keyframes pt-rise{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.pt-rise{transform-box:fill-box;transform-origin:bottom;animation:pt-rise .5s var(--ease-standard) both}
@media (max-width:560px){.pt-diff{grid-template-columns:1fr}}
.pt-msg{min-width:0}.pt-msg__bubble{overflow-wrap:anywhere}.pt-msg>.pt-msg__bubble{max-width:100%}
.pt-tablewrap,.pt-ticker,.pt-tabs,.pt-hm{position:relative}.pt-quota{flex-wrap:wrap}.pt-composer__row{flex-wrap:wrap}

/* Métrica indisponível, cobertura parcial e aviso de limite (429) */
.pt-kpi__reason{display:flex;align-items:center;gap:6px;font-size:12px;line-height:16px;color:var(--text-secondary)}.pt-kpi__reason svg{flex:none;color:var(--text-muted)}
.pt-cover,.pt-retry{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);font-size:14px;line-height:20px}
.pt-cover--warning,.pt-retry{background:var(--warning-bg);border-color:var(--warning)}.pt-cover--warning .pt-cover__icon,.pt-retry__icon{color:var(--warning);flex:none}
.pt-cover--negative{background:var(--negative-bg);border-color:var(--negative)}.pt-cover--negative .pt-cover__icon{color:var(--negative);flex:none}
.pt-cover--info{background:var(--info-bg);border-color:var(--info)}.pt-cover--info .pt-cover__icon{color:var(--info);flex:none}
.pt-cover__body,.pt-retry__body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;flex:1}
.pt-cover__title,.pt-retry__title{font-weight:600}
.pt-cover__list>summary{display:inline-flex;align-items:center;min-height:24px;cursor:pointer;list-style:none;color:var(--text-primary);text-decoration:underline;text-underline-offset:3px}.pt-cover__list>summary::-webkit-details-marker{display:none}
.pt-cover__list ul{margin:var(--space-2) 0 0;padding:0;border-top:1px solid var(--border-subtle)}
.pt-cover__actions,.pt-retry__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}

.pt-app a:not([class]){color:var(--brand-text);text-decoration:underline;text-underline-offset:2px}.pt-app a:not([class]):hover{text-decoration-thickness:2px}
.pt-linkbtn{min-height:24px}
/* Movimento reduzido: sem !important — as animações são removidas pela classe e as transições usam tokens de duração. */
@media (prefers-reduced-motion:reduce){
  :root{--duration-fast:.01ms;--duration-normal:.01ms;--duration-slow:.01ms}
  .pt-spin,.pt-skel::after,.pt-pulse,.pt-progress--ind .pt-progress__bar,.pt-reveal,.pt-rise{animation:none}
}

/* Patrimo 7.5.0 — Lista suspensa do Design Kit (claro e escuro). Só tokens, sem cores fixas.
   Comportamento em patrimo7-select.js. */

/* Plano B: se o JS não carregar, a lista nativa ao menos respeita o tema. */
select { color-scheme: light; }
[data-theme="dark"] select { color-scheme: dark; }

/* Estado fechado — selects comuns (os do kit já têm moldura própria em .pt-input) */
html body select[data-pt-sel="std"][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel] {
  appearance: none; -webkit-appearance: none;
  cursor: pointer;
  background-color: var(--surface-1);
  color: var(--text-primary);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  font-family: inherit;
  padding-right: 34px;
  text-overflow: ellipsis;
  background-image:
    linear-gradient(45deg, transparent calc(50% - 1px), var(--text-secondary) calc(50% - 0.5px), var(--text-secondary) calc(50% + 0.5px), transparent calc(50% + 1px)),
    linear-gradient(135deg, transparent calc(50% - 1px), var(--text-secondary) calc(50% - 0.5px), var(--text-secondary) calc(50% + 0.5px), transparent calc(50% + 1px));
  background-repeat: no-repeat;
  background-size: 7px 7px, 7px 7px;
  background-position: calc(100% - 17px) 50%, calc(100% - 11px) 50%;
}
html body select[data-pt-sel="std"][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel]:hover:not(:disabled) { background-color: var(--surface-2); }
html body select[data-pt-sel="std"][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel]:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
html body select[data-pt-sel="std"][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel][aria-expanded="true"] { border-color: var(--focus-ring); }
html body select[data-pt-sel="std"][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel][data-pt-sel]:disabled { background-color: var(--surface-2); color: var(--text-disabled); border-color: var(--border-subtle); cursor: not-allowed; }
select[data-pt-sel="kit"][aria-expanded="true"] ~ svg { transform: rotate(180deg); }

/* Lista aberta */
.pt-selpop {
  position: fixed;
  z-index: 2147483000;
  box-sizing: border-box;
  display: flex; flex-direction: column;
  background: var(--surface-1);
  color: var(--text-primary);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-popover);
  font-family: var(--font-sans);
  font-size: 14px;
  overflow: hidden;
}
.pt-selpop__list { overflow-y: auto; padding: var(--space-1); outline: 0; scrollbar-width: thin; min-height: 0; }
.pt-selpop__group {
  padding: var(--space-2) var(--space-3) var(--space-1);
  font-size: 12px; font-weight: 600; letter-spacing: 0.02em;
  color: var(--text-muted);
}
.pt-selpop__opt {
  display: flex; align-items: center; gap: var(--space-3);
  min-height: var(--ctl-h);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-sm);
  cursor: pointer;
  color: var(--text-primary);
}
.pt-selpop__txt { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.pt-selpop__opt.is-active { background: var(--surface-3); }
.pt-selpop__opt[aria-selected="true"] { font-weight: 600; }
.pt-selpop__opt[aria-disabled="true"] { color: var(--text-disabled); cursor: not-allowed; }
.pt-selpop__check { flex: none; width: 10px; height: 6px; margin-right: 2px; opacity: 0; border-left: 2px solid var(--brand-ui); border-bottom: 2px solid var(--brand-ui); transform: translateY(-1px) rotate(-45deg); }
.pt-selpop__opt[aria-selected="true"] .pt-selpop__check { opacity: 1; }

/* Celular: a lista sobe de baixo, com fundo escurecido, como uma gaveta */
.pt-selpop__backdrop { position: fixed; inset: 0; z-index: 2147482999; background: var(--overlay-scrim); }
.pt-selpop--sheet {
  left: 0; right: 0; bottom: 0; top: auto; width: auto;
  max-height: 70vh;
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  border-bottom: 0;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.pt-selpop--sheet .pt-selpop__opt { min-height: var(--target-min); font-size: 16px; }
.pt-selpop--sheet .pt-selpop__list { padding: var(--space-2); }
.pt-selpop__title { padding: var(--space-3) var(--space-4) var(--space-1); font-size: 13px; font-weight: 600; color: var(--text-muted); border-bottom: 1px solid var(--border-subtle); }

@media (prefers-reduced-motion: no-preference) {
  .pt-selpop { animation: pt-selpop-in 120ms ease-out; }
  .pt-selpop--sheet { animation: pt-selpop-sheet 160ms ease-out; }
}
@keyframes pt-selpop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pt-selpop-sheet { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }

/* Filtros no celular: o botão "Filtros" abre os campos logo abaixo (antes não fazia nada). */
.pt-filterbar__panel.pt-mobonly{flex-direction:column;align-items:stretch;gap:var(--space-3)}
.pt-filterbar__panel .pt-field,.pt-filterbar__panel .pt-seg{width:100%}
