/* Padrão visual Allcance: tokens e componentes compartilhados com a ficha do Prev.
   Tudo fica sob .pa para não colidir com Bootstrap e o tema. */
.pa { --bg:#f9fafa; --surface:#ffffff; --surface-2:#eef1f5; --surface-3:#e7ebf1; --border:#ececec; --border-strong:#cdd4de; --text:#1d1d1d; --muted:#5c6775; --faint:#8a94a2; --accent:var(--pv-accent,#1c75da); --accent-weak:var(--pv-accent-weak,#e4eefb); --accent-ink:var(--pv-accent-ink,#124c8e); --ok:#15803d; --ok-weak:#e2f3e8; --warn:#b45309; --warn-weak:#f8ecdb; --crit:#be123c; --crit-weak:#fbe4ea; --jud:#7c3aed; --jud-weak:#efe8fd; --def:#0e7490; --def-weak:#dff2f6; --shadow:0 1px 2px rgba(20,28,44,.06),0 4px 16px rgba(20,28,44,.05); --radius:10px; --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,monospace; --sans:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
html[data-theme-mode="dark"] .pa { --bg:#0d131c; --surface:#141b25; --surface-2:#1a2330; --surface-3:#212c3b; --border:#263242; --border-strong:#324056; --text:#e7ecf3; --muted:#94a1b3; --faint:#6b7889; --accent:var(--pv-accent,#6ba5e7); --accent-weak:var(--pv-accent-weak,#162f4d); --accent-ink:var(--pv-accent-ink,#a4c8f0); --ok:#4ade80; --ok-weak:#16281e; --warn:#f5b160; --warn-weak:#2a2114; --crit:#fb7185; --crit-weak:#2c1620; --jud:#b191f7; --jud-weak:#211a37; --def:#4bc4d6; --def-weak:#10262b; --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25); }
.pa, .pa * { box-sizing:border-box; }
.pa { background:var(--bg); color:var(--text); font-family:var(--sans); font-size:13.5px; line-height:1.45;  }
.pa a { color:var(--accent); text-decoration:none; }
.pa .spacer { flex:1; }
.pa input, .pa select, .pa textarea { background:var(--surface); color:var(--text); border:1px solid var(--border-strong); border-radius:8px; font-family:inherit; font-size:13px; padding:8px 11px; width:100%; }
.pa input:focus, .pa select:focus, .pa textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-weak); }
.pa input[readonly] { background:var(--surface-2); color:var(--muted); }
.pa textarea { resize:vertical; min-height:70px; }
.pa .phead { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:16px 18px 0; margin-bottom:16px; }
.pa .phead-top { display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.pa .avatar { width:64px; height:64px; border-radius:12px; flex:none; background:var(--surface-3); display:grid; place-items:center; color:var(--faint); border:1px solid var(--border); font-weight:800; font-size:20px; letter-spacing:.5px; position:relative; }
.pa .avatar .cam { position:absolute; right:-6px; bottom:-6px; width:24px; height:24px; border-radius:50%; background:var(--accent); color:#fff; display:grid; place-items:center; border:2px solid var(--surface); cursor:pointer; }
.pa .avatar .cam svg { width:12px; height:12px; }
.pa .pnome { font-size:17px; font-weight:700; letter-spacing:-.2px; }
.pa .pcpf { font-family:var(--mono); font-size:12.5px; color:var(--muted); }
.pa .pmetaline { color:var(--muted); font-size:12.5px; margin-top:2px; }
.pa .chips { display:flex; gap:7px; flex-wrap:wrap; align-items:center; margin-bottom:6px; }
.pa .chip { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:999px; font-size:11.5px; font-weight:600; border:1px solid transparent; white-space:nowrap; }
.pa .chip svg { width:13px; height:13px; }
.pa .chip-ok { background:var(--ok-weak); color:var(--ok); }
.pa .chip-ativo { background:var(--accent-weak); color:var(--accent-ink); }
.pa .chip-warn { background:var(--warn-weak); color:var(--warn); }
.pa .chip-neutro { background:var(--surface-3); color:var(--muted); }
.pa .chip-crit { background:var(--crit-weak); color:var(--crit); }
.pa .phead-right { margin-left:auto; display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.pa .meta-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:2px 22px; margin:14px 0 0; }
.pa .meta { padding:4px 0; }
.pa .meta .k { font-size:10.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--faint); font-weight:700; }
.pa .meta .v { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.pa .meta .v.mono { font-family:var(--mono); }
.pa .tabs { display:flex; gap:2px; margin-top:14px; flex-wrap:wrap; }
.pa .tab { padding:10px 16px; font-size:13px; font-weight:600; color:var(--muted); cursor:pointer; border-bottom:2.5px solid transparent; border-radius:6px 6px 0 0; display:inline-flex; align-items:center; gap:7px; }
.pa .tab svg { width:15px; height:15px; }
.pa .tab:hover { color:var(--text); background:var(--surface-2); }
.pa .tab.active { color:var(--accent); border-bottom-color:var(--accent); }
.pa .tab .count { display:inline-block; margin-left:4px; background:var(--surface-3); color:var(--muted); border-radius:999px; padding:0 7px; font-size:11px; font-weight:700; }
.pa .btn { display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:8px; font-size:12.5px; font-weight:600; border:1px solid var(--border-strong); background:var(--surface); color:var(--text); cursor:pointer; transition:.12s; white-space:nowrap; font-family:inherit; }
.pa .btn svg { width:15px; height:15px; color:var(--muted); }
.pa .btn:hover { background:var(--surface-2); border-color:var(--faint); }
.pa .btn-primary { background:var(--accent); border-color:var(--accent); color:#fff; }
.pa .btn-primary svg { color:#fff; }
.pa .btn-primary:hover { background:var(--accent-ink); border-color:var(--accent-ink); color:#fff; }
.pa .btn-danger { background:transparent; border-color:var(--border-strong); color:var(--crit); }
.pa .btn-danger svg { color:var(--crit); }
.pa .btn-danger:hover { background:var(--crit-weak); border-color:var(--crit); }
.pa .btn-ghost { border-color:transparent; background:transparent; color:var(--muted); }
.pa .btn-ghost:hover { background:var(--surface-2); color:var(--text); }
.pa .btn-sm { padding:4px 9px; font-size:11.5px; }
.pa .btn-sm svg { width:13px; height:13px; }
.pa .btn-block { width:100%; justify-content:flex-start; }
.pa .btn[disabled] { opacity:.5; cursor:not-allowed; }
.pa .menuwrap { position:relative; }
.pa .menu { position:absolute; right:0; top:calc(100% + 6px); min-width:250px; background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:0 10px 34px rgba(10,16,26,.18); padding:5px; display:none; z-index:20; }
.pa .menu.open { display:block; }
.pa .menu button { display:flex; align-items:center; gap:9px; width:100%; text-align:left; padding:8px 10px; border:none; background:none; border-radius:7px; font:inherit; font-size:12.5px; color:var(--text); cursor:pointer; }
.pa .menu button:hover { background:var(--surface-2); }
.pa .menu button svg { width:15px; height:15px; color:var(--muted); flex:none; }
.pa .menu button .badge { margin-left:auto; background:var(--surface-3); color:var(--muted); border-radius:999px; padding:0 7px; font-size:11px; font-weight:700; }
.pa .menu .sep { height:1px; background:var(--border); margin:5px 4px; }
.pa .menu button.danger { color:var(--crit); }
.pa .menu button.danger svg { color:var(--crit); }
.pa .cols { display:grid; grid-template-columns:minmax(270px,23%) 1fr; gap:16px; align-items:start; }
@media (max-width:1100px) {
.pa .cols { grid-template-columns:1fr; }
}
.pa .xcard { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); margin-bottom:14px; }
.pa .xchead { display:flex; align-items:center; gap:10px; padding:13px 15px; border-bottom:1px solid var(--border); flex-wrap:wrap; }
.pa .xchead h2 { font-size:13px; margin:0; font-weight:700; display:inline-flex; align-items:center; gap:8px; }
.pa .xchead h2 svg { width:15px; height:15px; color:var(--muted); }
.pa .xchead .tools { margin-left:auto; display:flex; gap:6px; align-items:center; }
.pa .xcbody { padding:16px; }
.pa .xcbody.tight { padding:10px; }
.pa .card-ok { border-color:#bfe3cc; }
.pa .card-ok .xchead { background:var(--ok-weak); border-bottom-color:#bfe3cc; }
.pa .empty { padding:26px 20px; text-align:center; color:var(--faint); font-size:12.5px; }
.pa .fgrid { display:grid; grid-template-columns:repeat(12,1fr); gap:12px 14px; }
.pa .fld { display:flex; flex-direction:column; gap:4px; min-width:0; }
.pa .fld > span { font-size:10.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--faint); font-weight:700; }
.pa .fld .req { color:var(--crit); }
.pa .fld .hint { font-size:11px; color:var(--muted); text-transform:none; letter-spacing:0; font-weight:500; }
.pa .c1 { grid-column:span 1 }
.pa .c2 { grid-column:span 2 }
.pa .c3 { grid-column:span 3 }
.pa .c4 { grid-column:span 4 }
.pa .c5 { grid-column:span 5 }
.pa .c6 { grid-column:span 6 }
.pa .c7 { grid-column:span 7 }
.pa .c8 { grid-column:span 8 }
.pa .c9 { grid-column:span 9 }
.pa .c10 { grid-column:span 10 }
.pa .c12 { grid-column:span 12 }
@media (max-width:900px) {
.pa .fgrid { grid-template-columns:repeat(6,1fr) }
.pa .fgrid > * { grid-column:span 6 !important }
}
.pa .subhead { display:flex; align-items:center; gap:8px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; color:var(--faint); margin:6px 0 -2px; grid-column:span 12; }
.pa .subhead::after { content:""; height:1px; background:var(--border); flex:1; }
.pa .check { display:inline-flex; align-items:center; gap:7px; font-size:12.5px; padding:6px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface-2); cursor:pointer; }
.pa .check input { width:15px; height:15px; accent-color:var(--accent); }
.pa .checkrow { display:flex; flex-wrap:wrap; gap:8px; }
.pa .vinc { display:flex; align-items:center; gap:9px; padding:8px 10px; border:1px solid var(--border); border-radius:9px; margin-bottom:7px; cursor:pointer; background:var(--surface); }
.pa .vinc:hover { border-color:var(--faint); background:var(--surface-2); }
.pa .vinc.sel { border-color:var(--accent); background:var(--accent-weak); }
.pa .vinc .vi { width:28px; height:28px; border-radius:7px; flex:none; display:grid; place-items:center; background:var(--surface-3); color:var(--muted); }
.pa .vinc .vi svg { width:15px; height:15px; }
.pa .vinc.sel .vi { background:var(--accent); color:#fff; }
.pa .vinc .vt { min-width:0; flex:1; }
.pa .vinc .vt b { display:block; font-size:12.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pa .vinc .vt small { color:var(--muted); font-size:11px; font-family:var(--mono); }
.pa .filerow { display:flex; align-items:center; gap:9px; padding:7px 9px; border-top:1px dashed var(--border); font-size:12px; }
.pa .filerow:first-child { border-top:none; }
.pa .filerow:hover { background:var(--surface-2); }
.pa .fileic { width:26px; height:30px; flex:none; border-radius:4px; display:grid; place-items:center; font-size:7.5px; font-weight:800; background:var(--crit-weak); color:var(--crit); }
.pa .fileic.doc { background:var(--accent-weak); color:var(--accent-ink); }
.pa .filerow .name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pa .filerow .sz { font-family:var(--mono); font-size:10.5px; color:var(--faint); }
.pa .pane { display:none; }
.pa .pane.active { display:block; }
.pa .backdrop { position:fixed; inset:0; background:rgba(10,16,26,.55); display:none; z-index:60; }
.pa .backdrop.open { display:block; }
.pa .modal { position:fixed; inset:24px; z-index:61; display:none; }
.pa .modal.open { display:flex; }
.pa .modal-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:0 18px 60px rgba(10,16,26,.35); margin:auto; width:min(1380px,100%); max-height:100%; display:flex; flex-direction:column; overflow:hidden; }
.pa .mhead { padding:14px 16px 12px; border-bottom:1px solid var(--border); }
.pa .mhead-top { display:flex; align-items:center; gap:10px; }
.pa .mhead-top h2 { font-size:14.5px; margin:0; font-weight:700; display:inline-flex; align-items:center; gap:8px; }
.pa .mhead-top h2 svg { width:17px; height:17px; color:var(--accent); }
.pa .xclose { margin-left:auto; width:30px; height:30px; border-radius:8px; border:1px solid var(--border-strong); background:var(--surface-2); color:var(--muted); cursor:pointer; display:grid; place-items:center; }
.pa .xclose:hover { background:var(--surface-3); color:var(--text); }
.pa .xclose svg { width:14px; height:14px; }
.pa .mbody { padding:0; overflow:hidden; display:grid; grid-template-columns:minmax(360px,40%) 1fr; flex:1; min-height:0; }
@media (max-width:1000px) {
.pa .mbody { grid-template-columns:1fr; overflow:auto; }
}
.pa .mcol-l { border-right:1px solid var(--border); display:flex; flex-direction:column; min-height:0; }
.pa .mcol-r { display:flex; flex-direction:column; min-height:0; }
.pa .mcol-head { display:flex; align-items:center; gap:9px; padding:11px 14px; border-bottom:1px solid var(--border); background:var(--surface-2); }
.pa .mcol-head h3 { font-size:12.5px; margin:0; font-weight:700; display:inline-flex; align-items:center; gap:7px; }
.pa .mcol-head h3 svg { width:15px; height:15px; color:var(--muted); }
.pa .mcol-head .tools { margin-left:auto; display:flex; gap:6px; }
.pa .mcol-scroll { overflow:auto; padding:12px 14px; flex:1; min-height:0; }
.pa .mfoot { padding:11px 16px; border-top:1px solid var(--border); background:var(--surface-2); display:flex; gap:8px; align-items:center; }
.pa .pessoa-strip { display:flex; align-items:center; gap:11px; margin-top:11px; padding:9px 11px; background:var(--surface-2); border:1px solid var(--border); border-radius:9px; }
.pa .pessoa-strip .av { width:38px; height:38px; border-radius:50%; flex:none; background:var(--surface-3); display:grid; place-items:center; color:var(--faint); font-weight:800; font-size:13px; border:1px solid var(--border-strong); }
.pa .pessoa-strip .nm { font-weight:700; font-size:13px; }
.pa .pessoa-strip .cp { font-family:var(--mono); font-size:11.5px; color:var(--muted); }
.pa .pessoa-strip .selv { margin-left:auto; display:flex; align-items:center; gap:8px; }
.pa .pessoa-strip .selv span { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--faint); white-space:nowrap; }
.pa .pessoa-strip .selv select { width:auto; min-width:190px; padding:5px 9px; font-size:12px; }
.pa .tempos { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-top:11px; }
@media (max-width:820px) {
.pa .tempos { grid-template-columns:repeat(2,1fr); }
}
.pa .tbox { border:1px solid var(--border); border-radius:9px; padding:9px 11px; background:var(--surface); }
.pa .tbox .tk { font-size:10px; text-transform:uppercase; letter-spacing:.5px; font-weight:800; color:var(--faint); display:flex; align-items:center; gap:6px; }
.pa .tbox .tk svg { width:13px; height:13px; }
.pa .tbox .tv { font-size:17px; font-weight:800; letter-spacing:-.3px; font-variant-numeric:tabular-nums; margin-top:3px; }
.pa .tbox .td { font-size:11px; color:var(--muted); font-family:var(--mono); }
.pa .tbox.b-accent { border-left:3px solid var(--accent); }
.pa .tbox.b-accent .tv { color:var(--accent); }
.pa .tbox.b-ok { border-left:3px solid var(--ok); }
.pa .tbox.b-ok .tv { color:var(--ok); }
.pa .tbox.b-def { border-left:3px solid var(--def); }
.pa .tbox.b-def .tv { color:var(--def); }
.pa .tbox.b-warn { border-left:3px solid var(--warn); }
.pa .tbox.b-warn .tv { color:var(--warn); }
.pa .nota { font-size:11.5px; color:var(--muted); margin-top:9px; }
.pa .nota strong { color:var(--text); }
.pa .porcargo { margin-top:9px; padding:9px 11px; border:1px solid var(--border); border-radius:9px; background:var(--surface-2); }
.pa .porcargo .pt { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:var(--faint); display:flex; align-items:center; gap:6px; }
.pa .porcargo .pt svg { width:13px; height:13px; }
.pa .pcrow { display:flex; align-items:center; gap:9px; font-size:12.5px; padding:5px 0; border-bottom:1px dashed var(--border); }
.pa .pcrow:last-of-type { border-bottom:none; }
.pa .pcrow .pcn { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pa .pcrow .pcv { font-family:var(--mono); font-weight:700; }
.pa .tl { position:relative; padding-left:26px; }
.pa .tl::before { content:""; position:absolute; left:9px; top:4px; bottom:4px; width:2px; background:var(--border-strong); }
.pa .tlitem { position:relative; margin-bottom:9px; border:1px solid var(--border); border-radius:9px; background:var(--surface); padding:9px 11px; cursor:pointer; transition:.12s; }
.pa .tlitem::before { content:""; position:absolute; left:-21px; top:14px; width:11px; height:11px; border-radius:50%; background:var(--surface); border:2px solid var(--border-strong); }
.pa .tlitem:hover { border-color:var(--faint); background:var(--surface-2); }
.pa .tlitem.sel { border-color:var(--accent); background:var(--accent-weak); }
.pa .tlitem.sel::before { background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-weak); }
.pa .tlitem.ok::before { background:var(--ok); border-color:var(--ok); }
.pa .tlitem .tlt { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.pa .tlitem .tlt b { font-size:12.5px; }
.pa .tlitem .tld { font-size:11.5px; color:var(--muted); margin-top:2px; font-family:var(--mono); }
.pa .tlitem .tlm { font-size:11.5px; color:var(--muted); margin-top:3px; }
.pa .tag { font-size:10px; font-weight:800; letter-spacing:.4px; padding:2px 8px; border-radius:999px; text-transform:uppercase; }
.pa .tag-rpps { background:var(--accent-weak); color:var(--accent-ink); }
.pa .tag-rgps { background:var(--def-weak); color:var(--def); }
.pa .tag-aver { background:var(--jud-weak); color:var(--jud); }
.pa .tag-afast { background:var(--warn-weak); color:var(--warn); }
.pa .tag-conta { background:var(--ok-weak); color:var(--ok); }
.pa .tag-nao { background:var(--surface-3); color:var(--muted); }
.pa .subtabs { display:flex; gap:4px; padding:9px 12px 0; border-bottom:1px solid var(--border); background:var(--surface); }
.pa .subtab { padding:7px 13px; font-size:12.5px; font-weight:600; color:var(--muted); cursor:pointer; border-radius:7px 7px 0 0; border-bottom:2px solid transparent; display:inline-flex; align-items:center; gap:6px; }
.pa .subtab svg { width:14px; height:14px; }
.pa .subtab:hover { color:var(--text); background:var(--surface-2); }
.pa .subtab.active { color:var(--accent); border-bottom-color:var(--accent); background:var(--accent-weak); }
.pa table.grid { display:table; width:100%; border-collapse:collapse; font-size:12px; } /* .grid do tema é display:grid */
.pa table.grid th { text-align:left; padding:8px 10px; background:var(--surface-2); color:var(--muted); font-size:10.5px; text-transform:uppercase; letter-spacing:.4px; font-weight:700; border-bottom:1px solid var(--border); white-space:nowrap; }
.pa table.grid td { padding:8px 10px; border-bottom:1px solid var(--border); vertical-align:middle; }
.pa table.grid tr:hover td { background:var(--surface-2); }
.pa .num { font-family:var(--mono); text-align:right; font-variant-numeric:tabular-nums; }
/* Cabeçalho de coluna numérica alinha com os valores (o `th` geral é à esquerda). */
.pa table.grid th.num { text-align:right; }
.pa .tablewrap { overflow-x:auto; border:1px solid var(--border); border-radius:9px; }
.pa .valorbox { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.pa .valorbox .cur { font-size:14px; color:var(--muted); font-weight:600; }
.pa .valorbox .amt { font-size:27px; font-weight:800; letter-spacing:-.6px; font-variant-numeric:tabular-nums; line-height:1; }
.pa .valorbox .per { font-size:12px; color:var(--muted); }
.pa .kvlist { display:grid; gap:0; }
.pa .kvrow { display:flex; align-items:baseline; gap:10px; padding:7px 0; border-bottom:1px dashed var(--border); font-size:12.5px; }
.pa .kvrow:last-child { border-bottom:none; }
.pa .kvrow .kvk { color:var(--muted); min-width:132px; flex:none; }
.pa .kvrow .kvv { font-weight:600; overflow-wrap:anywhere; }
.pa .kvrow .kvv.mono { font-family:var(--mono); font-weight:700; }
.pa .aviso { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border-radius:9px; font-size:12.5px; border:1px solid; }
.pa .aviso svg { width:17px; height:17px; flex:none; margin-top:1px; }
.pa .aviso-ok { background:var(--ok-weak); border-color:#bfe3cc; color:var(--ok); }
.pa .aviso-warn { background:var(--warn-weak); border-color:#e8d3ab; color:var(--warn); }
.pa .aviso-crit { background:var(--crit-weak); border-color:#f0c2ce; color:var(--crit); }
.pa .aviso b { display:block; color:inherit; }
.pa .aviso .txt { color:var(--text); font-weight:500; }
.pa .rateio { display:flex; height:12px; border-radius:999px; overflow:hidden; border:1px solid var(--border); background:var(--surface-2); }
.pa .rateio i { display:block; height:100%; }
.pa .rateio i.c1 { background:var(--accent); }
.pa .rateio i.c2 { background:var(--def); }
.pa .rateio i.c3 { background:var(--jud); }
.pa .legenda { display:flex; gap:14px; flex-wrap:wrap; margin-top:8px; font-size:11.5px; color:var(--muted); }
.pa .legenda span { display:inline-flex; align-items:center; gap:6px; }
.pa .legenda i { width:9px; height:9px; border-radius:3px; display:inline-block; }
.pa .legenda i.c1 { background:var(--accent); }
.pa .legenda i.c2 { background:var(--def); }
.pa .legenda i.c3 { background:var(--jud); }
.pa .readonly-note { display:flex; align-items:center; gap:9px; font-size:12px; color:var(--muted); background:var(--surface-2); border:1px dashed var(--border-strong); border-radius:9px; padding:9px 12px; margin-bottom:12px; }
.pa .readonly-note svg { width:15px; height:15px; flex:none; }
.pa .cols.full { grid-template-columns:1fr; }
.pa .cols.full > .side { display:none; }
.pa .vf-head { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:14px 16px; margin-bottom:14px; }
.pa .vf-cols { display:grid; grid-template-columns:minmax(320px,34%) 1fr; gap:14px; align-items:start; }
@media (max-width:1000px) {
.pa .vf-cols { grid-template-columns:1fr; }
}
.pa .vf-scroll { max-height:620px; overflow:auto; padding:12px 14px; }
.pa .vf-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); }
.pa .vf-card .xchead { border-bottom:1px solid var(--border); }
.pa .vf-foot { display:flex; gap:8px; align-items:center; padding:11px 14px; border-top:1px solid var(--border); background:var(--surface-2); border-radius:0 0 var(--radius) var(--radius); }
.pa .vf-form { padding:14px; }
.pa .vf-cols { align-items:start; }
.pa .vf-cols > .vf-col-dir { display:grid; gap:14px; align-items:start; }
.pa .tempos.compacta { grid-template-columns:repeat(4,1fr); gap:10px; margin-top:0; }
@media (max-width:1250px) {
.pa .tempos.compacta { grid-template-columns:repeat(2,1fr); }
}
.pa .filtro-cargo { display:flex; align-items:center; gap:7px; }
.pa .filtro-cargo span { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--faint); white-space:nowrap; }
.pa .filtro-cargo select { width:auto; min-width:170px; padding:4px 8px; font-size:12px; }
.pa .porcargo.inline { margin-top:0; display:flex; flex-wrap:wrap; gap:6px 22px; align-items:baseline; }
.pa .porcargo.inline .pt { margin-right:4px; }
.pa .porcargo.inline .par { font-size:12.5px; display:inline-flex; gap:8px; align-items:baseline; }
.pa .porcargo.inline .par b { font-family:var(--mono); }
.pa .porcargo.inline .nota { width:100%; margin-top:2px; }
.pa .mono { font-family:var(--mono); }
.pa .pos { color:var(--ok); }
.pa .neg { color:var(--crit); }
.pa .delta { font-family:var(--mono); font-size:11px; font-weight:700; padding:1px 7px; border-radius:999px; white-space:nowrap; }
.pa .delta.up { background:var(--ok-weak); color:var(--ok); }
.pa .delta.down { background:var(--crit-weak); color:var(--crit); }
.pa .delta.eq { background:var(--surface-3); color:var(--faint); }
.pa .tag-cad { background:var(--accent-weak); color:var(--accent-ink); }
.pa .tag-lanc { background:var(--jud-weak); color:var(--jud); }
.pa .tag-parc { background:var(--def-weak); color:var(--def); }
.pa .tag-calc { background:var(--surface-3); color:var(--muted); }
.pa .trilha { display:flex; align-items:center; gap:0; margin:14px 0 2px; flex-wrap:wrap; }
.pa .passo { display:flex; align-items:center; gap:8px; padding:7px 12px 7px 9px; border:1px solid var(--border); background:var(--surface); font-size:12px; font-weight:600; color:var(--muted); }
.pa .passo:first-child { border-radius:9px 0 0 9px; }
.pa .passo:last-child { border-radius:0 9px 9px 0; }
.pa .passo + .passo { border-left:none; }
.pa .passo .bola { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-size:11px; font-weight:800; background:var(--surface-3); color:var(--muted); }
.pa .passo.feito { color:var(--ok); }
.pa .passo.feito .bola { background:var(--ok); color:#fff; }
.pa .passo.atual { color:var(--accent); background:var(--accent-weak); }
.pa .passo.atual .bola { background:var(--accent); color:#fff; }
.pa .passo small { font-weight:500; color:var(--faint); margin-left:2px; }
.pa .passo.trava small { color:var(--crit); font-weight:700; }
.pa .pend { display:flex; gap:7px; flex-wrap:wrap; margin:0 0 12px; }
.pa .pchip { display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:9px; border:1px solid var(--border); background:var(--surface); font-size:12px; font-weight:600; cursor:pointer; }
.pa .pchip b { font-family:var(--mono); }
.pa .pchip svg { width:14px; height:14px; }
.pa .pchip:hover { border-color:var(--faint); }
.pa .pchip.on { border-color:var(--accent); background:var(--accent-weak); color:var(--accent-ink); }
.pa .pchip.crit { color:var(--crit); }
.pa .pchip.crit.on { background:var(--crit-weak); border-color:var(--crit); }
.pa .pchip.warn { color:var(--warn); }
.pa .pchip.warn.on { background:var(--warn-weak); border-color:var(--warn); }
.pa .cmd { display:flex; align-items:center; gap:10px; background:var(--surface); border:1px solid var(--border-strong); border-radius:10px; padding:8px 12px; margin-bottom:12px; box-shadow:var(--shadow); }
.pa .cmd svg { width:16px; height:16px; color:var(--accent); flex:none; }
.pa .cmd input { border:none; padding:4px 0; box-shadow:none !important; background:transparent; }
.pa .cmd kbd { font-family:var(--mono); font-size:10.5px; border:1px solid var(--border-strong); border-bottom-width:2px; border-radius:5px; padding:1px 6px; color:var(--muted); background:var(--surface-2); white-space:nowrap; }
.pa .sugest { display:none; margin:-6px 0 12px; background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); padding:10px 12px; font-size:12.5px; }
.pa .sugest.open { display:block; }
.pa .sugest .linha { display:flex; gap:10px; align-items:center; padding:6px 0; border-bottom:1px dashed var(--border); }
.pa .sugest .linha:last-child { border:none; }
.pa .mesa { display:grid; grid-template-columns:minmax(330px,38%) 1fr; gap:14px; align-items:start; }
@media (max-width:1100px) {
.pa .mesa { grid-template-columns:1fr; }
}
.pa .lista .linha-b { display:grid; grid-template-columns:18px 1fr auto; gap:10px; align-items:center; padding:9px 12px; border-top:1px solid var(--border); cursor:pointer; }
.pa .lista .linha-b:first-child { border-top:none; }
.pa .lista .linha-b:hover { background:var(--surface-2); }
.pa .lista .linha-b.sel { background:var(--accent-weak); box-shadow:inset 3px 0 0 var(--accent); }
.pa .lista .linha-b input { width:15px; height:15px; accent-color:var(--accent); }
.pa .lista .nm { font-weight:700; font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pa .lista .sub { font-size:11px; color:var(--muted); font-family:var(--mono); }
.pa .lista .dir { text-align:right; }
.pa .lista .liq { font-family:var(--mono); font-weight:700; font-size:12.5px; }
.pa .flags { display:flex; gap:4px; justify-content:flex-end; margin-top:2px; }
.pa .flag { width:8px; height:8px; border-radius:50%; }
.pa .flag.c { background:var(--crit); }
.pa .flag.w { background:var(--warn); }
.pa .flag.n { background:var(--accent); }
.pa .lista .rodape { padding:9px 12px; border-top:1px solid var(--border); font-size:11.5px; color:var(--muted); display:flex; gap:8px; align-items:center; }
.pa .hol-topo { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.pa .hol-topo .av { width:42px; height:42px; border-radius:10px; background:var(--surface-3); display:grid; place-items:center; font-weight:800; color:var(--muted); }
.pa .hol-topo .nm { font-weight:700; font-size:14px; }
.pa .hol-topo .cp { font-size:11.5px; color:var(--muted); font-family:var(--mono); }
.pa .hol-tot { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-top:12px; }
@media (max-width:820px) {
.pa .hol-tot { grid-template-columns:repeat(2,1fr); }
}
.pa table.grid tr.add td { background:var(--surface-2); }
.pa table.grid tr.add input, .pa table.grid tr.add select { padding:5px 8px; font-size:12px; }
.pa table.grid tr.mudou td { background:#fffbea; }
html[data-theme-mode="dark"] .pa table.grid tr.mudou td { background:#2a2414; }
.pa .acoes-linha { display:flex; gap:4px; justify-content:flex-end; opacity:.35; }
.pa table.grid tr:hover .acoes-linha { opacity:1; }
.pa .porque { margin-top:12px; }
.pa .porque .item { display:flex; gap:9px; align-items:flex-start; padding:7px 0; border-bottom:1px dashed var(--border); font-size:12.5px; }
.pa .porque .item:last-child { border:none; }
.pa .porque .item svg { width:15px; height:15px; color:var(--accent); flex:none; margin-top:2px; }
.pa .lotebar { position:fixed; left:50%; transform:translateX(-50%); bottom:18px; z-index:50; display:none; align-items:center; gap:10px; background:var(--text); color:#fff; padding:9px 12px 9px 16px; border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.3); font-size:12.5px; }
.pa .lotebar.open { display:flex; }
.pa .lotebar .btn { background:transparent; color:#fff; border-color:rgba(255,255,255,.35); }
.pa .lotebar .btn svg { color:#fff; }
.pa .lotebar .btn-primary { background:var(--accent); border-color:var(--accent); }
.pa .gaveta { position:fixed; top:0; right:0; bottom:0; width:min(460px,100%); background:var(--surface); border-left:1px solid var(--border); box-shadow:-12px 0 40px rgba(10,16,26,.2); z-index:61; display:none; flex-direction:column; }
.pa .gaveta.open { display:flex; }
.pa .gaveta .gh { padding:14px 16px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:10px; }
.pa .gaveta .gh h2 { margin:0; font-size:14.5px; }
.pa .gaveta .gb { padding:16px; overflow:auto; flex:1; display:flex; flex-direction:column; gap:12px; }
.pa .gaveta .gf { padding:11px 16px; border-top:1px solid var(--border); background:var(--surface-2); display:flex; gap:8px; justify-content:flex-end; }
.pa .impacto { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.pa .barras { display:flex; align-items:flex-end; gap:4px; height:64px; margin-top:10px; }
.pa .barras span { flex:1; background:var(--accent-weak); border-radius:3px 3px 0 0; position:relative; }
.pa .barras span.cur { background:var(--accent); }
.pa .barras-leg { display:flex; justify-content:space-between; font-size:10px; color:var(--faint); font-family:var(--mono); margin-top:3px; }
.pa .margem { height:8px; background:var(--surface-3); border-radius:999px; overflow:hidden; margin:8px 0 4px; }
.pa .margem i { display:block; height:100%; background:var(--warn); }
.pa .prog { height:6px; background:var(--surface-3); border-radius:999px; overflow:hidden; width:110px; display:inline-block; vertical-align:middle; }
.pa .prog i { display:block; height:100%; background:var(--def); }
@media (max-width:900px) {
}

/* Ícones de fonte (Remix/Tabler) nos mesmos lugares em que os protótipos usam SVG. */
.pa .btn i, .pa .tab i, .pa .chip i, .pa .pchip i, .pa .xchead h2 i, .pa .menu button i, .pa .aviso i, .pa .readonly-note i { font-size:15px; line-height:1; color:inherit; }
.pa .btn i { color:var(--muted); } .pa .btn-primary i { color:#fff; } .pa .btn-danger i { color:var(--crit); }
.pa .xchead h2 i { color:var(--muted); }
.pa .aviso i { font-size:17px; margin-top:1px; }
