/* SRP Auditoria de Fichas — identidade visual SRP, escopada em #srp-af-root */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Oswald:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap');

#srp-af-root{
  --verde:#1e5c30; --verde-esc:#164423; --verde-cl:#2f7a44;
  --ouro:#c8a84b; --ouro-esc:#a8863a;
  --creme:#f5efe3; --creme-2:#efe7d6; --papel:#fbf7ee;
  --grafite:#0B1612; --tinta:#22302a; --musgo:#5d6b60;
  --alerta:#a3352b; --alerta-bg:#f6e4df; --atencao:#9a6b12; --atencao-bg:#f6ecd4;
  --linha:#e2d7bf; --sombra:0 1px 0 #fff inset,0 8px 24px -18px rgba(11,22,18,.5);
  font-family:"DM Sans",system-ui,sans-serif; color:var(--tinta); font-size:15px; line-height:1.5;
  width:100%;
}
#srp-af-root *{box-sizing:border-box}
#srp-af-root h1,#srp-af-root h2,#srp-af-root h3{font-family:"Playfair Display",serif; color:var(--grafite); margin:0; font-weight:700}
#srp-af-root .mono{font-family:"JetBrains Mono",monospace; font-variant-numeric:tabular-nums}
#srp-af-root button{font-family:inherit; cursor:pointer}
#srp-af-root a{color:inherit}
#srp-af-root .hidden{display:none !important}

#srp-af-root .gate{min-height:100vh; min-height:100dvh; display:grid; place-items:center; padding:40px 16px;
  background:radial-gradient(1200px 400px at 50% -160px,#fffdf8 0,transparent 70%),var(--creme)}
#srp-af-root .gate-card{width:min(420px,100%); background:var(--papel); border:1px solid var(--linha); border-top:4px solid var(--verde);
  border-radius:4px; box-shadow:var(--sombra); padding:40px 34px 32px; text-align:center}
#srp-af-root .brasao{width:58px;height:58px;margin:0 auto 18px; border-radius:50%; display:grid;place-items:center; color:var(--creme);
  background:radial-gradient(120% 120% at 30% 20%,var(--verde-cl),var(--verde) 55%,var(--verde-esc));
  box-shadow:0 0 0 3px var(--papel),0 0 0 4px var(--ouro); font-family:"Playfair Display",serif; font-weight:800; font-size:24px}
#srp-af-root .kicker{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.22em; font-size:11px; color:var(--ouro-esc); font-weight:500}
#srp-af-root .gate-card h1{font-size:23px; margin:6px 0 4px}
#srp-af-root .gate-card p.sub{color:var(--musgo); font-size:13.5px; margin:0 0 22px}
#srp-af-root .pin-wrap{text-align:left; margin-bottom:14px}
#srp-af-root .pin-wrap label{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.12em; font-size:11px; display:block; margin:0 0 6px}
#srp-af-root .pin{width:100%; padding:13px 15px; border:1px solid var(--linha); border-radius:3px; background:#fff;
  font-family:"JetBrains Mono",monospace; font-size:20px; letter-spacing:.5em; text-align:center; color:var(--grafite)}
#srp-af-root .pin:focus{outline:none; border-color:var(--verde); box-shadow:0 0 0 3px rgba(30,92,48,.15)}
#srp-af-root .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:3px;
  padding:12px 18px; font-weight:600; font-size:14.5px; transition:filter .12s,transform .02s}
#srp-af-root .btn:active{transform:translateY(1px)}
#srp-af-root .btn-verde{background:var(--verde); color:#fdfaf2} #srp-af-root .btn-verde:hover{filter:brightness(1.07)}
#srp-af-root .btn-ouro{background:var(--ouro); color:#2a2410; border-color:var(--ouro-esc)} #srp-af-root .btn-ouro:hover{filter:brightness(1.05)}
#srp-af-root .btn-ghost{background:transparent; border-color:var(--linha); color:var(--tinta)} #srp-af-root .btn-ghost:hover{background:var(--creme-2)}
#srp-af-root .gate .btn-verde{width:100%}
#srp-af-root .gate-err{color:var(--alerta); font-size:13px; min-height:18px; margin:10px 0 0; font-weight:500}
#srp-af-root .gate-note{margin-top:20px; padding-top:16px; border-top:1px dashed var(--linha); color:var(--musgo); font-size:11.5px; line-height:1.45}

#srp-af-root .topbar{background:linear-gradient(180deg,var(--verde) 0,var(--verde-esc) 130%); border-bottom:3px solid var(--ouro); color:#f3ead3}
#srp-af-root .topbar .in{max-width:1440px; margin:0 auto; padding:12px 20px; display:flex; align-items:center; gap:14px; flex-wrap:wrap}
#srp-af-root .tb-brasao{width:38px;height:38px;border-radius:50%; display:grid;place-items:center; background:rgba(255,255,255,.08);
  border:1px solid rgba(200,168,75,.6); color:#f3ead3; font-family:"Playfair Display",serif; font-weight:800; font-size:17px; flex:none}
#srp-af-root .tb-brand{line-height:1.05}
#srp-af-root .tb-brand .org{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.14em; font-size:12px; color:#e9dcb6}
#srp-af-root .tb-brand .app{font-family:"Playfair Display",serif; font-size:16px; color:#fff; font-weight:700}
#srp-af-root .tb-spacer{flex:1}
#srp-af-root .tb-actions{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
#srp-af-root .tb-actions .btn{padding:8px 13px; font-size:13px}
#srp-af-root .tb-ghost{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); color:#f3ead3} #srp-af-root .tb-ghost:hover{background:rgba(255,255,255,.12)}
#srp-af-root #srpaf-app{min-height:100vh; min-height:100dvh;
  background:radial-gradient(1200px 400px at 50% -160px,#fffdf8 0,transparent 70%),var(--creme)}
#srp-af-root .wrap{max-width:1440px; margin:0 auto; padding:22px 20px 40px}

#srp-af-root .filebar{display:flex; align-items:center; gap:12px; flex-wrap:wrap; background:var(--papel); border:1px solid var(--linha); border-radius:4px; padding:11px 14px; margin-bottom:18px}
#srp-af-root .filebar .fname{font-family:"JetBrains Mono",monospace; font-size:13px; color:var(--grafite)}
#srp-af-root .filebar .dot{width:8px;height:8px;border-radius:50%;background:var(--verde-cl); box-shadow:0 0 0 3px rgba(47,122,68,.18)}
#srp-af-root .filebar small{color:var(--musgo)}

#srp-af-root .vswitch{display:inline-flex; background:var(--creme-2); border:1px solid var(--linha); border-radius:5px; padding:3px; margin-bottom:18px}
#srp-af-root .vswitch button{border:0; background:transparent; padding:9px 16px; border-radius:3px; font-weight:600; font-size:13.5px; color:var(--tinta); font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em}
#srp-af-root .vswitch button[aria-selected="true"]{background:var(--verde); color:#f3ead3}

#srp-af-root .dropzone{border:2px dashed var(--ouro); background:var(--papel); border-radius:6px; padding:40px 20px; text-align:center; margin-bottom:18px}
#srp-af-root .dropzone h3{font-size:18px; margin-bottom:6px}
#srp-af-root .dropzone p{color:var(--musgo); font-size:13.5px; margin:0 0 16px}

#srp-af-root .ledger{background:var(--papel); border:1px solid var(--linha); border-left:3px solid var(--ouro); border-radius:4px; box-shadow:var(--sombra); margin-bottom:22px; overflow:hidden}
#srp-af-root .ledger h2{font-size:17px; padding:14px 18px 0}
#srp-af-root .ledger .cap{padding:0 18px 12px; color:var(--musgo); font-size:12.5px}
#srp-af-root .figs{display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid var(--linha)}
#srp-af-root .fig{padding:16px 16px 15px; border-right:1px solid var(--linha)}
#srp-af-root .fig:last-child{border-right:0}
#srp-af-root .fig .n{font-family:"Playfair Display",serif; font-weight:800; font-size:28px; color:var(--verde); line-height:1}
#srp-af-root .fig.warn .n{color:var(--atencao)} #srp-af-root .fig.bad .n{color:var(--alerta)}
#srp-af-root .fig .l{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:10.5px; color:var(--tinta); margin-top:7px; line-height:1.25}
#srp-af-root .fig .l span{color:var(--musgo); text-transform:none; letter-spacing:0; font-family:"DM Sans",sans-serif; display:block; font-size:10.5px}
@media(max-width:900px){#srp-af-root .figs{grid-template-columns:repeat(3,1fr)} #srp-af-root .fig:nth-child(3n){border-right:0}}
@media(max-width:520px){#srp-af-root .figs{grid-template-columns:repeat(2,1fr)}}

#srp-af-root .toolbar{display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:14px}
#srp-af-root .search{flex:1; min-width:220px; position:relative}
#srp-af-root .search input{width:100%; padding:11px 13px 11px 38px; border:1px solid var(--linha); border-radius:3px; background:#fff; font-size:14px; color:var(--grafite)}
#srp-af-root .search input:focus{outline:none; border-color:var(--verde); box-shadow:0 0 0 3px rgba(30,92,48,.13)}
#srp-af-root .search svg{position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--musgo)}
#srp-af-root .chips{display:flex; gap:7px; flex-wrap:wrap}
#srp-af-root .chip{border:1px solid var(--linha); background:var(--papel); color:var(--tinta); padding:7px 12px; border-radius:999px; font-size:12.5px; font-weight:500; display:inline-flex; gap:7px; align-items:center}
#srp-af-root .chip b{font-family:"JetBrains Mono",monospace; font-weight:600; color:var(--musgo); font-size:11.5px}
#srp-af-root .chip[aria-pressed="true"]{background:var(--verde); border-color:var(--verde); color:#f3ead3}
#srp-af-root .chip[aria-pressed="true"] b{color:#e9dcb6}

#srp-af-root .fichas{display:flex; flex-direction:column; gap:11px}
#srp-af-root .ficha{background:var(--papel); border:1px solid var(--linha); border-left:4px solid var(--verde); border-radius:4px; box-shadow:var(--sombra); overflow:hidden}
#srp-af-root .ficha.rev{border-left-color:var(--verde-cl); opacity:.72}
#srp-af-root .ficha.flag-bad{border-left-color:var(--alerta)} #srp-af-root .ficha.flag-warn{border-left-color:var(--atencao)}
#srp-af-root .fh{display:grid; grid-template-columns:96px minmax(180px,1.5fr) minmax(120px,1fr) minmax(120px,1fr) auto; gap:14px; align-items:center; padding:13px 16px}
@media(max-width:820px){#srp-af-root .fh{grid-template-columns:1fr auto; row-gap:8px}}
#srp-af-root .fid{font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--musgo)}
#srp-af-root .fid b{display:block; color:var(--grafite); font-size:15px}
#srp-af-root .fnome{font-family:"Playfair Display",serif; font-weight:700; font-size:17px; color:var(--grafite)}
#srp-af-root .fmeta{color:var(--musgo); font-size:12.5px; margin-top:2px}
#srp-af-root .fcol .k{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:9.5px; color:var(--musgo)}
#srp-af-root .fcol .v{font-family:"JetBrains Mono",monospace; font-size:13.5px; color:var(--grafite); margin-top:1px}
#srp-af-root .uf{font-family:"DM Sans"; font-size:11px; color:var(--musgo); margin-left:6px}
#srp-af-root .mark{background:linear-gradient(transparent 55%,#f4dca0 55%); padding:0 1px; border-radius:1px}
#srp-af-root .fh .acts{display:flex; gap:7px; justify-self:end; align-items:center}
#srp-af-root .wa{width:34px;height:34px;border-radius:50%; border:1px solid var(--linha); background:#fff; display:grid;place-items:center; color:var(--verde-cl)}
#srp-af-root .wa:hover{background:var(--creme-2); border-color:var(--verde-cl)}
#srp-af-root .btn-sm{padding:8px 12px; font-size:13px; border-radius:3px}
#srp-af-root .tags{display:flex; gap:6px; flex-wrap:wrap; padding:0 16px 12px; margin-top:-2px}
#srp-af-root .tag{font-size:11px; font-weight:600; padding:3px 9px; border-radius:3px; display:inline-flex; gap:5px; align-items:center}
#srp-af-root .tag::before{content:""; width:6px;height:6px;border-radius:50%}
#srp-af-root .tag.warn{background:var(--atencao-bg); color:#7a5410} #srp-af-root .tag.warn::before{background:var(--atencao)}
#srp-af-root .tag.bad{background:var(--alerta-bg); color:#8a2a22} #srp-af-root .tag.bad::before{background:var(--alerta)}
#srp-af-root .tag.info{background:#e7eee8; color:#2b5138} #srp-af-root .tag.info::before{background:var(--verde-cl)}
#srp-af-root .tag.ok{background:#e7eee8; color:#2b5138} #srp-af-root .tag.ok::before{background:var(--verde-cl)}
#srp-af-root .editor{border-top:1px dashed var(--linha); background:var(--creme-2); padding:16px; display:none}
#srp-af-root .ficha.open .editor{display:block}
#srp-af-root .egrid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px 16px}
@media(max-width:700px){#srp-af-root .egrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){#srp-af-root .egrid{grid-template-columns:1fr}}
#srp-af-root .field label{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:10px; color:var(--tinta); display:flex; gap:6px; align-items:center; margin-bottom:5px}
#srp-af-root .field .badge-q{background:var(--atencao); color:#fff; border-radius:2px; font-size:9px; padding:1px 5px}
#srp-af-root .field input,#srp-af-root .field select{width:100%; padding:9px 11px; border:1px solid var(--linha); border-radius:3px; background:#fff; font-size:14px; color:var(--grafite)}
#srp-af-root .field input.q{border-color:var(--atencao); background:#fffdf6}
#srp-af-root .field input:focus,#srp-af-root .field select:focus{outline:none; border-color:var(--verde); box-shadow:0 0 0 3px rgba(30,92,48,.13)}
#srp-af-root .field .hint{font-size:11px; color:var(--musgo); margin-top:4px}
#srp-af-root .erow{display:flex; gap:10px; align-items:center; margin-top:15px; flex-wrap:wrap}
#srp-af-root .erow .sp{flex:1}
#srp-af-root .empty{padding:34px; text-align:center; color:var(--musgo); background:var(--papel); border:1px dashed var(--linha); border-radius:4px}

#srp-af-root .ftabs{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px}
#srp-af-root .ftab{border:1px solid var(--linha); background:var(--papel); padding:9px 14px; border-radius:3px; font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:12px; color:var(--tinta); display:inline-flex; gap:8px; align-items:center}
#srp-af-root .ftab b{font-family:"JetBrains Mono",monospace; font-weight:600; font-size:11px; color:var(--alerta)}
#srp-af-root .ftab[aria-selected="true"]{background:var(--verde); border-color:var(--verde); color:#f3ead3}
#srp-af-root .ftab[aria-selected="true"] b{color:#f0c98a}
#srp-af-root .panelrow{display:grid; grid-template-columns:1.3fr .9fr; gap:18px}
@media(max-width:860px){#srp-af-root .panelrow{grid-template-columns:1fr}}
#srp-af-root .card{background:var(--papel); border:1px solid var(--linha); border-radius:4px; box-shadow:var(--sombra); overflow:hidden}
#srp-af-root .card > h3{font-size:15px; font-family:"Playfair Display",serif; padding:14px 16px 2px}
#srp-af-root .card > .cap{padding:0 16px 12px; color:var(--musgo); font-size:12px}
#srp-af-root .vtable{width:100%; border-collapse:collapse; font-size:13.5px}
#srp-af-root .vtable th{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:10px; color:var(--musgo); text-align:left; padding:8px 16px; border-top:1px solid var(--linha); border-bottom:1px solid var(--linha); background:var(--creme-2)}
#srp-af-root .vtable td{padding:9px 16px; border-bottom:1px solid var(--linha)}
#srp-af-root .vtable .cnt{font-family:"JetBrains Mono",monospace; text-align:right; color:var(--grafite); width:70px}
#srp-af-root .vtable .val{font-weight:600; color:var(--grafite)}
#srp-af-root .vtable .val.vazio{color:var(--atencao); font-style:italic}
#srp-af-root .vtable .mrg{display:flex; gap:6px; align-items:center}
#srp-af-root .vtable .mrg input,#srp-af-root .vtable .mrg select{padding:6px 8px; border:1px solid var(--linha); border-radius:3px; font-size:12.5px; background:#fff; min-width:130px}
#srp-af-root .vtable .mrg button{border:1px solid var(--linha); background:var(--creme-2); border-radius:3px; padding:6px 9px; font-size:11.5px; font-weight:600; color:var(--tinta); font-family:"Oswald",sans-serif}
#srp-af-root .vscroll{max-height:420px; overflow:auto}
#srp-af-root .apply{padding:16px; display:flex; flex-direction:column; gap:13px}
#srp-af-root .apply .lab{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.07em; font-size:10.5px; color:var(--musgo); margin-bottom:5px}
#srp-af-root .apply select,#srp-af-root .apply input{width:100%; padding:10px 11px; border:1px solid var(--linha); border-radius:3px; background:#fff; font-size:14px; color:var(--grafite)}
#srp-af-root .apply .count-pill{display:inline-block; font-family:"JetBrains Mono",monospace; font-size:12px; background:var(--verde); color:#f3ead3; padding:2px 9px; border-radius:999px; margin-left:6px}
#srp-af-root .apply .warnline{font-size:12px; color:var(--musgo); line-height:1.4; background:var(--creme-2); border-left:3px solid var(--ouro); padding:9px 11px; border-radius:0 3px 3px 0}
#srp-af-root .divide{height:1px; background:var(--linha); margin:2px 0}

#srp-af-root .toast{position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px); background:var(--grafite); color:#f3ead3;
  padding:12px 18px; border-radius:4px; font-size:14px; box-shadow:0 12px 30px -10px rgba(0,0,0,.5); opacity:0; transition:.25s; z-index:99999; border-left:3px solid var(--ouro)}
#srp-af-root .toast.on{opacity:1; transform:translateX(-50%) translateY(0)}
#srp-af-root .spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; display:inline-block; animation:srpafspin .7s linear infinite}
@keyframes srpafspin{to{transform:rotate(360deg)}}

/* v1.0.1 — responsividade da tela de senha em telas pequenas */
@media(max-width:480px){
  #srp-af-root .gate-card{padding:32px 22px 26px}
  #srp-af-root .gate-card h1{font-size:21px}
  #srp-af-root .tb-actions{width:100%}
  #srp-af-root .tb-actions .btn{flex:1}
}

/* v1.0.3 — gráficos de proporção */
#srp-af-root .charts{display:grid; grid-template-columns:1fr 1fr; gap:18px}
@media(max-width:820px){#srp-af-root .charts{grid-template-columns:1fr}}
#srp-af-root .chartcard{padding:0 0 8px}
#srp-af-root .chartcard > h3{padding:14px 16px 2px}
#srp-af-root .chartcard > .cap{padding:0 16px 10px; color:var(--musgo); font-size:12px}
#srp-af-root .bars{padding:4px 16px 10px; display:flex; flex-direction:column; gap:9px}
#srp-af-root .bar-row{display:grid; grid-template-columns:120px 1fr auto; gap:10px; align-items:center}
#srp-af-root .bar-row .bl{font-size:12.5px; color:var(--grafite); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
#srp-af-root .bar-row .bt{height:16px; background:var(--creme-2); border-radius:3px; overflow:hidden; border:1px solid var(--linha)}
#srp-af-root .bar-row .bf{height:100%; background:linear-gradient(90deg,var(--verde) 0,var(--verde-cl) 100%); border-radius:3px 0 0 3px}
#srp-af-root .bar-row.rest .bf{background:var(--musgo)}
#srp-af-root .bar-row.blank .bf{background:var(--atencao); opacity:.65}
#srp-af-root .bar-row.blank .bl{color:var(--atencao); font-style:italic}
#srp-af-root .bar-row .bv{font-family:"JetBrains Mono",monospace; font-size:12.5px; color:var(--grafite); white-space:nowrap; text-align:right; min-width:78px}
#srp-af-root .bar-row .bv span{color:var(--musgo); font-family:"DM Sans"; font-size:11.5px}
@media(max-width:520px){#srp-af-root .bar-row{grid-template-columns:90px 1fr auto}}

/* v1.0.4 — data com espaço próprio, empilhamento mobile, veículo, telas largas */
#srp-af-root .fid .fdia{display:block; font-size:11px; color:var(--musgo); white-space:nowrap; margin-top:2px}
#srp-af-root .field.vfield label{color:var(--verde)}
#srp-af-root .field.vfield input,#srp-af-root .field.vfield select{border-color:#cfe0d3; background:#fbfdfb}
#srp-af-root .fmeta .veic{color:var(--verde-cl); font-weight:600}

/* empilhamento no mobile: cada dado em sua própria linha, data inline compacta */
@media(max-width:820px){
  #srp-af-root .fh{grid-template-columns:1fr; row-gap:9px}
  #srp-af-root .fid{display:flex; align-items:baseline; gap:8px}
  #srp-af-root .fid b{display:inline; font-size:14px}
  #srp-af-root .fid .fdia{display:inline; margin:0}
  #srp-af-root .fh .acts{justify-self:start}
  #srp-af-root .fh .acts .btn{flex:1}
}

/* telas largas: gráficos aproveitam melhor o espaço */
@media(min-width:1500px){
  #srp-af-root .charts{grid-template-columns:1fr 1fr; gap:22px}
  #srp-af-root .bar-row{grid-template-columns:160px 1fr auto}
}

/* v1.0.5 — painel de veículo no padrão "ficha técnica" (caixas, rótulo destacado) */
#srp-af-root .vpanel{grid-column:1 / -1; margin-top:6px; padding:14px; background:#fff; border:1px solid var(--linha); border-radius:6px}
#srp-af-root .vptitle{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.12em; font-size:11px; color:var(--verde); margin-bottom:11px}
#srp-af-root .vgrid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:11px}
#srp-af-root .vbox{background:var(--creme); border:1px solid var(--linha); border-radius:7px; padding:11px 13px; transition:border-color .12s, box-shadow .12s}
#srp-af-root .vbox.vfull{grid-column:1 / -1}
#srp-af-root .vbox:focus-within{border-color:#c8870a; box-shadow:0 0 0 3px rgba(200,135,10,.14)}
#srp-af-root .vlabel{display:block; font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.11em; font-size:10.5px; font-weight:600; color:#c8870a; margin-bottom:5px}
#srp-af-root .vinput{width:100%; border:0; background:transparent; padding:0; color:var(--grafite); font-family:"Playfair Display",serif; font-weight:700; font-size:19px; line-height:1.2}
#srp-af-root .vinput::placeholder{font-family:"DM Sans",sans-serif; font-weight:400; font-size:14px; color:var(--musgo)}
#srp-af-root .vinput:focus{outline:none}
#srp-af-root select.vinput{font-family:"DM Sans",sans-serif; font-weight:600; font-size:15px; -webkit-appearance:none; appearance:none}
@media(max-width:640px){#srp-af-root .vgrid{grid-template-columns:1fr 1fr}}
@media(max-width:440px){#srp-af-root .vgrid{grid-template-columns:1fr}}

/* v1.0.6 — editor unificado + autocompletar com highlight */
#srp-af-root .ficha.open{overflow:visible}
#srp-af-root .editor{padding:6px 16px 18px}
#srp-af-root .sec{margin-top:16px}
#srp-af-root .sec .sechead{display:flex; align-items:center; gap:10px; margin:6px 0 12px}
#srp-af-root .sec .sechead h3{font-family:"Oswald",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.12em; font-size:12px; color:var(--verde); margin:0}
#srp-af-root .sec .sechead .rule{flex:1; height:2px; background:linear-gradient(90deg,var(--ouro),transparent)}
#srp-af-root .grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
@media(max-width:760px){#srp-af-root .grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){#srp-af-root .grid{grid-template-columns:1fr}}
#srp-af-root .cell{display:flex; flex-direction:column; min-width:0}
#srp-af-root .cell > label{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.09em; font-size:10px; color:var(--musgo); margin-bottom:6px; display:flex; gap:6px; align-items:center}
#srp-af-root .badge-q{background:var(--atencao); color:#fff; border-radius:2px; font-size:9px; padding:1px 5px; letter-spacing:.04em}
#srp-af-root .inp{width:100%; padding:11px 13px; border:1px solid var(--linha); border-radius:6px; background:#fff; font-family:"DM Sans",sans-serif; font-size:14.5px; color:var(--grafite)}
#srp-af-root .inp.mono{font-family:"JetBrains Mono",monospace}
#srp-af-root .inp.q{border-color:var(--atencao); background:#fffdf6}
#srp-af-root .inp:focus{outline:none; border-color:var(--verde); box-shadow:0 0 0 3px rgba(30,92,48,.14)}
#srp-af-root select.inp{appearance:none; -webkit-appearance:none; padding-right:34px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d6b60' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center}
#srp-af-root .cell .hint{font-size:11px; color:var(--musgo); margin-top:5px}
/* autocomplete */
#srp-af-root .ac{position:relative}
#srp-af-root .ac-menu{position:absolute; z-index:30; left:0; right:0; top:calc(100% + 4px); background:#fff; border:1px solid var(--linha);
  border-radius:6px; box-shadow:0 12px 28px -12px rgba(11,22,18,.4); max-height:230px; overflow:auto; display:none}
#srp-af-root .ac-menu.open{display:block}
#srp-af-root .ac-item{padding:9px 13px; font-size:14px; color:var(--tinta); cursor:pointer; border-bottom:1px solid #f0e9d8}
#srp-af-root .ac-item:last-child{border-bottom:0}
#srp-af-root .ac-item.active,#srp-af-root .ac-item:hover{background:var(--creme)}
#srp-af-root .ac-item mark{background:#ffe27a; color:inherit; border-radius:2px; padding:0 1px}
#srp-af-root .ac-empty{padding:9px 13px; font-size:13px; color:var(--musgo)}
#srp-af-root .ac-new{padding:9px 13px; font-size:13px; color:var(--verde); border-top:1px solid #f0e9d8; cursor:pointer}

/* v1.0.7 — filtro de período nos gráficos + audiência por dia */
#srp-af-root .chartctrl{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:16px}
#srp-af-root .chartctrl .ctrl-lb{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:11px; color:var(--musgo); margin-right:2px}
#srp-af-root #srpaf-audience{margin-bottom:18px}
#srp-af-root #srpaf-audience .bar-row .bf{background:linear-gradient(90deg,var(--ouro-esc),var(--ouro) 100%)}

/* v1.0.9 — remoção de duplicados com autorização (modal) */
#srp-af-root .modal{position:fixed; inset:0; z-index:100; background:rgba(11,22,18,.55); display:grid; place-items:center; padding:20px}
#srp-af-root .modal.hidden{display:none}
#srp-af-root .modal-card{width:min(440px,100%); background:var(--papel); border:1px solid var(--linha); border-top:4px solid var(--alerta); border-radius:6px; box-shadow:0 24px 60px -20px rgba(0,0,0,.6); padding:26px 26px 22px}
#srp-af-root .modal-card h3{font-size:19px; margin-bottom:8px}
#srp-af-root .modal-msg{color:var(--tinta); font-size:14px; line-height:1.5; margin:0 0 16px}
#srp-af-root .modal-acts{display:flex; gap:10px; justify-content:flex-end; margin-top:6px}
#srp-af-root .modal .pin{font-size:18px; letter-spacing:.4em}

/* ===================== v1.1.0 ===================== */
/* gráficos: barras clicáveis + botão "mostrar todos" */
#srp-af-root .bar-row.clickable{cursor:pointer; border-radius:4px; padding:2px 4px; margin:-2px -4px; transition:background .12s}
#srp-af-root .bar-row.clickable:hover{background:var(--creme-2)}
#srp-af-root .bar-row.clickable:hover .bf{filter:brightness(1.08)}
#srp-af-root .bar-row.clickable:focus-visible{outline:2px solid var(--verde-cl); outline-offset:1px}
#srp-af-root .bar-row.clickable .bl{cursor:pointer}
#srp-af-root .cap-tip{color:var(--verde-cl); font-style:italic}
#srp-af-root .chart-toggle{margin:6px 16px 4px; background:transparent; border:1px solid var(--linha); border-radius:999px;
  padding:6px 14px; font-size:12px; font-weight:600; color:var(--verde); font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.05em}
#srp-af-root .chart-toggle:hover{background:var(--creme-2); border-color:var(--verde-cl)}
/* cartões de Cidade/Ramo podem ocupar a largura inteira quando há muitos valores */
@media(min-width:820px){
  #srp-af-root .charts .chartcard-full{grid-column:1 / -1}
  #srp-af-root .charts .chartcard-full .bars{columns:2; column-gap:26px}
  #srp-af-root .charts .chartcard-full .bar-row{break-inside:avoid}
}
@media(min-width:1500px){
  #srp-af-root .charts .chartcard-full .bars{columns:2}
}

/* busca dentro da lista de valores (edição em massa) */
#srp-af-root .vsearch{position:relative; margin:0 16px 10px}
#srp-af-root .vsearch svg{position:absolute; left:11px; top:50%; transform:translateY(-50%); color:var(--musgo)}
#srp-af-root .vsearch input{width:100%; padding:9px 12px 9px 34px; border:1px solid var(--linha); border-radius:3px; background:#fff; font-size:13.5px; color:var(--grafite)}
#srp-af-root .vsearch input:focus{outline:none; border-color:var(--verde); box-shadow:0 0 0 3px rgba(30,92,48,.13)}
#srp-af-root .vtable .val.srpaf-valcell{cursor:pointer; color:var(--verde); text-decoration:underline; text-decoration-color:var(--linha); text-underline-offset:3px}
#srp-af-root .vtable .val.srpaf-valcell:hover{color:var(--verde-cl); text-decoration-color:var(--verde-cl)}

/* modal neutro (escolha ao carregar) + modal largo (detalhe) */
#srp-af-root .modal-card-neutral{border-top-color:var(--verde)}
#srp-af-root .modal-card-wide{width:min(760px,100%); border-top-color:var(--ouro); padding:20px 22px}
#srp-af-root .load-opts{display:flex; flex-direction:column; gap:10px; margin:4px 0 8px}
#srp-af-root .load-opt{display:flex; gap:13px; align-items:flex-start; text-align:left; width:100%; background:#fff;
  border:1px solid var(--linha); border-radius:7px; padding:13px 15px; transition:border-color .12s, box-shadow .12s, background .12s}
#srp-af-root .load-opt:hover{border-color:var(--verde-cl); background:var(--papel); box-shadow:0 6px 18px -12px rgba(11,22,18,.5)}
#srp-af-root .lo-ic{flex:none; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-size:19px; font-weight:700; line-height:1}
#srp-af-root .lo-add{background:#e7eee8; color:var(--verde)}
#srp-af-root .lo-swap{background:var(--atencao-bg); color:var(--atencao)}
#srp-af-root .lo-tx b{display:block; font-family:"Playfair Display",serif; font-size:15px; color:var(--grafite); margin-bottom:2px}
#srp-af-root .lo-tx small{color:var(--musgo); font-size:12.5px; line-height:1.45}

/* modal detalhe: cabeçalho, busca, tabela de fichas */
#srp-af-root .detail-head{display:flex; align-items:flex-start; gap:12px; margin-bottom:12px}
#srp-af-root .detail-head h3{font-size:22px; line-height:1.1}
#srp-af-root .detail-kicker{font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.14em; font-size:10.5px; color:var(--ouro-esc); font-weight:500; margin-bottom:2px}
#srp-af-root .detail-cap{color:var(--musgo); font-size:12.5px; margin-top:3px}
#srp-af-root .detail-x{margin-left:auto; flex:none; width:34px; height:34px; border-radius:50%; border:1px solid var(--linha);
  background:#fff; color:var(--musgo); font-size:22px; line-height:1; display:grid; place-items:center}
#srp-af-root .detail-x:hover{background:var(--creme-2); color:var(--grafite)}
#srp-af-root .detail-tools{display:flex; gap:10px; align-items:center; margin-bottom:12px; flex-wrap:wrap}
#srp-af-root .detail-tools input{flex:1; min-width:200px; padding:10px 12px; border:1px solid var(--linha); border-radius:3px; background:#fff; font-size:14px; color:var(--grafite)}
#srp-af-root .detail-tools input:focus{outline:none; border-color:var(--verde); box-shadow:0 0 0 3px rgba(30,92,48,.13)}
#srp-af-root .detail-scroll{max-height:min(56vh,460px); overflow:auto; border:1px solid var(--linha); border-radius:6px}
#srp-af-root .dtable{width:100%; border-collapse:collapse; font-size:13.5px}
#srp-af-root .dtable th{position:sticky; top:0; background:var(--creme-2); font-family:"Oswald",sans-serif; text-transform:uppercase;
  letter-spacing:.06em; font-size:10px; color:var(--musgo); text-align:left; padding:9px 13px; border-bottom:1px solid var(--linha); z-index:1}
#srp-af-root .dtable td{padding:9px 13px; border-bottom:1px solid #efe7d6; color:var(--grafite)}
#srp-af-root .dtable tr:last-child td{border-bottom:0}
#srp-af-root .dtable tbody tr:hover{background:var(--papel)}
#srp-af-root .dtable .dnum{color:var(--verde); cursor:pointer; font-weight:600}
#srp-af-root .dtable .dnum:hover{text-decoration:underline}
#srp-af-root .dtable .dmute{color:var(--musgo)}
#srp-af-root .dtable .dwa{color:var(--verde-cl); font-size:11.5px; font-weight:600; margin-left:4px; white-space:nowrap}
#srp-af-root .dtable .dempty{text-align:center; color:var(--musgo); padding:22px}
@media(max-width:560px){
  #srp-af-root .dtable th:nth-child(3),#srp-af-root .dtable td:nth-child(3){display:none}
}
