:root{--azul:#1f4e79;--azul2:#2e6da4;--cinza:#eef1f5;--borda:#dfe3e8;--vermelho:#c0392b;--verde:#27772f;}
*{box-sizing:border-box;}
body{margin:0;font-family:'Segoe UI',Arial,sans-serif;background:var(--cinza);color:#233;line-height:1.45;}
header{background:linear-gradient(100deg,#173d5f,#2e6da4);color:#fff;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;box-shadow:0 2px 10px rgba(0,0,0,.15);}
.brand{display:flex;align-items:center;gap:14px;}
.brand-logo{font-size:30px;background:rgba(255,255,255,.15);width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;}
header h1{margin:0;font-size:21px;letter-spacing:.2px;}
.org{font-size:12px;opacity:.9;}
.ajuda-btn{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:20px;padding:8px 16px;font-weight:600;cursor:pointer;}
.ajuda-btn:hover{background:rgba(255,255,255,.28);}
main{max-width:1040px;margin:22px auto;padding:0 16px;}
h2{color:var(--azul);}
h4{color:var(--azul);margin:16px 0 6px;}

/* tela inicial: hero + passos */
.hero{background:linear-gradient(120deg,#fff,#f2f7fc);border:1px solid var(--borda);border-radius:12px;padding:22px 24px;margin-bottom:18px;box-shadow:0 2px 8px rgba(31,78,121,.06);}
.hero h2{margin:0 0 8px;font-size:22px;}
.hero p{margin:0 0 16px;color:#3a4655;max-width:820px;}
.passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.passo{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--borda);border-radius:10px;padding:12px 14px;}
.passo-n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--azul);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;}

/* seção de documentos */
.docs-card{border-left:4px solid var(--azul);}
.docs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:8px;}
.doc-group{background:#fafbfd;border:1px solid var(--borda);border-radius:10px;padding:12px 14px;}
.doc-title{font-weight:700;color:var(--azul);margin-bottom:2px;}
.doc-desc{font-size:12.5px;margin-bottom:10px;}
.btn-row{display:flex;gap:8px;flex-wrap:wrap;}

/* ajuda */
.ajuda-lista{padding-left:20px;color:#3a4655;}
.ajuda-lista li{margin:7px 0;}
.ajuda-termos dt{font-weight:700;color:var(--azul);margin-top:8px;}
.ajuda-termos dd{margin:0 0 4px;color:#3a4655;}
.row-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.card{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:16px 18px;margin:14px 0;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.cards{display:flex;flex-direction:column;gap:10px;}
.proc-card{cursor:pointer;transition:.15s;display:flex;align-items:center;gap:14px;}
.proc-card:hover{border-color:var(--azul2);box-shadow:0 3px 12px rgba(31,78,121,.15);transform:translateY(-1px);}
.proc-ico{font-size:22px;background:#eef4fb;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;}
.proc-info{flex:1;}
.proc-seta{font-size:26px;color:var(--azul2);flex:none;}
label{display:block;font-size:13px;color:#444;margin:8px 0;}
input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--borda);border-radius:6px;font-size:14px;margin-top:3px;}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
button,.btn{cursor:pointer;border:1px solid var(--borda);background:#fff;padding:8px 14px;border-radius:6px;font-size:14px;text-decoration:none;color:#222;display:inline-block;}
button.primary,.primary{background:var(--azul);color:#fff;border-color:var(--azul);}
button.primary:hover,.primary:hover{background:var(--azul2);}
button.link{border:none;background:none;color:var(--azul2);padding:4px 0;}
button.danger{color:var(--vermelho);border-color:#f0c4be;}
.actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.btn-group{display:inline-flex;}
.btn-group .btn{border-top-right-radius:0;border-bottom-right-radius:0;}
.btn-group .btn-pdf{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none;
  background:#c0392b;color:#fff;border-color:#c0392b;font-weight:700;font-size:12px;}
.btn-group .btn-pdf:hover{background:#a33024;}
.btn-dossie{background:#27772f;color:#fff;border-color:#27772f;font-weight:700;}
.btn-dossie:hover{background:#1f5f26;}
.btn-conf{background:#8a5a1a;color:#fff;border-color:#8a5a1a;font-weight:700;}
.btn-conf:hover{background:#6f4713;}
.conf-item{border-top:1px solid var(--borda);padding:8px 0;}
.conf-item:first-child{border-top:none;}
.btn-graf{background:#2e6da4;color:#fff;border-color:#2e6da4;font-weight:700;}
.btn-graf:hover{background:#245a89;}

/* gráfico de dispersão */
.modal-wide{max-width:760px;}
.graf-legenda{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:#445;margin:6px 0 14px;}
.graf-legenda span{display:inline-flex;align-items:center;gap:6px;}
.lg-dot{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;}
.lg-inc{background:#2e6da4;}
.lg-exc{background:#fff;border:2px solid #c0392b;color:#c0392b;}
.lg-linha{width:16px;height:0;border-top:2px dashed #1f4e79;}
.lg-faixa{width:16px;height:12px;background:#27772f;opacity:.18;border-radius:2px;}
.graf-item{border-top:1px solid var(--borda);padding:10px 0 4px;}
.graf-item:first-child{border-top:none;}
.graf-item h4{margin:0 0 2px;}
.graf-svg{width:100%;height:auto;display:block;}
.graf-cap{font-size:12.5px;margin-top:2px;}
.muted{color:#667;font-size:13px;}
.hidden{display:none;}
table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px;}
th,td{border:1px solid var(--borda);padding:6px 8px;text-align:left;}
th{background:#eef2f6;}
tr.excluida td{background:#fde8e4;text-decoration:line-through;color:#8a5a52;}
.badge{font-size:11px;padding:2px 7px;border-radius:10px;background:#eef2f6;color:#555;}
.badge.alerta{background:#fdeccf;color:#8a5a1a;}
.badge-btn{border:none;cursor:pointer;font-weight:700;}
.badge-btn:hover{background:#f7c873;}
.stat{font-size:13px;color:#333;margin-top:6px;}
.stat b{color:var(--azul);}
.item-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.cot-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;align-items:end;margin-top:8px;background:#fafbfc;padding:10px;border-radius:6px;}
.right{text-align:right;}
.pdf-box{margin-top:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.link-box{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  background:#fafbfc;border:1px solid var(--borda);border-radius:6px;padding:8px 10px;}
.link-input{flex:1 1 280px;margin-top:0;resize:vertical;min-height:34px;font-family:inherit;}
.check{display:flex;align-items:center;gap:8px;font-size:14px;}
.check input{width:auto;margin:0;}
.edit-item{background:#fafbfc;border:1px solid var(--borda);border-radius:6px;padding:10px;margin:8px 0;}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:flex-start;justify-content:center;z-index:50;padding:30px 12px;overflow:auto;}
.modal.hidden{display:none;}
.modal-box{background:#fff;border-radius:10px;padding:18px 22px;max-width:820px;width:100%;box-shadow:0 8px 30px rgba(0,0,0,.25);}
.barra{background:#e6e9ee;border-radius:6px;height:14px;overflow:hidden;margin:6px 0;}
.barra>div{background:var(--azul);height:100%;transition:width .3s;}
.of-mat{border:1px solid var(--borda);border-radius:6px;padding:8px 10px;margin:6px 0;cursor:pointer;}
.of-mat:hover{border-color:var(--azul2);background:#f5f8fc;}
.of-mat.sel{border-color:var(--azul);background:#eef4fb;}
.pdf-btn{display:inline-block;margin:0;cursor:pointer;background:#eef4fb;border:1px dashed var(--azul2);color:var(--azul);padding:8px 14px;border-radius:6px;font-size:13px;}
.pdf-btn:hover{background:#e0ecf9;}
.pdf-chip{display:inline-block;background:#c0392b;color:#fff;font-size:11px;font-weight:700;
  letter-spacing:.5px;text-decoration:none;padding:2px 7px;border-radius:4px;margin-left:6px;vertical-align:middle;}
.pdf-chip:hover{background:#a33024;}
.pdf-save{display:inline-block;text-decoration:none;color:#c0392b;font-weight:700;font-size:16px;
  margin-left:5px;vertical-align:middle;}
.pdf-save:hover{opacity:.65;}
.pdf-add{display:inline-block;cursor:pointer;border:1px dashed #c0392b;color:#c0392b;font-size:11px;
  font-weight:700;padding:1px 7px;border-radius:4px;margin-left:6px;vertical-align:middle;}
.pdf-add:hover{background:#fdecea;}
