/* Calculator Punctaj TECH ASSIST — caută scor + loc în clasamentele ANPDPD.
   Stilat pe tokenii temei (var(--...)) cu fallback; accesibil (contrast, focus, 44px). */
.ctap{--c-pri:var(--color-primary,#0d4f93);--c-acc:var(--color-accent,#b45309);--c-ink:var(--color-ink,#14222f);
  --c-txt:var(--color-text,#243447);--c-mut:var(--color-muted,#5a6b7a);--c-bd:var(--color-border,#d8e1ec);
  --c-surf:var(--color-surface,#fff);--c-sub:var(--color-surface-subtle,#f7f9fc);--c-ok:var(--color-success,#1a6e37);
  --c-warn:var(--color-danger,#b3261e);--c-onpri:var(--color-on-primary,#fff);
  color:var(--c-txt);max-width:100%}
.ctap *{box-sizing:border-box}
.ctap-intro{background:var(--c-sub);border:1px solid var(--c-bd);border-left:4px solid var(--c-acc);border-radius:8px;padding:.9rem 1rem;line-height:1.55;color:var(--c-txt)}
.ctap-intro a{color:var(--c-pri);font-weight:600}
/* taburi */
.ctap-tabs{display:flex;gap:.4rem;margin:1.1rem 0 0;flex-wrap:wrap}
.ctap-tab{min-height:44px;padding:.5rem 1rem;border:2px solid var(--c-bd);border-bottom:none;border-radius:8px 8px 0 0;background:var(--c-sub);color:var(--c-pri);font-weight:700;font-size:.98rem;cursor:pointer}
.ctap-tab-on{background:var(--c-surf);border-color:var(--c-pri);color:var(--c-ink)}
.ctap-tab:focus{outline:3px solid var(--c-acc);outline-offset:2px}
.ctap-panel{background:var(--c-surf);border:2px solid var(--c-pri);border-radius:0 8px 8px 8px;padding:1.1rem}
.ctap label{display:block;font-weight:600;color:var(--c-ink);font-size:.95rem;margin-bottom:.3rem}
.ctap input,.ctap select{width:100%;min-height:44px;padding:.5rem .7rem;border:1px solid #949aa4;border-radius:6px;font-size:1.05rem;background:var(--c-surf);color:var(--c-ink)}
.ctap input:focus,.ctap select:focus,.ctap button:focus,.ctap a:focus{outline:3px solid var(--c-acc);outline-offset:2px}
.ctap-row{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap;margin-top:.2rem}
.ctap-row input{flex:1;min-width:160px}
.ctap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem}
.ctap-btn{min-height:44px;padding:.5rem 1.4rem;border-radius:6px;border:2px solid var(--c-pri);background:var(--c-pri);color:var(--c-onpri);font-weight:700;font-size:1rem;cursor:pointer;white-space:nowrap}
.ctap-btn:hover{background:var(--c-ink);border-color:var(--c-ink)}
.ctap-hint{color:var(--c-mut);font-size:.88rem;margin:.6rem 0 0}
.ctap-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* rezultat */
.ctap-result{margin:1.1rem 0 0}
.ctap-result:empty{display:none}
.ctap-card{background:var(--c-sub);border:1px solid var(--c-bd);border-radius:10px;padding:1rem 1.1rem;margin:.6rem 0}
.ctap-card.ok{border-left:5px solid var(--c-ok)}
.ctap-card.bad{border-left:5px solid var(--c-warn)}
.ctap-card.none{border-left:5px solid var(--c-acc)}
.ctap-card p{margin:.25rem 0;line-height:1.5}
.ctap-big{font-size:1.15rem;font-weight:800;color:var(--c-ink)}
.ctap-badge{display:inline-block;padding:.1rem .5rem;border-radius:4px;font-weight:700;font-size:.85rem}
.ctap-badge.da{background:var(--color-success-bg,#e7f4ec);color:var(--c-ok);border:1px solid var(--c-ok)}
.ctap-badge.nu{background:var(--color-danger-bg,#fdeceb);color:var(--c-warn);border:1px solid var(--c-warn)}
.ctap-link{display:inline-block;margin-top:.5rem;min-height:36px;padding:.35rem .8rem;border:2px solid var(--c-pri);border-radius:6px;background:var(--c-surf);color:var(--c-pri);font-weight:700;cursor:pointer;font-size:.92rem}
/* clasament */
.ctap-clh{color:var(--c-ink);margin:1.4rem 0 .5rem}
.ctap-tablewrap{overflow-x:auto;border:1px solid var(--c-bd);border-radius:10px;background:var(--c-surf)}
.ctap-table{border-collapse:collapse;width:100%;min-width:420px;margin:0}
.ctap-table caption{text-align:left;padding:.6rem .8rem;color:var(--c-mut);font-size:.9rem}
.ctap-table th,.ctap-table td{text-align:left;padding:.5rem .8rem;border-bottom:1px solid var(--c-bd);font-size:.96rem}
.ctap-table thead th{background:#0d4f93;color:#fff;position:sticky;top:0}
.ctap-table td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
/* rândul căutat — accent puternic + marcaj text pentru screen reader */
.ctap-table tr.me{background:var(--color-accent-bg,#fdf1e3);outline:3px solid var(--c-acc);outline-offset:-3px}
.ctap-table tr.me td{font-weight:800;color:var(--c-ink)}
.ctap-me-tag{display:inline-block;margin-left:.4rem;font-size:.72rem;font-weight:800;color:var(--c-acc);text-transform:uppercase;letter-spacing:.03em}
.ctap-nosc{font-style:italic;color:var(--c-mut)}
.ctap-obs{display:block;font-size:.8rem;color:var(--c-mut);line-height:1.4;margin-top:.15rem;max-width:42ch}
.ctap-judlist{list-style:none;padding:0;margin:.4rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.4rem}
.ctap-judlist li{background:var(--c-sub);border:1px solid var(--c-bd);border-radius:6px;padding:.45rem .7rem;font-weight:600;color:var(--c-ink);font-size:.92rem}
.ctap-judlist li span{display:block;font-weight:400;color:var(--c-mut);font-size:.82rem}
.ctap-note{color:var(--c-mut);font-size:.86rem;line-height:1.5;max-width:75ch;margin-top:1rem}
@media(max-width:560px){.ctap-table th,.ctap-table td{padding:.45rem .5rem;font-size:.9rem}}
