:root{--bg:#f4f7fb;--card:#fff;--ink:#18212f;--muted:#6b7280;--line:#e5e7eb;--navy:#17365d;--navy2:#234f84;--accent:#0ea5e9;--sidebar:#17365d;--green:#15803d;--red:#b91c1c;--amber:#b45309;--shadow:0 8px 24px rgba(17,24,39,.06)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--sidebar);color:white;padding:20px 16px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;min-height:100vh;height:max-content}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:12px;background:white;color:var(--navy);display:grid;place-items:center;font-weight:800}.brand span{display:block;font-size:12px;opacity:.7;margin-top:3px}nav{display:grid;gap:6px}.nav-btn{border:0;background:transparent;color:#dce7f6;padding:11px 12px;border-radius:10px;text-align:left;cursor:pointer}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.12);color:white}.sidebar-foot{margin-top:auto;display:grid;gap:8px}.content{padding:28px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.topbar h1{margin:0 0 6px;font-size:28px}.topbar p{margin:0;color:var(--muted)}.topbar-actions{display:flex;gap:10px;align-items:center}.badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e8eef7;color:var(--navy);font-size:12px;font-weight:700}.btn{border:1px solid var(--line);background:white;padding:9px 13px;border-radius:9px;cursor:pointer}.btn.primary{background:var(--navy);color:white;border-color:var(--navy)}.btn.ghost{background:transparent;color:inherit}.sidebar .btn.ghost{border-color:rgba(255,255,255,.25);color:white}.sidebar .btn.danger{color:#ffd7d7}.file-label{text-align:center;cursor:pointer}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:18px}.kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}.kpi-value{font-size:25px;font-weight:800;margin-top:8px}.kpi-foot{font-size:12px;color:var(--muted);margin-top:6px}.two-col{grid-template-columns:1.25fr .75fr;margin-top:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title h3{margin:0;font-size:17px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{font-size:11px;color:var(--muted);text-transform:uppercase}.status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef2f7}.status.ok{background:#dcfce7;color:#166534}.status.warn{background:#fef3c7;color:#92400e}.status.bad{background:#fee2e2;color:#991b1b}.metric-list{display:grid;gap:12px}.metric-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.metric-row:last-child{border:0}.toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.toolbar input{max-width:320px}.input,select,textarea{width:100%;border:1px solid #cfd7e3;border-radius:8px;padding:9px 10px;background:white}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#374151}dialog{border:0;border-radius:16px;box-shadow:0 30px 70px rgba(0,0,0,.25);padding:0;width:min(760px,94vw)}dialog::backdrop{background:rgba(15,23,42,.5)}.modal-head,.modal-actions{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-actions{border-bottom:0;border-top:1px solid var(--line);justify-content:flex-end}.modal-head h2{margin:0}.modal-body{padding:18px;max-height:65vh;overflow:auto}.icon-btn{border:0;background:none;font-size:28px;cursor:pointer}.empty{padding:28px;text-align:center;color:var(--muted)}.progress{height:8px;background:#edf1f6;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--navy2)}.danger-text{color:var(--red)}.ok-text{color:var(--green)}.muted{color:var(--muted)}
@media(max-width:1000px){.app-shell{grid-template-columns:84px 1fr}.brand div:last-child,.nav-label,.sidebar-foot{display:none}.brand{justify-content:center}.nav-btn{text-align:center}.kpis{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}@media(max-width:700px){.content{padding:16px}.topbar{flex-direction:column}.kpis{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{display:flex;overflow:auto}.brand,.sidebar-foot{display:none}}

.edit-btn{padding:6px 10px;font-size:12px;border-color:#b8c6d8;color:var(--navy);font-weight:700}.edit-btn:hover{background:#eef4fb}
.sidebar-footer{margin-top:auto}.data-center-btn{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:11px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.data-center-btn:hover{background:rgba(255,255,255,.14)}.data-center-btn span{font-size:20px}.data-center-btn div{display:grid}.data-center-btn small{opacity:.72;margin-top:2px}.row-actions{display:flex;gap:6px}.delete-btn{padding:6px 10px;font-size:12px;border-color:#fecaca;color:#b91c1c;font-weight:700}.delete-btn:hover{background:#fef2f2}.info-banner{margin-bottom:16px;padding:12px 14px;border-radius:10px;background:#eaf2fb;border:1px solid #c9dcf1;color:#17365d;font-size:13px}.origin{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase}.origin.auto{background:#e0f2fe;color:#075985}.origin.manual{background:#f3f4f6;color:#4b5563}.small-modal{width:min(560px,94vw)}.modal-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.data-actions{padding:18px;display:grid;gap:12px}.data-action{display:flex;align-items:center;gap:14px;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer;color:var(--ink)}.data-action:hover{border-color:#b8c6d8;background:#f8fbff}.data-action div{display:grid;gap:3px}.data-action small{color:var(--muted)}.data-icon{width:38px;height:38px;border-radius:10px;background:#e8eef7;color:var(--navy);display:grid;place-items:center;font-size:22px;font-weight:800}.danger-zone{margin-top:8px;padding:14px;border:1px solid #fecaca;border-radius:12px;background:#fff7f7;display:flex;justify-content:space-between;gap:15px;align-items:center}.danger-zone div{display:grid;gap:4px}.danger-zone small{color:#7f1d1d}.danger-solid{background:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important}
.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef3f9,#f8fafc)}.login-card{width:min(420px,94vw);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(23,54,93,.15);padding:28px;display:grid;gap:16px}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:8px}.login-brand h1{margin:0;font-size:24px}.login-brand p{margin:4px 0 0;color:var(--muted)}.login-btn{width:100%;padding:11px}.login-error{min-height:18px;color:var(--red);font-size:13px}.login-hint{margin:0;color:var(--muted);font-size:12px;text-align:center}.audit-meta{font-size:11px;color:var(--muted);line-height:1.45}.audit-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef2f7;font-size:10px;font-weight:800}.user-actions{display:flex;gap:6px;flex-wrap:wrap}.btn.warn-btn{color:#92400e;border-color:#fde68a}.btn.warn-btn:hover{background:#fffbeb}.btn.success-btn{color:#166534;border-color:#bbf7d0}.btn.success-btn:hover{background:#f0fdf4}.btn:disabled{opacity:.45;cursor:not-allowed}.modal-header{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.module-toolbar{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-bottom:14px;flex-wrap:wrap}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-card{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px}.detail-card b{display:block;font-size:18px;margin-top:5px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.subtle{font-size:12px;color:var(--muted)}.clickable{cursor:pointer}.link-btn{border:0;background:none;color:var(--navy);font-weight:700;cursor:pointer;padding:0}.calc-box{padding:12px;border-radius:10px;background:#eef6ff;border:1px solid #cfe1f5;margin-top:12px}.section-gap{margin-top:18px}@media(max-width:900px){.detail-grid{grid-template-columns:1fr}}

.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff}.login-logo{max-width:72px;max-height:72px;object-fit:contain}.color-input{height:42px;padding:3px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-preview{padding:16px;border-radius:12px;border:1px solid var(--line);margin-top:14px}.tracking-list{display:grid;gap:8px}.tracking-chip{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:9px}.margin-good{color:var(--green);font-weight:800}.margin-bad{color:var(--red);font-weight:800}@media(max-width:700px){.settings-grid{grid-template-columns:1fr}}

.sale-item-row{display:grid;grid-template-columns:minmax(220px,2fr) 110px 150px minmax(180px,1fr) auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.sale-item-info{display:grid;gap:3px;padding-bottom:5px}.sale-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sale-summary-grid span{display:grid;gap:3px;color:var(--muted);font-size:12px}.sale-summary-grid strong{font-size:16px;color:var(--ink)}@media(max-width:900px){.sale-item-row{grid-template-columns:1fr 1fr}.sale-item-info{grid-column:1/-1}.sale-summary-grid{grid-template-columns:1fr 1fr}}

.input.compact{max-width:280px;min-width:180px}

/* V2.5 — responsividade e imagens de produtos */
html,body{max-width:100%;overflow-x:hidden}.app-shell{width:100%;min-height:100dvh}.content{min-width:0;width:100%;max-width:100vw}.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:max-content}.modal-body{max-width:100%;overflow-x:hidden}dialog{max-height:94dvh}.product-thumb{width:54px;height:54px;border-radius:9px;object-fit:cover;border:1px solid var(--line);background:#fff}.product-thumb.placeholder{display:grid;place-items:center;font-size:9px;color:var(--muted);text-align:center}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.image-card{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:8px}.image-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px}.sale-discount{font-weight:700}
@media(max-width:1200px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.content{padding:20px}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.app-shell{grid-template-columns:74px minmax(0,1fr)}.sidebar{padding:16px 10px}.brand div:last-child,.nav-label,.sidebar-footer .data-center-btn div{display:none}.brand{justify-content:center}.nav-btn{text-align:center;padding:10px 6px}.content{padding:16px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-wrap:wrap}.sale-item-row{grid-template-columns:1fr 1fr}.sale-item-info{grid-column:1/-1}}
@media(max-width:640px){.app-shell{display:block}.sidebar{position:sticky;top:0;z-index:20;min-height:auto;height:auto;padding:8px 10px}.sidebar .brand{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.nav-btn{flex:0 0 auto;min-width:46px}.sidebar-footer{display:none}.content{padding:12px}.topbar{margin-bottom:14px}.topbar h1{font-size:22px}.kpis{grid-template-columns:1fr}.form-grid,.settings-grid,.sale-summary-grid,.sale-item-row{grid-template-columns:1fr}.sale-item-info{grid-column:auto}.toolbar,.module-toolbar{align-items:stretch}.module-toolbar .btn,.toolbar .btn{flex:1}.table th,.table td{padding:9px 8px}dialog{width:96vw;max-width:96vw}.modal-body{max-height:70dvh;padding:14px}}


/* V2.6.1 — refinamento visual, cores HEX/RGB e feedback operacional */
:root{--surface:#ffffff;--surface-soft:#f8fafc;--shadow:0 14px 38px rgba(15,23,42,.08);--shadow-hover:0 18px 48px rgba(15,23,42,.12);--radius-lg:18px}
body{background:linear-gradient(180deg,#f7f9fc 0,#f3f6fa 100%)}
.content{padding:28px clamp(18px,2.4vw,36px)}
.topbar{padding:4px 0 18px;border-bottom:1px solid rgba(148,163,184,.18);margin-bottom:22px}
.topbar h1{letter-spacing:-.035em}.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.card{border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:rgba(255,255,255,.96)}
.card:hover{box-shadow:var(--shadow-hover)}
.kpi{border-radius:16px;border:1px solid rgba(148,163,184,.18);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.btn{border-radius:11px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn.primary{box-shadow:0 8px 18px color-mix(in srgb,var(--navy) 22%,transparent)}
.input,select,textarea{border-radius:11px;min-height:42px;transition:border-color .15s,box-shadow .15s}.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.table-wrap{border-radius:14px;border:1px solid rgba(148,163,184,.18)}.table{background:#fff}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:#f8fbff}
.status{border:1px solid rgba(148,163,184,.14)}
.received-row{background:#f0fdf4!important}.received-row td{border-bottom-color:#bbf7d0}.received-row:hover{background:#e8faef!important}.partial-row{background:#fffbeb!important}
.color-control{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface-soft)}.color-main{display:grid;grid-template-columns:48px 1fr;gap:8px}.color-swatch{width:48px;height:42px;border:0;padding:0;background:none}.color-hex{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.rgb-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.rgb-row label{font-size:10px}.brand-settings-preview{--preview-primary:#17365D;--preview-secondary:#234F84;--preview-accent:#0EA5E9;--preview-sidebar:#17365D;display:grid;grid-template-columns:105px 1fr;min-height:130px;border:1px solid var(--line);border-radius:15px;overflow:hidden;margin-top:15px;background:#fff}.preview-sidebar{background:linear-gradient(180deg,var(--preview-sidebar),var(--preview-secondary));color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px}.preview-content{padding:18px;display:grid;align-content:center;justify-items:start;gap:5px}.preview-content strong{color:var(--preview-primary);font-size:18px}.preview-content small{color:var(--muted)}.preview-button{margin-top:8px;border:0;border-radius:9px;background:var(--preview-primary);color:#fff;padding:8px 12px;font-weight:700}.preview-button::after{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--preview-accent);margin-left:8px}
.checkbox-card{display:flex!important;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.checkbox-card input{width:18px;height:18px;margin-top:2px}.checkbox-card span{display:grid;gap:3px}.checkbox-card small{font-weight:400;color:var(--muted)}
.password-dialog{width:min(560px,94vw)}.password-dialog::backdrop{background:rgba(15,23,42,.72);backdrop-filter:blur(4px)}
@media(max-width:760px){.content{padding:14px}.topbar-actions{width:100%}.topbar-actions .badge{flex:1}.brand-settings-preview{grid-template-columns:72px 1fr}.rgb-row{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V2.6.2 — estoque consolidado */
.stock-in{color:#15803d}.stock-out{color:#b91c1c}.stock-low td{background:rgba(245,158,11,.06)}.stock-zero td{background:rgba(220,38,38,.05)}.stock-kpis{margin-bottom:18px}
/* V2.7.0 — Resultado econômico e distribuição aos sócios */
.result-operation{padding:20px}.result-po{margin-top:18px;padding-top:16px;border-top:1px solid var(--border,#e5e7eb)}.result-po-head{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(260px,1.7fr) minmax(160px,.7fr);gap:18px;align-items:start;margin-bottom:12px}.result-po-head>span{color:var(--muted,#6b7280);line-height:1.5}.warning-box{padding:12px 14px;border-radius:12px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;margin:10px 0 14px}.ok-text{color:#15803d}.result-operation .table-wrap{box-shadow:none;border:1px solid var(--border,#e5e7eb)}
@media(max-width:900px){.result-po-head{grid-template-columns:1fr}.result-operation{padding:14px}}


/* V2.10 - tabelas longas mantêm cabeçalhos visíveis durante a rolagem. */
.table-wrap{overflow:auto;max-height:72vh;position:relative}
.table thead th{position:sticky;top:0;z-index:5;background:var(--card);box-shadow:0 1px 0 var(--line)}
.table thead th:first-child{z-index:6}


/* V2.11 — usabilidade para alto volume */
.list-search{justify-content:flex-start;position:sticky;top:0;z-index:8;background:linear-gradient(180deg,#f7f9fc 75%,transparent);padding-bottom:8px}.list-search .input{width:min(460px,100%)}
.po-groups,.allocation-groups{display:grid;gap:12px}.po-group,.allocation-group{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.05)}.po-group>summary,.allocation-group>summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fbfcfe}.po-group>summary::-webkit-details-marker,.allocation-group>summary::-webkit-details-marker{display:none}.po-group>summary>div:first-child,.allocation-group>summary>div:first-child{display:grid;gap:3px}.po-group>summary span,.allocation-group>summary span{font-size:12px;color:var(--muted)}.po-group[open]>summary,.allocation-group[open]>summary{border-bottom:1px solid var(--line)}.po-group-body,.allocation-group-body{padding:12px}.po-group-body .table-wrap,.allocation-group-body .table-wrap{max-height:44vh;box-shadow:none}.po-summary-metrics,.allocation-balance{display:flex!important;gap:10px!important;align-items:center;flex-wrap:wrap;justify-content:flex-end}.po-summary-metrics>span,.allocation-balance>span,.allocation-balance>strong{padding:5px 8px;border-radius:999px;background:#f1f5f9;font-size:11px!important}.capital-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:10px 0 14px}.capital-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px;text-align:left;display:grid;gap:3px;cursor:pointer}.capital-card:hover,.capital-card.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.capital-card span{font-weight:700}.capital-card strong{font-size:18px}.capital-card small{color:var(--muted)}
@media(max-width:760px){.po-group>summary,.allocation-group>summary{align-items:flex-start;flex-direction:column}.po-summary-metrics,.allocation-balance{justify-content:flex-start}.capital-cards{grid-template-columns:1fr 1fr}}

/* V2.12 - grupos financeiros e rateio de aportes */
.finance-groups{display:grid;gap:16px}
.finance-group{border:1px solid var(--border,#dbe3ee);border-radius:16px;background:#fff;overflow:hidden}
.finance-group>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer;list-style:none;background:#f8fafc}
.finance-group>summary::-webkit-details-marker{display:none}
.finance-group>summary>div:first-child{display:grid;gap:3px}
.finance-group>summary>div:first-child span{font-size:.86rem;color:#667085}
.finance-summary{display:flex;align-items:center;gap:14px}
.finance-summary strong{min-width:32px;text-align:center;font-size:1.15rem}
.finance-summary span{font-weight:700}
.finance-group.atrasadas>summary{background:#fff5f5}
.finance-group.proximas>summary{background:#fffbeb}
.finance-group.quitadas>summary{background:#f0fdf4}
.finance-group-body>.card{border:0;border-radius:0;box-shadow:none}
.allocation-divider{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:12px}
.allocation-divider label{min-width:150px}
#allocationShare{font-weight:700;padding:10px 0}
@media(max-width:800px){.finance-group>summary{align-items:flex-start;flex-direction:column}.finance-summary{width:100%;justify-content:space-between}}

/* V2.14.2 - restore controlado */
.restore-panel{margin-top:18px;padding:16px;border:1px solid #fecaca;border-radius:12px;background:#fffafa}.restore-panel h4{margin:0}.btn.danger{border-color:#b91c1c;color:#b91c1c;font-weight:700}.btn.danger:hover{background:#fef2f2}
