/* ============================================================================
   Cartora 7.0 — pele TerraTools da casca (vem depois do style.css do SAT).
   Modelo: o COD Index (app denso do TerraTools). Branco nas barras, cinza
   #F4F4F2 nas páginas, pílula cinza como controle, preto como ativo/principal,
   azul #00638F para realce e foco, âmbar #FDA509 só em gráfico/indicador.
   ========================================================================== */
:root{
  --ct-azul:#00638F;--ct-azul2:#014A73;--ct-azul-bg:#E8F2F8;--ct-ambar:#FDA509;--ct-ambar-bg:#FFF3DC;
  --ct-pilula:rgba(231,231,231,.8);--ct-pilula2:rgba(220,220,220,.95);--ct-linha:#DADADA;--ct-linha2:#ECECEC;
  --ct-tinta:#1D2226;--ct-tinta2:#3A4045;--ct-suave:#5F6B72;--ct-suave2:#9AA3A8;--ct-cartao:#F8F8F8;--ct-pagina:#F4F4F2;
  --ct-ok:#2E7D46;--ct-ok-bg:#E6F0E8;--ct-aviso:#85590B;--ct-aviso-bg:#F8EEDB;--ct-erro:#A83A34;--ct-erro-bg:#F5E2E0;
  --ct-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--ct-mono:'Geist Mono',ui-monospace,'Cascadia Mono',Consolas,monospace;--ct-titulo:'Gowun Batang',Georgia,serif;
  --ct-sombra:0 18px 44px -18px rgba(0,0,0,.3);
  --font-ui:var(--ct-sans);--font-mono:var(--ct-mono);--navy:#000;--accent:#000;--sel:#E8F2F8;--sel-bd:#00638F;--border:#DADADA;--border-lt:#ECECEC;--text:#1D2226;--dim:#5F6B72;--dim2:#9AA3A8;--paper:#FFFFFF;--win:#FFFFFF;--toolbar:#FFFFFF}
[hidden]{display:none!important}
html,body{background:#fff}
body{font-family:var(--ct-sans);font-size:13px;color:var(--ct-tinta);letter-spacing:-.005em}
::selection{background:rgba(253,165,9,.45)}
button,input,select,textarea{font-family:var(--ct-sans)}
:focus-visible{outline:2px solid var(--ct-azul);outline-offset:2px}

.cartora-app{display:flex!important;flex-direction:column;height:100vh;min-height:0}
.cartora-app>.ct-topo,.cartora-app>.status{flex:none}
.cartora-app>.body{flex:1;min-height:0}

/* ---------------------------------------------------------------- topo */
/* Uma linha só: marca, projeto, Ler memorial / Importar do projeto, modo, roteiro,
   Menu, Abrir e Salvar (7.8: sem Início, abas e biblioteca). Os oito menus moram no painel do botão Menu; o roteiro abre como lista.
   Cada faixa a menos no alto é desenho e relatório a mais (pedido de 21/10/2026). */
.cartora-app .titlebar.ct-topo{display:flex;align-items:center;gap:8px;height:50px;padding:0 10px;background:#fff;border-bottom:1px solid var(--ct-linha2);overflow:visible;position:relative;z-index:90}
.ct-oculto{display:none!important}
.ct-marca{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 8px;border:0;border-radius:18px;background:var(--ct-pilula);cursor:pointer;flex:none}
.ct-marca:hover{background:var(--ct-pilula2)}
.ct-marca img{display:block}
.ct-marca .ct-nome{height:18px;width:auto}
.ct-projeto{display:flex;align-items:center;gap:6px;height:36px;padding:0 4px 0 12px;border:1px solid var(--ct-linha2);border-radius:999px;background:var(--ct-cartao);min-width:0;flex:0 1 240px}
.ct-projeto>label{font:500 10px/1 var(--ct-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ct-suave);flex:none}
.cartora-app .ct-projeto input{flex:1;min-width:60px;height:30px;border:0;background:transparent;font:500 13px var(--ct-sans);color:#000;padding:0 6px;box-shadow:none;text-overflow:ellipsis}
.cartora-app .ct-projeto input:focus{box-shadow:none;outline:none}
.ct-projeto:focus-within{border-color:var(--ct-azul);box-shadow:0 0 0 3px rgba(0,99,143,.12)}
.cartora-app.ct-em-analise .ct-marca{padding:0 6px}
.cartora-app.ct-em-analise .ct-marca .ct-nome,.cartora-app.ct-em-analise .ct-projeto>label{display:none}

.ct-bt{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border:0;border-radius:999px;background:var(--ct-pilula);color:var(--ct-tinta);font:500 13px var(--ct-sans);cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s;flex:none}
.ct-bt:hover{background:var(--ct-pilula2);color:#000}
.ct-bt.prim{background:#000;color:#fff}
.ct-bt.prim:hover{background:#1c1c1c;color:#fff}
.ct-bt.mini{height:28px;padding:0 12px;font-size:12px}
.ct-bt.grande{height:46px;padding:0 22px;font-size:14px}
.ct-bt svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ct-bt em{font:600 10.5px var(--ct-mono);font-style:normal;min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 5px;border-radius:999px;background:#fff;color:var(--ct-tinta2)}
.ct-bt[aria-expanded="true"]{background:#000;color:#fff}

/* abas e modo */
.ct-modo{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--ct-pilula);flex:none}
.ct-modo button{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px 0 9px;border:0;border-radius:999px;background:transparent;font:500 12.5px var(--ct-sans);color:var(--ct-tinta2);cursor:pointer}
.ct-modo button:hover{background:rgba(255,255,255,.65);color:#000}
.ct-modo button.ativo{background:#000;color:#fff}
.ct-modo svg{width:17px;height:17px;flex:none;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ct-modo svg circle{fill:currentColor;stroke:none}

/* roteiro: um botão com o próximo passo; a lista abre por baixo */
.ct-roteiro-wrap{position:relative;flex:0 1 auto;min-width:0}
.ct-roteiro-bt{display:flex;align-items:center;gap:8px;max-width:300px;height:34px;padding:0 12px 0 4px;border:1px solid var(--ct-linha2);border-radius:999px;background:#fff;font:500 12.5px var(--ct-sans);color:var(--ct-tinta);cursor:pointer;white-space:nowrap}
.ct-roteiro-bt:hover,.ct-roteiro-bt[aria-expanded="true"]{border-color:#000}
.ct-roteiro-bt b{flex:none;display:grid;place-items:center;min-width:38px;height:26px;padding:0 6px;border-radius:999px;background:#000;color:#fff;font:600 10.5px var(--ct-mono)}
.ct-roteiro-bt b.todos{background:var(--ct-ok-bg);color:var(--ct-ok)}
.ct-roteiro-bt span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.ct-roteiro-bt small{font:500 10px var(--ct-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ct-suave)}
.ct-roteiro-bt::after{content:"";flex:none;width:6px;height:6px;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.ct-roteiro{position:absolute;top:calc(100% + 8px);left:0;z-index:120;width:300px;padding:6px;background:#fff;border:1px solid var(--ct-linha2);border-radius:16px;box-shadow:var(--ct-sombra)}
.ct-rotulo{font:500 10.5px/1.3 var(--ct-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ct-suave);flex:none}
.ct-roteiro .ct-rotulo{display:block;padding:6px 10px 4px}
.ct-roteiro ol{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.ct-roteiro button{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 10px 0 5px;border:0;border-radius:11px;background:transparent;font:500 12.5px var(--ct-sans);color:var(--ct-tinta2);cursor:pointer;white-space:nowrap;text-align:left}
.ct-roteiro button:hover{background:var(--ct-azul-bg);color:var(--ct-azul2)}
.ct-roteiro button b{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ct-linha2);font:600 10.5px var(--ct-mono);color:var(--ct-tinta2)}
.ct-roteiro button.feito{color:var(--ct-suave)}
.ct-roteiro button.feito b{background:var(--ct-ok-bg);color:var(--ct-ok)}
.ct-roteiro button.proximo{background:#000;color:#fff}
.ct-roteiro button.proximo b{background:var(--ct-ambar);color:#000}
.ct-roteiro button em{margin-left:auto;font:600 10px var(--ct-mono);font-style:normal;color:var(--ct-aviso);background:var(--ct-aviso-bg);border-radius:999px;padding:2px 6px}
.ct-roteiro button.proximo em{background:rgba(255,255,255,.18);color:#fff}

/* Menu: os oito menus de antes num painel, todos abertos (nada escondido em submenu) */
.ct-menu-wrap{position:relative;flex:none}
.cartora-app .menubar.ct-menus{position:absolute;top:calc(100% + 8px);right:0;z-index:130;display:block;columns:4 180px;column-gap:10px;width:min(860px,calc(100vw - 24px));max-height:calc(100vh - 80px);overflow:auto;padding:12px;background:#fff;border:1px solid var(--ct-linha2);border-radius:18px;box-shadow:var(--ct-sombra);height:auto}
.cartora-app .menubar.ct-menus[hidden]{display:none!important}
.cartora-app .ct-menus .mnu{position:static;display:block;break-inside:avoid;margin-bottom:4px}
.cartora-app .ct-menus .mnu>span{display:block;height:auto;padding:6px 10px 4px;border-radius:0;font:500 10.5px/1.3 var(--ct-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ct-suave);background:transparent!important;box-shadow:none;cursor:default}
.cartora-app .ct-menus .mnu-pop{display:block!important;position:static!important;min-width:0;margin:0;padding:0 0 6px;border:0;border-radius:0;box-shadow:none;background:transparent}
.cartora-app .mnu-pop button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border-radius:9px;padding:7px 10px;font:400 13px var(--ct-sans);color:var(--ct-tinta);text-align:left}
.cartora-app .mnu-pop button:hover{background:var(--ct-azul-bg);color:var(--ct-azul2)}
.cartora-app .mnu-pop button:disabled{opacity:.35}
.cartora-app .mnu-pop button em{font:500 10.5px var(--ct-mono);color:var(--ct-suave2);font-style:normal}
.cartora-app .mnu-pop hr{border:0;border-top:1px solid var(--ct-linha2);margin:4px 6px}
.cartora-app .ct-menus .hunt-menu-btn{display:inline-flex;height:32px;margin:4px 0 6px 6px;padding:0 12px 0 8px;border:0;border-radius:999px;font:500 13px var(--ct-sans);color:var(--ct-tinta2);background:var(--ct-pilula)}
.cartora-app .hunt-menu-btn:hover{background:var(--ct-pilula2);border:0;color:#000}
.cartora-app .hunt-menu-btn .hunt-icon{border-color:var(--ct-suave2);background:#fff;color:var(--ct-suave)}
.cartora-app .hunt-menu-btn.on{background:var(--ct-ambar);color:#000;border:0}
.cartora-app .hunt-menu-btn.on .hunt-icon{background:#000;border-color:#000;color:var(--ct-ambar)}
.ct-menu-pe{column-span:all;display:flex;justify-content:space-between;gap:12px;margin-top:6px;padding:8px 10px 0;border-top:1px solid var(--ct-linha2);font:500 10.5px var(--ct-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ct-suave2)}
.cartora-app .version-badge.ct-versao{background:transparent;border:0;padding:0;font:500 10.5px var(--ct-mono);color:var(--ct-suave);text-transform:uppercase;letter-spacing:.03em}

/* a barra de estado de baixo não diz nada que ajude: o espaço vai para o trabalho.
   7.8: o Cartora é só a análise; sem Início e sem biblioteca de memoriais. */
.cartora-app>.status,.cartora-app #hub,.cartora-app #homeView{display:none!important}

/* --------------------------------------------------------------- corpo */
.cartora-app .body,.cartora-app .body.noright,.cartora-app .body.noleft.noright{grid-template-columns:minmax(0,1fr)!important;background:#fff}
.cartora-app .center{grid-template-rows:minmax(0,1fr)!important;background:var(--ct-pagina)}
.cartora-app .center>#homeView,.cartora-app .center>#readerView,.cartora-app .center>#workspace{grid-row:1!important}
.cartora-app .module-frame{background:#fff}

/* análise: dois módulos ao mesmo tempo */
.cartora-app .workspace.ct-lado>#view-matricula.active{position:absolute;top:0;bottom:0;left:0;width:calc(var(--ct-prop,56%) - 3px)}
.cartora-app .workspace.ct-lado>#view-sat.active{position:absolute;top:0;bottom:0;right:0;width:calc(100% - var(--ct-prop,56%) - 3px)}
.cartora-app .workspace.ct-analise>#view-sat.active{display:flex!important;flex-direction:column;height:100%}
.cartora-app .workspace.ct-analise>#view-sat .module-frame{flex:1;min-height:0;height:auto}
#ctDivisor{display:none}
.cartora-app .workspace.ct-lado>#ctDivisor{display:block;position:absolute;top:0;bottom:0;left:calc(var(--ct-prop,56%) - 3px);width:6px;z-index:6;pointer-events:auto;cursor:col-resize;background:var(--ct-linha2)}
#ctDivisor span{position:absolute;left:50%;top:50%;width:4px;height:44px;margin:-22px 0 0 -2px;border-radius:999px;background:var(--ct-suave2)}
#ctDivisor:hover,body.ct-arrastando #ctDivisor{background:var(--ct-azul-bg)}
#ctDivisor:hover span,body.ct-arrastando #ctDivisor span{background:var(--ct-azul)}
body.ct-arrastando{cursor:col-resize;user-select:none}
body.ct-arrastando iframe{pointer-events:none!important}

/* ------------------------------------------------- conferência com o desenho */
.ct-conf{flex:none;max-height:40%;overflow:auto;background:#fff;border-bottom:1px solid var(--ct-linha2);padding:5px 10px;font-size:12.5px}
.ct-conf-cab{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:30px}
.ct-conf-abas{display:flex;gap:2px;padding:2px;border-radius:999px;background:var(--ct-pilula)}
.ct-conf-abas button{display:flex;align-items:center;gap:5px;height:26px;padding:0 11px;border:0;border-radius:999px;background:transparent;font:500 12px var(--ct-sans);color:var(--ct-tinta2);cursor:pointer;white-space:nowrap}
.ct-conf-abas button:hover{background:rgba(255,255,255,.7);color:#000}
.ct-conf-abas button.ativa{background:#000;color:#fff}
.ct-conf-abas button em{font:600 10px var(--ct-mono);font-style:normal;min-width:17px;height:17px;display:inline-grid;place-items:center;padding:0 4px;border-radius:999px;background:#fff;color:var(--ct-tinta2)}
.ct-conf-abas button.aviso em{background:var(--ct-aviso-bg);color:var(--ct-aviso)}
.ct-conf-abas button.ativa em{background:rgba(255,255,255,.2);color:#fff}
.ct-conf-mini{display:inline-flex;align-items:center;gap:5px;font:500 11px var(--ct-mono);color:var(--ct-tinta2);white-space:nowrap}
.ct-conf-mini.aviso{color:var(--ct-aviso)}
.ct-conf-abre{width:26px;height:26px;border:0;border-radius:50%;background:var(--ct-pilula);color:var(--ct-tinta2);cursor:pointer;font-size:11px}
.ct-conf-abre:hover{background:var(--ct-pilula2)}
.ct-conf-resumo{color:var(--ct-tinta2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-tem-aviso{font:600 10.5px var(--ct-mono);text-transform:uppercase;color:var(--ct-aviso);background:var(--ct-aviso-bg);padding:2px 7px;border-radius:999px}
.ct-conf select{height:28px;border:1px solid var(--ct-linha);border-radius:999px;padding:0 8px;font:12px var(--ct-sans);background:#fff}
.ct-conf-corpo{padding:4px 0 2px}
.ct-conf-area{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:2px 0 8px;font-size:12.5px}
.ct-conf-area b{font:500 10px var(--ct-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ct-suave);margin-right:4px}
.ct-dim{color:var(--ct-suave);font-size:12px}
.ct-conf-tab{width:100%;border-collapse:collapse;font-size:12.5px}
.ct-conf-tab th,.ct-conf-tab td{padding:3px 8px;border-bottom:1px solid var(--ct-linha2);text-align:left;vertical-align:middle;white-space:nowrap}
.ct-conf-tab thead th{font:500 10px var(--ct-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ct-suave);border-bottom-color:var(--ct-linha)}
.ct-conf-tab .n{text-align:right;font-family:var(--ct-mono);white-space:nowrap}
.ct-conf-tab td.n small{color:var(--ct-suave)}
.ct-conf-tab tbody tr{cursor:pointer}
.ct-conf-tab tbody tr:hover{background:var(--ct-azul-bg)}
.ct-conf-tab tbody th{font-weight:500;white-space:nowrap}
.ct-conf-tab tbody th i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:0}
.ct-conf-tab td.n{white-space:nowrap}
.ct-conf-tab tr.ct-area-l{cursor:default}
.ct-conf-tab tr.ct-area-l th{font:500 10px var(--ct-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ct-suave)}
.ct-conf-nomes{table-layout:fixed}
.ct-conf-nomes th:first-child{width:78px}
.ct-nomes2{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--ct-tinta2)}
.ct-val{font-family:var(--ct-mono)}
.ct-nomes{display:block;font:11px/1.3 var(--ct-sans);color:var(--ct-suave);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px;margin-left:auto}
.cartora-app .workspace:not(.ct-lado) .ct-conf>*{max-width:1068px;margin-left:auto;margin-right:auto}
.cartora-app .workspace:not(.ct-lado) .ct-nomes{max-width:320px}
.ct-pill{display:inline-block;font:500 10px var(--ct-mono);text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px}
.ct-pill.ok{background:var(--ct-ok-bg);color:var(--ct-ok)}
.ct-pill.atencao{background:var(--ct-aviso-bg);color:var(--ct-aviso)}
.ct-pill.alerta{background:var(--ct-erro-bg);color:var(--ct-erro)}
.ct-conf-avisos{display:grid;gap:6px;margin:8px 0 2px}
.ct-conf-avisos>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 10px;border-radius:12px;background:var(--ct-aviso-bg);color:#6b4708}
.ct-legenda{margin:6px 0 0;font-size:11px;color:var(--ct-suave2)}
.ct-conf-viz{margin:10px 0 2px;display:grid;gap:5px}
.ct-viz{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 10px;border:1px solid var(--ct-linha2);border-radius:12px;cursor:pointer}
.ct-viz:hover{border-color:#7A4FA0;background:#F6F1FA}
.ct-viz b{font-weight:500;color:#5B357F}
.ct-viz b::before{content:'';display:inline-block;width:16px;height:0;border-top:2px dashed #7A4FA0;margin-right:7px;vertical-align:3px}
.ct-viz small{font:500 10.5px var(--ct-mono);color:var(--ct-suave);margin-left:4px}
.ct-viz>span:not(.ct-pill){font-size:11.5px;color:var(--ct-suave);flex:1;min-width:200px}
.ct-conf-viz .ct-bt{justify-self:start}
.ct-cta-txt{flex:1;min-width:280px}
.ct-cta-lista{display:grid;gap:6px;margin-top:10px}
.ct-cta-lista label{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:6px 6px 6px 12px;border-radius:12px;background:rgba(255,255,255,.08)}
.ct-cta-lista span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-cta-lista select{flex:none;width:auto;min-width:200px;height:30px;border:0;border-radius:999px;padding:0 10px;font:500 12px var(--ct-sans);background:#fff;color:#000}
.ct-conf.vazio .ct-conf-resumo{color:var(--ct-suave)}

/* -------------------------------------------------------------- início */
.cartora-app .ct-home{height:100%;overflow:auto;padding:26px 24px 40px;background:var(--ct-pagina)}
.cartora-app .ct-home .home-inner{max-width:1100px;margin:0 auto}
.ct-heroi{position:relative;background:#fff;border:1px solid var(--ct-linha2);border-radius:20px;padding:34px 38px 30px;overflow:hidden}
.ct-heroi::before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(110deg,var(--ct-ambar) 0 22%,transparent 22% calc(22% + 6px),var(--ct-azul) calc(22% + 6px))}
.ct-heroi .ct-rotulo{color:var(--ct-azul);font-size:12px}
.ct-heroi h1{margin:12px 0 10px;font:400 clamp(28px,2.4vw + 10px,40px)/1.12 var(--ct-titulo);letter-spacing:-.01em;color:#000;max-width:780px;text-wrap:balance}
.ct-heroi p{margin:0;max-width:720px;font-size:15px;line-height:1.55;color:var(--ct-suave)}
.ct-heroi-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ct-passos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.ct-passos .ct-passo{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--ct-linha2);border-radius:20px;padding:20px;cursor:pointer;transition:border-color .2s}
.ct-passos .ct-passo:hover{border-color:var(--ct-azul)}
.ct-n{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#000;color:#fff;font:500 14px var(--ct-mono)}
.ct-passo h3{margin:4px 0 6px;font:400 21px/1.2 var(--ct-titulo);letter-spacing:-.01em;color:#000}
.ct-passo p{margin:0;font-size:13px;line-height:1.5;color:var(--ct-suave)}
.cartora-app .ct-passo.module-card{display:flex!important;grid-template-columns:none;grid-template-rows:none;column-gap:14px;padding:20px!important}
.cartora-app .ct-home .module-card p,.cartora-app .ct-home .module-card h3,.cartora-app .ct-cartoes p{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.ct-sub{margin:28px 0 10px}
.cartora-app .cards.ct-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0;border:0;background:none}
.cartora-app .ct-cartoes>article{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;background:#fff;border:1px solid var(--ct-linha2);border-radius:16px;padding:14px 16px;cursor:pointer;transition:border-color .2s}
.cartora-app .ct-cartoes>article:hover{border-color:var(--ct-azul);background:#fff}
.cartora-app .ct-cartoes .mark{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--ct-pagina);color:#000;font:500 10.5px var(--ct-mono);border:0}
.cartora-app .ct-cartoes h3{margin:0;font:600 14px/1.3 var(--ct-sans);color:#000}
.cartora-app .ct-cartoes p{margin:2px 0 0;font-size:12px;line-height:1.4;color:var(--ct-suave)}

.ct-rascunho{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;border-radius:20px;background:var(--ct-ambar-bg);border:1px solid #F3D9A6}
.ct-rascunho p{margin:6px 0 0;font-size:13.5px;color:#4a3a14;max-width:760px}
.ct-rascunho .ct-rotulo{color:#85590B}

/* ------------------------------------------------------------- leitor */
.cartora-app #readerView .reader-page{background:var(--ct-pagina);padding:20px 24px 40px}
.cartora-app .reader-inner{max-width:1100px;margin:0 auto}
.cartora-app .reader-panel{background:#fff;border:1px solid var(--ct-linha2);border-radius:20px;margin-bottom:12px;overflow:hidden}
.cartora-app .reader-head{background:#fff;border-bottom:1px solid var(--ct-linha2);padding:16px 20px 12px;min-height:0}
.cartora-app .reader-head h2{font:400 23px/1.2 var(--ct-titulo);letter-spacing:-.01em;color:#000}
.cartora-app .reader-body{padding:14px 20px 18px}
.cartora-app .reader-panel:first-child .reader-body{padding:6px}
.cartora-app .reader-tabs{display:flex;gap:2px;padding:4px;border:0;border-radius:20px;background:var(--ct-pilula)}
.cartora-app .reader-tab{flex:1;height:38px;border:0;border-radius:16px;background:transparent;color:var(--ct-tinta2)}
.cartora-app .reader-tab b{font:500 14px var(--ct-sans)}
.cartora-app .reader-tab:hover{background:rgba(255,255,255,.6)}
.cartora-app .reader-tab.active{background:#000;color:#fff}
.cartora-app .reader-process-badge,.cartora-app .badge{border-radius:999px;font:500 10px var(--ct-mono);background:var(--ct-azul-bg);color:var(--ct-azul2);padding:3px 9px}
.cartora-app .reader-toolbar{gap:8px;align-items:flex-end}
.cartora-app .reader-toolbar label,.cartora-app .reader-field label{font:500 10.5px var(--ct-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ct-suave);margin-bottom:6px}
.cartora-app .reader-toolbar input,.cartora-app .reader-field input,.cartora-app .reader-field select{height:38px;border:1px solid var(--ct-linha);border-radius:12px;font:13px var(--ct-sans);padding:0 12px}
.cartora-app .reader-toolbar button,.cartora-app .reader-slot button,.cartora-app .reader-result button{height:38px;min-height:0;padding:0 16px;border:0;border-radius:999px;background:var(--ct-pilula);color:var(--ct-tinta);font:500 13px var(--ct-sans)}
.cartora-app .reader-toolbar button:hover,.cartora-app .reader-slot button:hover{background:var(--ct-pilula2)}
.cartora-app .reader-toolbar button.primary{background:#000;color:#fff}
.cartora-app .reader-slot{border:1px solid var(--ct-linha2);border-radius:16px;background:var(--ct-cartao);overflow:hidden}
.cartora-app .reader-slot-head{background:transparent;border-bottom:1px solid var(--ct-linha2);padding:10px 14px;font:500 11px var(--ct-mono)}
.cartora-app .reader-slot-head button{height:26px;padding:0 10px;font-size:11.5px}
.cartora-app .reader-slot-body{padding:12px 14px}
.cartora-app .reader-slot-foot{padding:0 14px 12px;font:11px var(--ct-mono);color:var(--ct-suave)}
.cartora-app .reader-status{margin-top:12px;padding:10px 14px;border-radius:12px;font-size:12.5px;background:var(--ct-cartao);color:var(--ct-tinta2)}
.cartora-app .reader-status:empty{display:none}
.cartora-app .reader-status.ok{background:var(--ct-ok-bg);color:#1f5a32}
.cartora-app .reader-status.warn{background:var(--ct-aviso-bg);color:#6b4708}
.ct-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px;padding:14px 16px;border-radius:16px;background:#000;color:#fff;font-size:13px}
.ct-cta b{color:var(--ct-ambar)}
.ct-cta-acoes{display:flex;gap:8px}
.ct-cta .ct-bt{background:rgba(255,255,255,.14);color:#fff}
.ct-cta .ct-bt.prim{background:#fff;color:#000}

/* ---------------------------------------------------------- biblioteca */
.cartora-app .hub{background:#fff;border-left:1px solid var(--ct-linha2)}
.cartora-app .hub-head{height:46px;min-height:46px;background:#fff;border-bottom:1px solid var(--ct-linha2);padding:0 10px 0 14px}
.cartora-app .hub-head h2{font:400 18px var(--ct-titulo);letter-spacing:-.01em;color:#000}
.cartora-app .dockcount{font:600 10.5px var(--ct-mono);background:var(--ct-pilula);border-radius:999px;padding:2px 8px;color:var(--ct-tinta2)}
.cartora-app .hub-tools{height:38px;background:#fff;border-bottom:1px solid var(--ct-linha2);padding:0 8px}
.cartora-app .dt{width:30px;height:30px;border:0;border-radius:50%}
.cartora-app .dt:hover{background:var(--ct-pilula);border:0}
.cartora-app .dt svg{width:15px;height:15px;stroke:var(--ct-tinta2)}
.cartora-app .hub-send{background:var(--ct-cartao);border-bottom:1px solid var(--ct-linha2);padding:10px 12px}
.cartora-app .hub-send label{font:500 10px var(--ct-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ct-suave);margin-bottom:6px}
.cartora-app .hub-send select{height:34px;border:1px solid var(--ct-linha);border-radius:999px;background-color:#fff;font:12.5px var(--ct-sans);padding:0 26px 0 12px}
.cartora-app .hub-send button{height:34px;padding:0 16px;border:0;border-radius:999px;background:#000;color:#fff;font:500 12.5px var(--ct-sans)}
.cartora-app .hub-list{padding:8px}
.cartora-app .mem-card{border:1px solid var(--ct-linha2);border-radius:14px;margin-bottom:6px;background:#fff}
.cartora-app .mem-card:hover{border-color:var(--ct-azul);background:#fff}
.cartora-app .mem-card:has(.mem-select:checked){background:var(--ct-azul-bg);box-shadow:inset 0 0 0 1px var(--ct-azul);border-color:var(--ct-azul)}
.cartora-app .mem-select{accent-color:#000}
.cartora-app .mem-info b{font:500 12.5px var(--ct-sans);color:#000}
.cartora-app .mem-info small{font:10.5px var(--ct-mono);color:var(--ct-suave)}
.cartora-app .mem-remove{border-radius:50%}
.cartora-app .empty b{font:400 17px var(--ct-titulo);color:#000}

/* ------------------------------------------------- barra de estado e avisos */
.cartora-app .status{height:26px;background:var(--ct-cartao);border-top:1px solid var(--ct-linha2);font:11px var(--ct-sans);color:var(--ct-suave)}
.cartora-app .status .cell{border-right:1px solid var(--ct-linha2)}
.cartora-app .status .cell .k{font:500 9.5px var(--ct-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ct-suave2)}
.cartora-app .status .cell .v{font:500 11px var(--ct-mono);color:var(--ct-tinta2)}
.cartora-app .status .crs{font:500 10px var(--ct-mono);color:var(--ct-azul);letter-spacing:.03em}
#toast.toast{bottom:40px;padding:11px 18px;border-radius:16px;background:#000;font:500 13px var(--ct-sans);box-shadow:var(--ct-sombra);max-width:min(620px,calc(100% - 32px))}
#toast.toast.error{background:var(--ct-erro)}
.modal-overlay{background:rgba(0,0,0,.3);backdrop-filter:blur(3px)}
.modal-box{border:0;border-radius:20px;box-shadow:0 30px 80px -28px rgba(0,0,0,.45);overflow:hidden}
.modal-head{min-height:52px;background:#fff;border-bottom:1px solid var(--ct-linha2);padding:0 14px 0 22px}
.modal-head h2{font:400 22px var(--ct-titulo);letter-spacing:-.01em;color:#000}
.modal-body{padding:16px 22px;font-size:13.5px;line-height:1.55}
.modal-foot{padding:12px 18px;border-top:1px solid var(--ct-linha2)}
.modal-actions .tbtn,.tbtn{height:34px;padding:0 16px;border:0;border-radius:999px;background:var(--ct-pilula);font:500 13px var(--ct-sans)}
.tbtn.danger{background:var(--ct-erro);color:#fff}
kbd{font-family:var(--ct-mono);border-radius:6px}

/* ------------------------------------------------ 7.8: entradas e projeto */
.ct-entradas{display:flex;gap:4px;flex:none}
.ct-entradas .ct-bt svg,.ct-proj-tt svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
body.ct-lendo #ctLerMemorial{background:#000;color:#fff}
.ct-voltar{background:var(--ct-azul-bg);color:var(--ct-azul2)}
.ct-voltar:hover{background:#D5E8F3;color:var(--ct-azul2)}
.ct-projeto:has(.ct-proj-tt:not([hidden])){flex-basis:400px}
.ct-proj-tt{display:inline-flex;align-items:center;gap:5px;height:28px;max-width:190px;padding:0 11px 0 8px;border:0;border-radius:999px;background:var(--ct-azul-bg);color:var(--ct-azul2);font:600 12px var(--ct-sans);cursor:pointer;flex:none}
.ct-proj-tt:hover{background:#D5E8F3}
.ct-proj-tt svg{width:14px;height:14px}
.ct-proj-tt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* leitor de memoriais: janela sobre a análise (Ler memorial, F2), fecha ao levar para a análise */
.ct-leitor-cab{display:none}
body.ct-lendo #readerView{display:flex!important;flex-direction:column;position:fixed;top:50px;left:0;right:0;bottom:0;height:auto;z-index:140;overflow:auto;background:var(--ct-pagina);box-shadow:0 -1px 0 var(--ct-linha2)}
body.ct-lendo #readerView>.reader-page{flex:1 0 auto}
body.ct-lendo .ct-leitor-cab{display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:3;padding:10px 24px;background:#fff;border-bottom:1px solid var(--ct-linha2)}
.ct-leitor-cab .ct-rotulo{color:var(--ct-azul)}
.ct-leitor-ajuda{font-size:13px;color:var(--ct-suave)}
.ct-leitor-cab .grow{flex:1}
/* cópia automática: aviso flutuante no alto da análise */
body>.ct-rascunho{position:fixed;top:62px;left:50%;transform:translateX(-50%);z-index:150;width:min(880px,calc(100vw - 32px));box-shadow:var(--ct-sombra)}

/* menus curtos de Abrir, Salvar e do projeto ligado */
.ct-pop{position:fixed;z-index:300;display:grid;gap:2px;min-width:260px;max-width:360px;padding:6px;border:1px solid var(--ct-linha2);border-radius:16px;background:#fff;box-shadow:var(--ct-sombra)}
.ct-pop button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 12px;border:0;border-radius:11px;background:transparent;text-align:left;cursor:pointer;font:500 13px/1.25 var(--ct-sans);color:var(--ct-tinta)}
.ct-pop button:hover,.ct-pop button:focus-visible{background:var(--ct-pilula)}
.ct-pop b{font-weight:600;color:#000}
.ct-pop button.prim b{color:var(--ct-azul2)}
.ct-pop small{font:500 10.5px var(--ct-mono);color:var(--ct-suave)}

/* janelas do projeto (importar, escolher projeto, abrir de Meus arquivos) */
dialog.ct-dlg{display:flex;flex-direction:column;position:fixed;inset:0;margin:auto;height:fit-content;width:min(580px,calc(100vw - 32px));max-height:min(82vh,660px);padding:0;border:0;border-radius:20px;background:#fff;color:var(--ct-tinta);box-shadow:0 30px 80px -28px rgba(0,0,0,.45)}
dialog.ct-dlg:not([open]){display:none}
dialog.ct-dlg::backdrop{background:rgba(0,0,0,.3);backdrop-filter:blur(3px)}
.ct-dlg-cab{padding:16px 22px 12px;border-bottom:1px solid var(--ct-linha2);font:400 21px/1.25 var(--ct-titulo);color:#000}
.ct-dlg-corpo{flex:1;min-height:0;overflow:auto;padding:14px 22px;font-size:13.5px;line-height:1.55}
.ct-dlg-txt{margin:0 0 10px;white-space:pre-line}
.ct-dlg-lista{margin:0;padding-left:18px}
.ct-dlg-lista li{margin:3px 0}
.ct-dlg-escolha{display:grid;gap:6px}
.ct-dlg-escolha label,.ct-dlg-novo{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--ct-linha2);border-radius:14px;background:var(--ct-cartao);cursor:pointer}
.ct-dlg-escolha label:has(input:checked),.ct-dlg-novo:has(input:checked){border-color:var(--ct-azul);background:var(--ct-azul-bg)}
.ct-dlg input[type=radio]{margin-top:3px;accent-color:var(--ct-azul);flex:none}
.ct-dlg-escolha span{display:flex;flex-direction:column;gap:2px;min-width:0}
.ct-dlg-escolha b{font-weight:600;color:#000;overflow-wrap:anywhere}
.ct-dlg-escolha small{font:500 11px var(--ct-mono);color:var(--ct-suave)}
.ct-dlg-novo{align-items:center;margin-top:8px}
.ct-dlg-novo input[type=text]{flex:1;min-width:0;height:32px;padding:0 10px;border:1px solid var(--ct-linha);border-radius:10px;background:#fff;font:500 13px var(--ct-sans)}
.ct-dlg-vazio{margin:4px 0;color:var(--ct-suave)}
.ct-dlg-msg{min-height:1em;margin:10px 0 0;font-size:12.5px;color:var(--ct-erro)}
.ct-dlg-acoes{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--ct-linha2)}

/* ---------------------------------------------------- telas estreitas */
@media (max-width:1500px){
  .cartora-app.ct-em-analise .ct-modo button{gap:0;padding:0 9px}
  .cartora-app.ct-em-analise .ct-modo button span{display:none}
}
@media (max-width:1280px){
  .ct-projeto{flex-basis:170px}
  .ct-marca .ct-nome{display:none}
  .ct-menu-bt span{display:none}
  .ct-menu-bt{padding:0 10px}
  .ct-roteiro-bt{max-width:220px}
  .ct-roteiro-bt small{display:none}
}
/* as entradas são o começo da análise: o nome some só quando não cabe mesmo */
@media (max-width:1180px){
  .ct-entradas .ct-bt span{display:none}
  .ct-entradas .ct-bt{padding:0 10px}
}
@media (max-width:980px){
  .cartora-app .body,.cartora-app .body.noright{grid-template-columns:minmax(0,1fr)!important}
  .ct-passos{grid-template-columns:1fr}
  .ct-projeto>label{display:none!important}
  .ct-proj-tt{max-width:110px}
  .ct-modo button{gap:0;padding:0 9px}
  .ct-modo button span{display:none}
  .ct-roteiro-bt{max-width:150px}
}
@media (max-width:760px){
  .cartora-app .titlebar.ct-topo{height:auto;flex-wrap:wrap;row-gap:6px;padding:6px 10px}
  .ct-projeto{flex:1 1 140px}
  .cartora-app .menubar.ct-menus{columns:2 150px}
  body.ct-lendo #readerView{top:0;z-index:200}
}
