/* ===== Ranking de Produtividade — 2ªCIA-COTAR (visual deserto/militar) =====
   Cópia fiel do módulo do Site BEPI. Tudo escopado em .pv. */

.pv {
  --font-display:"Oswald", system-ui, sans-serif;
  --font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --field:#14130c; --panel:#211e14; --panel-2:#2b2719; --panel-line:#45402c;
  --ink:#f3eedb; --ink-dim:#c6ba94; --ink-faint:#8c8263;
  --brass:#cba85a; --brass-soft:#a8883c; --brass-ink:#1a1403;
  --gold:#e8cf6e; --silver:#cfc9b4; --bronze:#c08a4e;
  --armas:#cf8a43; --drogas:#94a35a; --interv:#7f98ac;
  --crit:#cf6a52;
  --bar:linear-gradient(90deg,#a8883c,#e3c76e);
  --radius:14px;

  min-height:100vh;
  color:var(--ink);
  font-family:var(--font-sans), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size:15px; line-height:1.5;
  background:
    repeating-linear-gradient(0deg, rgba(150,135,85,.035) 0 1px, transparent 1px 14px),
    repeating-linear-gradient(90deg, rgba(150,135,85,.035) 0 1px, transparent 1px 14px),
    radial-gradient(1200px 500px at 80% -10%, #2a2516 0%, transparent 60%),
    radial-gradient(900px 400px at 0% 0%, #1a1810 0, transparent 55%),
    var(--field);
  background-color:var(--field);
}
.pv *{box-sizing:border-box}
.pv h1,.pv h2,.pv h3{font-family:var(--font-display), "Oswald", sans-serif; font-weight:600; margin:0; letter-spacing:.02em}
.pv .tnum{font-variant-numeric:tabular-nums}
.pv a{color:var(--brass)}
.pv-wrap{max-width:1180px; margin:0 auto; padding-left:16px; padding-right:16px}

/* header */
.pv-header{position:sticky; top:0; z-index:20; background:linear-gradient(180deg,#1c1a11 0%, #13120c 100%);
  border-bottom:2px solid var(--brass-soft); box-shadow:0 6px 24px rgba(0,0,0,.45)}
.pv-bar{display:flex; align-items:center; gap:16px; padding-block:12px; flex-wrap:wrap}
.pv-crest{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#3a3524,#19170e); border:2px solid var(--brass); box-shadow:0 0 0 3px rgba(203,168,90,.12)}
.pv-crest svg{width:26px;height:26px;fill:var(--brass)}
.pv-titles{flex:1 1 auto; min-width:0}
.pv-titles h1{font-size:clamp(18px,3.2vw,25px); color:var(--ink); line-height:1.05}
.pv-sub{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.12em; color:var(--brass); font-size:12px; font-weight:600}
.pv-sub2{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.14em; color:var(--ink-faint); font-size:10.5px; font-weight:500; margin-top:1px}
.pv-nav{display:flex; gap:8px; flex:0 0 auto; flex-wrap:wrap}
.pv-nav a{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-weight:600; font-size:13px;
  text-decoration:none; color:var(--ink-dim); padding:9px 15px; border-radius:8px; border:1px solid transparent}
.pv-nav a:hover{background:rgba(255,255,255,.04); color:var(--ink)}
.pv-nav a.ativo{color:var(--brass-ink); background:var(--bar); box-shadow:0 2px 10px rgba(203,168,90,.25)}

.pv-main{padding-block:22px 48px; display:flex; flex-direction:column; gap:20px}

.pv .btn{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-weight:600; cursor:pointer;
  border-radius:8px; border:1px solid transparent; font-size:13px; padding:9px 16px; transition:transform .08s, background .15s, border-color .15s; white-space:nowrap}
.pv .btn:active{transform:translateY(1px)}
.pv .btn:disabled{opacity:.5; cursor:not-allowed}
.pv .btn-ghost{background:transparent; color:var(--brass); border-color:var(--brass-soft)}
.pv .btn-ghost:hover{background:rgba(203,168,90,.1)}
.pv .btn-solid{background:var(--bar); color:var(--brass-ink); box-shadow:0 2px 10px rgba(203,168,90,.25)}
.pv .btn-solid:hover{filter:brightness(1.05)}
.pv .btn-sm{padding:6px 11px; font-size:12px}
.pv .btn-del{background:none;border:none;cursor:pointer;color:var(--crit);font-size:13px;font-weight:600;padding:2px 4px}
.pv .btn-del:hover{text-decoration:underline}

/* panel */
.pv .panel{background:linear-gradient(180deg,var(--panel),#1b1910); border:1px solid var(--panel-line); border-radius:var(--radius); box-shadow:0 10px 30px rgba(0,0,0,.28)}
.pv .panel-pad{padding:18px 20px}
.pv .panel-head{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:16px 20px 12px; border-bottom:1px solid var(--panel-line)}
.pv .panel-head h2{font-size:19px; color:var(--ink); display:flex; align-items:center; gap:10px}
.pv .pico{color:var(--brass)}
.pv .eyebrow{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.14em; color:var(--ink-faint); font-size:12px; font-weight:500}

/* fields */
.pv .field{display:flex; flex-direction:column; gap:6px; min-width:0}
.pv .field label, .pv .rotulo{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:11px; color:var(--brass); font-weight:500}
.pv .field input, .pv .field select, .pv input.campo, .pv select.campo{background:var(--field); color:var(--ink); border:1px solid var(--panel-line);
  border-radius:9px; padding:10px 12px; font-family:inherit; font-size:14px; width:100%; appearance:none}
.pv input:focus, .pv select:focus{outline:none; border-color:var(--brass); box-shadow:0 0 0 3px rgba(203,168,90,.15)}
.pv select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%23cba85a' d='M6 8L1 3h10z'/></svg>"); background-repeat:no-repeat; background-position:right 12px center; padding-right:30px}
.pv input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(1) saturate(4) hue-rotate(5deg)}

.pv .filters{display:grid; grid-template-columns:repeat(5,1fr) auto; gap:14px; align-items:end}
.pv .filter-actions{display:flex; gap:8px}

/* stats */
.pv .stats{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.pv .stat{position:relative; overflow:hidden; padding:16px 18px}
.pv .stat::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--bar)}
.pv .stat.armas::before{background:var(--armas)} .pv .stat.drogas::before{background:var(--drogas)} .pv .stat.interv::before{background:var(--interv)}
.pv .stat .k{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:11px; color:var(--ink-faint); display:flex; align-items:center; gap:7px}
.pv .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.pv .dot.armas{background:var(--armas)} .pv .dot.drogas{background:var(--drogas)} .pv .dot.interv{background:var(--interv)}
.pv .stat .v{font-family:var(--font-display),"Oswald",sans-serif; font-weight:700; font-size:34px; line-height:1.05; color:var(--ink); margin-top:4px; font-variant-numeric:tabular-nums}
.pv .stat .v .u{font-size:16px; color:var(--ink-dim); font-weight:500; margin-left:3px}
.pv .stat .m{font-size:12.5px; color:var(--ink-dim); margin-top:3px}

/* podium */
.pv .podium-wrap{display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:14px; align-items:end}
.pv .pod{display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center}
.pv .pod .plate{width:100%; border-radius:12px 12px 0 0; border:1px solid var(--panel-line); border-bottom:none; background:linear-gradient(180deg,var(--panel-2),#1b1910); position:relative}
.pv .pod .plate::after{content:""; position:absolute; left:0; right:0; top:0; height:3px; border-radius:12px 12px 0 0}
.pv .pod.p1 .plate{height:88px} .pv .pod.p2 .plate{height:60px} .pv .pod.p3 .plate{height:42px}
.pv .pod.p1 .plate::after{background:linear-gradient(90deg,var(--brass-soft),var(--gold))}
.pv .pod.p2 .plate::after{background:linear-gradient(90deg,#8b94a8,var(--silver))}
.pv .pod.p3 .plate::after{background:linear-gradient(90deg,#9c6a3e,var(--bronze))}
.pv .medal{width:50px;height:50px;border-radius:50%; display:grid; place-items:center; font-family:var(--font-display),"Oswald",sans-serif; font-weight:700; font-size:21px; color:#1a1403; box-shadow:0 4px 14px rgba(0,0,0,.4), inset 0 2px 3px rgba(255,255,255,.35)}
.pv .medal.g{background:radial-gradient(circle at 35% 30%,#ffe79a,#d6af4c)}
.pv .medal.s{background:radial-gradient(circle at 35% 30%,#eef2f8,#aab4c8)}
.pv .medal.b{background:radial-gradient(circle at 35% 30%,#e9b584,#bd7a44)}
.pv .pod .rank-name{font-family:var(--font-display),"Oswald",sans-serif; font-weight:600; font-size:14.5px; line-height:1.15; color:var(--ink)}
.pv .pod .rank-mat{font-size:11.5px; color:var(--ink-faint); font-variant-numeric:tabular-nums}
.pv .pod .count{font-family:var(--font-display),"Oswald",sans-serif; font-weight:700; font-size:28px; color:var(--brass); line-height:1; font-variant-numeric:tabular-nums}
.pv .pod .count small{display:block; font-weight:500; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-faint)}
.pv .pod .mini{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; font-size:11.5px; color:var(--ink-dim); font-variant-numeric:tabular-nums}
.pv .pod .mini b{color:var(--ink); font-weight:600}

/* lista */
.pv .layout{display:grid; grid-template-columns:1.7fr 1fr; gap:20px; align-items:start}
.pv .list-head{display:grid; grid-template-columns:48px 1fr repeat(3,70px); gap:10px; padding:0 18px 10px; border-bottom:1px solid var(--panel-line)}
.pv .list-head .sortable{cursor:pointer; text-align:right; display:flex; align-items:center; justify-content:flex-end; gap:4px; user-select:none; background:none; border:none; color:inherit; font:inherit}
.pv .list-head .sortable:hover, .pv .list-head .sortable.ativo{color:var(--brass)}
.pv .list-head span, .pv .list-head .sortable{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.07em; font-size:10.5px; color:var(--ink-faint); font-weight:500}
.pv .rows{display:flex; flex-direction:column}
.pv .row{display:grid; grid-template-columns:48px 1fr repeat(3,70px); gap:10px; align-items:center; padding:12px 18px; border-bottom:1px solid rgba(69,64,44,.5); transition:background .12s}
.pv .row:last-child{border-bottom:none}
.pv .row:hover{background:rgba(43,39,25,.55)}
.pv .pos{display:flex; justify-content:center}
.pv .pos .num{width:32px;height:32px;border-radius:9px; display:grid; place-items:center; font-family:var(--font-display),"Oswald",sans-serif; font-weight:600; font-size:14px; color:var(--ink-dim); background:var(--panel-2); border:1px solid var(--panel-line); font-variant-numeric:tabular-nums}
.pv .pos .num.m1{background:radial-gradient(circle at 35% 30%,#ffe79a,#d6af4c); color:#1a1403; border-color:transparent}
.pv .pos .num.m2{background:radial-gradient(circle at 35% 30%,#eef2f8,#aab4c8); color:#2a2414; border-color:transparent}
.pv .pos .num.m3{background:radial-gradient(circle at 35% 30%,#e9b584,#bd7a44); color:#1a1403; border-color:transparent}
.pv .who .name{font-family:var(--font-display),"Oswald",sans-serif; font-weight:500; font-size:15px; color:var(--ink); line-height:1.2}
.pv .who .meta{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:4px}
.pv .who .mat{font-size:11.5px; color:var(--ink-faint); font-variant-numeric:tabular-nums}
.pv .chip{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:10px; font-weight:500; padding:2px 8px; border-radius:20px; border:1px solid}
.pv .chip.princ{color:#b9cc8f; border-color:rgba(148,163,90,.45); background:rgba(148,163,90,.12)}
.pv .chip.apoio{color:#b7c3cf; border-color:rgba(127,152,172,.45); background:rgba(127,152,172,.12)}
.pv .cell{text-align:right; font-variant-numeric:tabular-nums}
.pv .cell .big{font-family:var(--font-display),"Oswald",sans-serif; font-weight:600; font-size:17px; color:var(--ink-dim); line-height:1}
.pv .cell.on .big{color:var(--brass); font-weight:700}
.pv .cell .trk{height:4px; border-radius:4px; background:var(--panel-2); margin-top:6px; overflow:hidden; visibility:hidden}
.pv .cell.on .trk{visibility:visible}
.pv .cell .fl{height:100%; border-radius:4px}
.pv .cell.armas .fl{background:var(--armas)} .pv .cell.drogas .fl{background:var(--drogas)} .pv .cell.interv .fl{background:var(--interv)}

/* líderes */
.pv .lead-grp{padding:12px 20px}
.pv .lead-grp + .lead-grp{border-top:1px solid var(--panel-line)}
.pv .lead-grp h3{font-family:var(--font-display),"Oswald",sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:.08em; display:flex; align-items:center; gap:8px; color:var(--ink); margin-bottom:10px}
.pv .lead-row{display:flex; align-items:center; gap:10px; padding:5px 0}
.pv .lead-row .p{width:20px; text-align:center; font-family:var(--font-display),"Oswald",sans-serif; font-weight:600; color:var(--ink-faint); font-size:13px; flex:0 0 auto}
.pv .lead-row .nm{flex:1 1 auto; min-width:0; font-size:13.5px; color:var(--ink-dim); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.pv .lead-row:first-of-type .nm{color:var(--ink)}
.pv .lead-row .vl{font-family:var(--font-display),"Oswald",sans-serif; font-weight:700; font-size:15px; font-variant-numeric:tabular-nums; flex:0 0 auto}
.pv .lead-grp.armas .vl{color:var(--armas)} .pv .lead-grp.drogas .vl{color:var(--drogas)} .pv .lead-grp.interv .vl{color:var(--interv)}

/* cadastro */
.pv .form-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.pv .form-grid .col-2{grid-column:span 2}
.pv .form-grid .col-4{grid-column:span 4}
.pv .form-actions{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.pv .msg-ok{border-radius:8px; background:rgba(148,163,90,.15); color:#b9cc8f; padding:6px 12px; font-size:14px}
.pv .msg-err{border-radius:8px; background:rgba(207,106,82,.15); color:#e0917f; padding:6px 12px; font-size:14px}

.pv .tbl-scroll{overflow-x:auto}
.pv table.data{width:100%; border-collapse:collapse; font-size:13.5px; min-width:720px}
.pv table.data th{font-family:var(--font-display),"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:10.5px; color:var(--ink-faint); text-align:left; padding:10px 12px; border-bottom:1px solid var(--panel-line); font-weight:500; white-space:nowrap}
.pv table.data td{padding:9px 12px; border-bottom:1px solid rgba(69,64,44,.5); color:var(--ink-dim); white-space:nowrap}
.pv table.data tr:hover td{background:rgba(43,39,25,.5)}
.pv table.data td.num{text-align:right; font-variant-numeric:tabular-nums; color:var(--ink)}

.pv .dropzone{border:1.5px dashed var(--panel-line); border-radius:12px; padding:20px; text-align:center; color:var(--ink-dim); background:rgba(43,39,25,.3)}
.pv .dropzone input[type=file]{color:var(--ink-dim); font-size:13px; margin-top:8px}

.pv .empty{padding:40px 20px; text-align:center; color:var(--ink-dim)}
.pv .empty .big{font-family:var(--font-display),"Oswald",sans-serif; font-size:20px; color:var(--ink); margin-bottom:6px}
.pv .foot{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; align-items:center; color:var(--ink-faint); font-size:12.5px; padding-top:4px}

@media (max-width:900px){
  .pv .filters{grid-template-columns:1fr 1fr}
  .pv .filter-actions{grid-column:1 / -1}
  .pv .stats{grid-template-columns:1fr 1fr}
  .pv .layout{grid-template-columns:1fr}
  .pv .form-grid{grid-template-columns:1fr 1fr}
  .pv .form-grid .col-2, .pv .form-grid .col-4{grid-column:span 2}
}
@media (max-width:560px){
  .pv .filters{grid-template-columns:1fr}
  .pv .stats{grid-template-columns:1fr 1fr}
  .pv .podium-wrap{grid-template-columns:1fr}
  .pv .pod.p1{order:1} .pv .pod.p2{order:2} .pv .pod.p3{order:3}
  .pv .pod .plate{display:none}
  .pv .list-head, .pv .row{grid-template-columns:34px 1fr repeat(3,56px); gap:7px}
  .pv .form-grid{grid-template-columns:1fr}
  .pv .form-grid .col-2, .pv .form-grid .col-4{grid-column:span 1}
}
@media (prefers-reduced-motion:reduce){.pv *{transition:none !important}}
