/* Educa — Componentes e primitivas compartilhadas. */


.lc{box-shadow:var(--shm);width:100%;}


.lc h2{font-weight:600;margin-bottom:4px;}


.lc .sub{color:var(--ink3);margin-bottom:28px;}


.tab{flex:1;padding:9px;border:none;background:none;border-radius:6px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink3);transition:.15s;}


.tab.on{background:#fff;color:var(--ink);box-shadow:var(--sh);}


.fg{margin-bottom:16px;}


.fl{display:block;font-weight:600;color:var(--ink2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em;}


.fi{width:100%;padding:11px 14px;border:1.5px solid var(--slatel);border-radius:var(--rs);font-family:inherit;font-size:14px;color:var(--ink);outline:none;transition:border .15s;}


.fi:focus{border-color:var(--teal);}


.password-field{position:relative;}


.password-field .fi{padding-right:52px;}


.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:34px;border:0;border-radius:10px;background:var(--slate);color:var(--ink2);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;}


.password-toggle:hover{background:var(--slatel);}


textarea.fi{resize:vertical;}


.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;border-radius:var(--rs);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap;text-decoration:none;}


.btn:active{transform:scale(.97);}


.btn-p{background:var(--teal);color:#fff;}


.btn-p:hover{background:var(--teald);}


.btn-s{background:var(--slate);color:var(--ink);}


.btn-s:hover{background:var(--slatel);}


.btn-g{background:var(--green);color:#fff;}


.btn-g:hover{background:#059669;}


.btn-r{background:var(--red);color:#fff;}


.btn-r:hover{background:#DC2626;}


.btn-o{border:1.5px solid var(--teal);color:var(--teal);}


.btn-o:hover{background:var(--tealp);}


.btn-sm{font-size:13px;}


.btn-w{width:100%;}


.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;}


.card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);}


.sc{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:22px;}


.tw{background:#fff;border-radius:var(--r);box-shadow:var(--sh);}


table{width:100%;border-collapse:collapse;}


th{text-align:left;font-weight:600;text-transform:uppercase;color:var(--ink3);background:var(--slate);border-bottom:1px solid var(--slatel);}


td{font-size:13px;vertical-align:middle;}


tr:last-child td{border-bottom:none;}


.trunc{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}


.badge{display:inline-flex;align-items:center;font-weight:600;}


.b-green{background:var(--greenl);color:#065F46;}


.b-amber{background:var(--amberl);color:#92400E;}


.b-red{background:var(--redl);color:#991B1B;}


.b-teal{background:var(--teall);color:var(--teald);}


.b-gray{background:var(--slate);color:var(--ink3);}


.b-purple{background:var(--purplel);color:var(--purple);}


.mo{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;backdrop-filter:blur(3px);}


.md{background:#fff;border-radius:18px;padding:32px;max-width:520px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.18);max-height:92vh;overflow-y:auto;}


.md h3{font-size:18px;font-weight:600;margin-bottom:8px;}


.md .sub{font-size:14px;color:var(--ink3);line-height:1.65;margin-bottom:22px;}


.ma{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap;}


.emc{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:20px;border-left:4px solid var(--teal);}


.emc.sim-c{border-left-color:var(--amber);}


.al{padding:12px 16px;border-radius:var(--rs);font-size:13px;margin-bottom:14px;line-height:1.55;}


.al-e{background:var(--redl);color:#991B1B;}


.al-s{background:var(--greenl);color:#065F46;}


.al-i{background:var(--teall);color:var(--teald);}


.al-w{background:var(--amberl);color:#92400E;}


.spin-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:16px;color:var(--ink3);font-size:13px;}


.spin{width:38px;height:38px;border:3px solid var(--slatel);border-top-color:var(--teal);border-radius:50%;animation:sp .7s linear infinite;}


@keyframes sp{to{transform:rotate(360deg);}}


.row{display:flex;align-items:center;gap:10px;}


.row-b{display:flex;align-items:center;justify-content:space-between;gap:12px;}


.g2{gap:8px;}


.g3{gap:12px;}


.mb3{margin-bottom:12px;}


.mb4{margin-bottom:16px;}


.mb6{margin-bottom:24px;}


.mt2{margin-top:8px;}


.muted{color:var(--ink3);font-size:13px;}


.fw6{font-weight:600;}


.empty{text-align:center;padding:48px 20px;color:var(--ink3);}


.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
