/* ============================ ADIÇÕES — Portal de Orientação ============================ */
[data-theme="dark"] .article p,[data-theme="dark"] .article li{color:var(--fg);}
.po-bar-top{background:var(--bg2);border-bottom:1px solid var(--line);}
.po-bar-top .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;}
.po-bar-top .po-lbl{font-size:11px;letter-spacing:.16em;color:var(--brass-deep);}
.po-bar-top select{font-family:var(--mono);font-size:12px;padding:7px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--ink);max-width:100%;}
.po-bar-top .po-sp{flex:1;}
.po-proto{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em;}
.po-tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line);margin:0 0 34px;scrollbar-width:none;}
.po-tabs a{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--muted);padding:14px 13px 12px;white-space:nowrap;border-bottom:2px solid transparent;}
.po-tabs a:hover{color:var(--ink);}
.po-tabs a.on{color:var(--ink);border-bottom-color:var(--brass);}
#app{padding-bottom:80px;min-height:60vh;}
.po-head{margin:6px 0 26px;max-width:860px;}
.po-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,44px);line-height:1.08;color:var(--ink);margin:0 0 12px;letter-spacing:-.01em;}
.po-sub{font-size:18px;line-height:1.55;color:var(--muted);margin:0;}
.po-sub a{color:var(--brass-deep);}
.po-back{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);margin-bottom:18px;}
.po-muted{color:var(--muted);font-size:16px;}
.po-meta{font-family:var(--mono);font-size:11.5px;color:var(--faint);letter-spacing:.02em;margin-top:4px;line-height:1.5;}
.po-meta a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line2);}
.po-meta .venc{color:#b0452c;}
.po-ex{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);border:1px dashed var(--line2);padding:1px 6px;border-radius:6px;}
.po-h3{font-family:var(--serif);font-weight:500;font-size:22px;margin:36px 0 12px;color:var(--ink);}
.po-lbl{display:block;font-family:var(--mono);text-transform:uppercase;font-weight:500;font-size:11px;letter-spacing:.16em;color:var(--brass-deep);margin:0 0 10px;}

.po-card{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin:0 0 22px;box-shadow:var(--sh-paper);}
.po-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.po-card h2{font-family:var(--serif);font-weight:500;font-size:22px;margin:0;color:var(--ink);line-height:1.2;}
.po-card ul,.po-card ol{margin:0;padding-left:20px;}
.po-card li{font-size:16.5px;line-height:1.55;margin-bottom:8px;color:var(--fg);}
.po-card .sec-eyebrow{margin-bottom:8px;}
.po-grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
.po-grid2 > .po-card{margin-bottom:22px;}
.po-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 20px;}
.po-acts-top{margin:-6px 0 26px;}
.po-btn-sm{padding:6px 11px;font-size:11.5px;border-radius:9px;}
.po-inline{font-family:var(--mono);font-size:12px;color:var(--muted);display:inline-flex;gap:8px;align-items:center;}
.po-inline select{font-family:var(--mono);font-size:12px;padding:8px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--ink);}
.po-big{font-family:var(--serif);font-size:22px;color:var(--ink);margin:0 0 6px;}

.po-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0 0 26px;}
.po-stat{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--bg2);}
.po-stat b{display:block;font-family:var(--serif);font-weight:500;font-size:34px;color:var(--ink);line-height:1;}
.po-stat span{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);}
.po-stat.warn b{color:var(--brass-deep);}

.po-chip{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--line2);color:var(--muted);white-space:nowrap;vertical-align:middle;}
.po-chip.nv{color:var(--ink);}
.po-chip.st-em-dia{border-color:#7f9a6b;color:#56713f;}
.po-chip.st-atencao{border-color:var(--brass);color:var(--brass-deep);background:rgba(190,135,65,.08);}
.po-chip.st-travado{border-color:#c0634a;color:#a2452d;background:rgba(192,99,74,.08);}
.po-chip.en-aceita{border-color:#7f9a6b;color:#56713f;}
.po-chip.en-refazer{border-color:#c0634a;color:#a2452d;}
.po-chip.en-em-revisao,.po-chip.en-enviada{border-color:var(--brass);color:var(--brass-deep);}
[data-theme="dark"] .po-chip.st-em-dia,[data-theme="dark"] .po-chip.en-aceita{color:#a9c493;border-color:#5f7a4c;}
[data-theme="dark"] .po-chip.st-travado,[data-theme="dark"] .po-chip.en-refazer{color:#e39a85;border-color:#9b4c37;}
.po-sinais{display:flex;flex-direction:column;gap:2px;margin-top:6px;}
.po-sinais span{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;}
.po-sinais .sg-alerta{color:#a2452d;} .po-sinais .sg-info{color:var(--faint);}
[data-theme="dark"] .po-sinais .sg-alerta{color:#e39a85;}

.po-steps{display:inline-flex;gap:4px;vertical-align:middle;}
.po-steps i{width:14px;height:14px;border-radius:3px;border:1px solid var(--line2);display:block;}
.po-steps i.on{background:var(--brass);border-color:var(--brass);}
.po-mini{display:inline-flex;gap:3px;}
.po-mini i{width:9px;height:9px;border-radius:50%;border:1px solid var(--line2);display:block;}
.po-mini i.done{background:var(--ink);border-color:var(--ink);}
.po-mini i.cur{background:var(--brass);border-color:var(--brass);box-shadow:0 0 0 3px rgba(190,135,65,.2);}
.po-bar{display:inline-flex;gap:3px;} .po-bar i{width:12px;height:6px;border-radius:2px;background:var(--line);display:block;} .po-bar i.on{background:var(--brass);}

.po-table-wrap{overflow-x:auto;margin:0 -6px;}
.po-table{width:100%;border-collapse:collapse;font-size:15px;}
.po-table th{font-family:var(--mono);font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:left;padding:10px 10px;border-bottom:1px solid var(--line2);white-space:nowrap;}
.po-table td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--fg);line-height:1.45;}
.po-table tr[data-href]{cursor:pointer;transition:background .14s ease;}
.po-table tr[data-href]:hover td{background:var(--bg2);}
.po-table td a b{color:var(--ink);}
.po-table tr.pend td{opacity:.85;}

.po-list{list-style:none;margin:0;padding:0 !important;}
.po-list li{display:flex;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);margin:0 !important;}
.po-list li:last-child{border-bottom:0;}
.po-when{font-family:var(--mono);font-size:12px;color:var(--brass-deep);white-space:nowrap;min-width:150px;flex-shrink:0;}
.po-todo{list-style:none;padding:0 !important;margin:0;}
.po-todo li{padding:10px 0;border-bottom:1px solid var(--line);margin:0 !important;}
.po-todo li:last-child{border-bottom:0;}
.po-todo label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;}
.po-todo input{margin-top:5px;accent-color:var(--brass);}
.po-todo input:checked + span{text-decoration:line-through;color:var(--faint);}
.po-todo .po-meta{padding-left:24px;}

.po-filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 22px;}
.po-filtros .po-sp{flex:1;}
.po-pill{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--ink);background:var(--bg);border:1px solid var(--line2);border-radius:20px;padding:7px 14px;cursor:pointer;}
.po-pill.on,.po-pill:hover{background:var(--brass);border-color:var(--brass);color:#1c1305;}

/* trilha */
.po-trilha{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 18px;margin:0 0 18px;}
.po-fase{flex:var(--n,1) 1 0;min-width:calc(var(--n,1) * 112px);}
.po-fase > .po-lbl{border-top:2px solid var(--brass);padding-top:8px;}
.po-fase-ciclos{display:flex;gap:8px;}
.po-node{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg);color:var(--fg);font-size:14px;line-height:1.3;}
.po-node b{font-family:var(--mono);font-size:12px;color:var(--muted);}
.po-node em{font-family:var(--mono);font-size:10px;font-style:normal;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;}
.po-node.done{background:var(--bg2);}
.po-node.done b::after{content:" ✓";color:var(--brass-deep);}
.po-node.cur{border-color:var(--brass);box-shadow:var(--sh-brass);}
.po-node.cur b{color:var(--brass-deep);}
.po-node:hover{border-color:var(--brass);color:var(--ink);}
.po-atual{border-color:var(--brass-soft);}
.po-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:4px 0 18px;}
.po-etapa{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg2);}
.po-etapa .n,.po-etapas-legenda .n,.po-fase-card .n,.po-princ .n{font-family:var(--mono);font-size:11px;color:var(--brass-deep);letter-spacing:.1em;}
.po-etapa b{display:block;font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink);margin:2px 0 4px;}
.po-etapa p{font-size:14px;line-height:1.45;color:var(--muted);margin:0 0 10px;}
.po-etapa.on{background:var(--bg);border-color:var(--brass);}
.po-ck{font-family:var(--mono);font-size:11.5px;color:var(--muted);display:inline-flex;gap:7px;align-items:center;cursor:pointer;}
.po-ck input{accent-color:var(--brass);}
.po-ck-big{font-size:13px;color:var(--ink);border:1px solid var(--line2);border-radius:12px;padding:12px 16px;margin:6px 0 10px;}
.po-saida,.po-entrega-box{border-left:3px solid var(--brass);padding:4px 0 4px 16px;margin:14px 0 0;}
.po-saida p,.po-entrega-box p{margin:0;font-size:16.5px;line-height:1.55;color:var(--fg);}

.po-subtabs,.po-steptabs{display:flex;gap:6px;flex-wrap:wrap;margin:30px 0 18px;}
.po-subtabs button,.po-steptabs button{font-family:var(--mono);font-size:12px;letter-spacing:.03em;padding:9px 14px;border-radius:10px;border:1px solid var(--line2);background:transparent;color:var(--muted);cursor:pointer;}
.po-subtabs button.on,.po-steptabs button.on{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.po-steptabs button span{color:var(--brass);margin-right:8px;}
.po-steptabs button.done:not(.on){color:var(--ink);border-color:var(--brass);}
.po-stepbody{max-width:900px;}
.po-stepbody .article{max-width:var(--reader);}

.po-timeline{border-left:1px solid var(--line2);margin-left:6px;}
.po-tl{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:14px 0 14px 20px;position:relative;color:var(--fg);border-bottom:1px solid var(--line);}
.po-tl::before{content:"";position:absolute;left:-5px;top:20px;width:9px;height:9px;background:var(--brass);}
.po-tl:hover b{color:var(--brass-deep);}
.po-tl b{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--ink);line-height:1.3;}
.po-ata{margin:0 0 28px;}
.po-ata h3{margin-top:10px;}
.po-decs{display:flex;flex-direction:column;gap:2px;}
.po-dec{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);}
.po-dec b{font-weight:500;color:var(--ink);}
.po-dec p{margin:4px 0 0;color:var(--muted);font-size:15.5px;}

.po-nivel{border:1px solid var(--line);border-radius:16px;padding:20px 24px;background:var(--bg2);margin:0 0 22px;}
.po-nivel p{margin:6px 0;font-size:16.5px;}
.po-etapas-legenda{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 10px;}
.po-etapas-legenda > div{border-top:1px solid var(--line2);padding-top:12px;}
.po-etapas-legenda b{display:block;font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink);}
.po-etapas-legenda p{font-size:14.5px;color:var(--muted);margin:4px 0 0;line-height:1.45;}
.po-fase-txt{max-width:var(--reader);color:var(--muted);font-size:16.5px;margin:6px 0 18px;}
.po-ciclos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
.po-ciclo-card{border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:var(--bg);color:var(--fg);display:flex;flex-direction:column;transition:border-color .16s ease,box-shadow .16s ease;}
.po-ciclo-card:hover{border-color:var(--brass);box-shadow:var(--sh-brass);color:var(--fg);}
.po-ciclo-card h3{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.2;color:var(--ink);margin:0 0 8px;}
.po-ciclo-card p{font-size:15px;line-height:1.5;color:var(--muted);margin:0 0 14px;flex:1;}
.po-go{font-family:var(--mono);font-size:11.5px;color:var(--brass-deep);letter-spacing:.04em;}
.po-leituras{display:flex;flex-direction:column;gap:14px;margin:0 0 20px;}
.po-leitura{border:1px solid var(--line);border-radius:14px;padding:18px 20px;}
.po-leitura p{margin:0 0 8px;font-size:16px;line-height:1.5;}
.po-cit{font-family:var(--read);font-size:15.5px !important;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:10px;}
.po-fich{width:100%;font-family:var(--read);font-size:16px;line-height:1.5;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--bg);color:var(--fg);}
.po-ia pre,.po-pre{white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;line-height:1.6;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:14px;color:var(--fg);margin:0 0 12px;}
.po-erros li::marker{color:#c0634a;}
.po-crit li::marker{color:var(--brass);}
.po-prevnext{display:flex;justify-content:space-between;gap:20px;margin:40px 0 0;padding-top:18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;}
.po-fases{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.po-fase-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--bg);}
.po-fase-card h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--ink);margin:4px 0 6px;}
.po-fase-card .po-qf{font-style:italic;color:var(--brass-deep);font-size:15.5px;margin:0 0 10px;}
.po-fase-card p{font-size:15px;line-height:1.5;margin:0 0 10px;}
.po-princ{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 28px;}
.po-princ > div{border-top:1px solid var(--line2);padding-top:14px;}
.po-princ h3{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink);margin:2px 0 6px;}
.po-princ p{font-size:15.5px;line-height:1.55;margin:0;color:var(--fg);}
.po-refs{display:flex;flex-direction:column;}
.po-ref{padding:14px 0;border-bottom:1px solid var(--line);}
.po-ref p{margin:0 0 4px;font-size:15.5px;}
.po-ref .po-cit{border:0;padding:0;}
.article code{font-family:var(--mono);font-size:.82em;background:var(--bg2);padding:1px 5px;border-radius:5px;}

/* formulários e modal */
.po-modal{position:fixed;inset:0;background:rgba(21,17,12,.45);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto;}
.po-modal[hidden]{display:none;}
.po-modal-box{background:var(--bg);border-radius:18px;max-width:640px;width:100%;padding:24px 26px;box-shadow:var(--sh-modal);border-top:3px solid var(--brass);}
.po-modal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.po-modal-h h2{font-family:var(--serif);font-weight:500;font-size:24px;margin:0;color:var(--ink);}
.po-modal-f{margin:18px 0 0;justify-content:flex-end;}
.po-field{display:block;margin:0 0 14px;border:0;padding:0;}
.po-field > span,.po-field legend,.po-escala legend{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px;}
.po-field input,.po-field textarea,.po-field select{width:100%;font-family:var(--read);font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--fg);}
.po-field input:focus,.po-field textarea:focus,.po-field select:focus,.po-fich:focus{outline:2px solid var(--brass-soft);border-color:var(--brass);}
.po-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.po-parts label{display:flex;gap:9px;align-items:flex-start;font-size:15.5px;padding:5px 0;cursor:pointer;}
.po-parts input{margin-top:4px;accent-color:var(--brass);width:auto;}
.po-parts em{font-family:var(--mono);font-size:11px;font-style:normal;color:var(--faint);margin-left:auto;}
.po-form{max-width:640px;}
.po-escala{border:0;padding:0;margin:0 0 18px;}
.po-escala > div{display:flex;gap:8px;}
.po-escala label{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;}
.po-escala input{position:absolute;opacity:0;pointer-events:none;}
.po-escala span{width:100%;text-align:center;font-family:var(--mono);font-size:14px;padding:10px 0;border:1px solid var(--line2);border-radius:10px;color:var(--muted);}
.po-escala input:checked + span{background:var(--brass);border-color:var(--brass);color:#1c1305;}
.po-escala input:focus-visible + span{outline:2px solid var(--ink);}
.po-escala em{font-family:var(--mono);font-size:10px;font-style:normal;color:var(--faint);min-height:1em;}
.po-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);font-family:var(--mono);font-size:12.5px;padding:12px 18px;border-radius:12px;z-index:120;box-shadow:var(--sh-modal);max-width:90vw;}
.po-toast[hidden]{display:none;}

@media (max-width:980px){
  .po-stats{grid-template-columns:repeat(3,1fr);}
  .po-4,.po-etapas-legenda,.po-fases{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:720px){
  .po-grid2,.po-princ{grid-template-columns:1fr;}
  .po-stats{grid-template-columns:repeat(2,1fr);}
  .po-4,.po-etapas-legenda,.po-fases{grid-template-columns:1fr;}
  .po-tl,.po-dec{grid-template-columns:1fr;gap:4px;}
  .po-row{grid-template-columns:1fr;}
  .po-list li{flex-direction:column;gap:2px;}
  .po-card{padding:18px;}
}

.po-stepbody .article{margin-left:0;margin-right:0;}

/* ciclo em página única */
.po-steptabs{position:sticky;top:66px;z-index:5;background:var(--bg);padding:10px 0;margin:24px 0 8px;border-bottom:1px solid var(--line);}
.po-steptabs a{font-family:var(--mono);font-size:12px;letter-spacing:.03em;padding:8px 13px;border-radius:10px;border:1px solid var(--line2);color:var(--muted);}
.po-steptabs a:hover{border-color:var(--brass);color:var(--ink);}
.po-steptabs a span{color:var(--brass-deep);margin-right:8px;}
.po-steptabs a.done{color:var(--ink);border-color:var(--brass);}
.po-step-h{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline;margin:48px 0 18px;padding-top:22px;border-top:1px solid var(--line2);scroll-margin-top:130px;}
.po-step-h .n{font-family:var(--mono);font-size:13px;color:var(--brass-deep);letter-spacing:.1em;}
.po-step-h h2{font-family:var(--serif);font-weight:500;font-size:28px;color:var(--ink);margin:0;}
.po-step-h p{grid-column:2;margin:4px 0 0;color:var(--muted);font-size:16px;}
.po-saida{scroll-margin-top:130px;}
/* versão estática (sem JavaScript): cada tela é uma seção e o endereço #id escolhe qual aparece */
.po-view{display:none;}
.po-view:target,.po-view:has(:target){display:block;}
#app:not(:has(.po-view:target)):not(:has(.po-view :target)) .po-view.po-inicial{display:block;}
.po-static-only{display:none;}
html:not(.po-js) .po-static-only{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center;}
html:not(.po-js) .po-js-only{display:none !important;}
.po-view .po-tabs{margin-top:0;}
.po-form-view .po-modal-box{box-shadow:none;margin:0 auto 40px;border:1px solid var(--line);}
.po-view{scroll-margin-top:200px;}
.po-form-view .po-modal-h .icon-btn,.po-form-view .po-modal-f{display:none;}

/* ---------- grafo da jornada ---------- */
.po-grafo-wrap{overflow-x:auto;margin:6px 0 6px;border:1px solid var(--line);border-radius:18px;background:var(--bg);padding:6px;}
.po-grafo{display:block;width:100%;min-width:860px;height:auto;font-family:var(--mono);}
.g-band{fill:var(--bg2);stroke:none;}
.g-band.g-inicio{fill:transparent;stroke:var(--line);stroke-dasharray:3 4;}
.g-fase{font-size:10.5px;letter-spacing:.18em;fill:var(--brass-deep);font-weight:500;}
.g-edge{stroke:var(--line2);stroke-width:2;}
.g-edge.done{stroke:var(--ink);}
.g-back{fill:none;stroke:var(--brass);stroke-width:1.4;stroke-dasharray:4 4;opacity:.85;}
.g-seta{fill:var(--brass);}
.g-back-t{font-size:9.5px;fill:var(--muted);font-style:italic;font-family:var(--read);}
.g-marco rect{fill:var(--bg);stroke:var(--brass-deep);stroke-width:1.6;}
.g-marco.done rect{fill:var(--brass);}
.g-marco text{font-size:10px;fill:var(--ink);letter-spacing:.02em;}
.g-lead{stroke:var(--line2);stroke-dasharray:2 3;}
.g-node .g-c{fill:var(--bg);stroke:var(--line2);stroke-width:1.6;transition:stroke .15s ease,fill .15s ease;}
.g-node .g-id{font-size:12px;font-weight:600;fill:var(--ink);}
.g-node .g-lbl{font-family:var(--read);font-size:13px;fill:var(--fg);}
.g-node .g-lbl2{font-size:9.5px;fill:var(--faint);}
.g-node:hover .g-c{stroke:var(--brass);stroke-width:2.4;}
.g-node.done .g-c{fill:var(--ink);stroke:var(--ink);}
.g-node.done .g-id{fill:var(--bg);}
.g-node.done .g-lbl{fill:var(--muted);}
.g-node.cur .g-c{fill:var(--brass);stroke:var(--brass-deep);stroke-width:2;}
.g-node.cur .g-id{fill:#1c1305;}
.g-node.cur .g-lbl{font-weight:600;fill:var(--ink);}
.g-pulse{fill:none;stroke:var(--brass);stroke-width:2;opacity:.35;transform-box:fill-box;transform-origin:center;animation:gpulse 2.2s ease-out infinite;}
@keyframes gpulse{0%{transform:scale(.8);opacity:.6}100%{transform:scale(1.35);opacity:0}}
@media (prefers-reduced-motion:reduce){.g-pulse{animation:none;}}
.g-here{font-size:9.5px;letter-spacing:.14em;fill:var(--brass-deep);font-weight:600;}
.g-node.next .g-c{stroke:var(--brass);stroke-dasharray:4 3;stroke-width:2;}
.g-nexttxt{font-size:9px;letter-spacing:.14em;fill:var(--muted);}
.g-node.fut .g-lbl{fill:var(--muted);}
.po-grafo-leg{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-family:var(--mono);font-size:11px;color:var(--muted);margin:10px 4px 24px;}
.po-grafo-leg span{display:inline-flex;gap:7px;align-items:center;}
.po-lg{display:inline-block;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--line2);}
.po-lg.done{background:var(--ink);border-color:var(--ink);} .po-lg.cur{background:var(--brass);border-color:var(--brass-deep);} .po-lg.next{border-color:var(--brass);border-style:dashed;}
.po-lg.marco{border-radius:2px;transform:rotate(45deg);width:10px;height:10px;border-color:var(--brass-deep);}
.po-lg.back{border:0;border-top:1.5px dashed var(--brass);border-radius:0;height:0;width:18px;}

/* ---------- módulo como treinamento ---------- */
.po-modinfo{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px;}
.po-modinfo > div{border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:var(--bg2);}
.po-modinfo b{font-family:var(--serif);font-weight:500;font-size:17px;color:var(--ink);line-height:1.25;display:block;}
.po-modinfo .po-lbl{margin-bottom:4px;}
.po-objs ol{margin:0;} .po-objs li{font-size:17px;}
.po-mapa{margin:0 0 6px;}
.po-mapa summary{font-family:var(--mono);font-size:12px;color:var(--brass-deep);cursor:pointer;margin-bottom:10px;}
.po-met{border-left:3px solid var(--brass-soft);padding-left:22px;}
.po-met > p:first-of-type::first-letter{font-size:inherit;float:none;padding:0;color:inherit;font-family:inherit;line-height:inherit;}
.po-gloss dl{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:8px 18px;margin:0;}
.po-gloss dt{font-family:var(--serif);font-weight:500;color:var(--ink);font-size:16.5px;}
.po-gloss dd{margin:0;font-size:16px;color:var(--fg);line-height:1.5;}
.po-exerc ol li{font-size:16.5px;}
.po-compl{margin:0 0 20px;}
.po-mod-met{font-size:14px !important;color:var(--brass-deep) !important;margin:0 0 6px !important;flex:0 !important;}
.po-ciclo-card.done{background:var(--bg2);}
.po-ciclo-card.cur{border-color:var(--brass);box-shadow:var(--sh-brass);}
.po-fase-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.po-fase-h .po-lbl{margin:0;}
.po-fase-h em{font-family:var(--read);font-size:16px;color:var(--muted);font-weight:400;}
.po-ori p{max-width:var(--reader);}

/* ---------- quiz ---------- */
.po-quiz{display:flex;flex-direction:column;gap:14px;margin:0 0 18px;}
.po-q{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:0;background:var(--bg);}
.po-q legend{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--ink);padding:0 4px;line-height:1.35;}
.po-q legend span{font-family:var(--mono);font-size:12px;color:var(--brass-deep);}
.po-q label{display:flex;gap:10px;align-items:flex-start;padding:7px 10px;border-radius:9px;cursor:pointer;font-size:16px;line-height:1.45;}
.po-q label:hover{background:var(--bg2);}
.po-q input{margin-top:4px;accent-color:var(--brass);}
.po-q details{margin-top:8px;border-top:1px dashed var(--line2);padding-top:8px;}
.po-q summary{font-family:var(--mono);font-size:11.5px;color:var(--muted);cursor:pointer;}
.po-q details p{margin:6px 0 0;font-size:15.5px;line-height:1.5;color:var(--fg);}
html.po-js .po-q:not(.checked) details{display:none;}
.po-q.ok{border-color:#7f9a6b;} .po-q.no{border-color:#c0634a;}
.po-q.ok legend::after{content:"  ✓";color:#56713f;} .po-q.no legend::after{content:"  ✗";color:#a2452d;}
.po-quiz-res{font-family:var(--mono);font-size:12px;color:var(--muted);}
@media (max-width:720px){.po-modinfo{grid-template-columns:1fr;} .po-gloss dl{grid-template-columns:1fr;} .po-grafo{min-width:820px;}}

/* ---------- lição 3: conceitos em detalhe ---------- */
.po-toc-sec{columns:2;column-gap:32px;margin:0 0 10px;padding-left:20px;font-size:16px;}
.po-toc-sec li{margin-bottom:6px;break-inside:avoid;}
.po-sec{margin:34px 0 10px;padding-top:6px;scroll-margin-top:130px;}
.po-sec h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--ink);margin:0 0 14px;display:flex;gap:12px;align-items:baseline;}
.po-sec h3 span{font-family:var(--mono);font-size:12px;color:var(--brass-deep);border:1px solid var(--brass-soft);border-radius:50%;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.po-sec .article{margin-left:0;margin-right:0;}
.po-sec .article > p:first-of-type::first-letter{font-size:inherit;float:none;padding:0;color:inherit;font-family:inherit;line-height:inherit;margin:0;}
.po-exbox,.po-atbox{border-radius:14px;padding:16px 20px;margin:14px 0;max-width:var(--reader);}
.po-exbox{background:var(--bg2);border:1px solid var(--line);}
.po-exbox p{margin:6px 0 0;font-size:16.5px;line-height:1.6;color:var(--fg);}
.po-atbox{border:1px solid #d9a58f;background:rgba(192,99,74,.06);}
.po-atbox .po-lbl{color:#a2452d;}
.po-atbox p{margin:4px 0 0;font-size:16px;line-height:1.55;color:var(--fg);}
[data-theme="dark"] .po-atbox .po-lbl{color:#e39a85;}
/* figuras */
.f-fig{margin:22px 0;max-width:860px;}
.f-body{border:1px solid var(--line);border-radius:16px;background:var(--bg);padding:14px;overflow-x:auto;}
.f-svg{display:block;width:100%;height:auto;min-width:640px;font-family:var(--read);}
.f-fig figcaption{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-top:8px;letter-spacing:.02em;line-height:1.5;}
.f-fig figcaption span{color:var(--brass-deep);}
.f-fig figcaption em{font-family:var(--read);font-size:14px;}
.f-box{fill:var(--bg2);stroke:var(--line2);stroke-width:1.2;}
.f-hi{fill:var(--brass);stroke:var(--brass-deep);}
.f-hi-soft{fill:rgba(190,135,65,.10);stroke:var(--brass);}
.f-head{fill:var(--bg);stroke:none;}
.f-leaf{fill:var(--bg);}
.f-t{font-size:14.5px;fill:var(--ink);font-weight:500;}
.f-t-hi{fill:#1c1305;}
.f-strong{font-weight:700;}
.f-s{font-size:12px;fill:var(--muted);font-family:var(--mono);}
.f-s-hi{fill:#3a2a12;}
.f-s-dark{fill:var(--fg);font-family:var(--read);font-size:13.5px;}
.f-nota{font-size:13.5px;fill:var(--muted);font-style:italic;}
.f-num{font-family:var(--serif);font-size:22px;fill:var(--ink);}
.f-arrow{stroke:var(--muted);stroke-width:1.6;fill:none;}
.f-dash{stroke-dasharray:5 4;}
.f-ah{fill:var(--muted);}
.f-ax{font-family:var(--mono);font-size:11px;fill:var(--muted);letter-spacing:.04em;}
.f-axt{font-family:var(--mono);font-size:11px;fill:var(--brass-deep);letter-spacing:.12em;text-transform:uppercase;}
.f-grid{stroke:var(--line);stroke-width:1;}
.f-axis{stroke:var(--ink);stroke-width:1.4;}
.f-whisk{stroke:var(--ink);stroke-width:1.4;}
.f-med{stroke:var(--ink);stroke-width:3;}
.f-mean{fill:var(--brass);stroke:var(--brass-deep);}
.f-out{fill:none;stroke:#c0634a;stroke-width:1.6;}
.f-pt{fill:var(--brass);stroke:var(--brass-deep);}
.f-lead{stroke:var(--line2);stroke-width:1.2;}
.f-line{fill:none;stroke:var(--brass-deep);stroke-width:2.2;}
.f-bar{fill:var(--brass-soft);stroke:var(--brass);}
.f-band{fill:var(--bg2);stroke:var(--line2);} .f-band2{fill:rgba(190,135,65,.12);stroke:var(--line2);}
.f-tick{stroke:var(--ink);stroke-width:1.2;}
.f-chip{fill:var(--bg);stroke:var(--brass-soft);}
.f-op{font-family:var(--mono);font-size:10px;fill:var(--brass-deep);letter-spacing:.1em;}
.f-op-and{font-size:14px;font-weight:600;fill:var(--ink);}
.f-dot{fill:var(--brass);}
.f-center{fill:var(--bg);stroke:var(--brass);stroke-width:1.6;}
.f-center.f-hi{fill:var(--brass);}
.f-set1{fill:rgba(190,135,65,.14);stroke:var(--brass);stroke-width:1.6;}
.f-set2{fill:rgba(21,17,12,.06);stroke:var(--ink);stroke-width:1.4;}
[data-theme="dark"] .f-set2{fill:rgba(241,234,220,.06);}
.f-tri{fill:rgba(190,135,65,.06);stroke:var(--line2);stroke-dasharray:4 4;}
.f-bub{fill:rgba(190,135,65,.28);stroke:var(--brass);}
.f-tab-wrap{overflow-x:auto;}
.f-tab{width:100%;border-collapse:collapse;font-size:14.5px;}
.f-tab th,.f-tab td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top;line-height:1.45;color:var(--fg);}
.f-tab thead th{background:var(--bg2);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;}
.f-tab tbody th{font-weight:500;color:var(--ink);background:rgba(190,135,65,.06);}
@media (max-width:720px){.po-toc-sec{columns:1;} .f-svg{min-width:600px;}}

.f-nostroke{stroke:none;}

/* materiais e kit */
.po-mats{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:0 0 10px;}
.po-mat{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--bg);display:flex;flex-direction:column;gap:8px;}
.po-mat-h{display:flex;gap:10px;align-items:center;}
.po-mat-h b{font-family:var(--serif);font-weight:500;font-size:17px;color:var(--ink);line-height:1.25;}
.po-mat p{margin:0;font-size:14.5px;line-height:1.5;color:var(--muted);flex:1;}
.po-mat-a .btn{word-break:break-all;}
.po-mat details summary{font-family:var(--mono);font-size:11.5px;color:var(--brass-deep);cursor:pointer;}
.po-mat details .po-pre{max-height:340px;overflow:auto;font-size:11.5px;margin-top:8px;}
.po-kit{border:1px solid var(--brass-soft);background:rgba(190,135,65,.06);border-radius:16px;padding:18px 22px;margin:0 0 16px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.po-kit p{margin:0;max-width:640px;font-size:16px;}
/* acesso (login, primeira senha, redefinição) */
#f-entrar,#f-nova,#f-reset{max-width:460px;}
.po-erro{min-height:1.2em;margin:4px 0 10px;color:#b4442c;font-size:14px;}
.po-erro:empty{min-height:0;margin:0;}
#po-conta{gap:12px;}
.po-tabs[hidden]{display:none;}
/* encaminhamentos: caixa de entrada */
.po-encs .po-enc{padding:14px 0;}
.po-enc-txt{font-size:16px;line-height:1.5;}
.po-enc.feito .po-enc-txt{color:var(--muted);}
.po-encs .po-meta{padding-left:0;margin-top:4px;}
.po-prazo{font-family:var(--mono);}
.po-prazo.venc{color:#b0452c;font-weight:600;}
.po-prazo.hoje{color:var(--brass-deep);font-weight:600;}
.po-prazo.sem{color:var(--faint);font-style:italic;}
.po-enc-ok{margin:10px 0 0;padding:10px 14px;border-left:3px solid var(--brass);background:var(--bg2);border-radius:0 10px 10px 0;}
.po-enc-ok .po-lbl{margin-bottom:4px;}
.po-enc-ok p{margin:0;font-size:15px;line-height:1.5;}
.po-enc-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.po-enc-alvo{font-style:italic;color:var(--muted);border-left:3px solid var(--line2);padding-left:12px;margin:0 0 14px;}
.po-mais{margin:10px 0 0;font-family:var(--mono);font-size:12px;}
.po-badge{display:inline-block;min-width:18px;padding:1px 6px;margin-left:4px;border-radius:999px;background:var(--brass);color:#1c1305;font-size:10.5px;text-align:center;line-height:16px;}
