body{margin:0;font-family:Segoe UI,Arial;background:#f3f5f7;color:#1f2933}
aside{position:fixed;width:210px;top:0;bottom:0;background:#102d3f;color:white;padding:25px}
aside h2{font-size:32px;margin:0} aside small{letter-spacing:4px}
nav{display:flex;flex-direction:column;margin-top:30px;gap:8px}
nav a,nav span{padding:10px;color:white;text-decoration:none;border-radius:7px}
nav a:hover{background:#ffffff18} nav span{opacity:.4}
aside form{position:absolute;bottom:25px}
main{margin-left:260px;padding:35px;max-width:1200px}
.login{margin:0;min-height:100vh;display:grid;place-items:center}.loginbox{width:360px}
.card{background:white;border:1px solid #e1e5e8;border-radius:12px;padding:22px;margin-top:20px}
.cards{display:grid;grid-template-columns:repeat(2,240px);gap:18px}
.dashboard-cards{grid-template-columns:repeat(4,minmax(180px,240px))}.dashboard-cards .card{color:#1f2933}.card-alerta{border-left:5px solid #b42318}.card-alerta strong{color:#b42318}
.cards strong{display:block;font-size:38px;margin-top:10px}
.head{display:flex;justify-content:space-between;align-items:center;gap:20px}
input,select,textarea{width:100%;padding:10px;border:1px solid #ccd3d9;border-radius:7px;box-sizing:border-box}
button,.primary{background:white;border:1px solid #cbd2d8;padding:10px 15px;border-radius:7px;text-decoration:none;color:#1f2933;cursor:pointer}
.primary{background:#153f59;color:white;border-color:#153f59}
a{color:#153f59;text-decoration:none}
.notice{background:#eaf2f7;border-left:4px solid #153f59;padding:12px 15px;border-radius:6px}
.errorlist{color:#a32626;font-weight:600}
.searchbar{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.table-wrap{overflow-x:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid #e6eaed;white-space:nowrap}
.table th{font-size:13px;color:#52606d}
.table tbody tr:hover{background:#f7f9fa}
@media(max-width:700px){
  aside{position:static;width:auto} aside form{position:static}
  main{margin:0;padding:20px}.cards{grid-template-columns:1fr}
  .head{align-items:flex-start;flex-direction:column}
  .searchbar{grid-template-columns:1fr}
}

.assunto-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.assunto-grid .card:last-child{grid-column:1/-1}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}
.detail-grid .wide{grid-column:1/-1}
.assunto-links{display:flex;gap:30px;flex-wrap:wrap;color:#667784}
.estado{display:inline-block;padding:7px 12px;border-radius:999px;background:#eef2f4}
.estado-em-curso{background:#e5f5e7}
.estado-suspenso{background:#fff3cd}
.estado-concluido{background:#e6f0fa}
.compact{margin-bottom:8px}.compact h3{margin:0}.empty{text-align:center;color:#667784;padding:20px}.filtros-rapidos{display:flex;gap:8px;margin:22px 0 14px;flex-wrap:wrap}.filtros-rapidos a{background:#fff;border:1px solid #cbd2d8;border-radius:999px;padding:8px 15px}.filtros-rapidos a.ativo{background:#153f59;color:#fff;border-color:#153f59}.filtros-rapidos a.alerta{background:#b42318;border-color:#b42318}.tarefas-search{grid-template-columns:minmax(240px,1fr) 220px auto}.tarefas-card{padding:8px 18px}.tarefas-table td{vertical-align:middle}.tarefa-atrasada{background:#fff5f4}.tarefa-atrasada td:first-of-type{border-left:3px solid #b42318}.btn-check{width:34px;height:34px;padding:0;border-radius:50%;font-weight:700;color:#147a3b}.btn-check:hover{background:#daf3e3}.concluida{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#daf3e3;color:#147a3b;font-weight:700}.prioridade{padding:5px 9px;border-radius:999px;background:#eef2f4;font-size:13px}.prioridade-alta{background:#fff0d5;color:#865600}.prioridade-urgente{background:#fde5e2;color:#a32626;font-weight:700}
.estado-arquivado{background:#eceff1}
.pagination{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:18px}
.pagination a{background:white;border:1px solid #cbd2d8;padding:8px 12px;border-radius:7px}
.subhead{margin-top:25px}
ul#id_membros{list-style:none;padding:0;margin:8px 0}
ul#id_membros li{margin:6px 0}
ul#id_membros input{width:auto;margin-right:8px}
@media(max-width:800px){
  .assunto-grid{grid-template-columns:1fr}
  .assunto-grid .card:last-child{grid-column:auto}
  .detail-grid{grid-template-columns:1fr}
  .detail-grid .wide{grid-column:auto}
  .dashboard-cards{grid-template-columns:1fr 1fr}.tarefas-search{grid-template-columns:1fr}.tarefas-table th:nth-child(5),.tarefas-table td:nth-child(5),.tarefas-table th:nth-child(6),.tarefas-table td:nth-child(6){display:none}
}

.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.inline-form{display:flex;gap:8px;align-items:center;margin:0}
.inline-form input{width:auto}
.filtros-tarefas{display:grid;grid-template-columns:1.5fr 1.7fr 1.6fr 1.1fr 1fr 140px 140px auto auto;gap:10px;align-items:center}.assuntos-search{grid-template-columns:280px 1fr auto auto}.button-link{display:inline-block;text-align:center;padding:10px}.resumo-tarefas{display:flex;gap:12px;margin:18px 0;flex-wrap:wrap}.resumo-tarefas span{background:#e8eef2;padding:10px 16px;border-radius:8px}.faturacao{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.faturada{background:#daf3e3;color:#147a3b}.nao-faturada{background:#fff0d5;color:#865600}.faturacao.neutra{background:#eef2f4;color:#52606d}.tarefa-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tarefa-form .largo{grid-column:1/-1}.campo label{display:block;font-weight:600;margin-bottom:7px}.campo small{display:block;color:#667784;margin-top:6px}.opcoes-tarefa{display:flex;gap:24px;flex-wrap:wrap;padding:15px;background:#edf2f5;border-radius:8px}.opcoes-tarefa label{font-weight:600}.opcoes-tarefa input{width:auto;margin-right:7px}.form-actions{display:flex;justify-content:flex-end;gap:10px}
.estado-inativo{background:#eceff1}
.estado-concluido{background:#e6f0fa}
.selecao-movimentos{display:grid;grid-template-columns:1fr 1.5fr auto;gap:12px}.saldo-atual{display:inline-flex;flex-direction:column;background:#daf3e3;color:#147a3b;border-radius:10px;padding:12px 20px;margin-top:18px}.saldo-atual strong{font-size:24px}.saldo-atual.negativo{background:#fde5e2;color:#a32626}.valor-negativo{color:#a32626;font-weight:700}.estado-pedido{display:inline-block;margin-top:5px;padding:4px 8px;border-radius:999px;background:#e8eef2;color:#52606d;font-size:12px}.movimento-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.movimento-form .largo{grid-column:1/-1}.danger{background:#a32626;color:white;border-color:#a32626}.confirmar{margin-top:16px;padding:18px;background:#fff0d5;border-left:5px solid #e09b19;border-radius:7px}.confirmar form{display:flex;gap:10px;margin-top:12px}
@media(max-width:950px){.filtros-tarefas{grid-template-columns:1fr 1fr}.tarefa-form{grid-template-columns:1fr}.tarefa-form .largo{grid-column:auto}}
@media(max-width:950px){.selecao-movimentos,.movimento-form{grid-template-columns:1fr}.movimento-form .largo{grid-column:auto}}
.client-search{position:relative}.client-search-results{position:absolute;z-index:20;top:100%;left:0;right:0;max-height:260px;overflow:auto;background:#fff;border:1px solid #ccd3d9;border-radius:7px;box-shadow:0 8px 20px #0002}.client-search-results:empty,.client-search-results[hidden]{display:none}.client-search-results button{display:block;width:100%;border:0;border-radius:0;text-align:left;padding:11px 13px}.client-search-results button:hover{background:#eaf2f7}.client-search-results p{margin:0;padding:12px;color:#667784}
.selecao-cliente{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.selecao-cliente label strong{display:block;margin-bottom:8px}.estado-nh{display:inline}.estado-nh select{width:auto;padding:6px}.totais-nh{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.totais-nh div{background:#e8eef2;border-radius:8px;padding:18px}.totais-nh span,.totais-nh strong{display:block}.totais-nh strong{font-size:23px;margin-top:8px}.nota-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.nota-layout section{min-width:0}.nota-ident{display:grid;grid-template-columns:1fr 180px;gap:14px}.nota-ident label:last-child{grid-column:1/-1}.nota-ident label,.nota-sidebar>label{display:block;font-weight:600}.acoes-marcar{display:flex;gap:8px;margin:15px 0}.assunto-nh summary{display:flex;justify-content:space-between;cursor:pointer}.linha-selecao{display:grid;grid-template-columns:25px 95px minmax(180px,1fr) auto auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #e6eaed}.linha-selecao input{width:auto}.nota-sidebar{position:sticky;top:20px;background:#334b5d;color:#fff;padding:18px;border-radius:10px}.nota-sidebar .resumo-vivo{display:grid;grid-template-columns:1fr auto;gap:12px;background:#263b4a;padding:15px}.nota-sidebar .resumo-vivo hr{grid-column:1/-1;width:100%;border:0;border-top:1px solid #ffffff33}.nota-sidebar .toggle{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.nota-sidebar .toggle input{width:auto}.nota-sidebar>label{margin-top:14px}.nota-sidebar button{width:100%;margin-top:15px}.nota-sidebar .preview{background:#57bddb;color:#fff;border:0}@media(max-width:950px){.nota-layout{grid-template-columns:1fr}.nota-sidebar{position:static}.linha-selecao{grid-template-columns:25px 80px 1fr}.totais-nh{grid-template-columns:1fr}}
.importacao-datalex{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) minmax(260px,1fr);gap:18px;align-items:end}.importacao-datalex form,.importacao-notas form{display:flex;gap:10px;align-items:end}.importacao-datalex label,.importacao-notas label{display:grid;gap:8px;flex:1}.importacao-datalex input,.importacao-notas input{padding:8px;background:#fff}@media(max-width:950px){.importacao-datalex{grid-template-columns:1fr}.importacao-datalex form,.importacao-notas form{align-items:stretch;flex-direction:column}}

/* JURCORE — navegação em ecrãs de menor altura */
@media (max-height: 820px) {
    body > aside {
        overflow-y: auto;
        overflow-x: hidden;
    }

    body > aside form {
        position: static;
        margin-top: 18px;
        padding-bottom: 12px;
    }
}

/* JURCORE — menu lateral adaptado a qualquer altura de ecrã */
@media (min-width: 701px) {
    body > aside {
        box-sizing: border-box;
        height: 100vh;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    body > aside .brand {
        flex: 0 0 auto;
    }

    body > aside nav {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        margin-bottom: 10px;
        padding-right: 6px;
        scrollbar-width: thin;
    }

    body > aside form {
        position: static;
        flex: 0 0 auto;
        margin-top: 8px;
    }
}


/* JURCORE — menu lateral redimensionável */
@media (min-width: 701px) {
    :root {
        --jurcore-sidebar-width: 290px;
    }

    body > aside {
        width: var(--jurcore-sidebar-width);
    }

    body > main:not(.login) {
        margin-left: var(--jurcore-sidebar-width);
    }

    #sidebar-resizer {
        position: absolute;
        top: 0;
        right: 0;
        width: 8px;
        height: 100%;
        cursor: col-resize;
        z-index: 1000;
        background: transparent;
        transition: background .15s ease;
    }

    #sidebar-resizer:hover,
    body.sidebar-resizing #sidebar-resizer {
        background: rgba(255,255,255,.18);
    }

    body.sidebar-resizing {
        cursor: col-resize;
        user-select: none;
    }
}

@media (max-width: 700px) {
    #sidebar-resizer {
        display: none;
    }
}


/* JURCORE — Correspondência */
.corr-tools-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.ferramenta-correspondencia{display:block;color:inherit;text-decoration:none;min-height:128px;padding:22px}.ferramenta-correspondencia:hover{box-shadow:0 4px 16px #102d3f18;transform:translateY(-1px)}.ferramenta-correspondencia .corr-icon{font-size:25px;display:block;margin-bottom:12px}.ferramenta-correspondencia strong{display:block;font-size:18px;margin-bottom:8px}.ferramenta-correspondencia small{color:#667784;font-size:14px}.corr-filtros{display:grid;grid-template-columns:minmax(280px,1fr) 150px auto auto;gap:10px;align-items:end}.corr-filtros label,.corr-grid label{font-weight:600}.corr-filtros input,.corr-filtros select,.corr-grid input,.corr-grid select,.corr-grid textarea{margin-top:7px}.corr-table td{vertical-align:top}.corr-table small{color:#667784}.corr-acoes{white-space:nowrap}.corr-form{padding:0;overflow:hidden}.corr-bloco{padding:20px 22px;border-bottom:1px solid #e4e9ed}.corr-bloco h2{margin:0 0 16px;font-size:18px}.corr-bloco h2 small{font-weight:400;color:#667784}.corr-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.corr-grid .full{grid-column:1/-1}.corr-grid label small{display:block;color:#667784;font-weight:400;margin-top:6px}.corr-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:18px 22px}.corr-form-actions .primary{margin-left:auto}.paginacao{display:flex;justify-content:center;gap:18px;align-items:center;margin:16px 0}.paginacao a{text-decoration:none}@media(max-width:900px){.corr-tools-row,.corr-filtros,.corr-grid{grid-template-columns:1fr}.corr-grid .full{grid-column:auto}.corr-form-actions .primary{margin-left:0}}


/* JURCORE Correspondência v1.3 */
.corr-pasta-alt{display:flex!important;align-items:center;gap:9px;margin-top:14px;font-weight:600}
.corr-pasta-alt input{width:auto!important;margin:0!important}
.corr-table td:first-child a{font-weight:700;text-decoration:none}
.corr-acoes .primary{display:inline-block;padding:7px 12px;white-space:nowrap}

