:root{--azul:#024c6e;--azul-claro:#3aa1ba;--dourado:#dfa425;--fundo:#f4f6fa;--borda:#e2e6ef;--texto:#22262e;--texto-suave:#6b7280}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--fundo);color:var(--texto);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;font-size:14px}a{color:var(--azul-claro);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;font-size:13px}.shell{min-height:100vh;display:flex}.sidebar{background:var(--azul);color:#fff;width:260px;min-width:260px;height:100vh;padding:18px 0 30px;position:sticky;top:0;overflow-y:auto}.sidebar .logo{letter-spacing:.4px;align-items:center;gap:8px;padding:4px 18px 14px;font-size:17px;font-weight:800;display:flex}.sidebar .logo span{color:var(--dourado)}.ws-title{text-transform:uppercase;letter-spacing:1px;color:#ffffff8c;padding:14px 18px 6px;font-size:11px;font-weight:700}.board-link{color:#ffffffeb;border-left:3px solid #0000;padding:7px 18px;font-size:13.5px;display:block}.board-link:hover{background:#ffffff14;text-decoration:none}.board-link.ativo{border-left-color:var(--dourado);background:#ffffff24;font-weight:600}.sidebar .sair{color:#fff;background:0 0;border:1px solid #ffffff4d;border-radius:6px;margin:22px 18px 0;padding:6px 14px;font-size:12.5px}.sidebar .sair:hover{background:#ffffff1f}.conteudo{flex:1;min-width:0;padding:24px 28px 80px}.login-wrap{background:linear-gradient(135deg, var(--azul) 0%, #01344d 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:14px;width:360px;padding:38px 34px;box-shadow:0 18px 50px #00000059}.login-card h1{color:var(--azul);margin-bottom:4px;font-size:21px}.login-card p{color:var(--texto-suave);margin-bottom:22px;font-size:13px}.login-card label{color:#444;margin:12px 0 4px;font-size:12px;font-weight:700;display:block}.login-card input{border:1px solid var(--borda);border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.login-card button{background:var(--azul);color:#fff;border:none;border-radius:8px;width:100%;margin-top:20px;padding:11px;font-size:14.5px;font-weight:700}.login-card button:hover{background:#035a82}.login-erro{color:#d5305c;margin-top:10px;font-size:12.5px}.home h1{margin-bottom:4px;font-size:22px}.home .sub{color:var(--texto-suave);margin-bottom:26px}.ws-bloco{margin-bottom:30px}.ws-bloco h2{text-transform:uppercase;letter-spacing:1px;color:var(--texto-suave);margin-bottom:10px;font-size:13px}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.card{border:1px solid var(--borda);color:var(--texto);background:#fff;border-radius:10px;padding:16px;transition:box-shadow .15s;display:block}.card:hover{text-decoration:none;box-shadow:0 6px 18px #024c6e1f}.card .nome{margin-bottom:4px;font-size:14.5px;font-weight:700}.card .qtd{color:var(--texto-suave);font-size:12.5px}.board-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:18px;display:flex}.board-head h1{font-size:21px}.board-head .ws{color:var(--texto-suave);font-size:13px}.busca{border:1px solid var(--borda);background:#fff;border-radius:8px;width:240px;margin-left:auto;padding:8px 12px}.grupo{margin-bottom:28px}.grupo-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.grupo-head .titulo{font-size:15px;font-weight:800}.grupo-head .qtd{color:var(--texto-suave);font-size:12.5px}.tabela-wrap{border:1px solid var(--borda);background:#fff;border-radius:10px;overflow-x:auto}table.tabela{border-collapse:collapse;width:100%;min-width:700px}.tabela th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--texto-suave);border-bottom:1px solid var(--borda);white-space:nowrap;background:#fafbfe;padding:8px 10px;font-size:11.5px;font-weight:700}.tabela td{white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #eef0f6;max-width:380px;padding:6px 10px;font-size:13.5px;overflow:hidden}.tabela tr:last-child td{border-bottom:none}.tabela tr:hover td{background:#f7f9fd}.td-num{text-align:right;font-variant-numeric:tabular-nums}.td-nome{min-width:240px;font-weight:600}.faixa{min-width:5px;max-width:5px;width:5px!important;padding:0!important}.tabela tfoot td{border-top:1px solid var(--borda);background:#f2f4f9;font-weight:700}.tabela .fixa{z-index:2;background:#fff;position:sticky;left:0}.tabela .fixa-nome{box-shadow:1px 0 0 var(--borda), 6px 0 8px -6px #024c6e2e;left:5px}.tabela th.fixa{z-index:3;background:#fafbfe}.tabela tr:hover td.fixa-nome{background:#f7f9fd}.tabela tfoot td.fixa-nome{background:#f2f4f9}.chip{color:#fff;text-overflow:ellipsis;vertical-align:middle;background:#9aa0ab;border-radius:20px;max-width:100%;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block;overflow:hidden}.sub-toggle{color:var(--azul);background:#eef1f7;border:none;border-radius:5px;margin-right:8px;padding:2px 8px;font-size:11.5px;font-weight:700}.sub-toggle:hover{background:#e0e6f2}tr.sub-row td{color:#495060;background:#fbfcff}tr.sub-row:hover td{background:#f4f7fe}tr.sub-row .td-nome{padding-left:34px;font-weight:500}.celula-edit{cursor:text}.celula-edit:hover{outline-offset:-1px;outline:1px dashed #c3cbdd}.celula-input{border:2px solid var(--azul-claro);border-radius:4px;width:100%;padding:3px 6px}.add-item{color:var(--texto-suave);background:0 0;border:none;padding:8px 12px;font-size:13px}.add-item:hover{color:var(--azul)}.mini-btn{color:#b6bcc9;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}.mini-btn:hover{color:#d5305c}.carregando{color:var(--texto-suave);text-align:center;padding:40px 0}.subtabela{border-collapse:collapse;border:1px solid var(--borda);background:#fbfcff;border-radius:8px;width:auto;min-width:420px}.subtabela th{text-align:left;text-transform:uppercase;color:var(--texto-suave);border-bottom:1px solid var(--borda);background:#f2f5fb;padding:6px 10px;font-size:11px}.subtabela td{border-bottom:1px solid #eef0f6;padding:5px 10px;font-size:13px}.subtabela .td-nome{min-width:220px;font-weight:500}.subtabela tfoot td{background:#eef2f9;font-weight:700}@media (max-width:800px){.shell{flex-direction:column}.sidebar{width:100%;min-width:0;height:auto;position:static}.conteudo{padding:16px 12px 60px}.busca{width:100%;margin-left:0}.tabela .td-nome.fixa-nome{min-width:150px;max-width:170px}}
