:root{color-scheme:dark;--bg:#0a0a0b;--panel:#111113;--line:#40331d;--gold:#c7a04e;--text:#f4f0e7;--muted:#aaa7a0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#1a1710 0, var(--bg) 55%);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.top{height:88px;border-bottom:1px solid #242323;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,56px)}.brand{display:flex;gap:12px;align-items:center}.mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);color:var(--gold);font-weight:900;font-size:24px;border-radius:9px}.brand small,.brand strong{display:block}.brand small{letter-spacing:.18em;color:var(--gold);font-size:10px}.brand strong{font-size:19px}.version{font-size:11px;letter-spacing:.12em;color:var(--muted)}main{width:min(1040px,calc(100% - 32px));margin:64px auto}.panel{max-width:475px;margin:30px auto 0;padding:38px 32px;background:rgba(17,17,19,.96);border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 70px #0008}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.18em;font-weight:800}.panel .eyebrow,.panel h1{text-align:center}.panel h1{font-size:27px;line-height:1.2;margin:12px 0}.muted{color:var(--muted)}.panel>.muted{text-align:center;font-size:14px;margin:16px 0 26px}label{display:block;font-size:13px;margin-bottom:8px;color:#e0d1ad}input{width:100%;padding:15px 14px;background:#080809;border:1px solid #4a4030;border-radius:9px;color:white;font-size:16px;outline:none}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c7a04e22}button{width:100%;border:0;border-radius:9px;padding:15px 18px;background:var(--gold);color:#111;font-weight:800;font-size:15px;cursor:pointer;margin-top:14px}button:disabled{opacity:.6;cursor:wait}.error{min-height:22px;color:#ff9696;font-size:13px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:24px}.welcome h1{font-size:clamp(28px,4vw,42px);margin:4px 0}.secondary{width:auto;margin:0;background:transparent;color:var(--text);border:1px solid var(--line)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}.cards article{border:1px solid #302a20;border-radius:14px;background:#111113;padding:24px}.cards article span{font-size:11px;letter-spacing:.14em;color:var(--gold)}.cards h2{margin:12px 0 4px;font-size:20px}.cards p{color:var(--muted);margin:0 0 20px}.cards em{font-size:11px;font-style:normal;color:#c7a04e}.notice{color:var(--muted);font-size:12px;margin-top:24px}footer{text-align:center;color:#777;font-size:12px;padding:28px 16px;border-top:1px solid #242323}@media(max-width:600px){.top{height:72px}.version{font-size:9px}.panel{padding:28px 20px;margin-top:12px}main{margin:32px auto}.cards{grid-template-columns:1fr}.welcome{align-items:flex-start}.welcome .secondary{padding:11px}.brand strong{font-size:16px}}

/* Layout de navegação lateral e módulos 1.1.0 */
.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 170px);max-width:1600px;margin:0 auto}
.sidebar{border-right:1px solid #30291d;padding:26px 16px;display:flex;flex-direction:column;gap:7px;background:#0c0c0c}
.side-label{font-size:11px;letter-spacing:1.5px;color:#c89d45;margin:17px 10px 8px}
.nav-item{width:100%;text-align:left;background:transparent;border:1px solid transparent;color:#c7c2b8;padding:12px 13px;border-radius:8px;font-size:14px}
.nav-item:hover,.nav-item.active{background:#1a1711;border-color:#49381d;color:#f1c15d}
.side-bottom{margin-top:auto;padding-top:22px;border-top:1px solid #30291d;display:flex;align-items:center;justify-content:space-between;color:#aaa;font-size:12px}
.side-bottom .secondary{padding:8px 12px}
.content{padding:34px clamp(22px,4vw,64px);min-width:0}
.page{display:none}.page.active{display:block}
.content h1{font-size:clamp(28px,3vw,42px);margin:10px 0 14px}
.content .cards{margin-top:28px}
.text-link{background:transparent;border:0;color:#e8b54b;padding:4px 0;text-align:left}
.placeholder{margin-top:26px;border:1px solid #382f21;border-radius:14px;background:#111;padding:26px;max-width:900px}
.placeholder h2{margin-top:0}.placeholder p,.update-toolbar p{color:#b8b1a4;line-height:1.6}
.update-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:20px;border:1px solid #382f21;border-radius:12px;background:#111}
.update-toolbar h2{margin:0}.update-toolbar p{margin-bottom:0}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #30291d;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.side-label{grid-column:1/-1}.side-bottom{grid-column:1/-1}.content{padding:25px 18px}.update-toolbar{align-items:flex-start;flex-direction:column}}

/* v1.1.2: sidebar pinned to the left and alphabetic menu */
@media(min-width:901px){
 .workspace{grid-template-columns:250px minmax(0,1fr);align-items:stretch}
 .sidebar{position:sticky;top:0;align-self:start;height:calc(100vh - 90px);overflow-y:auto;min-height:calc(100vh - 90px)}
 .content{min-width:0}
}
@media(max-width:900px){
 .sidebar{position:sticky;top:0;z-index:10;max-height:44vh;overflow-y:auto;grid-template-columns:1fr 1fr}
}

/* v1.1.3: ícones consistentes em todos os itens do menu */
.nav-item{display:flex;align-items:center;gap:12px}
.menu-icon{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.92}
.nav-item.active .menu-icon{color:#e8b54b}

/* v1.1.4 — fix sidebar width and avoid nested scrollbar */
@media(min-width:901px){
 .workspace{width:100%;max-width:none;margin:0;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 170px)}
 .sidebar{position:sticky;top:0;height:auto;min-height:calc(100vh - 170px);max-height:none;overflow:visible;align-self:stretch;box-sizing:border-box}
 .content{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:900px){
 .workspace{width:100%;max-width:none;margin:0;grid-template-columns:1fr}
 .sidebar{position:static;max-height:none;overflow:visible}
}

/* v1.1.5 — sidebar and module content aligned to the left edge */
@media(min-width:901px){
 .workspace{grid-template-columns:250px minmax(0,1fr);width:100%;max-width:none;margin:0}
 .sidebar{padding-left:10px;padding-right:10px}
 .sidebar .side-label{margin-left:6px;margin-right:4px}
 .sidebar .nav-item{padding-left:9px;padding-right:8px;gap:9px}
 .content{padding-left:28px;padding-right:28px}
}

/* v1.1.6 — remove excess top gap and apply official Grupo Pixell logo */
main{width:100%;max-width:none;margin:0;padding:0}
.brand-logo{display:block;width:64px;height:64px;object-fit:contain;border-radius:50%;flex:0 0 64px}
.top{padding-left:24px;padding-right:24px}
@media(max-width:600px){.brand-logo{width:52px;height:52px;flex-basis:52px}.top{padding-left:14px;padding-right:14px}}

/* v1.1.7 — move the dashboard content higher */
@media(min-width:901px){
 .content{padding-top:10px}
 .page.active>.eyebrow:first-child{margin-top:0}
 .page.active>h1:first-of-type{margin-top:4px}
}
@media(max-width:900px){
 .content{padding-top:12px}
 .page.active>.eyebrow:first-child{margin-top:0}
}

/* v1.1.8 — Atualizações em Sistema, visível somente após login administrativo */
.nav-item.admin-only[hidden]{display:none!important}

/* v1.1.9 — align dashboard content to the very top */
@media(min-width:901px){
 .content{padding-top:0!important}
 .page.active>.eyebrow:first-child{margin-top:0!important;padding-top:0}
 .page.active>h1:first-of-type{margin-top:0!important}
}
@media(max-width:900px){
 .content{padding-top:0!important}
 .page.active>.eyebrow:first-child{margin-top:0!important;padding-top:0}
 .page.active>h1:first-of-type{margin-top:0!important}
}

/* v1.2.0 — prevent left-side clipping; keep menu inside viewport */
@media(min-width:901px){
 html,body{overflow-x:hidden}
 .top{width:100%;padding-left:24px;padding-right:24px}
 .workspace{display:grid;grid-template-columns:250px minmax(0,1fr);width:100%;max-width:none;margin:0;position:relative;left:0;right:0}
 .sidebar{width:250px;min-width:250px;margin:0;padding-left:14px;padding-right:14px;overflow:visible}
 .sidebar .side-label{margin-left:8px;margin-right:6px;overflow-wrap:normal;word-break:normal}
 .sidebar .nav-item{width:100%;min-width:0;padding-left:10px;padding-right:8px;white-space:normal}
 .content{min-width:0;padding-left:28px;padding-right:28px}
}
@media(max-width:900px){
 html,body{overflow-x:hidden}
 .workspace{width:100%;max-width:none;margin:0;left:0}
 .sidebar{width:100%;min-width:0;padding-left:14px;padding-right:14px}
 .sidebar .side-label{margin-left:8px}
}
.brand-logo{margin-left:0;object-position:center}


/* v1.3.0 — Cadastro central persistente */
.registry-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:22px;align-items:start;margin-top:24px}.registry-form,.registry-list{background:#111113;border:1px solid #382f21;border-radius:14px;padding:22px;min-width:0}.registry-form h2,.registry-list h2{margin:0 0 8px}.registry-form label{display:block;color:#dfd4bd;font-size:13px;margin:13px 0 5px}.registry-form input,.registry-form select{width:100%;min-width:0;background:#080809;color:#f4f0e7;border:1px solid #51432e;border-radius:7px;padding:11px 12px;font:inherit}.registry-form input:focus,.registry-form select:focus{outline:2px solid #c7a04e;outline-offset:1px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.small{font-size:12px}.form-message{min-height:22px;font-size:13px;color:#f1c15d}.form-message.error{color:#ff9696}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-heading .secondary{white-space:nowrap}.company-list{display:grid;gap:10px;margin-top:18px}.company-item{border:1px solid #332b20;border-radius:10px;padding:14px}.company-item h3{margin:0 0 5px;font-size:16px;overflow-wrap:anywhere}.company-item p{margin:3px 0;color:#b8b1a4;font-size:13px;overflow-wrap:anywhere}.company-tag{display:inline-block;color:#e9bd61;border:1px solid #514027;border-radius:5px;padding:2px 6px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.company-item.child{margin-left:18px;border-left:3px solid #8c6b2e}.registry-form [hidden]{display:none!important}@media(max-width:1100px){.registry-layout{grid-template-columns:1fr}}@media(max-width:600px){.registry-form,.registry-list{padding:15px}.form-grid{grid-template-columns:1fr}.list-heading{align-items:flex-start;flex-direction:column}}

/* v1.3.1: botão de consulta CNPJ dentro do campo, sem alterar os demais componentes */
.registry-form .lookup-button{width:100%;margin-top:8px;padding:10px 12px;font-size:13px;background:transparent;color:var(--text);border:1px solid var(--line);}
.registry-form .lookup-button:disabled{opacity:.65}

/* v1.4.0 — seções adicionais do cadastro central */
.registry-extra{border:1px solid var(--border,#3b3020);border-radius:10px;padding:14px 16px;margin:18px 0;background:rgba(255,255,255,.015)}
.registry-extra summary{cursor:pointer;font-weight:700;color:var(--gold,#caa04b);padding:3px 0 10px}
.registry-extra .muted{margin-top:4px}
.registry-extra[open] summary{margin-bottom:8px}

/* v1.6.0 */
.form-divider{grid-column:1/-1;border-top:1px solid #ddd;margin-top:10px;padding-top:10px}
.form-divider h3{margin:0}
.inline-form,.payment-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:12px 0;padding:14px;border:1px solid var(--line,#ddd);border-radius:10px}
.inline-form label,.payment-form label{display:flex;flex-direction:column;gap:5px;min-width:150px;flex:1}
#entryForm .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
#entryForm .wide{grid-column:1/-1}
/* v1.6.2 — quadro societário visual e relatórios de cadastros */
.shareholders-editor{margin-top:16px}.shareholder-row{border:1px solid #382f21;border-radius:10px;padding:12px;margin:10px 0;background:#0c0c0d}.shareholder-row .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shareholder-row .remove-shareholder{margin-top:8px}.report-tools{border:1px solid #514027;border-radius:10px;padding:14px;margin:16px 0;background:#0c0c0d}.report-tools h3{margin:0 0 8px;color:#e9bd61}.report-tools label{display:block;font-size:13px;margin:8px 0}.report-tools select{width:100%;background:#080809;color:#f4f0e7;border:1px solid #51432e;border-radius:7px;padding:10px}.wide{grid-column:1/-1}@media(max-width:600px){.shareholder-row .form-grid{grid-template-columns:1fr}}
