/* ============================================================
   Educacional Design System 2.0.3 — tokens
   ============================================================ */
:root{
  --sys-primary:#b971e0;         --sys-on-primary:#ffffff;
  --sys-primary-container:#ead5f6;--sys-on-primary-container:#581a7a;
  --sys-secondary:#ffaf0a;       --sys-on-secondary:#664604;
  --sys-secondary-container:#ffefce;--sys-on-secondary-container:#332302;
  --sys-success:#006e1c;         --sys-on-success:#ffffff;
  --sys-success-container:#d4f7d2;--sys-on-success-container:#002204;
  --sys-info:#0061a4;            --sys-on-info:#ffffff;
  --sys-info-container:#d1e4ff;  --sys-on-info-container:#001d36;
  --sys-warning:#ffbf00;         --sys-on-warning:#664c00;
  --sys-warning-container:#fff2cc;--sys-on-warning-container:#332600;
  --sys-critical:#bb1614;        --sys-on-critical:#ffffff;
  --sys-critical-container:#ffdad5;--sys-on-critical-container:#410001;
  --sys-background:#fdfdfd;      --sys-on-background:#17191c;
  --sys-surface:#fdfdfd;         --sys-on-surface:#17191c;
  --sys-surface-variant:#dee4ed; --sys-on-surface-variant:#5d6675;
  --sys-outline:#91a0b8;         --sys-outline-variant:#cad3e0;
  --sys-inverse-surface:#2e3238; --sys-inverse-on-surface:#f1f2f4;
  --surface-1:#f6f7f8; --surface-2:#f3f4f6; --surface-3:#eff1f3;
  --surface-4:#edeff2; --surface-5:#ebedf0;

  /* categorias de avaliação */
  --cat-projeto:#0061a4;   --cat-projeto-soft:#d1e4ff;
  --cat-design:#a35c00;    --cat-design-soft:#ffefce;
  --cat-core:#006e1c;      --cat-core-soft:#d4f7d2;
  --cat-robo:#7b3fa0;      --cat-robo-soft:#ead5f6;

  --scrim:#00000073;

  --r1:32px; --r2:24px; --r3:16px; --r4:8px; --rf:1000px;
  --sp-4xs:.25rem; --sp-3xs:.375rem; --sp-2xs:.5rem; --sp-xs:.625rem;
  --sp-sm:.75rem; --sp-md:1rem; --sp-lg:1.5rem; --sp-xl:2rem;
  --sp-2xl:2.5rem; --sp-3xl:3rem;

  --el1:0px 1px 2px 0px #0000001f, 0px 1px 3px 1px #00000014;
  --el2:0px 1px 3px 0px #00000024, 0px 2px 6px 2px #00000014;
  --el3:0px 2px 3px 0px #00000024, 0px 4px 8px 3px #0000001a;

  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --sys-primary:#e0c0f1;        --sys-on-primary:#3d0b58;
    --sys-primary-container:#5a1c7c;--sys-on-primary-container:#f5e3ff;
    --sys-secondary:#ffcf6b;      --sys-on-secondary:#3d2a00;
    --sys-secondary-container:#553a00;--sys-on-secondary-container:#ffe3aa;
    --sys-success:#7ddc7c;        --sys-on-success:#00390a;
    --sys-success-container:#005314;--sys-on-success-container:#a8f5a4;
    --sys-info:#a4c9ff;           --sys-on-info:#00325a;
    --sys-info-container:#00497f; --sys-on-info-container:#d5e4ff;
    --sys-warning:#f5c344;        --sys-on-warning:#3d2e00;
    --sys-warning-container:#574200;--sys-on-warning-container:#ffdf95;
    --sys-critical:#ffb4a8;       --sys-on-critical:#690000;
    --sys-critical-container:#930006;--sys-on-critical-container:#ffdad5;
    --sys-background:#14161a;     --sys-on-background:#e4e6ea;
    --sys-surface:#14161a;        --sys-on-surface:#e4e6ea;
    --sys-surface-variant:#404752;--sys-on-surface-variant:#bfc7d4;
    --sys-outline:#8a93a1;        --sys-outline-variant:#3a414b;
    --sys-inverse-surface:#e4e6ea;--sys-inverse-on-surface:#2e3238;
    --surface-1:#1b1e23; --surface-2:#20242a; --surface-3:#252a31;
    --surface-4:#2a2f37; --surface-5:#2f353e;
    --cat-projeto:#8fbdf5;   --cat-projeto-soft:#12283f;
    --cat-design:#f0bd6a;    --cat-design-soft:#3b2c0c;
    --cat-core:#7fd68a;      --cat-core-soft:#123320;
    --cat-robo:#d8a8f0;      --cat-robo-soft:#2e1a3c;
    --el1:0px 1px 2px 0px #00000066, 0px 1px 3px 1px #00000040;
    --el2:0px 1px 3px 0px #0000007a, 0px 2px 6px 2px #00000047;
    --el3:0px 2px 3px 0px #0000007a, 0px 4px 8px 3px #00000052;
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --sys-primary:#e0c0f1;        --sys-on-primary:#3d0b58;
  --sys-primary-container:#5a1c7c;--sys-on-primary-container:#f5e3ff;
  --sys-secondary:#ffcf6b;      --sys-on-secondary:#3d2a00;
  --sys-secondary-container:#553a00;--sys-on-secondary-container:#ffe3aa;
  --sys-success:#7ddc7c;        --sys-on-success:#00390a;
  --sys-success-container:#005314;--sys-on-success-container:#a8f5a4;
  --sys-info:#a4c9ff;           --sys-on-info:#00325a;
  --sys-info-container:#00497f; --sys-on-info-container:#d5e4ff;
  --sys-warning:#f5c344;        --sys-on-warning:#3d2e00;
  --sys-warning-container:#574200;--sys-on-warning-container:#ffdf95;
  --sys-critical:#ffb4a8;       --sys-on-critical:#690000;
  --sys-critical-container:#930006;--sys-on-critical-container:#ffdad5;
  --sys-background:#14161a;     --sys-on-background:#e4e6ea;
  --sys-surface:#14161a;        --sys-on-surface:#e4e6ea;
  --sys-surface-variant:#404752;--sys-on-surface-variant:#bfc7d4;
  --sys-outline:#8a93a1;        --sys-outline-variant:#3a414b;
  --sys-inverse-surface:#e4e6ea;--sys-inverse-on-surface:#2e3238;
  --surface-1:#1b1e23; --surface-2:#20242a; --surface-3:#252a31;
  --surface-4:#2a2f37; --surface-5:#2f353e;
  --cat-projeto:#8fbdf5;   --cat-projeto-soft:#12283f;
  --cat-design:#f0bd6a;    --cat-design-soft:#3b2c0c;
  --cat-core:#7fd68a;      --cat-core-soft:#123320;
  --cat-robo:#d8a8f0;      --cat-robo-soft:#2e1a3c;
  --el1:0px 1px 2px 0px #00000066, 0px 1px 3px 1px #00000040;
  --el2:0px 1px 3px 0px #0000007a, 0px 2px 6px 2px #00000047;
  --el3:0px 2px 3px 0px #0000007a, 0px 4px 8px 3px #00000052;
  color-scheme: dark;
}

/* ============================================================
   Base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--sys-background); color:var(--sys-on-background);
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:14px; line-height:1.45; letter-spacing:.25px;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:"Roboto Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
h1,h2,h3,h4{margin:0;text-wrap:balance;font-weight:500}
h1{font-size:28px;line-height:32px}
h2{font-size:22px;line-height:28px}
h3{font-size:16px;line-height:24px;letter-spacing:.1px}
p{margin:0}
a{color:var(--sys-primary)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sys-primary);outline-offset:2px;border-radius:var(--r4)}
[hidden]{display:none!important}
.msym{
  font-family:"Material Symbols Outlined";font-weight:400;font-style:normal;
  font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;
  display:inline-block;white-space:nowrap;direction:ltr;
  -webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 20;
  user-select:none;flex:none;
  /* largura fixa de 1em: se a fonte de ícones não carregar, o layout não quebra */
  width:1em;overflow:hidden;vertical-align:-3px;
}
.msym.sm{font-size:16px}
.msym.lg{font-size:28px}
.eyebrow{
  font-size:10px;font-weight:500;line-height:16px;letter-spacing:.9px;
  text-transform:uppercase;color:var(--sys-on-surface-variant);
}
.muted{color:var(--sys-on-surface-variant)}
.small{font-size:12px;line-height:16px;letter-spacing:.4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.stack{display:flex;flex-direction:column}
.row{display:flex;align-items:center}
.wrap{flex-wrap:wrap}
.g-2xs{gap:var(--sp-2xs)}.g-xs{gap:var(--sp-xs)}.g-sm{gap:var(--sp-sm)}
.g-md{gap:var(--sp-md)}.g-lg{gap:var(--sp-lg)}.g-xl{gap:var(--sp-xl)}
.grow{flex:1;min-width:0}
.right{margin-left:auto}
.center{align-items:center}
.tnum{font-variant-numeric:tabular-nums}

/* ============================================================
   Controles
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2xs);
  min-height:40px;padding:0 var(--sp-md);border-radius:var(--rf);
  border:1px solid transparent;background:transparent;
  font-size:14px;font-weight:500;letter-spacing:.1px;cursor:pointer;
  transition:background .14s,box-shadow .14s,border-color .14s,color .14s;
  text-decoration:none;white-space:nowrap;
}
.btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}
.btn .msym{font-size:18px}
.btn-fill{background:var(--sys-primary);color:var(--sys-on-primary)}
.btn-fill:hover:not(:disabled){box-shadow:var(--el1);filter:brightness(1.05)}
.btn-tonal{background:var(--sys-primary-container);color:var(--sys-on-primary-container)}
.btn-tonal:hover:not(:disabled){box-shadow:var(--el1)}
.btn-out{border-color:var(--sys-outline);color:var(--sys-primary);background:var(--sys-surface)}
.btn-out:hover:not(:disabled){background:var(--surface-2)}
.btn-text{color:var(--sys-primary);padding:0 var(--sp-sm)}
.btn-text:hover:not(:disabled){background:var(--surface-2)}
.btn-danger{background:var(--sys-critical);color:var(--sys-on-critical)}
.btn-danger-out{border-color:var(--sys-critical);color:var(--sys-critical)}
.btn-danger-out:hover:not(:disabled){background:var(--sys-critical-container)}
.btn-ok{background:var(--sys-success);color:var(--sys-on-success)}
.btn-sm{min-height:32px;padding:0 var(--sp-sm);font-size:13px}
.btn-sm .msym{font-size:16px}
.btn-xs{min-height:28px;padding:0 var(--sp-2xs);font-size:12px}
.icon-btn{
  width:40px;height:40px;min-height:40px;padding:0;border-radius:var(--rf);
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:1px solid transparent;cursor:pointer;
  color:var(--sys-on-surface-variant);
}
.icon-btn:hover{background:var(--surface-3);color:var(--sys-on-surface)}
.icon-btn.sm{width:32px;height:32px;min-height:32px}

.field{display:flex;flex-direction:column;gap:var(--sp-4xs);min-width:0}
.field > label{
  font-size:12px;font-weight:500;letter-spacing:.4px;color:var(--sys-on-surface-variant);
}
.field .req{color:var(--sys-critical);margin-left:2px}
input[type=text],input[type=email],input[type=password],input[type=number],
input[type=date],input[type=tel],select,textarea{
  width:100%;min-height:44px;padding:var(--sp-2xs) var(--sp-sm);
  border:1px solid var(--sys-outline-variant);border-radius:var(--r4);
  background:var(--sys-surface);color:var(--sys-on-surface);font-size:14px;
  transition:border-color .14s,box-shadow .14s;
}
textarea{min-height:76px;resize:vertical;line-height:1.5;padding:var(--sp-sm)}
/* celular: campo com letra < 16px faz o iPhone dar zoom ao digitar (e não voltar) */
@media (max-width:900px), (pointer:coarse){input,select,textarea{font-size:16px!important}}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--sys-primary);box-shadow:0 0 0 2px var(--sys-primary-container);
}
input:disabled,select:disabled,textarea:disabled{background:var(--surface-3);color:var(--sys-on-surface-variant)}
.field .hint{font-size:11px;letter-spacing:.4px;color:var(--sys-on-surface-variant)}
.field .err{font-size:11px;color:var(--sys-critical);font-weight:500}
.check{display:inline-flex;align-items:center;gap:var(--sp-2xs);cursor:pointer;font-size:13px}
.check input{width:18px;height:18px;min-height:0;accent-color:var(--sys-primary);margin:0;flex:none}

.chip{
  display:inline-flex;align-items:center;gap:var(--sp-4xs);
  padding:3px var(--sp-2xs);border-radius:var(--rf);
  font-size:11px;font-weight:500;letter-spacing:.4px;white-space:nowrap;
  background:var(--surface-3);color:var(--sys-on-surface-variant);
  border:1px solid transparent;
}
.chip .msym{font-size:13px}
.chip-ok{background:var(--sys-success-container);color:var(--sys-on-success-container)}
.chip-warn{background:var(--sys-warning-container);color:var(--sys-on-warning-container)}
.chip-crit{background:var(--sys-critical-container);color:var(--sys-on-critical-container)}
.chip-info{background:var(--sys-info-container);color:var(--sys-on-info-container)}
.chip-prim{background:var(--sys-primary-container);color:var(--sys-on-primary-container)}
.chip-out{background:transparent;border-color:var(--sys-outline-variant);color:var(--sys-on-surface-variant)}

.card{
  background:var(--sys-surface);border:1px solid var(--sys-outline-variant);
  border-radius:var(--r3);padding:var(--sp-lg);
}
.card.flat{background:var(--surface-1);border-color:transparent}
.card.pad-sm{padding:var(--sp-md)}
.sec-title{display:flex;align-items:baseline;gap:var(--sp-2xs);margin-bottom:var(--sp-md)}

/* ============================================================
   Login
   ============================================================ */
.auth-wrap{
  min-height:100vh;display:grid;place-items:center;padding:var(--sp-lg);
  background:
    radial-gradient(900px 480px at 12% -10%, var(--sys-primary-container) 0%, transparent 62%),
    radial-gradient(760px 420px at 96% 108%, var(--sys-secondary-container) 0%, transparent 60%),
    var(--sys-background);
}
.auth-card{
  width:100%;max-width:432px;background:var(--sys-surface);
  border:1px solid var(--sys-outline-variant);border-radius:var(--r2);
  padding:var(--sp-xl);box-shadow:var(--el2);
}
.auth-mark{display:flex;align-items:center;margin-bottom:var(--sp-md)}
.auth-mark .logo-full{width:168px;height:auto;display:block}
.auth-brand{margin-bottom:var(--sp-lg)}
.brand-name{font-size:18px;font-weight:700;letter-spacing:.2px;line-height:1.2}
.brand-sub{font-size:11px;letter-spacing:.4px;color:var(--sys-on-surface-variant)}
.logo-tile{
  width:34px;height:34px;flex:none;display:block;
  border-radius:9px;object-fit:contain;
}

/* ============================================================
   Shell
   ============================================================ */
.appbar{
  position:sticky;top:0;z-index:30;
  display:flex;align-items:center;gap:var(--sp-sm);
  height:60px;padding:0 var(--sp-md);
  background:var(--sys-surface);border-bottom:1px solid var(--sys-outline-variant);
}
.appbar .bmark{display:flex;align-items:center;gap:var(--sp-2xs);flex:none}
@media (max-width:760px){
  .appbar .bmark > div{display:none}
}
/* celular: a barra cabe na largura da tela (nome do evento encolhe com reticências) */
.event-pill{min-width:0}
.appbar .right{flex:none}
@media (max-width:600px){
  .appbar{gap:var(--sp-2xs);padding:0 var(--sp-xs)}
  .appbar .event-pill{flex:1 1 auto;padding:0 var(--sp-xs)}
  .appbar .right > .chip{display:none}
  .appbar .usr-btn .msym{display:none}
}
html,body{overflow-x:clip}
@media (max-width:600px){
  .rb-status{flex-basis:100%;flex-direction:row!important;align-items:center!important;gap:var(--sp-sm)!important}
}
.event-pill{
  display:flex;align-items:center;gap:var(--sp-2xs);
  height:36px;padding:0 var(--sp-sm);border-radius:var(--rf);
  background:var(--surface-2);border:1px solid var(--sys-outline-variant);
  cursor:pointer;max-width:340px;
}
.event-pill:hover{background:var(--surface-3)}
.event-pill .nm{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.usr-btn{
  display:flex;align-items:center;gap:var(--sp-2xs);height:40px;
  padding:0 var(--sp-2xs) 0 var(--sp-2xs);border-radius:var(--rf);
  background:transparent;border:1px solid transparent;cursor:pointer;
}
.usr-btn:hover{background:var(--surface-3)}
.avatar{
  width:32px;height:32px;border-radius:var(--rf);flex:none;
  background:var(--sys-primary-container);color:var(--sys-on-primary-container);
  display:grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:.4px;
}
.shell{display:flex;min-height:calc(100vh - 60px)}
.rail{
  width:236px;flex:none;padding:var(--sp-md) var(--sp-sm);
  border-right:1px solid var(--sys-outline-variant);background:var(--surface-1);
  display:flex;flex-direction:column;gap:2px;
  position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;
}
.rail-item{
  display:flex;align-items:center;gap:var(--sp-sm);
  height:44px;padding:0 var(--sp-md);border-radius:var(--rf);
  border:none;background:transparent;cursor:pointer;text-align:left;
  font-size:14px;font-weight:500;letter-spacing:.1px;color:var(--sys-on-surface-variant);
  width:100%;
}
.rail-item:hover{background:var(--surface-4);color:var(--sys-on-surface)}
.rail-item[aria-current="page"]{
  background:var(--sys-primary-container);color:var(--sys-on-primary-container);
}
.rail-item .badge{
  margin-left:auto;min-width:20px;height:20px;padding:0 5px;border-radius:var(--rf);
  background:var(--sys-critical);color:var(--sys-on-critical);
  font-size:11px;font-weight:700;display:grid;place-items:center;
}
.rail-sep{height:1px;background:var(--sys-outline-variant);margin:var(--sp-2xs) var(--sp-sm)}
.main{flex:1;min-width:0;padding:var(--sp-lg);max-width:1360px}
.page-head{display:flex;align-items:flex-start;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}
.page-head .grow{min-width:220px}

@media (max-width:900px){
  .shell{flex-direction:column}
  .rail{
    width:100%;height:auto;position:static;flex-direction:row;overflow-x:auto;
    border-right:none;border-bottom:1px solid var(--sys-outline-variant);
    padding:var(--sp-2xs);
  }
  .rail-item{width:auto;white-space:nowrap;padding:0 var(--sp-sm)}
  .rail-sep{display:none}
  .main{padding:var(--sp-md)}
}

/* ============================================================
   Tabelas
   ============================================================ */
.tbl-wrap{overflow-x:auto;border:1px solid var(--sys-outline-variant);border-radius:var(--r3);background:var(--sys-surface)}
table{width:100%;border-collapse:collapse}
thead th{
  text-align:left;padding:var(--sp-sm) var(--sp-sm);
  font-size:11px;font-weight:500;letter-spacing:.7px;text-transform:uppercase;
  color:var(--sys-on-surface-variant);background:var(--surface-2);
  border-bottom:1px solid var(--sys-outline-variant);white-space:nowrap;
}
tbody td{padding:var(--sp-2xs) var(--sp-sm);border-bottom:1px solid var(--sys-outline-variant);font-size:13px;vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:var(--surface-1)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
td.mid,th.mid{text-align:center}
.pos-medal{font-weight:700;font-variant-numeric:tabular-nums}
tr.p1 .pos-medal{color:#b8860b}
tr.p2 .pos-medal{color:#78838f}
tr.p3 .pos-medal{color:#a0522d}
.empty{
  padding:var(--sp-2xl) var(--sp-lg);text-align:center;color:var(--sys-on-surface-variant);
  display:flex;flex-direction:column;align-items:center;gap:var(--sp-2xs);
}
.empty .msym{font-size:40px;opacity:.5}

/* ============================================================
   Painel / métricas
   ============================================================ */
.kpi-grid{display:grid;gap:var(--sp-md);grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}
.kpi{
  background:var(--surface-1);border-radius:var(--r3);padding:var(--sp-md);
  display:flex;flex-direction:column;gap:var(--sp-4xs);border:1px solid transparent;
}
.kpi .v{font-size:30px;font-weight:500;line-height:1.05;font-variant-numeric:tabular-nums}
.kpi .k{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--sys-on-surface-variant)}
.kpi .sub{font-size:11px;color:var(--sys-on-surface-variant)}
.kpi.alert{background:var(--sys-critical-container)}
.kpi.alert .v,.kpi.alert .k,.kpi.alert .sub{color:var(--sys-on-critical-container)}
.kpi.warn{background:var(--sys-warning-container)}
.kpi.warn .v,.kpi.warn .k,.kpi.warn .sub{color:var(--sys-on-warning-container)}
.kpi.good{background:var(--sys-success-container)}
.kpi.crit{background:var(--sys-critical-container)}
.kpi.crit .v,.kpi.crit .k,.kpi.crit .sub{color:var(--sys-on-critical-container)}
.kpi.good .v,.kpi.good .k,.kpi.good .sub{color:var(--sys-on-success-container)}

.progress{height:6px;border-radius:var(--rf);background:var(--surface-4);overflow:hidden}
.progress > i{display:block;height:100%;background:var(--sys-primary);border-radius:var(--rf)}

/* nivelamento */
.lvl-cat{border:1px solid var(--sys-outline-variant);border-radius:var(--r3);overflow:hidden}
.lvl-cat > header{
  display:flex;align-items:center;gap:var(--sp-2xs);
  padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--sys-outline-variant);
}
.lvl-cat > header .dot{width:10px;height:10px;border-radius:var(--rf);flex:none}
.lvl-cat > header h3{font-size:14px}
.lvl-body{padding:var(--sp-md);display:flex;flex-direction:column;gap:var(--sp-sm)}
.lvl-row{display:grid;grid-template-columns:64px 1fr 92px;align-items:center;gap:var(--sp-sm)}
.lvl-row .rm{font-size:13px;font-weight:500}
.bar-track{height:22px;border-radius:var(--r4);background:var(--surface-3);position:relative;overflow:hidden}
.bar-track > i{position:absolute;inset:0 auto 0 0;border-radius:var(--r4)}
.bar-track > .mean-mark{
  position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--sys-on-surface);opacity:.55;
}
.lvl-row .val{font-size:13px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.lvl-row .val .d{font-size:11px;font-weight:400}
.d-hi{color:var(--sys-critical)}
.d-lo{color:var(--sys-info)}
.d-ok{color:var(--sys-on-surface-variant)}
.lvl-legend{display:flex;gap:var(--sp-md);flex-wrap:wrap;font-size:11px;color:var(--sys-on-surface-variant);padding:0 var(--sp-md) var(--sp-md)}

/* ============================================================
   Rubrica — fiel ao formulário impresso
   ============================================================ */
.rub-sheet{margin-bottom:var(--sp-xl)}
.rub-banner{
  display:inline-flex;align-items:center;gap:var(--sp-sm);
  padding:var(--sp-2xs) var(--sp-xl) var(--sp-2xs) var(--sp-md);
  border-radius:0 var(--rf) var(--rf) 0;margin-left:calc(-1 * var(--sp-lg));
  color:#fff;max-width:100%;
}
.rub-banner.projeto{background:var(--cat-projeto)}
.rub-banner.design{background:var(--cat-design)}
.rub-banner h3{font-size:22px;font-weight:900;letter-spacing:.2px;color:inherit}
:root[data-theme="dark"] .rub-banner{color:#0d0f12}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rub-banner{color:#0d0f12}}
.rub-intro{font-size:12px;line-height:1.5;color:var(--sys-on-surface-variant);margin:var(--sp-sm) 0 0}
.rub-intro b{color:var(--sys-on-surface)}
.rub-tot-line{
  display:flex;align-items:baseline;gap:var(--sp-2xs);margin:var(--sp-md) 0 var(--sp-2xs);
  font-size:13px;
}
.rub-tot-line .v{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}

.rub-tbl-wrap{overflow-x:auto;border:1px solid var(--sys-on-surface);border-radius:var(--r4)}
table.rub-tbl{width:100%;min-width:780px;border-collapse:collapse;background:var(--sys-surface)}
table.rub-tbl th,table.rub-tbl td{border:1px solid var(--sys-outline);vertical-align:top}
table.rub-tbl thead th{
  background:var(--sys-surface);text-transform:none;letter-spacing:0;
  padding:var(--sp-2xs) var(--sp-sm);font-size:11px;font-weight:700;color:var(--sys-on-surface);
  text-align:left;white-space:normal;
}
table.rub-tbl thead th span{display:block;font-weight:400;color:var(--sys-on-surface-variant);font-size:10px}
table.rub-tbl thead th.c-crit{border-top-color:transparent;border-left-color:transparent}
.rub-tbl .c-crit{width:38%;min-width:240px;padding:var(--sp-2xs) var(--sp-sm);font-size:12.5px;line-height:1.35}
.rub-tbl .c-lvl{width:14%;min-width:94px;text-align:center;padding:var(--sp-2xs)}
.rub-tbl .c-exc{width:34%;min-width:190px;padding:var(--sp-2xs) var(--sp-sm)}
.rub-tbl tr.grp td{
  padding:var(--sp-2xs) var(--sp-sm);font-size:13px;line-height:1.3;
  border-left-color:var(--sys-outline);border-right-color:var(--sys-outline);
}
.rub-tbl tr.grp.projeto td{background:var(--cat-projeto-soft);color:var(--sys-on-surface)}
.rub-tbl tr.grp.design td{background:var(--cat-design-soft);color:var(--sys-on-surface)}
.rub-tbl tr.grp td b{font-weight:700}
.rub-tbl tr.crow:hover td{background:var(--surface-1)}
.rub-tbl tr.crow.needs-fix td{background:var(--sys-critical-container)}

/* marca de seleção: quadrado (só a categoria) ou engrenagem (também Core Values) */
.mark{
  width:32px;height:32px;padding:0;cursor:pointer;display:inline-grid;place-items:center;
  background:transparent;border:none;color:var(--sys-on-surface);position:relative;
}
.mark .box{
  width:24px;height:24px;border:2px solid var(--sys-on-surface);border-radius:5px;
  display:grid;place-items:center;transition:background .12s,border-color .12s;
}
.mark .msym{font-size:24px;color:var(--cat-core);transition:color .12s}
.mark .tick{font-size:18px;color:#fff;opacity:0}
.mark:hover:not(:disabled) .box{background:var(--surface-3)}
.mark:hover:not(:disabled) .msym{opacity:.7}
.mark[aria-pressed="true"] .box{background:var(--sys-on-surface);border-color:var(--sys-on-surface)}
.mark[aria-pressed="true"] .tick{opacity:1;color:var(--sys-surface)}
.mark[aria-pressed="true"] .msym{
  color:var(--cat-core);font-variation-settings:'FILL' 1,'wght' 600;
}
.mark.gr[aria-pressed="true"]{background:var(--cat-core-soft);border-radius:var(--rf)}
.mark:disabled{cursor:not-allowed;opacity:.65}
.mark-wrap{display:flex;flex-direction:column;align-items:center;gap:1px}
.mark-wrap .pt{font-size:10px;color:var(--sys-on-surface-variant);font-variant-numeric:tabular-nums}

.exc-note{display:flex;flex-direction:column;gap:var(--sp-4xs);margin-top:var(--sp-4xs)}
.exc-note textarea{min-height:60px;font-size:12px;padding:var(--sp-2xs)}
.exc-note .req-tag{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--sys-critical)}
.opt-note{display:flex;flex-direction:column;gap:var(--sp-4xs);margin-top:var(--sp-2xs)}
.opt-note textarea{min-height:48px;font-size:12px;padding:var(--sp-2xs)}
.rub-foot-note{
  display:flex;gap:var(--sp-2xs);align-items:flex-start;
  font-size:11.5px;line-height:1.45;font-style:italic;color:var(--sys-on-surface-variant);
  padding:var(--sp-sm) 0 0;
}
.rub-foot-note .msym{color:var(--cat-core);font-size:20px;flex:none}
.hj-validate{display:flex;align-items:center;gap:var(--sp-2xs);flex-wrap:wrap;font-size:12px}
.crit-label{display:flex;gap:var(--sp-2xs);align-items:flex-start}

.fb-grid{display:grid;gap:var(--sp-md);grid-template-columns:1fr 1fr}
@media (max-width:820px){.fb-grid{grid-template-columns:1fr}}
.fb-cat{border:1px solid var(--sys-outline-variant);border-radius:var(--r3);padding:var(--sp-md);display:flex;flex-direction:column;gap:var(--sp-sm)}
.fb-cat > header{display:flex;align-items:center;gap:var(--sp-2xs)}
.fb-cat > header .dot{width:10px;height:10px;border-radius:var(--rf);flex:none}
.fb-tag{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--sys-on-surface-variant)}

/* ============================================================
   Ficha de round
   ============================================================ */
.score-bar{
  position:sticky;top:60px;z-index:20;
  display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;
  background:var(--sys-surface);border:1px solid var(--sys-outline-variant);
  border-radius:var(--r3);padding:var(--sp-md);margin-bottom:var(--sp-md);
  box-shadow:var(--el1);
}
.score-bar .tot-v{font-size:34px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--cat-robo)}
.mission{border:1px solid var(--sys-outline-variant);border-radius:var(--r3);padding:var(--sp-md);margin-bottom:var(--sp-md);background:var(--sys-surface)}
.mission > header{display:flex;align-items:center;gap:var(--sp-2xs);flex-wrap:wrap;margin-bottom:var(--sp-2xs)}
.mission .m-badge{
  font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;
  background:var(--sys-inverse-surface);color:var(--sys-inverse-on-surface);
  padding:3px var(--sp-2xs);border-radius:var(--r4);
}
.mission .m-name{font-size:16px;font-weight:500}
.mission .m-intro{font-size:12px;color:var(--sys-on-surface-variant)}
.m-note{
  font-size:12px;line-height:1.4;padding:var(--sp-2xs) var(--sp-sm);border-radius:var(--r4);
  background:var(--sys-info-container);color:var(--sys-on-info-container);margin-top:var(--sp-2xs);
}
.m-note.warn{background:var(--sys-warning-container);color:var(--sys-on-warning-container);font-weight:500}
.m-crit{padding:var(--sp-sm) 0;border-top:1px dashed var(--sys-outline-variant)}
.m-crit:first-of-type{border-top:none}
.m-crit > .lb{display:flex;gap:var(--sp-2xs);align-items:baseline;margin-bottom:var(--sp-2xs);font-size:13px;font-weight:500}
.m-crit > .lb .pts{margin-left:auto;font-size:11px;font-weight:400;color:var(--sys-on-surface-variant);white-space:nowrap}
.opt-group{display:flex;gap:var(--sp-4xs);flex-wrap:wrap}
.opt{
  min-width:42px;height:40px;padding:0 var(--sp-2xs);border-radius:var(--r4);
  border:1px solid var(--sys-outline-variant);background:var(--sys-surface);
  cursor:pointer;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;
}
.opt:hover:not(:disabled){background:var(--surface-3)}
.opt[aria-pressed="true"]{background:var(--cat-robo);border-color:var(--cat-robo);color:#fff}
:root[data-theme="dark"] .opt[aria-pressed="true"]{color:#231030}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .opt[aria-pressed="true"]{color:#231030}}
.opt:disabled{opacity:.5;cursor:not-allowed}
.stepper{display:flex;align-items:center;gap:var(--sp-2xs)}
.stepper .sv{
  min-width:56px;height:40px;display:grid;place-items:center;
  border:1px solid var(--sys-outline-variant);border-radius:var(--r4);
  font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--sys-surface);
}
.stepper .sbtn{
  width:40px;height:40px;border-radius:var(--rf);border:none;cursor:pointer;
  background:var(--sys-inverse-surface);color:var(--sys-inverse-on-surface);
  font-size:20px;line-height:1;display:grid;place-items:center;
}
.stepper .sbtn:disabled{background:var(--surface-4);color:var(--sys-on-surface-variant);cursor:not-allowed}
.bonus-box{
  margin-top:var(--sp-2xs);padding:var(--sp-sm);border-radius:var(--r4);
  background:var(--sys-secondary-container);border:1px dashed var(--sys-secondary);
  display:flex;flex-direction:column;gap:var(--sp-2xs);
}
.bonus-box .desc{font-size:12px;color:var(--sys-on-secondary-container)}
.gp-box{border:1px solid var(--cat-core);border-radius:var(--r3);padding:var(--sp-md);background:var(--cat-core-soft);margin-bottom:var(--sp-md)}
.gp-box .opt[aria-pressed="true"]{background:var(--cat-core);border-color:var(--cat-core);color:#fff}
:root[data-theme="dark"] .gp-box .opt[aria-pressed="true"]{color:#04210a}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .gp-box .opt[aria-pressed="true"]{color:#04210a}}
.timer-card{border:1px solid var(--sys-outline-variant);border-radius:var(--r3);padding:var(--sp-md);text-align:center;background:var(--surface-1)}
.timer-v{font-size:44px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;margin:var(--sp-2xs) 0}
.timer-card.ended .timer-v{color:var(--sys-critical)}

/* ============================================================
   Alocação
   ============================================================ */
.alloc-grid{display:grid;gap:var(--sp-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.slot{
  border:1px solid var(--sys-outline-variant);border-radius:var(--r3);
  background:var(--sys-surface);display:flex;flex-direction:column;min-height:120px;
}
.slot > header{
  display:flex;align-items:center;gap:var(--sp-2xs);
  padding:var(--sp-2xs) var(--sp-sm);border-bottom:1px solid var(--sys-outline-variant);
  background:var(--surface-2);border-radius:var(--r3) var(--r3) 0 0;
}
.slot > header .t{font-size:13px;font-weight:700}
.slot-body{padding:var(--sp-2xs);display:flex;flex-direction:column;gap:var(--sp-4xs);flex:1}
.slot.drop-on{border-color:var(--sys-primary);box-shadow:0 0 0 2px var(--sys-primary-container)}
.tcard{
  display:flex;align-items:center;gap:var(--sp-2xs);
  padding:var(--sp-2xs) var(--sp-2xs);border-radius:var(--r4);
  background:var(--surface-2);border:1px solid var(--sys-outline-variant);
  font-size:12px;cursor:grab;
}
.tcard:active{cursor:grabbing}
.tcard.dragging{opacity:.4}
.tcard .n{
  font-weight:700;font-variant-numeric:tabular-nums;min-width:24px;
  color:var(--sys-on-surface-variant);
}
.tcard .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.tcard .msym{font-size:14px;color:var(--sys-outline)}
.vol-line{display:flex;align-items:center;gap:var(--sp-2xs);font-size:12px;padding:2px 0}
.vol-line .msym{font-size:14px;color:var(--sys-on-surface-variant)}

/* ============================================================
   Modal / toast
   ============================================================ */
.modal-back{
  position:fixed;inset:0;z-index:60;background:var(--scrim);
  display:flex;align-items:center;justify-content:center;padding:var(--sp-md);
  overflow-y:auto;
}
.modal{
  background:var(--sys-surface);border-radius:var(--r2);box-shadow:var(--el3);
  width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;
  border:1px solid var(--sys-outline-variant);
}
.modal.wide{max-width:900px}
.modal.xwide{max-width:1160px}
.modal > header{
  display:flex;align-items:center;gap:var(--sp-sm);
  padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--sys-outline-variant);
}
.modal > header h3{flex:1;font-size:18px}
.modal-body{padding:var(--sp-lg);overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-md)}
.modal > footer{
  display:flex;gap:var(--sp-2xs);justify-content:flex-end;flex-wrap:wrap;
  padding:var(--sp-md) var(--sp-lg);border-top:1px solid var(--sys-outline-variant);
}
.form-grid{display:grid;gap:var(--sp-md);grid-template-columns:1fr 1fr}
.form-grid .full{grid-column:1/-1}
@media (max-width:620px){.form-grid{grid-template-columns:1fr}}
#toasts{position:fixed;bottom:var(--sp-md);left:50%;transform:translateX(-50%);z-index:80;display:flex;flex-direction:column;gap:var(--sp-2xs);align-items:center;pointer-events:none}
.toast{
  background:var(--sys-inverse-surface);color:var(--sys-inverse-on-surface);
  padding:var(--sp-sm) var(--sp-md);border-radius:var(--r4);box-shadow:var(--el2);
  font-size:13px;max-width:min(560px,92vw);display:flex;align-items:center;gap:var(--sp-2xs);
}
.toast .msym{font-size:18px}
.toast.ok .msym{color:#7ddc7c}
.toast.err{background:var(--sys-critical);color:var(--sys-on-critical)}
.cred-box{
  background:var(--surface-2);border:1px dashed var(--sys-outline);border-radius:var(--r4);
  padding:var(--sp-sm);font-family:"Roboto Mono",monospace;font-size:13px;
  display:flex;flex-direction:column;gap:var(--sp-4xs);word-break:break-all;
}
.banner{
  display:flex;align-items:flex-start;gap:var(--sp-2xs);
  padding:var(--sp-sm) var(--sp-md);border-radius:var(--r3);font-size:13px;line-height:1.45;
}
.banner .msym{flex:none;margin-top:1px}
.banner.info{background:var(--sys-info-container);color:var(--sys-on-info-container)}
.banner.warn{background:var(--sys-warning-container);color:var(--sys-on-warning-container)}
.banner.crit{background:var(--sys-critical-container);color:var(--sys-on-critical-container)}
.banner.ok{background:var(--sys-success-container);color:var(--sys-on-success-container)}
.seg{display:inline-flex;border:1px solid var(--sys-outline-variant);border-radius:var(--rf);overflow:hidden;background:var(--sys-surface)}
.seg button{
  white-space:nowrap;border:none;background:transparent;padding:0 var(--sp-md);height:36px;cursor:pointer;
  font-size:13px;font-weight:500;color:var(--sys-on-surface-variant);
}
.seg button + button{border-left:1px solid var(--sys-outline-variant)}
.seg button[aria-pressed="true"]{background:var(--sys-primary-container);color:var(--sys-on-primary-container)}
.ev-card{
  display:flex;flex-direction:column;gap:var(--sp-2xs);text-align:left;
  border:1px solid var(--sys-outline-variant);border-radius:var(--r3);
  padding:var(--sp-md);background:var(--sys-surface);cursor:pointer;width:100%;
  transition:box-shadow .14s,border-color .14s;
}
.ev-card:hover{box-shadow:var(--el2);border-color:var(--sys-primary)}
.ev-card .en{font-size:17px;font-weight:500}
.ev-grid{display:grid;gap:var(--sp-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.ev-wrap{position:relative}
.ev-actions{
  position:absolute;top:var(--sp-2xs);right:var(--sp-2xs);z-index:2;
  display:flex;gap:2px;
}
.ev-actions .icon-btn{background:var(--sys-surface)}
.ev-actions .icon-btn:hover{background:var(--surface-3)}
.ev-actions .ev-del:hover{background:var(--sys-critical-container);color:var(--sys-on-critical-container)}
.print-only{display:none}
@media print{
  .appbar,.rail,.no-print{display:none!important}
  .main{padding:0;max-width:none}
  .print-only{display:block}
  body{background:#fff}
}
/* ============================================================
   Complementos — FLL Explore
   ============================================================ */
.auth-mark .logo-full{width:184px;background:#fff;border-radius:var(--r3);padding:6px}
.logo-tile{background:#fff;padding:3px}
.login-seg{display:flex;width:100%}
.login-seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px}
.pw-wrap{position:relative}
.pw-wrap input{width:100%;padding-right:48px}
.pw-wrap .icon-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%)}
.combo{position:relative}
.combo input{width:100%;padding-right:40px}
.combo-caret{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--sys-on-surface-variant)}
.combo-list{
  position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);
  max-height:264px;overflow:auto;margin:0;padding:var(--sp-4xs);list-style:none;
  background:var(--sys-surface);border:1px solid var(--sys-outline-variant);border-radius:var(--r4);box-shadow:var(--el3);
}
.combo-list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-sm);padding:10px var(--sp-sm);border-radius:6px;cursor:pointer;font-size:14px}
.combo-list li .meta{font-size:12px;color:var(--sys-on-surface-variant);white-space:nowrap}
.combo-list li[aria-selected="true"],.combo-list li:hover{background:var(--sys-primary-container);color:var(--sys-on-primary-container)}
.combo-list li[aria-selected="true"] .meta,.combo-list li:hover .meta{color:inherit}
.combo-list li.empty{cursor:default;color:var(--sys-on-surface-variant);background:none}
.page{max-width:1080px;margin:0 auto;width:100%}
.kpi-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:760px){.kpi-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.search-box{position:relative;margin-bottom:var(--sp-md)}
.search-box .msym{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--sys-on-surface-variant);pointer-events:none}
.search-box input{padding-left:42px}
.list-head{flex-wrap:wrap;align-items:center}
.team-list{list-style:none;margin:0;padding:0;border:1px solid var(--sys-outline-variant);border-radius:var(--r3);overflow:hidden}
.team-row{
  display:grid;grid-template-columns:52px minmax(0,1fr) 150px 150px auto;align-items:center;gap:var(--sp-md);
  padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--sys-outline-variant);cursor:pointer;background:var(--sys-surface);
}
.team-row:last-child{border-bottom:none}
.team-row:hover{background:var(--surface-1)}
.team-row:focus-visible{outline:2px solid var(--sys-primary);outline-offset:-2px}
.team-row .tnum{font-size:13px;color:var(--sys-on-surface-variant)}
.team-row .tinfo{display:flex;flex-direction:column;min-width:0}
.team-row .tinfo b,.team-row .tinfo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-row .tprog{display:flex;flex-direction:column;gap:4px}
.team-row .tstat{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.team-row .tact{pointer-events:none}
@media (max-width:760px){
  .filter-seg{margin-left:0;width:100%;display:flex}
  .filter-seg button{flex:1;padding:0 var(--sp-2xs);white-space:nowrap}
  #org-tools{margin-left:0;width:100%}
  .team-row{grid-template-columns:32px minmax(0,1fr) auto;column-gap:var(--sp-sm);row-gap:var(--sp-2xs);padding:var(--sp-sm)}
  .team-row .tinfo b{white-space:normal}
  .team-row .tprog{flex-direction:row;align-items:center;gap:var(--sp-2xs)}
  .team-row .tprog .progress{flex:1}
  .hide-sm{display:none}
  .team-row .tprog{grid-column:2 / 3;grid-row:2}
  .team-row .tstat{grid-column:3;grid-row:1;align-items:flex-end}
  .team-row .tact{grid-column:3;grid-row:2;justify-self:end}
}

/* ---------- Rubrica ---------- */
:root{--explore:#1e8e3e;--explore-soft:#e3f4e6;--on-explore:#fff}
:root[data-theme="dark"]{--explore:#2e9d4c;--explore-soft:#12301b}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--explore:#2e9d4c;--explore-soft:#12301b}}
.rub-page{max-width:1120px;margin:0 auto;padding-bottom:110px}
.back-btn{margin:0 0 var(--sp-2xs) calc(-1 * var(--sp-sm))}
.levels-help{margin-bottom:var(--sp-lg);padding:var(--sp-sm) var(--sp-md)}
.levels-help summary{display:flex;align-items:center;gap:var(--sp-2xs);cursor:pointer;list-style:none}
.levels-help summary::-webkit-details-marker{display:none}
.levels-help[open] .chev{transform:rotate(180deg)}
.levels-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-sm) var(--sp-lg);margin:var(--sp-md) 0 var(--sp-2xs)}
.levels-dl dt{font-weight:500;font-size:13px;display:flex;align-items:center;gap:6px}
.levels-dl dd{margin:2px 0 0 16px;font-size:12px;color:var(--sys-on-surface-variant);line-height:1.4}
.lvl-dot{width:10px;height:10px;border-radius:50%;flex:none}
.lvl-dot.l1,.lvl.l1[aria-checked="true"]{background:#c7ced9}
.lvl-dot.l2,.lvl.l2[aria-checked="true"]{background:#9fd4a9}
.lvl-dot.l3,.lvl.l3[aria-checked="true"]{background:#3fae5c}
.lvl-dot.l4,.lvl.l4[aria-checked="true"]{background:#16692d}
.rub-sec{border:1px solid var(--sys-outline-variant);border-radius:var(--r3);overflow:hidden;margin-bottom:var(--sp-md);background:var(--sys-surface)}
.rub-bar{
  display:flex;align-items:center;gap:var(--sp-2xs);margin:0;padding:10px var(--sp-md);
  background:var(--explore);color:var(--on-explore);font-size:13px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
}
.rub-bar .msym{font-size:20px}
.rub-bar.final{background:var(--sys-inverse-surface);color:var(--sys-inverse-on-surface)}
.crit{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-md);align-items:center;
  padding:var(--sp-md);border-top:1px solid var(--sys-outline-variant);transition:background .3s;
}
.rub-bar + .crit{border-top:none}
.crit-q{font-weight:700;font-size:14px;line-height:1.35}
.crit-d{font-size:13px;color:var(--sys-on-surface-variant);line-height:1.4;margin-top:2px}
.lvl-group{display:grid;grid-template-columns:repeat(4,auto);gap:4px}
.lvl{
  min-height:44px;padding:4px 14px;white-space:nowrap;border-radius:var(--r4);border:1px solid var(--sys-outline-variant);
  background:var(--sys-surface);color:var(--sys-on-surface);font-size:12px;font-weight:500;line-height:1.2;cursor:pointer;
  transition:background .12s,border-color .12s,color .12s;
}
.lvl:hover:not(:disabled){border-color:var(--explore);background:var(--explore-soft)}
.lvl:focus-visible{outline:2px solid var(--sys-primary);outline-offset:2px}
.lvl[aria-checked="true"]{border-color:transparent;color:#10231a;box-shadow:inset 0 0 0 2px #0000002e}
.lvl.l3[aria-checked="true"],.lvl.l4[aria-checked="true"]{color:#fff}
.lvl:disabled{cursor:default}
.lvl:disabled:not([aria-checked="true"]){opacity:.45}
.crit.flash,.yn-group.flash,textarea.flash,input.flash{animation:flash 1.3s ease}
@keyframes flash{0%,60%{background:var(--sys-critical-container)}100%{background:transparent}}
.final-body{padding:var(--sp-md);min-width:0}
.exc-note{grid-column:1 / -1;display:flex;flex-direction:column;gap:4px;padding:var(--sp-sm);border-radius:var(--r4);background:var(--explore-soft)}
.exc-note label{font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px}
.exc-note label .msym{color:var(--explore)}
.exc-note textarea{min-height:56px}
.final-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start}
.sum-box{padding:var(--sp-md);background:var(--surface-1);border-right:1px solid var(--sys-outline-variant);align-self:stretch}
.sum-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--sys-on-surface-variant);margin-bottom:var(--sp-sm)}
.sum-sec + .sum-sec{margin-top:var(--sp-sm)}
.sum-title{font-weight:700;font-size:13px;margin-bottom:2px}
.sum-sec ul{list-style:none;margin:0;padding:0}
.sum-sec li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--sp-2xs);align-items:center;padding:3px 6px;margin:0 -6px;border-radius:6px;cursor:pointer;font-size:13px}
.sum-sec li:hover{background:var(--surface-3)}
.sum-name::before{content:"•";margin-right:6px;color:var(--sys-on-surface-variant)}
.sum-v{min-width:24px;height:22px;display:inline-grid;place-items:center;border-radius:6px;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;color:#10231a}
.sum-v.l1{background:#c7ced9}.sum-v.l2{background:#9fd4a9}.sum-v.l3{background:#3fae5c;color:#fff}.sum-v.l4{background:#16692d;color:#fff}
.sum-v.none{color:var(--sys-on-surface-variant);background:var(--surface-4)}
.sum-note{grid-column:1 / -1;font-size:12px;line-height:1.35;color:var(--sys-on-surface-variant);padding-left:14px;font-style:italic}
.sum-note.miss{color:var(--sys-critical);font-style:normal}
.sum-legend{margin-top:var(--sp-md);line-height:1.5}
.yn-group{display:flex;gap:var(--sp-2xs);border-radius:var(--r4)}
.yn{
  flex:1;max-width:180px;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:48px;
  border-radius:var(--r4);border:1px solid var(--sys-outline-variant);background:var(--sys-surface);color:var(--sys-on-surface);
  font-size:15px;font-weight:500;cursor:pointer;
}
.yn .msym{font-size:20px}
.yn.yes[aria-checked="true"]{background:var(--sys-success);border-color:var(--sys-success);color:var(--sys-on-success)}
.yn.no[aria-checked="true"]{background:var(--sys-critical);border-color:var(--sys-critical);color:var(--sys-on-critical)}
.yn:disabled{cursor:default}
.yn:disabled:not([aria-checked="true"]){opacity:.45}
.rub-foot{
  position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;align-items:center;gap:var(--sp-md);
  padding:var(--sp-sm) max(var(--sp-md),calc((100vw - 1120px)/2));
  background:var(--sys-surface);border-top:1px solid var(--sys-outline-variant);box-shadow:0 -2px 8px #0000000f;
}
.rub-foot .grow{flex:1;min-width:0}
.rub-foot #rb-miss{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1000px){
  .crit{grid-template-columns:1fr;gap:var(--sp-sm)}
  .lvl-group{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:760px){
  .crit{grid-template-columns:1fr;gap:var(--sp-sm)}
  .lvl-group{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lvl{padding:4px 6px}
  .final-grid{grid-template-columns:1fr}
  .sum-box{border-right:none;border-bottom:1px solid var(--sys-outline-variant)}
  .levels-dl{grid-template-columns:1fr}
  .yn{max-width:none}
  .rub-foot #rb-miss{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}

/* ---------- Organização ---------- */
.wrap{flex-wrap:wrap}
tr.click{cursor:pointer}
.org-tbl th.num{width:56px}
.org-tbl td:nth-child(2){min-width:180px}
.score-pill{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 6px;border-radius:6px;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;color:#10231a}
.score-pill.l1{background:#c7ced9}.score-pill.l2{background:#9fd4a9}.score-pill.l3{background:#3fae5c;color:#fff}.score-pill.l4{background:#16692d;color:#fff}
tr.grp td{background:var(--surface-2);font-size:12px}
.eval-card .rub-bar{flex-wrap:wrap}
.btn.on-dark{background:transparent;color:inherit;border-color:currentColor}
.kv{display:flex;flex-direction:column;gap:4px}
.kv .k{font-size:12px;font-weight:500;letter-spacing:.4px;color:var(--sys-on-surface-variant);display:flex;align-items:center;gap:4px}
.kv .txt{white-space:pre-wrap;line-height:1.5;margin:0}
.org-note{padding:var(--sp-sm);border-radius:var(--r4);background:var(--sys-info-container);color:var(--sys-on-info-container)}
.org-note .k{color:inherit}
.org-note.empty{background:var(--surface-2);color:var(--sys-on-surface-variant)}
.sum-sec li.ro{cursor:default}
.sum-sec li.ro:hover{background:none}

.av-no{font-family:"Roboto Mono",monospace;font-size:11px;letter-spacing:.5px;padding:2px 8px;border-radius:var(--rf);border:1px solid currentColor;opacity:.85}
.note-box{padding:var(--sp-sm);border-radius:var(--r4);background:var(--sys-warning-container);color:var(--sys-on-warning-container)}
.note-box .k{color:inherit}
.note-box textarea{min-height:56px}
.org-msg .txt{white-space:pre-wrap;margin:4px 0 0}
details.orig{margin-top:4px}
details.orig summary{cursor:pointer;color:var(--sys-info);display:flex;align-items:center;gap:4px;list-style:none}
details.orig summary::-webkit-details-marker{display:none}
details.orig .txt{margin-top:4px;padding:var(--sp-2xs) var(--sp-sm);border-left:3px solid var(--sys-outline-variant);color:var(--sys-on-surface-variant)}

/* ---------- Devolutiva da equipe ---------- */
.team-page{max-width:980px;margin:0 auto}
.wait-card{text-align:center;padding:var(--sp-3xl) var(--sp-lg);display:flex;flex-direction:column;align-items:center;gap:var(--sp-sm)}
.wait-card > .msym{font-size:48px;color:var(--sys-primary)}
.wait-card h2{font-size:20px}
.wait-card p{max-width:520px}
.tm-sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-sm)}
.tm-sheet-head h2{font-size:20px}
.tm-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px var(--sp-lg);margin-bottom:var(--sp-md);color:var(--sys-on-surface-variant)}
.tm-legend > span{display:flex;gap:6px;align-items:baseline}
.tm-legend b{color:var(--sys-on-surface);white-space:nowrap}
.tm-grid-head,.tm-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,96px);align-items:center}
.tm-grid-head{padding:6px var(--sp-md);background:var(--surface-2);border-bottom:1px solid var(--sys-outline-variant)}
.tm-grid-head span{font-size:11px;font-weight:500;text-align:center;color:var(--sys-on-surface-variant);line-height:1.2}
.tm-row{padding:var(--sp-sm) var(--sp-md);border-top:1px solid var(--sys-outline-variant);row-gap:var(--sp-2xs)}
.tm-grid-head + .tm-row{border-top:none}
.tm-cell{justify-self:center;width:34px;height:34px;border-radius:8px;border:1.5px solid var(--sys-outline-variant);display:grid;place-items:center}
.tm-cell .msym{font-size:22px;font-weight:700}
.tm-cell.on{border-color:transparent;color:#10231a}
.tm-cell.on.l1{background:#c7ced9}.tm-cell.on.l2{background:#9fd4a9}.tm-cell.on.l3{background:#3fae5c;color:#fff}.tm-cell.on.l4{background:#16692d;color:#fff}
.tm-cell-lbl{display:none}
.tm-just{grid-column:1 / -1;display:flex;gap:6px;align-items:flex-start;padding:var(--sp-2xs) var(--sp-sm);border-radius:var(--r4);background:var(--explore-soft);font-size:13px;line-height:1.45}
.tm-just .msym{color:var(--explore);margin-top:1px}
.tm-comments{margin:0;padding:var(--sp-md);white-space:pre-wrap;line-height:1.6;font-size:15px}
.hide-screen{display:none}
@media (max-width:760px){
  .tm-legend{grid-template-columns:1fr}
  .tm-grid-head{display:none}
  .tm-row{grid-template-columns:1fr}
  .tm-cell{display:none}
  .tm-cell.on{display:inline-flex;justify-self:start;width:auto;height:30px;padding:0 12px 0 8px;gap:4px;border-radius:var(--rf)}
  .tm-cell.on .msym{font-size:18px}
  .tm-cell.on .tm-cell-lbl{display:inline;font-size:13px;font-weight:500}
}
@media print{
  .hide-screen{display:block}
  .tm-eval + .tm-eval{break-before:page}
  .tm-sec{break-inside:avoid}
  .rub-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tm-cell.on,.tm-just{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .appbar{display:none}
}

/* ---------- Deliberação ---------- */
.dl-rule{margin-bottom:var(--sp-md);padding:var(--sp-md);line-height:1.5}
.dl-num{width:110px}
.dl-tabs button{display:inline-flex;align-items:center;gap:6px}
th.sortable{cursor:pointer;user-select:none}
th.sortable:hover{color:var(--sys-on-surface)}
th.sortable.on{color:var(--sys-primary)}
th.sortable .msym{vertical-align:-3px;margin-left:2px}
.dl-tbl th.sortable{cursor:pointer;user-select:none}
.dl-tbl th.sortable:hover{color:var(--sys-on-surface)}
.dl-tbl th.on{color:var(--sys-primary)}
.dl-tbl th .msym{vertical-align:-3px;margin-left:2px}
.dl-tbl td:nth-child(2){min-width:170px}
.dl-tbl td,.dl-tbl th{padding-left:10px;padding-right:10px}
.dl-tbl tr.res-class td:first-child{box-shadow:inset 4px 0 0 var(--sys-success)}
.dl-tbl tr.res-sup td:first-child{box-shadow:inset 4px 0 0 var(--sys-warning)}
.dl-tbl .chip .msym.sm{font-size:14px}
.dl-note{display:flex;gap:4px;align-items:flex-start;margin-top:4px;color:var(--sys-on-surface-variant);max-width:260px}
.chip.tie{font-size:10px;padding:0 6px;min-height:18px;margin-top:2px}
.aw-cell{background:var(--sys-primary-container)}
.aw-cell .score-pill{box-shadow:0 0 0 2px var(--sys-primary)}
.tlink{color:inherit;text-decoration:none}
.tlink:hover b{text-decoration:underline}
.aw-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-sm);margin-bottom:var(--sp-md)}
.aw-box{border:1px solid var(--sys-outline-variant);border-radius:var(--r3);padding:var(--sp-sm) var(--sp-md);background:var(--sys-surface)}
.aw-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--sys-primary);margin-bottom:6px}
.aw-box ol,.aw-box ul{margin:0;padding-left:20px;font-size:13px;line-height:1.6}
.pe-intro{display:flex;gap:var(--sp-md);align-items:flex-start;background:var(--sys-primary-container);color:var(--sys-on-primary-container);border:0}
.pe-intro h2{margin:0 0 6px}
.pe-intro .pe-ico{font-size:40px}
.pe-leg{margin:0 0 var(--sp-sm)}
.pe-sec h2{display:flex;align-items:center;gap:8px}
.pe-item>label{font-weight:600}
.pe-ops{display:flex;flex-wrap:wrap;gap:6px}
.pe-op{border:1px solid var(--sys-outline-variant);background:var(--sys-surface);color:var(--sys-on-surface);border-radius:var(--rf);padding:8px 14px;font:inherit;cursor:pointer}
.pe-op[aria-pressed="true"]{background:var(--sys-primary);border-color:var(--sys-primary);color:var(--sys-on-primary)}
.pe-grade{display:flex;flex-direction:column;gap:6px}
.pe-lin{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--sys-outline-variant)}
.pe-lab{flex:1 1 220px}
.pe-notas{display:flex;gap:4px}
.pe-n{width:40px;height:40px;border-radius:50%;border:1px solid var(--sys-outline-variant);background:var(--sys-surface);color:var(--sys-on-surface);font:600 14px/1 inherit;cursor:pointer}
.pe-n.na{font-size:11px}
.pe-n[aria-pressed="true"]{background:var(--sys-primary);border-color:var(--sys-primary);color:var(--sys-on-primary)}
.pe-m{display:inline-block;width:120px;height:8px;border-radius:4px;background:var(--sys-surface-variant, #e7e0ec);margin-right:8px;vertical-align:middle;overflow:hidden}
.pe-m i{display:block;height:100%;background:var(--sys-primary)}
.pe-mcol{white-space:nowrap}
.pe-txts{list-style:none;padding:0;margin:var(--sp-sm) 0;display:flex;flex-direction:column;gap:var(--sp-sm)}
.pe-dl dt{font-weight:600;margin-top:var(--sp-sm)}
.pe-dl dd{margin:2px 0 0}
.ts-vis{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:4px}
.ts-vis li{display:flex;align-items:center;gap:var(--sp-xs);flex-wrap:wrap}
.ts-tbl td{vertical-align:top}
.ts-sem td{background:var(--sys-critical-container)}
.opt-line{display:flex;gap:var(--sp-sm);align-items:flex-start;padding:var(--sp-2xs) var(--sp-sm);border:1px solid var(--sys-outline-variant);border-radius:var(--r4);cursor:pointer}
.opt-line:has(input:checked){border-color:var(--sys-primary);background:var(--sys-primary-container)}
.opt-line input{margin-top:3px;accent-color:var(--sys-primary)}

.inl-sel{position:relative;display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 6px 0 8px;border-radius:var(--rf);
  border:1px solid transparent;cursor:pointer;font-size:12px;font-weight:500;max-width:100%}
.inl-sel:hover{box-shadow:0 0 0 2px var(--sys-outline-variant)}
.inl-sel:focus-within{box-shadow:0 0 0 2px var(--sys-primary)}
.inl-sel select{appearance:none;-webkit-appearance:none;border:none;background:transparent;color:inherit;font:inherit;padding:0 2px;margin:0;
  min-height:0;height:28px;width:auto;cursor:pointer;outline:none;box-shadow:none;max-width:230px;text-overflow:ellipsis}
.inl-sel select:focus{box-shadow:none}
.inl-sel select option{color:var(--sys-on-surface);background:var(--sys-surface)}
.inl-sel .msym{font-size:15px}
.inl-sel .caret{opacity:.7;pointer-events:none}
.inl-sel.res-class{background:var(--sys-success-container);color:var(--sys-on-success-container)}
.inl-sel.res-sup{background:var(--sys-warning-container);color:var(--sys-on-warning-container)}
.inl-sel.res-nao{background:transparent;border-color:var(--sys-outline-variant);color:var(--sys-on-surface-variant)}
.inl-sel.res-nao.manual{background:var(--sys-critical-container);color:var(--sys-on-critical-container);border-color:transparent}
.inl-sel.aw{background:var(--sys-primary-container);color:var(--sys-on-primary-container)}
.inl-sel.aw.none{background:transparent;border-color:var(--sys-outline-variant);color:var(--sys-on-surface-variant)}
.icon-btn.has-note{color:var(--sys-primary)}
.dec-seg .dec-lbl{cursor:default;color:var(--sys-on-surface-variant);font-weight:400}
.dec-seg button[data-dec]{padding:0 var(--sp-sm)}
.tm-fb{grid-column:1 / -1;display:flex;gap:8px;align-items:flex-start;padding:var(--sp-sm) var(--sp-md);border-radius:var(--r4);
  background:var(--sys-info-container);color:var(--sys-on-info-container);font-size:13px;line-height:1.5;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.tm-fb .msym{margin-top:2px}
.tm-fb p{margin:4px 0 0}
.ed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--sp-md)}
.ed-sec-t{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--explore);margin-bottom:4px}
.ed-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px var(--sp-2xs);align-items:center;padding:4px 0}
.ed-name{font-size:13px}
.ed-lvls{display:flex;gap:3px}
.ed-lvl{width:30px;height:30px;border-radius:6px;border:1px solid var(--sys-outline-variant);background:var(--sys-surface);color:var(--sys-on-surface);font-weight:700;cursor:pointer}
.ed-lvl[aria-checked="true"]{border-color:transparent;color:#10231a}
.ed-lvl.l1[aria-checked="true"]{background:#c7ced9}.ed-lvl.l2[aria-checked="true"]{background:#9fd4a9}.ed-lvl.l3[aria-checked="true"]{background:#3fae5c;color:#fff}.ed-lvl.l4[aria-checked="true"]{background:#16692d;color:#fff}
.ed-exc{grid-column:1 / -1;min-height:48px;font-size:12px}
.role-chips{flex-wrap:nowrap;overflow:hidden}
@media (max-width:760px){.role-chips{display:none}}
.ev-card{display:flex;flex-direction:column;gap:var(--sp-2xs);text-align:left;width:100%}
.ev-type button{display:inline-flex;align-items:center;gap:6px}
.event-pill:disabled{cursor:default;opacity:1}

/* ---------- Nivelamento (divergente: azul acima, vermelho abaixo, cinza alinhado) ---------- */
:root{--dv-0:#f0efec;--dv-up1:#d6e6fa;--dv-up2:#8fbbee;--dv-up3:#2a78d6;--dv-dn1:#fbdcd0;--dv-dn2:#f2a386;--dv-dn3:#d4502a;--dv-ink:#17191c}
:root[data-theme="dark"]{--dv-0:#383835;--dv-up1:#1f3a5c;--dv-up2:#2f64a8;--dv-up3:#3987e5;--dv-dn1:#5a2a1c;--dv-dn2:#a4432a;--dv-dn3:#e0643f;--dv-ink:#e4e6ea}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--dv-0:#383835;--dv-up1:#1f3a5c;--dv-up2:#2f64a8;--dv-up3:#3987e5;--dv-dn1:#5a2a1c;--dv-dn2:#a4432a;--dv-dn3:#e0643f;--dv-ink:#e4e6ea}}
.dv-cell{display:inline-grid;place-items:center;min-width:46px;height:24px;padding:0 6px;border-radius:6px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--dv-ink);background:var(--dv-0)}
.dv-none{background:transparent;color:var(--sys-on-surface-variant)}
.dv-up1{background:var(--dv-up1)}.dv-up2{background:var(--dv-up2)}.dv-up3{background:var(--dv-up3);color:#fff}
.dv-dn1{background:var(--dv-dn1)}.dv-dn2{background:var(--dv-dn2)}.dv-dn3{background:var(--dv-dn3);color:#fff}
.dbar{position:relative;width:72px;height:10px;border-radius:4px;background:var(--surface-3);flex:none}
.dbar-mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--sys-outline)}
.dbar-fill{position:absolute;top:0;bottom:0;border-radius:4px}
.dbar-fill.up{background:var(--dv-up3)}.dbar-fill.dn{background:var(--dv-dn3)}
.dv-num{min-width:44px;text-align:right;font-size:13px}
.nv-legend{display:flex;flex-wrap:wrap;gap:6px var(--sp-md);align-items:center;margin-top:var(--sp-sm)}
.nv-legend .dv-cell{min-width:24px;height:18px;margin-right:4px}
.nv-detail > td{background:var(--surface-1);padding:var(--sp-md)}
.nv-detail tbody tr:hover{background:none}
.tol-seg button[data-tol]{padding:0 var(--sp-sm)}
.nv-tbl td,.nv-tbl th{padding-left:8px;padding-right:8px}
.nv-tbl td:first-child{min-width:150px}
.nowrap{white-space:nowrap}

/* ---------- Salas ---------- */
.rm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-md);align-items:start}
.rm-card{border:1px solid var(--sys-outline-variant);border-radius:var(--r3);background:var(--sys-surface);padding:var(--sp-md);transition:box-shadow .12s,border-color .12s}
.rm-card.over{border-color:var(--sys-primary);box-shadow:0 0 0 3px var(--sys-primary-container)}
.rm-card header{display:flex;align-items:center;gap:var(--sp-2xs);margin-bottom:4px}
.rm-card header .msym{color:var(--sys-primary)}
.rm-name{flex:1;min-height:34px;font-weight:700;font-size:16px;border-color:transparent;background:transparent;padding:0 6px}
.rm-name:hover{border-color:var(--sys-outline-variant)}
.rm-none{background:var(--surface-1);border-style:dashed}
.rm-sec{margin-top:var(--sp-sm)}
.rm-sec-t{font-size:11px;font-weight:500;letter-spacing:.7px;text-transform:uppercase;color:var(--sys-on-surface-variant);margin-bottom:6px}
.rm-list{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}
.rm-chip{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 4px 0 8px;border-radius:var(--rf);font-size:12px;background:var(--surface-3);cursor:grab;max-width:100%}
.rm-chip.j{background:var(--sys-primary-container);color:var(--sys-on-primary-container)}
.rm-chip .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-chip .sub{opacity:.7}
.rm-chip.dragging{opacity:.4}
.rm-x{border:none;background:transparent;color:inherit;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;cursor:pointer;opacity:.6}
.rm-x:hover{opacity:1;background:#0000001a}
.rm-add{margin-top:6px;min-height:34px;font-size:12px}

/* ---------- Nivelamento: gráfico ---------- */
.nv-bar{display:flex;flex-wrap:wrap;gap:var(--sp-sm);align-items:center;margin-bottom:var(--sp-md)}
.nv-bar .seg button{display:inline-flex;align-items:center;gap:6px}
.nv-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--sys-warning);color:var(--sys-on-warning);font-size:11px;font-weight:700}
.nv-pick,.nv-chart,.nv-judge,.nv-alerts,.nv-team-head,.nv-sim{margin-bottom:var(--sp-md)}
.nv-chips{display:flex;flex-wrap:wrap;gap:6px}
.nv-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 10px;border-radius:var(--rf);border:1px solid var(--sys-outline-variant);background:var(--sys-surface);color:var(--sys-on-surface-variant);font-size:13px;cursor:pointer}
.nv-chip .lc-sw{display:none}
.nv-chip.on{border-color:var(--c);color:var(--sys-on-surface);box-shadow:inset 0 0 0 1px var(--c)}
.nv-chip.on .lc-sw{display:inline-block}
.nv-chip .dv-cell{min-width:40px;height:20px;font-size:11px}
.lc-legend{display:flex;flex-wrap:wrap;gap:6px var(--sp-md);margin-bottom:6px;font-size:12px;color:var(--sys-on-surface-variant)}
.lc-key{display:inline-flex;align-items:center;gap:6px}
.lc-sw{display:inline-block;width:14px;height:4px;border-radius:2px;background:var(--c);flex:none}
.lc-sw.ref{background:repeating-linear-gradient(90deg,var(--c) 0 4px,transparent 4px 7px)}
.lc-sw.bold{height:5px}
.lc-box{position:relative}
.lc-box svg{width:100%;height:auto;display:block;overflow:visible}
.lc-grid{stroke:var(--sys-outline-variant);stroke-width:1}
.lc-sep{stroke:var(--sys-outline-variant);stroke-width:1;stroke-dasharray:2 3}
.lc-tick,.lc-xl{fill:var(--sys-on-surface-variant);font-size:12px;font-family:Roboto,sans-serif}
.lc-grp{fill:var(--sys-on-surface);font-size:12px;font-weight:700;font-family:Roboto,sans-serif}
.lc-lab{fill:var(--sys-on-surface);font-size:12px;font-family:Roboto,sans-serif}
.lc-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.lc-line.ref{stroke-dasharray:6 5}
.lc-line.bold{stroke-width:3}
.lc-dot{stroke:var(--sys-surface);stroke-width:2}
.lc-cross{stroke:var(--sys-outline);stroke-width:1}
.lc-hit{fill:transparent;cursor:crosshair}
.lc-tip{position:absolute;z-index:5;min-width:190px;padding:var(--sp-2xs) var(--sp-sm);border-radius:var(--r4);background:var(--sys-surface);border:1px solid var(--sys-outline-variant);box-shadow:var(--el2);font-size:12px;pointer-events:none}
.lc-tip b{display:block;margin-bottom:4px}
.lc-tr{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:1px 0}
.lc-tr b{display:inline;margin:0}
.lc-cap{margin-top:var(--sp-2xs)}
.strip{position:relative;height:74px;margin:0 8px}
.strip-axis{position:absolute;left:0;right:0;top:26px;height:2px;background:var(--surface-4);border-radius:1px}
.strip-zero{position:absolute;top:12px;height:30px;width:1px;background:var(--sys-outline)}
.strip-typ{position:absolute;top:14px;height:26px;width:0;border-left:2px dashed var(--sys-on-surface-variant);transform:translateX(-1px)}
.strip-dot{position:absolute;top:19px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--c);border:2px solid var(--sys-surface);cursor:pointer;padding:0;opacity:.85}
.strip-dot:hover{opacity:1;transform:scale(1.2)}
.strip-dot.out{box-shadow:0 0 0 3px var(--sys-critical);opacity:1}
.strip-l,.strip-r{position:absolute;top:50px;font-size:11px;color:var(--sys-on-surface-variant)}
.strip-l{left:0}.strip-r{right:0}
tr.nv-out td{background:var(--sys-warning-container)}
.nv-flag{display:inline-flex;align-items:center;gap:2px;margin-left:6px;font-size:11px;font-weight:500;padding:1px 6px;border-radius:var(--rf)}
.nv-flag.up{background:var(--dv-up1);color:var(--dv-ink)}.nv-flag.dn{background:var(--dv-dn1);color:var(--dv-ink)}
.nv-alert-list{display:flex;flex-direction:column;gap:6px;max-height:330px;overflow:auto}
.nv-alert{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-sm);align-items:center;text-align:left;padding:var(--sp-2xs) var(--sp-sm);border-radius:var(--r4);border:1px solid var(--sys-outline-variant);background:var(--sys-surface);color:var(--sys-on-surface);cursor:pointer;font-size:13px}
.nv-alert:hover{border-color:var(--sys-primary)}
.nv-alert.up > .msym{color:var(--dv-up3)}
.nv-alert.pair > .msym{color:var(--sys-warning)}.nv-alert.dn > .msym{color:var(--dv-dn3)}
.nv-evals{display:flex;flex-wrap:wrap;gap:var(--sp-2xs);margin-top:var(--sp-sm)}
.nv-ev{display:flex;align-items:flex-start;gap:8px;padding:var(--sp-2xs) var(--sp-sm);border:1px solid var(--sys-outline-variant);border-radius:var(--r4);cursor:pointer;min-width:220px}
.nv-ev .lc-sw{margin-top:8px}
.nv-ev.off{opacity:.55;border-style:dashed}
.nv-ev input{margin-top:4px;accent-color:var(--sys-primary)}
.nv-big{font-size:26px;font-weight:500}

/* ---------- escolher da base ---------- */
.bp-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2xs);align-items:center;margin-bottom:var(--sp-sm)}
.bp-filters select{width:auto;min-height:40px}
.bp-list{max-height:48vh;overflow:auto;border:1px solid var(--sys-outline-variant);border-radius:var(--r4)}
.bp-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-sm);align-items:center;padding:8px var(--sp-sm);border-bottom:1px solid var(--sys-outline-variant);cursor:pointer}
.bp-row:last-child{border-bottom:none}
.bp-row:hover{background:var(--surface-1)}
.bp-row.done{opacity:.6;cursor:default}
.bp-row input{accent-color:var(--sys-primary);width:18px;height:18px;min-height:0}
.bp-main{display:flex;flex-direction:column;min-width:0}
.bp-main b,.bp-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bp-meta{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.bp-foot{display:grid;grid-template-columns:1fr 200px;gap:var(--sp-md);margin-top:var(--sp-md)}
@media (max-width:620px){.bp-foot{grid-template-columns:1fr}}
@keyframes spin{to{transform:rotate(360deg)}}
.msym.spin{animation:spin 1s linear infinite}
.app-version{position:fixed;right:10px;bottom:6px;z-index:70;font:500 10px/1 "Roboto Mono",monospace;color:var(--sys-on-surface-variant);opacity:.7;pointer-events:none}
.tnum .tnow{display:block;width:max-content;font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;margin-top:3px;padding:1px 6px;border-radius:999px}
.tnum .tnow.agora{background:var(--sys-success-container);color:var(--sys-on-success-container)}
.tnum .tnow.proxima{background:var(--sys-warning-container);color:var(--sys-on-warning-container)}
.team-row:has(.tnow.agora){box-shadow:inset 3px 0 0 var(--sys-primary)}
.pf-convite{margin-bottom:var(--sp-lg);align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}
.pf-convite .grow{min-width:200px}
.ans-card{display:flex;align-items:center;gap:var(--sp-xl);padding:var(--sp-xl)}
.ans-art{width:220px;flex:none;max-width:42%}
.ans-txt h2{font-size:26px;margin-bottom:var(--sp-xs)}
.ans-cont{font-size:18px;margin-bottom:var(--sp-sm);color:var(--sys-primary)}
.ans-txt p{margin-bottom:var(--sp-sm)}
.ans-bot{animation:ans-pula 2.4s ease-in-out infinite;transform-origin:92px 170px}
.ans-luz{animation:ans-pisca 1.2s ease-in-out infinite}
.ans-braco{animation:ans-acena 1.2s ease-in-out infinite;transform-origin:60px 110px}
@keyframes ans-pula{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ans-pisca{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes ans-acena{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg)}}
@media (prefers-reduced-motion:reduce){.ans-bot,.ans-luz,.ans-braco{animation:none}}
@media (max-width:600px){.ans-card{flex-direction:column;text-align:center;padding:var(--sp-lg)}.ans-art{max-width:70%;width:200px}}
.rc-equipe{margin-top:var(--sp-lg)}
.rc-passo{font-weight:600;font-size:13px;margin:var(--sp-md) 0 var(--sp-xs);color:var(--sys-on-surface-variant)}
.rc-frases{display:flex;flex-direction:column;gap:6px}
.rc-frase{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--sys-outline-variant);border-radius:12px;cursor:pointer;line-height:1.9}
.rc-frase.on{border-color:var(--sys-primary);background:var(--sys-primary-container)}
.rc-frase input{margin-top:6px;flex:none}
.rc-sel{width:auto!important;min-height:32px!important;padding:2px 8px!important;display:inline-block;margin:0 2px}
.rc-emojis{display:flex;flex-wrap:wrap;gap:6px}
.rc-emoji{width:44px;height:44px;font-size:22px;border-radius:12px;border:1px solid var(--sys-outline-variant);background:var(--sys-surface);cursor:pointer}
.rc-emoji.on{border:2px solid var(--sys-primary);background:var(--sys-primary-container)}
.rc-cores{display:flex;gap:8px}
.rc-cor{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.rc-cor.on{border-color:var(--sys-on-surface)}
.rc-envio{display:flex;justify-content:center;margin:var(--sp-sm) 0}
.rc-card{margin:0;padding:22px 24px;border-radius:18px;max-width:440px;width:100%;box-shadow:0 6px 18px rgba(0,0,0,.08);transform:rotate(-1deg)}
.rc-card .rc-em{font-size:26px;letter-spacing:4px}
.rc-card blockquote{margin:0;font-size:19px;font-weight:600;line-height:1.35}
.rc-card figcaption{margin-top:10px;font-size:13px;opacity:.85}
.rc-card.mini{padding:16px 18px;transform:none}
.rc-card.mini blockquote{font-size:16px}
.rc-card.mini .rc-em{font-size:22px}
.rc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-sm)}
.rc-grid .rc-card:nth-child(odd){transform:rotate(-.6deg)}
.rc-grid .rc-card:nth-child(even){transform:rotate(.6deg)}
.ft-click{cursor:zoom-in;-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.ft-ed{display:flex;justify-content:center}
.ft-ed canvas{border-radius:16px;touch-action:none;cursor:grab;background:#111}
.ft-ver{display:flex;justify-content:center}
.ft-ver canvas{width:min(320px,80vw);height:auto;aspect-ratio:1;border-radius:20px;user-select:none;-webkit-touch-callout:none}
.rc-topo{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;min-height:20px}
.rc-cv{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;border:1.5px solid;border-radius:999px;padding:2px 10px 2px 6px;white-space:nowrap}
.rc-cv .msym{font-size:16px}
.rc-cvs{display:flex;flex-wrap:wrap;gap:6px}
.rc-cvs .chip{cursor:pointer;border:none;font:inherit}
.rc-assin{line-height:2.4}
.rc-meus{margin-top:var(--sp-xs)}
.rc-frase .rc-sel{border:none!important;border-bottom:2px dashed var(--sys-primary)!important;border-radius:0!important;background:transparent!important;color:var(--sys-primary);font-weight:600;padding:0 2px!important;min-height:0!important}
.rb-modo{margin-bottom:var(--sp-md);align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}
.tr-card{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;background:linear-gradient(135deg,#6b2a94,#4d1870);color:#fff;border-color:transparent}
.tr-card > .msym{font-size:30px;color:#fff}
.tr-card .tr-btn{background:#fff;color:#5b1f80;font-weight:700}
.tr-card .tr-btn:hover{background:#f3e8fb}
.ts-card .cr-fila li{flex-wrap:wrap}
.bk-op{width:100%;text-align:left;display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--sys-outline-variant);border-radius:12px;background:var(--sys-surface);cursor:pointer;font:inherit;color:inherit}
.bk-op:hover{border-color:var(--sys-primary);background:var(--sys-primary-container)}
.bk-op .msym{font-size:26px;color:var(--sys-primary)}
.rc-velhos summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}
.rc-velhos summary::-webkit-details-marker{display:none}
.rc-velhos[open] .chev{transform:rotate(180deg)}
.rc-mini{letter-spacing:2px}
.rc-par{display:flex;flex-direction:column;gap:8px;min-width:0}
.rc-resp-btn{align-self:flex-start}
.rc-respondi{display:flex;flex-direction:column;gap:4px;color:var(--sys-primary);font-weight:600}
.pt-cont{display:flex}
.pt-lista{display:flex;flex-wrap:wrap;gap:10px;padding:4px 2px}
.pt-note{width:170px;min-height:110px;padding:12px 12px 10px;background:#fff59d;color:#4a3b00;box-shadow:0 4px 10px rgba(0,0,0,.12);transform:rotate(var(--rot,0deg));border-radius:2px 2px 10px 2px;position:relative;font-weight:400}
.pt-note::before{content:"";position:absolute;top:-7px;left:50%;width:46px;height:14px;margin-left:-23px;background:rgba(255,255,255,.55);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.pt-note .pt-em{font-size:18px;margin-bottom:4px}
.pt-note p{margin:0;font-size:14px;line-height:1.35;font-weight:600}
.pt-note span{display:block;margin-top:6px;font-size:11px;opacity:.75}
.pt-espera{margin:0}
.rp-orig{display:flex;justify-content:center;margin-bottom:var(--sp-sm)}
.rp-prev{margin-top:var(--sp-md)}
.rc-meus .rc-par{grid-column:1/-1}
.pc-card{margin-bottom:var(--sp-lg);border:2px solid var(--sys-primary)}
.pc-card h2{margin-bottom:var(--sp-xs)}
.pc-passo{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--sys-primary);margin-bottom:4px}
.pc-lista{display:flex;flex-direction:column;gap:8px;margin:var(--sp-md) 0}
.pc-linha{display:flex;align-items:center;gap:var(--sp-sm);padding:10px 12px;border:1px solid var(--sys-outline-variant);border-radius:12px}
.pc-linha span{flex:1;font-weight:600}
.pc-linha input{width:90px!important;text-align:center;font-weight:700}
.pc-total{font-weight:700;font-size:18px;text-align:right}
.pc-total.ok{color:var(--sys-success)}
.pc-total.bad{color:var(--sys-critical)}
.pc-feito{display:flex;gap:var(--sp-sm);align-items:center;border:1px solid var(--sys-outline-variant)}
.pc-feito .msym{color:var(--sys-success);font-size:28px}
.pc-card .q{display:block;font-weight:600;margin:var(--sp-sm) 0}
.pc-modos{display:flex;flex-direction:column;gap:6px}
.pf-sep{border:none;border-top:1px solid var(--sys-outline-variant);margin:var(--sp-md) 0}
.pp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pp-row{display:flex;align-items:center;gap:var(--sp-sm);padding:10px 0;border-top:1px solid var(--sys-outline-variant)}
.pp-row:first-child{border-top:none}
.pp-main{flex:1;min-width:0;display:flex;flex-direction:column}
.pp-main b{overflow:hidden;text-overflow:ellipsis}
.wa-btn{flex:none;color:#1a8f4a;border-color:#1a8f4a}
.wa-ic{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 2px 6px rgba(37,211,102,.35);transition:transform .12s}
.wa-ic:hover{transform:scale(1.08)}
.wa-ic.wa-org{background:#fff;color:#1a8f4a;border:2px solid #25d366;box-shadow:none}
td .wa-ic{width:30px;height:30px}
.wa-btn.wa-org{border-style:dashed}
.sl-room{border-top:1px solid var(--sys-outline-variant)}
.sl-room:first-of-type{border-top:none}
.sl-room summary{display:flex;align-items:center;gap:var(--sp-xs);padding:12px 0;cursor:pointer;list-style:none}
.sl-room summary::-webkit-details-marker{display:none}
.sl-room[open] .chev{transform:rotate(180deg)}
.sl-faces{display:flex;margin-left:var(--sp-xs)}
.sl-faces .avatar{margin-left:-6px;border:2px solid var(--sys-surface)}
@media (max-width:600px){.hide-sm{display:none}}
.cr-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--sp-md)}
.cr-chips .chip{cursor:pointer;border:none;font:inherit}
.cr-chips .cr-esp,.cr-sua{font-weight:600}
.cr-sua{cursor:pointer;border:none;font:inherit;font-weight:600}
.cr-depois li{opacity:.85}
.cr-salas{margin-top:var(--sp-md)}
.cr-salas summary{cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--sys-primary);font-weight:500;margin-bottom:var(--sp-sm)}
.cr-geral{display:flex;flex-wrap:wrap;gap:6px}
.cr-fila{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cr-fila li{display:flex;align-items:center;gap:var(--sp-sm);padding:10px 12px;border:1px solid var(--sys-outline-variant);border-radius:12px}
.cr-fila .cr-h{min-width:96px;font-weight:600}
.cr-fila .cr-t{flex:1;min-width:0}
.cr-fila li.cr-agora{border-color:var(--sys-primary);background:var(--sys-primary-container)}
.cr-fila li.cr-passou{opacity:.55}
@media (max-width:600px){.cr-fila li{flex-wrap:wrap;row-gap:2px}.cr-fila .cr-h{min-width:0;width:100%}}
