/* ============================================================================
   OXTON SONO — complemento ao design system (admin.css). Componentes do sono,
   autenticação e formulário público. Reusa a paleta azul Oxton.
   ============================================================================ */

/* tokens para telas que não usam .adm-body */
.auth-body, .pub-body{
  --bg:#f1f5f9; --card:#fff; --card2:#f8fafc; --line:rgba(15,23,42,.08); --line2:rgba(15,23,42,.12);
  --txt:#0f172a; --txt2:#475569; --txt3:#94a3b8; --blue:#1E5EFF; --blue2:#2563EB;
  --green:#10B981; --orange:#F59E0B; --red:#EF4444; --violet:#8B5CF6; --r:14px; --r-sm:10px;
  margin:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--txt);line-height:1.55;-webkit-font-smoothing:antialiased;
  background:var(--bg);
}
html{background:#f1f5f9}

/* ---------------- AUTENTICAÇÃO ---------------- */
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}
.auth-hero{background:linear-gradient(150deg,#0a1124 0%,#13235e 60%,#1E5EFF 140%);color:#fff;padding:3.5rem 3rem;display:flex;flex-direction:column;justify-content:center}
.auth-hero__brand{font-size:1.6rem;font-weight:800;letter-spacing:-.01em;margin-bottom:.15rem}
.auth-hero__brand b{color:#9fc0ff}
.auth-hero__slogan{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:#9fb6e8;font-weight:600;margin-bottom:2rem}
.auth-hero h1{color:#fff;font-size:2rem;line-height:1.15;max-width:14ch}
.auth-hero p{color:#c7d3ee;max-width:46ch;margin-top:.8rem}
.auth-hero__list{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.7rem}
.auth-hero__list li{display:flex;align-items:center;gap:.6rem;color:#e6edff;font-size:.92rem}
.auth-hero__list svg{color:#7ee0b0;width:18px;height:18px;flex:0 0 18px}
.auth-card{background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:3rem 3.2rem;max-width:520px;width:100%;margin:0 auto}
.auth-card h2{font-size:1.6rem;margin:0 0 .2rem}
.auth-back{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;white-space:nowrap;margin-bottom:1.1rem;font-size:.84rem;font-weight:600;color:var(--txt2);text-decoration:none;padding:.4rem .9rem;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.auth-back:hover{color:var(--blue);border-color:var(--blue)}
.auth-demo{margin-top:1.8rem;padding:1rem 1.1rem;background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);font-size:.82rem;color:var(--txt2)}
.auth-demo ul{margin:.5rem 0 0;padding-left:1.1rem}
.auth-demo code{background:#fff;border:1px solid var(--line);border-radius:6px;padding:.05rem .35rem;font-size:.78rem;color:var(--blue)}
.adm-form .adm-btn{cursor:pointer}
/* Escolha de tipo de conta (Pesquisador / Voluntário) */
.auth-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:1rem}
.auth-role{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:var(--txt2)}
.auth-role .ico{width:20px;height:20px;color:var(--txt3)}
.auth-role__t{font-weight:700;color:var(--txt);font-size:.95rem}
.auth-role__d{font-size:.76rem;line-height:1.4;color:var(--txt3)}
.auth-role.is-active{border-color:var(--blue);background:#f5f8ff}
.auth-role.is-active .ico,.auth-role.is-active .auth-role__t{color:var(--blue)}
.auth-role:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:520px){.auth-roles{grid-template-columns:1fr}}
@media(max-width:860px){.auth-wrap{grid-template-columns:1fr}.auth-hero{display:none}}

/* ---------------- FORMULÁRIO PÚBLICO ---------------- */
.pub-top{background:#0a1124;color:#fff;padding:1rem 1.5rem;text-align:center}
.pub-top .adm-logo{font-size:1.3rem;font-weight:800;color:#fff}.pub-top .adm-logo b{color:#7ea2ff}
.pub-top__slogan{display:block;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:#8fa6d6;font-weight:600;margin-top:.15rem}
.pub-main{max-width:780px;margin:2rem auto;padding:0 1rem}
.pub-foot{text-align:center;color:var(--txt3);font-size:.8rem;padding:2rem 1rem}
.pub-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:2rem 2.2rem;box-shadow:0 8px 30px rgba(15,23,42,.06)}
.pub-card--center{text-align:center;padding:3rem 2rem}
@media(max-width:600px){.pub-card{padding:1.4rem 1.1rem}}

/* ---------------- QUESTIONÁRIO (itens) ---------------- */
.q-head h1{font-size:1.5rem;margin:.4rem 0 .2rem}
.q-section{font-size:.92rem;font-weight:700;color:var(--blue2);margin:1.6rem 0 .4rem;padding-bottom:.4rem;border-bottom:2px solid var(--line)}
.q-item{padding:.9rem 0;border-bottom:1px solid var(--line)}
.q-item__text{font-weight:600;font-size:.92rem;margin-bottom:.6rem}
.q-req{color:var(--red)}
.q-help{font-size:.8rem;color:var(--txt2);margin:-.3rem 0 .5rem}
.q-opts{display:grid;gap:.45rem}
@media(min-width:560px){.q-opts{grid-template-columns:repeat(2,1fr)}}
.q-opt{cursor:pointer}
.q-opt input{position:absolute;opacity:0}
.q-opt__box{display:flex;align-items:center;gap:.5rem;padding:.55rem .7rem;border:1px solid var(--line2);border-radius:var(--r-sm);font-size:.86rem;transition:.12s;background:var(--card)}
.q-opt__box b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--card2);font-size:.75rem;flex:0 0 22px}
.q-opt:hover .q-opt__box{border-color:var(--blue)}
.q-opt input:checked + .q-opt__box{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,#fff);box-shadow:inset 0 0 0 1px var(--blue)}
.q-opt input:checked + .q-opt__box b{background:var(--blue);color:#fff}
.q-input{width:100%;padding:.6rem .75rem;border:1px solid var(--line2);border-radius:var(--r-sm);font:inherit;background:var(--card);color:var(--txt)}
.q-input:focus{outline:0;border-color:var(--blue)}
.q-input--sm{max-width:200px}
.q-num{display:flex;align-items:center;gap:.5rem}
.q-suffix{font-size:.85rem;color:var(--txt2)}
.q-submit{margin-top:1.6rem}
.q-form hr{border:0;border-top:1px solid var(--line);margin:1rem 0}

/* ---------------- DIÁRIO DE REGULARIDADE (linhas dinâmicas) ---------------- */
.reg-diary__head,.reg-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 36px;gap:.6rem;align-items:center}
.reg-diary__head{padding:0 0 .5rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--txt2);border-bottom:1px solid var(--line);margin-bottom:.6rem}
.reg-row{margin-bottom:.55rem}
.reg-row .q-input{max-width:100%;width:100%}
.reg-del{width:34px;height:34px;border:1px solid var(--line2);background:var(--card);border-radius:9px;color:var(--txt3);font-size:1.2rem;line-height:1;cursor:pointer;transition:.12s}
.reg-del:hover{border-color:var(--red);color:var(--red)}
@media(max-width:640px){
  .reg-diary__head{display:none}
  .reg-row{grid-template-columns:1fr 1fr;gap:.5rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:.7rem;position:relative}
  .reg-row .q-input[name="date[]"]{grid-column:1 / -1}
  .reg-del{position:absolute;top:.4rem;right:.4rem;width:28px;height:28px}
}

/* ---------------- DIÁRIO GENÉRICO (muitas colunas, rolagem horizontal) ---------------- */
.diary{overflow-x:auto;padding-bottom:.3rem}
.diary__head,.diary-row{display:grid;grid-template-columns:repeat(var(--cols,8),minmax(96px,1fr)) 36px;gap:.5rem;align-items:center;min-width:calc(var(--cols,8) * 104px + 36px)}
.diary__head{padding:0 0 .5rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--txt2);border-bottom:1px solid var(--line);margin-bottom:.6rem}
.diary-row{margin-bottom:.5rem}
.diary-row .q-input{width:100%;max-width:100%;padding:.45rem .5rem;font-size:.82rem}

/* ---------------- FERRAMENTAS: calculadoras ---------------- */
.conv-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.4rem}
.conv-cell{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm)}
.conv-cell span{font-size:.8rem;color:var(--txt2)}
.conv-cell strong{font-size:1rem;font-variant-numeric:tabular-nums}
.conv-cell--full{grid-column:1 / -1;background:color-mix(in srgb,var(--blue) 8%,#fff);border-color:color-mix(in srgb,var(--blue) 25%,transparent)}
.conv-big{font-size:1.6rem;font-weight:700;color:var(--blue2);font-variant-numeric:tabular-nums;margin-top:.3rem}
.sample-out{display:flex;justify-content:space-between;align-items:center;margin-top:.6rem;padding:.9rem 1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 12%,#fff),#fff);border:1px solid color-mix(in srgb,var(--blue) 25%,transparent);border-radius:var(--r-sm)}
.sample-out span{font-size:.82rem;color:var(--txt2)}
.sample-out strong{font-size:1.3rem;color:var(--blue2);font-variant-numeric:tabular-nums}
.sample-formula{margin:.7rem 0 0;font-size:.76rem;color:var(--txt3);font-family:ui-monospace,Menlo,Consolas,monospace}

/* ---------------- COMITÊ DE ÉTICA ---------------- */
.docs-check{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .8rem}
.docs-check__item{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--txt2);font-weight:500}

/* ---------------- BANCO DE DADOS (planilha) ---------------- */
.data-pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}
.data-pager .is-disabled{opacity:.4;pointer-events:none}
.data-sheet{max-height:70vh;overflow:auto}
.data-sheet table{font-size:.8rem;white-space:nowrap}
.data-sheet thead th{position:sticky;top:0;background:var(--card);z-index:2;box-shadow:inset 0 -1px 0 var(--line)}
.data-sheet td{border-right:1px solid var(--line)}
.data-sheet th:first-child,.data-sheet td:first-child{position:sticky;left:0;background:var(--card);font-weight:600}

/* ---------------- Barra de progresso do questionário ---------------- */
.q-progress{position:sticky;top:0;z-index:5;background:var(--card);padding:.6rem 0 .8rem;margin-bottom:.4rem}
.q-progress__track{height:8px;border-radius:99px;background:var(--card2);border:1px solid var(--line);overflow:hidden}
.q-progress__fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--violet));transition:width .25s}
.q-progress__label{display:block;font-size:.76rem;color:var(--txt2);margin-top:.35rem;font-weight:600}

/* ---------------- HEATMAP (regularidade) ---------------- */
.heatmap{overflow-x:auto}
.heatmap__row{display:grid;grid-template-columns:90px repeat(7,minmax(46px,1fr));gap:4px;margin-bottom:4px;min-width:420px}
.heatmap__row--head .heatmap__cellhead{font-size:.72rem;font-weight:700;color:var(--txt2);text-align:center;padding:.2rem 0}
.heatmap__wk{font-size:.72rem;color:var(--txt2);display:flex;align-items:center}
.heatmap__cell{height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;border:1px solid var(--line)}

/* ---------------- REDE OXTON — cartões de pesquisador ---------------- */
.net-card{display:flex;flex-direction:column;gap:.6rem;border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;background:var(--card);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.net-card:hover{border-color:color-mix(in srgb,var(--blue) 35%,transparent);box-shadow:0 8px 22px rgba(30,94,255,.10)}
.net-card__top{display:flex;align-items:center;gap:.7rem}
.net-card__avatar{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#3b74ff,#1E5EFF)}
.net-card__top strong{display:block;font-size:.95rem;color:var(--txt)}
.net-card__sub{font-size:.76rem;color:var(--txt3)}
.net-card__area{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--blue2,#1E5EFF)}
.net-card__bio{font-size:.82rem;color:var(--txt2);line-height:1.45;margin:0}
.net-card__foot{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--line)}
.net-card__link{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--blue)}

/* ---------------- REGULARIDADE — visão avançada (KPIs + actograma + dispersão) ---------------- */
.reg-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;margin:.2rem 0 1.4rem}
.reg-kpi{position:relative;border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem .85rem;background:var(--card);overflow:hidden}
.reg-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--k,#1E5EFF)}
.reg-kpi__ic{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--k,#1E5EFF);background:color-mix(in srgb,var(--k,#1E5EFF) 12%,#fff)}
.reg-kpi__val{display:block;font-size:1.3rem;font-weight:800;color:var(--txt);line-height:1.1;margin-top:.5rem}
.reg-kpi__lab{display:block;font-size:.74rem;color:var(--txt2);margin-top:.15rem}

.acto{overflow-x:auto}
.acto__row{display:grid;grid-template-columns:96px 1fr 64px;align-items:center;gap:.7rem;min-width:520px;margin-bottom:5px}
.acto__row--axis{margin-bottom:.35rem}
.acto__lab{font-size:.74rem;color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acto__lab.is-weekend{color:#8B5CF6;font-weight:600}
.acto__track{position:relative;height:26px;border-radius:8px;background:linear-gradient(90deg,#eef2f9,#f6f9fd);border:1px solid var(--line);overflow:hidden}
.acto__row--axis .acto__track{height:16px;background:none;border:0;overflow:visible}
.acto__grid{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--line) 70%,transparent)}
.acto__tick{position:absolute;top:0;transform:translateX(-50%);font-style:normal}
.acto__tick b{font-size:.64rem;font-weight:600;color:var(--txt3)}
.acto__bar{position:absolute;top:3px;bottom:3px;border-radius:6px;background:linear-gradient(90deg,#3b74ff,#1E5EFF);box-shadow:0 1px 4px rgba(30,94,255,.35)}
.acto__mid{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid #8B5CF6;transform:translate(-50%,-50%);z-index:2}
.acto__meta{font-size:.72rem;color:var(--txt2);text-align:right;white-space:nowrap}
.acto__nap{font-style:normal;display:inline-block;margin-left:.2rem;padding:.05rem .3rem;border-radius:5px;font-size:.64rem;font-weight:700;color:#92560a;background:#fff3dd;border:1px solid #f6d99b}
.acto__legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.74rem;color:var(--txt2)}
.acto__legend span{display:inline-flex;align-items:center;gap:.4rem}
.acto__chip{width:18px;height:10px;border-radius:4px;display:inline-block}
.acto__chip--bar{background:linear-gradient(90deg,#3b74ff,#1E5EFF)}
.acto__chip--mid{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #8B5CF6}
.acto__chip--nap{background:#fff3dd;border:1px solid #f6d99b}
.acto__chip--out{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #EF4444}
.acto__chip--band{background:color-mix(in srgb,#8B5CF6 16%,#fff);border:1px solid color-mix(in srgb,#8B5CF6 30%,#fff)}

.mdp{position:relative;height:64px;margin:.2rem 0 .4rem;border-radius:10px;background:linear-gradient(90deg,#eef2f9,#f6f9fd);border:1px solid var(--line)}
.mdp__band{position:absolute;top:0;bottom:22px;background:color-mix(in srgb,#8B5CF6 14%,transparent);border-left:1px dashed color-mix(in srgb,#8B5CF6 45%,transparent);border-right:1px dashed color-mix(in srgb,#8B5CF6 45%,transparent)}
.mdp__mean{position:absolute;top:0;bottom:22px;width:2px;background:#8B5CF6;transform:translateX(-1px)}
.mdp__dot{position:absolute;top:calc(50% - 11px);width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #8B5CF6;transform:translate(-50%,-50%);transition:transform .12s}
.mdp__dot:hover{transform:translate(-50%,-50%) scale(1.4);z-index:3}
.mdp__dot.is-out{border-color:#EF4444}
.mdp__axis{position:absolute;left:0;right:0;bottom:3px;height:16px}
.mdp__axis i{position:absolute;transform:translateX(-50%);font-style:normal;font-size:.64rem;color:var(--txt3)}

/* Hero de fontes de dados (aba Inserção) */
.reg-hero{display:grid;grid-template-columns:1.1fr 1.4fr;gap:1.4rem;align-items:center;border-radius:16px;padding:1.4rem 1.5rem;margin-bottom:18px;color:#fff;background:linear-gradient(120deg,#0f1b33 0%,#1E3A8A 55%,#1E5EFF 100%);box-shadow:0 10px 30px rgba(30,58,138,.25)}
.reg-hero__badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}
.reg-hero__main h2{margin:.6rem 0 .4rem;font-size:1.4rem;color:#fff}
.reg-hero__main p{margin:0;font-size:.88rem;line-height:1.5;color:#dbe4ff}
.reg-hero__main strong{color:#fff}
.reg-hero__sources{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.reg-hero__src{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .8rem;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.reg-hero__srcic{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.16);color:#fff;margin-bottom:.2rem}
.reg-hero__src strong{font-size:.82rem;color:#fff}
.reg-hero__src span{font-size:.72rem;color:#cdd9f5;line-height:1.35}
@media (max-width:760px){.reg-hero{grid-template-columns:1fr}}

/* Barras de estabilidade por domínio (aba Análise) */
.dom-bar{margin-bottom:1rem}
.dom-bar__top{display:flex;justify-content:space-between;align-items:baseline;font-size:.86rem;color:var(--txt2);margin-bottom:.4rem}
.dom-bar__top strong{font-size:1rem;font-variant-numeric:tabular-nums}
.dom-bar__top small{font-size:.72rem;color:var(--txt3);font-weight:600}
.dom-bar__track{height:10px;border-radius:999px;background:var(--soft,#eef2f7);overflow:hidden}
.dom-bar__fill{height:100%;border-radius:999px;transition:width .5s ease}

/* Insights clínicos (aba Análise) */
.reg-insights{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.reg-insights li{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;color:var(--txt);line-height:1.5}
.reg-insights__ic{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:color-mix(in srgb,#1E5EFF 12%,#fff);color:#1E5EFF;margin-top:.05rem}
.reg-insights strong{color:var(--txt)}

/* ---------------- ANALYSIS STUDIO ---------------- */
.studio-pre{background:var(--side,#0a1124);color:#dbe4ff;border-radius:var(--r-sm);padding:1rem 1.1rem;font-size:.82rem;line-height:1.55;overflow:auto;white-space:pre-wrap;font-family:ui-monospace,Menlo,Consolas,monospace}
.studio-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}
@media print{ .adm-side,.adm-header,.adm-tabs,.studio-actions,.adm-pagehead a{display:none!important} .adm-content{padding:0} .report-card{border:0} }

/* ---------------- ANÁLISES DESCRITIVAS ---------------- */
.desc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.desc-card{display:flex;flex-direction:column}
.desc-card h3{font-size:1rem;margin:0}
.boxplot{position:relative;height:26px;margin:1rem 0 .3rem;background:var(--card2);border:1px solid var(--line);border-radius:6px}
.boxplot__whisker{position:absolute;top:50%;height:2px;background:var(--txt3);transform:translateY(-50%)}
.boxplot__cap{position:absolute;top:7px;bottom:7px;width:2px;background:var(--txt3)}
.boxplot__box{position:absolute;top:5px;bottom:5px;min-width:6px;background:color-mix(in srgb,var(--blue) 22%,#fff);border:1.5px solid var(--blue);border-radius:4px}
.boxplot__median{position:absolute;top:3px;bottom:3px;width:3px;background:var(--violet);transform:translateX(-50%)}
/* observação única (n=1): ponto claro em vez de caixa colapsada */
.boxplot--single .boxplot__point{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 0 0 1.5px var(--blue);transform:translate(-50%,-50%)}
.boxplot-scale{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.68rem;color:var(--txt3)}
.boxplot-note{flex:1;text-align:center;color:var(--txt3)}

/* ---------------- TCLE (consentimento) ---------------- */
.tcle-box{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);padding:1rem 1.2rem;margin-bottom:1rem}
.tcle-text{max-height:260px;overflow:auto;font-size:.86rem;line-height:1.6;color:var(--txt2);white-space:pre-line}
.tcle-accept{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;font-weight:600;background:color-mix(in srgb,var(--blue) 7%,#fff);border:1px solid color-mix(in srgb,var(--blue) 25%,transparent);border-radius:var(--r-sm);padding:.8rem 1rem;margin:0 0 1rem}
.tcle-accept input{margin-top:.2rem}

/* ---------------- INSTRUMENTOS (grid de cards) ---------------- */
.inst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.inst-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;transition:.15s}
.inst-card:hover{border-color:var(--blue);box-shadow:0 8px 24px rgba(30,94,255,.12);transform:translateY(-2px)}
.inst-card--soon{opacity:.82}
.inst-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.inst-card__abbr{font-size:1.05rem;font-weight:800;color:var(--blue2)}
.inst-card__name{font-size:1rem;margin:0 0 .35rem}
.inst-card__purpose{font-size:.85rem;color:var(--txt2);flex:1;margin:0 0 1rem}
.inst-card__foot{display:flex;justify-content:space-between;font-size:.78rem;align-items:center}
.inst-card__foot svg{vertical-align:-.15em}

/* ---------------- RESULTADO / ESCORE ---------------- */
.score-big{text-align:center;padding:1rem 0}
.score-big__num{font-size:3rem;font-weight:800;color:var(--txt);line-height:1}
.score-big__num span{font-size:1.1rem;color:var(--txt3);font-weight:600;margin-left:.3rem}
.article-box{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media(max-width:720px){.article-box{grid-template-columns:1fr}}
.article-box__lang{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);padding:1rem 1.1rem}
.article-box__flag{font-size:.78rem;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.article-box__lang p{font-size:.9rem;line-height:1.6;margin:0 0 .7rem}

/* ---------------- METODOLOGIA / REFS / MÉTRICAS ---------------- */
.prose p{font-size:.92rem;line-height:1.7;color:var(--txt)}
.prose strong{color:var(--txt)}
.metrics{display:grid;gap:.2rem;margin:0}
.metrics dt{font-weight:700;font-size:.9rem;margin-top:.8rem}
.metrics dd{margin:.1rem 0 0;color:var(--txt2);font-size:.88rem}
.refs{margin:0;padding-left:1.2rem}
.refs li{font-size:.88rem;line-height:1.6;margin-bottom:.7rem;color:var(--txt)}

/* ---------------- DIVERSOS ---------------- */
.link-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.link-row .q-input{flex:1;min-width:220px}
.prof-head{text-align:center}
.prof-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:.5rem}
.prof-stats strong{display:block;font-size:1.4rem;color:var(--blue2)}
.prof-stats span{font-size:.76rem;color:var(--txt2)}
.lab-preview{text-align:center;padding:1.5rem;background:var(--card2);border:1px dashed var(--line2);border-radius:var(--r-sm)}
.lab-preview .adm-logo{font-size:1.5rem;font-weight:800;color:var(--txt)}.lab-preview .adm-logo b{color:var(--blue)}
.adm-lablogo{max-height:42px;max-width:100%;display:block}
.adm.is-collapsed .adm-lablogo{display:none}
.adm-back{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--txt3);margin-bottom:.4rem}
.adm-back:hover{color:var(--blue)}
.q-done__ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--green) 16%,#fff);color:var(--green);margin-bottom:1rem}
.q-done__ico svg{width:32px;height:32px}
.q-done__ico--err{background:color-mix(in srgb,var(--red) 14%,#fff);color:var(--red)}
