/* ===== Estilo "Registro acadêmico" =====
   Inspirado nos documentos do próprio setor: livro de registro, histórico escolar e diploma.
   Papel e tinta azul-escura; o laranja UniFatecie aparece como carimbo (item ativo, destaques, selos), não como botão.
   Títulos em serifa (Newsreader), interface em IBM Plex Sans, números, RA e códigos em IBM Plex Mono.
   Fica ativo com a classe .reg no <html>; ?estilo=antigo na URL mostra o visual anterior para comparar. */
:root.reg,:root.reg[data-theme=light]{
 --canvas:#efede6;--surface:#fbfaf6;--subtle:#f4f2ec;--raised:#fffefb;
 --line:#d9d5c9;--line-soft:#e7e3d9;--line-strong:#bfb9aa;--hover:#a9a291;
 --ink:#15213a;--ink-2:#1c2a47;--ink-3:#243456;--ink-line:rgba(239,237,230,.12);
 --text:#16181d;--text-2:#4a4943;--text-3:#7a776d;--on-ink:#f3f1ea;--on-ink-2:#c7cbd6;--on-ink-3:#8c94a8;
 --accent:#d9520c;--accent-hover:#b8450a;--accent-soft:#f7e6da;--accent-text:#b3430a;--accent-line:#e6b392;
 --tinta:#15213a;--tinta-hover:#22325a;--on-tinta:#f6f4ee;
 --ok:#2f6a4c;--ok-soft:#e3ede5;--err:#a3302b;--err-soft:#f4e2df;--info:#2a5585;--info-soft:#e2eaf3;--warn:#8a5d0c;--warn-soft:#f3ead6;
 --r:6px;--r-sm:4px;--shadow:none;--shadow-lg:none;--ring:0 0 0 3px rgba(217,82,12,.18);--header:rgba(239,237,230,.9);
 --serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans",ui-sans-serif,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
 color-scheme:light
}
:root.reg[data-theme=dark]{
 --canvas:#0d111a;--surface:#131926;--subtle:#182030;--raised:#1b2435;
 --line:rgba(236,232,222,.11);--line-soft:rgba(236,232,222,.07);--line-strong:rgba(236,232,222,.2);--hover:rgba(236,232,222,.3);
 --ink:#090c13;--ink-2:#121826;--ink-3:#1a2233;--ink-line:rgba(236,232,222,.09);
 --text:#ece8de;--text-2:#b9b5aa;--text-3:#8d897f;--on-ink:#ece8de;--on-ink-2:#b0b4c0;--on-ink-3:#7c8396;
 --accent:#f07a36;--accent-hover:#ff8d4d;--accent-soft:rgba(240,122,54,.13);--accent-text:#f59a62;--accent-line:rgba(240,122,54,.4);
 --tinta:#e9e4d6;--tinta-hover:#fffaf0;--on-tinta:#0d111a;
 --ok:#7cc59a;--ok-soft:rgba(124,197,154,.12);--err:#ef8a80;--err-soft:rgba(239,138,128,.12);--info:#8fb4e3;--info-soft:rgba(143,180,227,.12);--warn:#e0b25c;--warn-soft:rgba(224,178,92,.12);
 --ring:0 0 0 3px rgba(240,122,54,.22);--header:rgba(13,17,26,.88);
 color-scheme:dark
}
.reg body{font-family:var(--sans);font-size:14px;font-feature-settings:normal;letter-spacing:0}
.reg ::selection{background:var(--accent-soft);color:var(--text)}
.reg :focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Títulos: serifa de documento */
.reg h1,.reg .page-head h1,.reg .ficha-head h1{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1.05;letter-spacing:-.6px;font-optical-sizing:auto}
.reg h2{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.2px}
.reg .page-head{padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid var(--line);position:relative}
.reg .page-head:after{content:'';position:absolute;left:0;bottom:-1px;width:56px;height:2px;background:var(--accent)}
.reg .page-head p{color:var(--text-2);font-size:14.5px;max-width:620px}
.reg .eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:2.2px;text-transform:uppercase;color:var(--accent-text)}
.reg .section-title{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;gap:12px}
.reg .section-title:after{content:'';flex:1;height:1px;background:var(--line)}

/* Barra lateral: capa em tinta azul, itens numerados como um índice */
.reg aside{background:var(--ink);border-right:0;padding:20px 14px}
.reg .brand{border:0;background:none;padding:6px 8px 18px;margin:0 0 6px;border-bottom:1px solid var(--ink-line);border-radius:0;font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:-.2px}
.reg .brand small{font-family:var(--mono);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;margin-top:4px}
.reg .brand .mark{border-radius:6px;background:#fbfaf6;box-shadow:none}
.reg nav{counter-reset:item}
.reg .navlabel{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:2px;color:var(--on-ink-3);margin:20px 10px 6px}
.reg nav a{counter-increment:item;height:36px;padding:0 10px;border:0;border-radius:0;font-size:13.5px;font-weight:400;color:var(--on-ink-2);gap:12px;border-left:2px solid transparent;margin-bottom:1px}
.reg nav a svg{display:none}
.reg nav a:before{content:counter(item,decimal-leading-zero);position:static;display:inline;width:auto;background:none;border-radius:0;font-family:var(--mono);font-size:10.5px;color:var(--on-ink-3);letter-spacing:.5px}
.reg nav a:hover{background:var(--ink-2);color:var(--on-ink)}
.reg nav a.active{background:var(--ink-2);color:var(--on-ink);border-left-color:var(--accent)}
.reg nav a.active:before{display:inline;color:var(--accent-text)}
.reg[data-theme=light] nav a.active:before{color:#f59a62}
.reg .sidefoot{border-top:1px solid var(--ink-line)}
.reg .usercard{border:0;border-radius:0;background:none;padding:10px 6px}
.reg .usercard .avatar{border-radius:4px;background:none;border:1px solid var(--on-ink-3);color:var(--on-ink);font-family:var(--mono);font-size:11px}
.reg .sidebtn{border-radius:0;font-weight:400}

/* Cabeçalho */
.reg header{background:var(--header);border-bottom:1px solid var(--line)}
.reg .crumb{font-family:var(--mono);font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--text-3)}
.reg .crumb b{color:var(--text);font-weight:500}
.reg .demo{border-radius:3px;font-family:var(--mono);font-size:11px;letter-spacing:.3px;background:transparent;border:1px dashed var(--line-strong)}
.reg footer{font-family:var(--mono);font-size:11px;letter-spacing:.4px;color:var(--text-3)}

/* Superfícies: folhas com fio fino, sem sombra */
.reg .panel,.reg .card,.reg .countdown,.reg .event-card,.reg .ant-card,.reg .empty-state,.reg .colab{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:none}
.reg .card{padding:26px 28px}

/* Indicadores: números grandes em serifa, separados por fios como um quadro-resumo */
.reg .tasks{gap:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.reg .task{border:0;border-right:1px solid var(--line);border-radius:0;background:none;box-shadow:none;padding:22px 22px 18px;transform:none}
.reg .task:last-child{border-right:0}
.reg .task:hover{background:var(--subtle);transform:none;box-shadow:none}
.reg .task b{font-family:var(--serif);font-weight:400;font-size:52px;letter-spacing:-1.5px;line-height:.95}
.reg .task strong{font-weight:500;font-size:14px}
.reg .task small{color:var(--text-3)}
.reg .task .go{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-2)}
.reg .task.hot{background:none;border-color:var(--line)}
.reg .task.hot b{color:var(--accent-text)}
.reg .task.hot:before{content:'';position:absolute;top:0;left:22px;right:22px;height:3px;background:var(--accent)}
.reg .task .ticon{background:none;border:1px solid var(--line);border-radius:50%;color:var(--text-3)}
.reg .task.hot .ticon{border-color:var(--accent-line);color:var(--accent)}

/* Listas de alunos: linhas de livro de registro dentro de uma folha */
.reg .rows{gap:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.reg .row{border:0;border-bottom:1px solid var(--line-soft);border-radius:0;background:none;box-shadow:none;padding:13px 18px}
.reg .row:last-child{border-bottom:0}
.reg .row:hover{background:var(--subtle);transform:none;box-shadow:none;border-color:var(--line-soft)}
.reg .row strong{font-weight:500;font-size:14.5px}
.reg .row small{font-size:12.5px;color:var(--text-3)}
.reg .row small b{color:var(--text-2);font-weight:500}
.reg .chev{color:var(--text-3)}
.reg .initial{border-radius:4px;background:none;border:1px solid var(--line-strong);color:var(--text-2);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.5px}

/* Etiquetas: carimbos retangulares em versalete */
.reg .tag{border-radius:3px;padding:4px 7px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.7px;text-transform:uppercase;background:transparent;border:1px solid var(--line-strong);color:var(--text-2)}
.reg .tag.orange{border-color:var(--accent-line);color:var(--accent-text);background:var(--accent-soft)}
.reg .tag.green{border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok);background:var(--ok-soft)}
.reg .tag.red{border-color:color-mix(in srgb,var(--err) 40%,transparent);color:var(--err);background:var(--err-soft)}
.reg .tag.blue{border-color:color-mix(in srgb,var(--info) 40%,transparent);color:var(--info);background:var(--info-soft)}
.reg .statusdot{border-radius:1px}

/* Botões: tinta azul como ação principal; o laranja fica para os destaques */
.reg .btn{border-radius:var(--r-sm);font-weight:500;background:var(--surface);border:1px solid var(--line-strong);color:var(--text);box-shadow:none}
.reg .btn:not(:disabled):hover{background:var(--subtle);border-color:var(--hover)}
.reg .btn.primary{background:var(--tinta);border-color:var(--tinta);color:var(--on-tinta);box-shadow:none}
.reg .btn.primary:not(:disabled):hover{background:var(--tinta-hover);border-color:var(--tinta-hover)}
.reg .btn.dark{background:var(--tinta);border-color:var(--tinta);color:var(--on-tinta)}
.reg .link{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:3px}
.reg .link:hover{text-decoration-color:var(--accent)}

/* Escolhas */
.reg .chip{border-radius:var(--r-sm);height:32px;font-weight:400;background:var(--surface);border:1px solid var(--line);color:var(--text-2)}
.reg .chip:not(:disabled):hover{border-color:var(--hover);color:var(--text)}
.reg .chip[aria-pressed=true]{background:var(--tinta);border-color:var(--tinta);color:var(--on-tinta)}
.reg .chip.ok[aria-pressed=true]{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
.reg .chip.bad[aria-pressed=true]{background:var(--err-soft);border-color:var(--err);color:var(--err)}
.reg .chip.suggest{border-style:dashed;border-color:var(--accent);color:var(--accent-text)}
.reg .numstep{border-radius:var(--r-sm);background:var(--surface);border-color:var(--line)}
.reg .numstep b{font-family:var(--mono);font-weight:500}
.reg .numstep button{background:var(--subtle);border-radius:0}

/* Campos */
.reg .field-row{border-bottom:1px dotted var(--line-strong)}
.reg .field-row>span{font-weight:500}
.reg .field-row input[type=date],.reg .toolbar input[type=search],.reg .more select,.reg select.field,.reg input.field,.reg textarea,.reg select{border-radius:var(--r-sm);background:var(--raised);border:1px solid var(--line-strong);color:var(--text);box-shadow:none}
.reg .toolbar input[type=search]:focus,.reg input.field:focus,.reg select:focus,.reg textarea:focus{border-color:var(--tinta);box-shadow:var(--ring)}

/* Abas e passos da ficha: régua com sublinhado laranja */
.reg .tabs,.reg .wizard{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;gap:4px}
.reg .tabs button,.reg .wizard button{border-radius:0;background:none;box-shadow:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:400;color:var(--text-2)}
.reg .tabs button.selected,.reg .wizard button.on{background:none;box-shadow:none;color:var(--text);font-weight:500;border-bottom-color:var(--accent)}
.reg .wizard em{border-radius:2px;background:none;border:1px solid var(--line-strong);font-family:var(--mono);font-style:normal;color:var(--text-2)}
.reg .wizard button.on em{border-color:var(--accent);color:var(--accent-text)}

/* Ficha do aluno */
.reg .ficha-head{padding-bottom:18px;border-bottom:3px double var(--line-strong)}
.reg .ficha-head .muted{font-family:var(--mono);font-size:12px;letter-spacing:.3px}
.reg .dots span:before{border-radius:50%;border-color:var(--line-strong)}
.reg .dots span.done:before{background:var(--tinta);border-color:var(--tinta)}
.reg .dots span.on:before{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.reg .checklist{border-radius:var(--r)}
.reg .checklist .y i,.reg .checklist .n i{border-radius:2px}
.reg .verdict{border-radius:var(--r-sm);border:1px solid var(--line)}

/* Avisos: nota de margem com fio à esquerda */
.reg .alert{border-radius:0;background:var(--subtle);border:0;border-left:2px solid var(--line-strong);color:var(--text-2)}
.reg .alert.warn{border-left-color:var(--warn);background:var(--warn-soft);color:var(--text)}
.reg .alert.error{border-left-color:var(--err);background:var(--err-soft);color:var(--err)}

/* Colação: datas como selo */
.reg .event-card .date{border-radius:50%;border:1px solid var(--line-strong);background:none;font-family:var(--serif)}
.reg .event-card.next{border-color:var(--accent-line);box-shadow:none;border-top:3px solid var(--accent)}
.reg .countdown .days{border-radius:50%;background:none;border:1px solid var(--accent-line);color:var(--accent-text);font-family:var(--serif)}

/* Distribuição */
.reg .meter{height:4px;border-radius:0;border:0;background:var(--line-soft)}
.reg .meter i{border-radius:0;background:var(--tinta)}
.reg .meter.ok i{background:var(--ok)}
.reg .colab.low{border-color:var(--line);border-top:2px solid var(--accent)}
.reg .colab .initial{border-radius:4px}
.reg .opcao{border-radius:var(--r)}

/* Tabelas, paginação, mensagens */
.reg table{font-variant-numeric:tabular-nums}
.reg th{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3)}
.reg .pager{font-family:var(--mono);font-size:12px;color:var(--text-3)}
.reg .muted,.reg .hint{color:var(--text-3)}
.reg #toast{border-radius:var(--r-sm);background:var(--tinta);color:var(--on-tinta);border:0;box-shadow:0 10px 30px -12px rgba(0,0,0,.35)}
.reg .fold>summary{font-family:var(--mono);font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-2)}
.reg .timeline{border-left:1px dotted var(--line-strong)}
.reg .event:before{border-radius:1px;background:var(--line-strong)}
.reg .event small{font-family:var(--mono);font-size:11px}
.reg aside{scrollbar-width:thin;scrollbar-color:var(--ink-3) transparent}
.reg .wizard button.on em{background:var(--accent-soft);color:var(--accent-text)}
.reg .wizard button.ok em{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
