: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}


/* V2.15.0 — responsividade de tabelas e relatórios */
.wrap-text{white-space:normal!important;overflow-wrap:anywhere;line-height:1.35}
@media(min-width:1100px){
  .table{min-width:0!important;width:100%;table-layout:auto}
  .table th,.table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
  .table th{line-height:1.25}
  .row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:150px}
  .table-wrap{overflow-x:hidden}
}
@media(max-width:1099px){
  .table{min-width:max-content}
  .table th,.table td{white-space:nowrap}
  .table .wrap-text{white-space:normal}
}
.report-toolbar{display:grid;grid-template-columns:minmax(230px,1.4fr) minmax(150px,.65fr) minmax(150px,.65fr) repeat(4,auto);gap:10px;align-items:end;margin-bottom:18px;position:sticky;top:0;z-index:9}
.report-sheet{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}
.report-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}
.report-head h2{margin:4px 0;font-size:22px}.report-head span,.report-head small{color:var(--muted)}
.report-sheet .table-wrap{max-height:none}
@media(max-width:1100px){.report-toolbar{grid-template-columns:1fr 1fr 1fr}.report-toolbar .btn{width:100%}}
@media(max-width:700px){.report-toolbar{grid-template-columns:1fr}.report-head{flex-direction:column}}
@media print{
  body{background:#fff!important}
  .sidebar,.topbar,.report-toolbar,.list-search{display:none!important}
  .app-shell{display:block!important}.content{padding:0!important}
  #view>*:not(#reportPrintArea){display:none!important}
  #reportPrintArea{display:block!important;border:0!important;box-shadow:none!important;padding:0!important}
  .table-wrap{overflow:visible!important;max-height:none!important;border:0!important}
  .table{min-width:0!important;font-size:10pt!important}
  .table th,.table td{white-space:normal!important;padding:6px!important}
  @page{size:landscape;margin:10mm}
}


/* V2.15.1 — relatórios e controles societários */
.report-company{font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.report-meta{display:grid;gap:5px;margin-top:8px;font-size:13px;color:var(--muted);max-width:900px}
.report-meta span{display:block}
.report-generated{text-align:right;min-width:210px;color:var(--muted)}
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:8px}
.capital-card.static{cursor:default;text-align:left}
.settlement-mini{display:block;margin-top:6px;line-height:1.3}
.bad-text{color:#b42318;font-weight:700}
@media(max-width:700px){.report-generated{text-align:left;min-width:0}}


/* ============================================================
   V2.16.0 — Login white-label e Dashboard analítico
   ============================================================ */
.login-screen{
  --login-text:#fff;--login-panel:#0b1f3a;--login-panel-opacity:.90;
  --login-button:#17365d;--login-overlay:.18;
  min-height:100vh;position:relative;display:grid;align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:48px;
  padding:clamp(28px,5vw,76px);background-size:cover;background-position:center;
  background-color:#0f2442;overflow:hidden;
}
.login-screen::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(3,15,35,.32),rgba(3,15,35,.08));z-index:0}
.login-screen>*{position:relative;z-index:1}
.login-screen[data-position="esquerda"]{grid-template-columns:minmax(360px,520px) minmax(0,1fr)}
.login-screen[data-position="esquerda"] .login-card{grid-column:1}.login-screen[data-position="esquerda"] .login-visual-brand{grid-column:2;grid-row:1}
.login-screen[data-position="centro"]{grid-template-columns:1fr;justify-items:center}.login-screen[data-position="centro"] .login-visual-brand{display:none}
.login-card{
  width:min(500px,94vw);justify-self:end;color:var(--login-text);
  background:color-mix(in srgb,var(--login-panel) calc(var(--login-panel-opacity)*100%),transparent);
  border:1px solid color-mix(in srgb,var(--login-text) 20%,transparent);
  border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.34);padding:clamp(26px,3vw,38px);
  backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
}
.login-screen[data-position="esquerda"] .login-card{justify-self:start}.login-screen[data-position="centro"] .login-card{justify-self:center}
.login-card label{color:var(--login-text)}.login-card .input{background:rgba(255,255,255,.08);border-color:color-mix(in srgb,var(--login-text) 35%,transparent);color:var(--login-text);padding:12px 13px}
.login-card .input::placeholder{color:color-mix(in srgb,var(--login-text) 58%,transparent)}
.login-brand h1{font-size:clamp(25px,3vw,34px);color:var(--login-text)}.login-subtitle{color:color-mix(in srgb,var(--login-text) 70%,transparent)!important}
.login-system-tag{display:inline-flex;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--login-button) 72%,transparent);font-weight:800;letter-spacing:.06em;margin-bottom:8px}
.login-btn{background:var(--login-button)!important;border-color:transparent!important;color:#fff!important;font-size:16px;font-weight:800;min-height:48px}
.login-hint{color:color-mix(in srgb,var(--login-text) 70%,transparent)}
.login-visual-brand{align-self:center;justify-self:center;display:grid;justify-items:center;text-align:center;color:var(--login-text);text-shadow:0 4px 24px rgba(0,0,0,.25)}
.login-hero-logo{width:min(440px,42vw);height:min(440px,42vw);object-fit:contain;filter:drop-shadow(0 20px 35px rgba(0,0,0,.3))}
.login-hero-text{margin-top:14px;font-weight:800;font-size:clamp(22px,3vw,38px);letter-spacing:.04em}
.login-status{position:absolute!important;left:28px;bottom:24px;display:flex;gap:8px;align-items:center;padding:8px 13px;border-radius:999px;background:rgba(5,15,30,.55);color:#fff;font-size:12px;backdrop-filter:blur(9px)}
.login-status span{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 12px #22c55e}
.login-footer{position:absolute!important;right:28px;bottom:26px;color:rgba(255,255,255,.62);font-size:12px;text-align:right}
.login-settings-preview{min-height:330px;border:1px solid var(--line);border-radius:16px;margin-top:16px;padding:20px;display:grid;grid-template-columns:1fr 290px;gap:20px;align-items:center;background:linear-gradient(135deg,#18355a,#496b91);background-size:cover;background-position:center;overflow:hidden}
.login-settings-preview[data-position="esquerda"]{grid-template-columns:290px 1fr}.login-settings-preview[data-position="esquerda"] .preview-login-panel{grid-column:1;grid-row:1}.login-settings-preview[data-position="esquerda"] .preview-hero{grid-column:2}
.login-settings-preview[data-position="centro"]{grid-template-columns:1fr;justify-items:center}.login-settings-preview[data-position="centro"] .preview-hero{display:none}
.preview-hero{display:grid;justify-items:center;color:#fff;gap:8px}.preview-hero img{max-width:180px;max-height:180px;object-fit:contain}.preview-hero strong{font-size:22px}
.preview-login-panel{color:var(--preview-login-text,#fff);background:color-mix(in srgb,var(--preview-login-panel,#0b1f3a) calc(var(--preview-login-opacity,.9)*100%),transparent);border:1px solid rgba(255,255,255,.18);padding:18px;border-radius:16px;display:grid;gap:10px;box-shadow:0 16px 35px rgba(0,0,0,.2)}
.preview-login-panel h4{margin:0;font-size:20px}.preview-login-panel>span{font-size:10px;font-weight:800;letter-spacing:.08em}.fake-input{border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:9px;font-size:11px}.preview-login-button{background:var(--preview-login-button,#17365d);border-radius:8px;padding:10px;text-align:center;font-weight:800;color:#fff}

.kpi-card{appearance:none;text-align:left;font:inherit;color:inherit;width:100%;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.kpi-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(23,54,93,.13);border-color:#b9c9dc}.kpi-card:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}
.kpi-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.drill-icon{font-size:14px;opacity:.55}.kpi-card:hover .drill-icon{opacity:1}
.indicator-explain{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding:16px;border-radius:12px;background:#f4f8fd;border:1px solid #dce8f5}.indicator-explain>div{display:grid;gap:4px;min-width:180px}.indicator-explain>div strong{font-size:28px}.indicator-explain p{margin:0;max-width:520px;color:var(--muted);line-height:1.55}
.detail-composition{display:grid;gap:0;margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.detail-composition-row{display:flex;justify-content:space-between;gap:15px;padding:10px 13px;background:#fff;border-bottom:1px solid var(--line)}.detail-composition-row:last-child{border-bottom:0}
@media(max-width:900px){.login-screen{grid-template-columns:1fr;justify-items:center;padding:24px}.login-visual-brand{display:none}.login-card{justify-self:center}.login-footer{left:24px;right:24px;text-align:center}.login-status{left:24px}.login-settings-preview{grid-template-columns:1fr}.preview-hero{display:none}.indicator-explain{flex-direction:column}}


/* V2.16.1 — locais de estoque e rastreabilidade */
.location-badges{display:flex;flex-wrap:wrap;gap:6px;min-width:220px}
.location-badges span{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border-radius:999px;background:#eef4fb;border:1px solid #d8e4f0;font-size:11px;white-space:nowrap}
.stock-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.sale-item-row{grid-template-columns:minmax(210px,1.7fr) minmax(160px,1fr) 105px 145px minmax(170px,1fr) auto}
@media(max-width:1150px){.sale-item-row{grid-template-columns:1fr 1fr}.sale-item-row .sale-item-info{grid-column:1/-1}}

/* V2.16.1 — acabamento visual do logotipo no login */
.login-hero-logo,.login-logo{border-radius:22px}

/* V2.16.1 correção — arte de fundo não recebe logo/marca sobrepostos */
.login-settings-preview.has-custom-background .preview-hero{display:none!important}
.login-settings-preview.has-custom-background{grid-template-columns:1fr 290px}
.login-settings-preview.has-custom-background[data-position="esquerda"]{grid-template-columns:290px 1fr}
.login-settings-preview.has-custom-background[data-position="centro"]{grid-template-columns:1fr}


/* V2.16.1 — painel de autenticação à direita com arte personalizada */
@media (min-width:821px){
  .login-settings-preview.has-custom-background,
  .login-settings-preview.has-custom-background[data-position="esquerda"],
  .login-settings-preview.has-custom-background[data-position="centro"],
  .login-settings-preview.has-custom-background[data-position="direita"]{
    grid-template-columns:minmax(0,1fr) 290px !important;
  }
  .login-settings-preview.has-custom-background .preview-card{
    grid-column:2 !important;
    justify-self:end !important;
  }
}


/* V2.16.1 hotfix — painel à direita com background personalizado */
@media (min-width:821px){
  #loginScreen[data-position="direita"] .login-layout{
    grid-template-columns:minmax(0,1fr) minmax(340px,430px) !important;
  }
  #loginScreen[data-position="direita"] .login-panel{
    grid-column:2 !important;
    justify-self:end !important;
  }

  #loginSettingsPreview.has-custom-background{
    grid-template-columns:minmax(0,1fr) 290px !important;
  }
  #loginSettingsPreview.has-custom-background .preview-card{
    grid-column:2 !important;
    justify-self:end !important;
  }
  #loginSettingsPreview.has-custom-background .preview-hero{
    display:none !important;
  }
}


/* ============================================================
   V2.16.1 — posicionamento definitivo do painel de login
   login_posicao é a fonte de verdade: esquerda / centro / direita.
   ============================================================ */
@media (min-width:821px){

  /* TELA REAL */
  #loginScreen[data-position="direita"]{
    grid-template-columns:minmax(0,1fr) minmax(360px,520px) !important;
    justify-items:stretch !important;
  }
  #loginScreen[data-position="direita"] .login-card{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
  }

  #loginScreen[data-position="esquerda"]{
    grid-template-columns:minmax(360px,520px) minmax(0,1fr) !important;
    justify-items:stretch !important;
  }
  #loginScreen[data-position="esquerda"] .login-card{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
  }

  #loginScreen[data-position="centro"]{
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }
  #loginScreen[data-position="centro"] .login-card{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:center !important;
  }

  /* PRÉ-VISUALIZAÇÃO — com ou sem imagem personalizada */
  #loginSettingsPreview[data-position="direita"],
  #loginSettingsPreview.has-custom-background[data-position="direita"]{
    grid-template-columns:minmax(0,1fr) 290px !important;
    justify-items:stretch !important;
  }
  #loginSettingsPreview[data-position="direita"] .preview-login-panel,
  #loginSettingsPreview.has-custom-background[data-position="direita"] .preview-login-panel{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
  }

  #loginSettingsPreview[data-position="esquerda"],
  #loginSettingsPreview.has-custom-background[data-position="esquerda"]{
    grid-template-columns:290px minmax(0,1fr) !important;
    justify-items:stretch !important;
  }
  #loginSettingsPreview[data-position="esquerda"] .preview-login-panel,
  #loginSettingsPreview.has-custom-background[data-position="esquerda"] .preview-login-panel{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
  }

  #loginSettingsPreview[data-position="centro"],
  #loginSettingsPreview.has-custom-background[data-position="centro"]{
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }
  #loginSettingsPreview[data-position="centro"] .preview-login-panel,
  #loginSettingsPreview.has-custom-background[data-position="centro"] .preview-login-panel{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:center !important;
  }

  /* A arte de fundo personalizada continua sem logo auxiliar do ERP. */
  #loginSettingsPreview.has-custom-background .preview-hero{
    display:none !important;
  }
}


/* V2.16.1 — seletor visual de posição do painel de login */
.login-position-config{display:grid;gap:10px}
.settings-label{font-weight:800;color:var(--text)}
.login-position-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.login-position-option{display:flex!important;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.login-position-option:hover{border-color:#aebfd3;transform:translateY(-1px)}
.login-position-option input{margin-top:3px;accent-color:var(--primary)}
.login-position-option span{display:grid;gap:3px}
.login-position-option strong{font-size:13px}
.login-position-option small{font-size:11px;color:var(--muted);line-height:1.3}
.login-position-option:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent);background:color-mix(in srgb,var(--primary) 5%,#fff)}
@media(max-width:760px){.login-position-options{grid-template-columns:1fr}}

/* V2.17.0 — white-label: sigla textual sem badge decorativo */
.login-system-tag{background:transparent!important;padding:0!important;border-radius:0!important;color:var(--login-text)!important}
.preview-login-panel>span{background:transparent!important;padding:0!important;border-radius:0!important}
.inline-filter{display:flex;align-items:center;gap:8px;font-weight:700}.inline-filter .input{min-width:220px}
/* V2.17.0 — listas densas priorizam resumo e detalhamento sob demanda */
.po-group{margin-top:10px}

/* V2.17.1 — UX de continuidade, pedidos, vendas e anexos */
.workflow-dialog{border:0;border-radius:16px;padding:0;max-width:520px;width:calc(100% - 32px);box-shadow:0 24px 80px rgba(15,23,42,.28)}
.workflow-dialog::backdrop{background:rgba(15,23,42,.42)}
.workflow-choice{padding:24px}.workflow-choice h3{margin:0 0 8px}.workflow-choice p{margin:0;color:var(--muted);line-height:1.5}.workflow-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}
.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.sale-item-row{grid-template-columns:minmax(230px,1.6fr) minmax(150px,1fr) 105px 145px minmax(220px,1.25fr) auto;align-items:end}
.sale-item-info{min-width:0;white-space:normal;overflow-wrap:anywhere;display:grid;gap:3px}.sale-item-info>*{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.attachment-list{display:grid;gap:8px}.attachment-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.attachment-row>div:first-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){.sale-item-row{grid-template-columns:1fr 1fr}.sale-item-info{grid-column:1/-1}.sale-remove{justify-self:start}}
@media(max-width:650px){.sale-item-row{grid-template-columns:1fr}.sale-item-info{grid-column:auto}.attachment-row{align-items:flex-start;flex-direction:column}.workflow-actions{justify-content:stretch}.workflow-actions .btn{flex:1}}


/* ============================================================
   V2.17.2 — Venda com itens em cards legíveis
   ============================================================ */
dialog.sale-modal{width:min(1080px,96vw)}
.sale-modal .modal-body{max-height:72vh}
.sale-item-row{display:block!important;padding:0!important;margin:0 0 14px;border:1px solid var(--line)!important;border-radius:14px;background:#fff;overflow:hidden}
.sale-item-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#f7f9fc;border-bottom:1px solid var(--line)}
.sale-item-head>div{display:flex;align-items:baseline;gap:10px;min-width:0}.sale-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sale-item-fields{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,1.2fr) 110px 150px;gap:12px;padding:14px;align-items:end}
.sale-item-fields label{min-width:0}.sale-item-fields .input{width:100%;min-width:0}
.sale-item-info{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;padding:0!important;border-top:1px solid var(--line);background:#fbfcfe}
.sale-item-info>div{display:grid;gap:4px;padding:11px 14px;border-right:1px solid var(--line);min-width:0}.sale-item-info>div:last-child{border-right:0}
.sale-item-info span{font-size:11px;color:var(--muted);font-weight:700}.sale-item-info strong{font-size:13px;white-space:normal!important;overflow-wrap:anywhere}
.sale-remove{flex:0 0 auto}
@media(max-width:900px){.sale-item-fields{grid-template-columns:1fr 1fr}.sale-item-info{grid-template-columns:1fr 1fr!important}.sale-item-info>div:nth-child(2){border-right:0}.sale-item-info>div{border-bottom:1px solid var(--line)}.sale-item-info>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:580px){.sale-item-fields{grid-template-columns:1fr}.sale-item-info{grid-template-columns:1fr!important}.sale-item-info>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.sale-item-info>div:last-child{border-bottom:0!important}.sale-item-head{align-items:flex-start;flex-direction:column}.sale-remove{width:100%}}

/* V2.17.3 — atualização de módulos e padrão de detalhamento */
.module-freshness{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:0 0 10px;color:var(--muted);font-size:.82rem}.module-freshness strong{color:var(--text)}
.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
@media(max-width:760px){.module-freshness{justify-content:space-between}.detail-actions .btn{flex:1}}

/* V2.18.0 — pedidos operacionais e relatório de custos */
.inline-filter{display:flex;align-items:center;gap:8px;font-weight:700}.inline-filter .input{min-width:150px}.primary-soft{border-color:var(--primary);color:var(--primary);font-weight:800}.responsive-toolbar{align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.inline-filter{width:100%}.inline-filter .input{flex:1}}

/* V2.18.1 — drill-down auditável do relatório de custo mensal */
.report-drill-hint{margin:12px 0 8px;padding:9px 12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:12px;background:#fbfdff}
.report-drill-value{appearance:none;border:0;background:transparent;padding:6px 7px;margin:-6px -7px;border-radius:8px;color:inherit;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.report-drill-value span{opacity:.45;font-size:11px}
.report-drill-value:hover{background:#eef4fb;color:var(--primary)}
.report-drill-value:focus-visible{outline:2px solid var(--primary);outline-offset:1px}

/* V2.19.0 */
.attachment-btn{white-space:nowrap}.detail-card small{display:block;margin-top:4px;color:var(--muted);font-weight:400}

/* V2.20.0 — financeiro e capital com visão mestre/detalhe */
.finance-group-body .primary-soft,.allocation-group-body .btn{white-space:nowrap}
.detail-grid .detail-card{min-width:0}

/* V2.21.0 — contas a receber e acertos detalhados */
.finance-group.parciais>summary{border-left:3px solid #d8a31a}

/* V2.21.1 — proteção contra submit acidental em ações de modais de detalhe */


/* V2.22.0 revisada — viewport e modais adaptativos */
.content{padding:20px 22px 16px}
.topbar{margin-bottom:14px}
#view{min-height:calc(100dvh - 112px)}
#view>.module-freshness{margin-bottom:6px}
#view>.list-search{margin-bottom:8px}
#view>.table-wrap{max-height:calc(100dvh - 178px);min-height:min(520px,calc(100dvh - 178px));overflow:auto}
#view>.table-wrap .table thead th{position:sticky;top:0;z-index:2;background:var(--card)}
dialog#modal{width:min(1440px,96vw);max-width:96vw;max-height:95dvh}
dialog#modal .modal-body{max-height:82dvh;overflow:auto;padding:20px 22px}
dialog#modal.sale-modal{width:min(1540px,97vw);max-width:97vw}
dialog#modal .form-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));column-gap:18px;row-gap:14px}
dialog#modal .form-grid .full{grid-column:1/-1}
dialog#modal:has(.detail-grid){width:min(1500px,97vw);max-width:97vw}
dialog#modal:has(.detail-grid) .modal-body{max-height:84dvh}
@media(min-width:1600px){
 .content{padding-left:26px;padding-right:26px}
 #view>.table-wrap{max-height:calc(100dvh - 170px)}
}
@media(max-width:700px){
 .content{padding:12px}
 .topbar{margin-bottom:10px}
 #view{min-height:auto}
 #view>.table-wrap{min-height:0;max-height:none}
 dialog#modal,dialog#modal.sale-modal,dialog#modal:has(.detail-grid){width:99vw;max-width:99vw;max-height:99dvh;border-radius:10px}
 dialog#modal .modal-body,dialog#modal:has(.detail-grid) .modal-body{max-height:86dvh;padding:14px}
 dialog#modal .form-grid{grid-template-columns:1fr}
}
.kpi-card{width:100%;text-align:left;color:inherit}

/* V2.22.1 — experiência operacional de estoque */
.stock-command-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin-bottom:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.stock-command-bar h3{margin:0 0 4px;font-size:20px}.stock-command-bar p{margin:0;color:var(--muted);font-size:13px}.stock-primary-actions{display:flex;gap:8px;flex-wrap:wrap}
.stock-kpis{margin-bottom:14px}.stock-filter-card{border:1px solid var(--line);cursor:pointer}.stock-filter-card.active{border-color:var(--navy);box-shadow:0 0 0 2px color-mix(in srgb,var(--navy) 14%,transparent),var(--shadow)}
.stock-filter-panel{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:12px;align-items:end;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px 12px 0 0}.stock-filter-result{display:grid;align-content:center;justify-items:end;padding:6px 4px}.stock-filter-result strong{font-size:20px}.stock-filter-result span{font-size:11px;color:var(--muted)}
.stock-position-panel>.table-wrap{max-height:calc(100dvh - 385px);min-height:min(420px,calc(100dvh - 385px));border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:var(--card)}.stock-position-panel .table thead th{position:sticky;top:0;z-index:3;background:var(--card)}
.stock-admin-section{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}.stock-admin-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer}.stock-admin-section>summary::-webkit-details-marker{display:none}.stock-admin-section>summary>div{display:grid;gap:3px}.stock-admin-section>summary span{color:var(--muted);font-size:12px;font-weight:400}.stock-admin-body{padding:0 16px 16px}.stock-admin-body>.table-wrap{max-height:440px}
.stock-zero td{opacity:.82}.stock-low td:first-child strong,.stock-zero td:first-child strong{font-weight:800}
@media(max-width:900px){.stock-command-bar{align-items:flex-start;flex-direction:column}.stock-filter-panel{grid-template-columns:1fr 1fr}.stock-filter-result{justify-items:start}}
@media(max-width:620px){.stock-filter-panel{grid-template-columns:1fr}.stock-primary-actions{width:100%}.stock-primary-actions .btn{flex:1}.stock-position-panel>.table-wrap{min-height:0;max-height:none}}

/* V2.22.1 hotfix — autorização comercial segura */
dialog.auth-dialog{width:min(680px,94vw);max-width:94vw;padding:0;border:0;border-radius:16px;background:var(--card);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.35)}
dialog.auth-dialog::backdrop{background:rgba(0,0,0,.48);backdrop-filter:blur(2px)}
.auth-dialog-card{padding:22px}.auth-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.auth-dialog-head h3{margin:3px 0 0}.auth-dialog-head small{font-weight:800;letter-spacing:.08em;color:var(--muted)}
.password-field{display:flex;align-items:stretch;gap:8px}.password-field .input{flex:1;min-width:0}.password-toggle{min-width:46px;padding-left:10px;padding-right:10px}.auth-dialog .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
@media(max-width:700px){dialog.auth-dialog{width:96vw;max-width:96vw}.auth-dialog-card{padding:16px}.auth-dialog .modal-actions{flex-direction:column-reverse}.auth-dialog .modal-actions .btn{width:100%}}

/* V2.22.1 — fluxo guiado de estoque e catálogo de venda */
.sale-catalog-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:8px 0 14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.sale-catalog-toolbar label{min-width:280px;margin:0}
.sale-catalog-toolbar .muted{padding-bottom:10px}
#stockEntryInfo{margin-top:2px}
@media(max-width:700px){.sale-catalog-toolbar{align-items:stretch}.sale-catalog-toolbar label{min-width:100%;width:100%}}

/* V2.23.0 — linguagem visual semântica */
:root{
 --semantic-positive:#15803d;
 --semantic-positive-soft:#f0fdf4;
 --semantic-negative:#b91c1c;
 --semantic-negative-soft:#fef2f2;
 --semantic-warning:#b45309;
 --semantic-warning-soft:#fffbeb;
 --semantic-neutral:#475569;
 --semantic-neutral-soft:#f8fafc;
}
.semantic-positive{border-left:3px solid var(--semantic-positive)!important}
.semantic-positive .kpi-value,.semantic-positive.detail-card>b{color:var(--semantic-positive)}
.semantic-negative{border-left:3px solid var(--semantic-negative)!important}
.semantic-negative .kpi-value,.semantic-negative.detail-card>b{color:var(--semantic-negative)}
.semantic-warning{border-left:3px solid var(--semantic-warning)!important}
.semantic-warning .kpi-value,.semantic-warning.detail-card>b{color:var(--semantic-warning)}
.semantic-neutral{border-left:3px solid #cbd5e1!important}
.semantic-action{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;font-weight:700}
.status.neutral{background:#f1f5f9;color:#475569}
.kpi-card.semantic-positive:hover{background:var(--semantic-positive-soft)}
.kpi-card.semantic-negative:hover{background:var(--semantic-negative-soft)}
.kpi-card.semantic-warning:hover{background:var(--semantic-warning-soft)}

/* V2.23.0 — reservas de sócios no detalhe do estoque */
#modalBody [data-retirar-reserva-stock][disabled]{opacity:.55;cursor:not-allowed}
.detail-actions .semantic-action{white-space:nowrap}

/* V2.23.1 — Pós-venda: devoluções e trocas */
.post-new-row{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) 110px 140px auto;gap:10px;align-items:end;margin:10px 0;padding:12px;border:1px solid var(--border);border-radius:12px}
.post-new-row label{margin:0}
@media(max-width:900px){.post-new-row{grid-template-columns:1fr 1fr}.post-new-row .delete-btn{grid-column:1/-1}}

/* V2.24.1 — Central de Pós-compra */
.row-attention td{background:rgba(180,35,35,.045)}
#view .status.warn + .btn{margin-left:6px}

/* V2.25.0 — Inteligência Comercial e Suprimentos */
.abc-badge{display:inline-flex;min-width:30px;height:30px;border-radius:9px;align-items:center;justify-content:center;font-weight:800}
.abc-a{background:#dcfce7;color:#166534}.abc-b{background:#fef3c7;color:#92400e}.abc-c{background:#f1f5f9;color:#475569}

/* ============================================================
   V2.25.1 — Consolidação Visual / UX
   Sem alteração de regras de negócio.
   ============================================================ */
:root{
 --ux-radius-sm:10px;
 --ux-radius:14px;
 --ux-radius-lg:18px;
 --ux-gap-xs:6px;
 --ux-gap-sm:10px;
 --ux-gap:14px;
 --ux-gap-lg:20px;
 --ux-surface:#fff;
 --ux-surface-soft:#f8fafc;
 --ux-border:#e2e8f0;
 --ux-shadow-soft:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.035);
}
.module-page{display:grid;gap:14px;align-content:start;min-width:0}
.module-page>.module-freshness{margin:0 0 -2px}
.ux-command-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--ux-radius);box-shadow:var(--ux-shadow-soft)}
.ux-command-card h3{margin:2px 0 4px;font-size:20px;letter-spacing:-.01em}
.ux-command-card p{margin:0;color:var(--muted);font-size:13px;max-width:820px;line-height:1.45}
.ux-eyebrow{display:block;color:var(--muted);font-size:10px;letter-spacing:.13em;font-weight:800}
.ux-command-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ux-controlbar{padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:var(--ux-radius)!important;background:var(--card)!important;box-shadow:var(--ux-shadow-soft);display:flex;align-items:end;justify-content:space-between;gap:12px}
.toolbar-group{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.ux-controlbar label,.module-toolbar label{margin:0;display:grid;gap:5px;font-size:11px;color:var(--muted);font-weight:700}
.ux-controlbar .input{min-width:180px}
.ux-searchbar{position:relative;max-width:620px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.ux-searchbar .input{padding-left:38px;height:42px;border-radius:12px;background:var(--card);box-shadow:var(--ux-shadow-soft)}
.ux-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:2;color:var(--muted);font-size:17px;pointer-events:none}
.ux-kpis{gap:12px}
.ux-kpis .kpi-card{min-height:114px;padding:16px 17px;border-radius:var(--ux-radius);box-shadow:var(--ux-shadow-soft);transition:transform .15s ease,box-shadow .15s ease}
.ux-kpis .kpi-card:hover{transform:translateY(-1px);box-shadow:0 5px 22px rgba(15,23,42,.08)}
.ux-workspace-nav{display:flex;gap:6px;padding:5px;background:var(--ux-surface-soft);border:1px solid var(--line);border-radius:13px;overflow-x:auto;scrollbar-width:thin}
.ux-tab{border:0;background:transparent;color:var(--muted);padding:9px 14px;border-radius:9px;font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}
.ux-tab:hover{background:var(--card);color:var(--text)}
.ux-tab.active{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(15,23,42,.09)}
.ux-workspace-content{min-width:0}
.ux-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--ux-radius);box-shadow:var(--ux-shadow-soft);overflow:hidden}
.ux-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}
.ux-panel-head h3{margin:0 0 3px;font-size:16px}
.ux-panel-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.ux-panel>.table-wrap{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important}

/* tabelas: leitura operacional mais limpa */
.module-page .table-wrap{border-radius:var(--ux-radius);border-color:var(--line);box-shadow:var(--ux-shadow-soft);background:var(--card)}
.module-page .table{font-size:12.5px}
.module-page .table th{font-size:10.5px;letter-spacing:.035em;text-transform:uppercase;color:var(--muted);padding-top:11px;padding-bottom:11px}
.module-page .table td{padding-top:11px;padding-bottom:11px;vertical-align:middle}
.module-page .table tbody tr:hover td{background:color-mix(in srgb,var(--navy) 2.7%,var(--card))}
.table-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.table-actions .btn{white-space:nowrap}

/* forms e modais em três níveis */
dialog#modal.modal-compact{width:min(620px,94vw);max-width:94vw}
dialog#modal.modal-medium{width:min(940px,95vw);max-width:95vw}
dialog#modal.modal-wide{width:min(1320px,96vw);max-width:96vw}
dialog#modal.modal-wide .modal-body{max-height:82dvh}
dialog#modal.modal-wide .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
dialog#modal.modal-medium .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
dialog#modal .modal-head{position:sticky;top:0;z-index:8;background:var(--card);border-bottom:1px solid var(--line)}
dialog#modal .modal-actions{position:sticky;bottom:0;z-index:8;background:var(--card);border-top:1px solid var(--line);padding-top:12px}
.detail-actions{position:sticky;top:-1px;z-index:5;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(7px);padding:8px 0 12px;margin-top:-4px;border-bottom:1px solid var(--line);display:flex;gap:7px;flex-wrap:wrap}
.detail-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}
.detail-card{border-radius:12px;padding:13px 14px;min-height:76px}
.detail-card>b{font-size:15px;margin-top:6px;line-height:1.25}

/* filtros e ações */
.responsive-toolbar{flex-wrap:wrap}
.responsive-toolbar>.muted{margin-left:auto;padding-bottom:4px}
.btn{border-radius:9px}
.btn.primary,.btn.primary-soft,.semantic-action{font-weight:700}
.status{white-space:nowrap}

/* inteligibilidade de Pedidos/Pós-compra/Estoque */
.module-pedidos .table td:last-child,.module-pos_compra .table td:last-child,.module-estoque .table td:last-child{min-width:120px}
.module-pedidos .status.warn{margin-bottom:5px}
.module-inteligencia .ux-panel .table-wrap{max-height:62dvh;overflow:auto}
.module-inteligencia .ux-panel .table thead th{position:sticky;top:0;z-index:3;background:var(--card)}
.module-pos_compra .row-attention td:first-child{box-shadow:inset 3px 0 0 var(--semantic-negative)}
.module-estoque .stock-command-bar{box-shadow:var(--ux-shadow-soft);border-radius:var(--ux-radius)}

/* reduz ruído visual dos painéis secundários */
.finance-group{border-radius:var(--ux-radius)!important;box-shadow:var(--ux-shadow-soft)}
.finance-group>summary{padding:14px 16px}
.finance-group-body{padding:0 14px 14px}

/* responsividade */
@media(max-width:1050px){
 dialog#modal.modal-wide .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ux-command-card{align-items:flex-start}
}
@media(max-width:760px){
 .ux-command-card{flex-direction:column;padding:15px}
 .ux-command-actions{width:100%}.ux-command-actions .btn{flex:1}
 .ux-controlbar{align-items:stretch;flex-direction:column}
 .toolbar-group{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .ux-controlbar .input{min-width:0;width:100%}
 dialog#modal.modal-medium,dialog#modal.modal-wide,dialog#modal.modal-compact{width:99vw;max-width:99vw}
 dialog#modal.modal-wide .form-grid,dialog#modal.modal-medium .form-grid{grid-template-columns:1fr}
 .detail-actions{position:static}
}
@media(max-width:520px){
 .toolbar-group{grid-template-columns:1fr}
 .ux-kpis{grid-template-columns:1fr 1fr!important}
 .ux-kpis .kpi-card{min-height:100px}
}

/* V2.28.0 — Inteligência Aduaneira */
.semantic-value-negative{color:var(--semantic-negative);font-weight:700}
.semantic-value-positive{color:var(--semantic-positive);font-weight:700}
.module-inteligencia .ux-panel+.ux-panel{margin-top:16px}

/* MOBILE V2.28 */
.mobile-menu-btn{display:none;min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:1.25rem;cursor:pointer}.topbar-title{min-width:0}
@media(max-width:820px){
 body{overflow-x:hidden}.app-shell{display:block;min-height:100vh}.sidebar{position:fixed;z-index:120;inset:0 auto 0 0;width:min(86vw,320px);transform:translateX(-105%);transition:transform .2s ease;box-shadow:0 0 30px rgba(0,0,0,.18)}body.mobile-nav-open .sidebar{transform:translateX(0)}body.mobile-nav-open:after{content:"";position:fixed;z-index:110;inset:0;background:rgba(0,0,0,.32)}
 .content{margin-left:0!important;width:100%;min-width:0;padding:0}.topbar{position:sticky;top:0;z-index:90;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 12px;align-items:center}.mobile-menu-btn{display:inline-grid;place-items:center}.topbar-title h1{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title p{display:none}.topbar-actions{grid-column:1/-1;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.topbar-actions .btn,.topbar-actions .badge{min-height:40px;white-space:nowrap}
 #view{padding:12px!important}.grid.two-col,.grid.three-col,.form-grid,.settings-grid,.filters-grid,.report-filters{grid-template-columns:1fr!important}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.kpi-card{min-width:0;padding:14px}.kpi-value{font-size:clamp(1.1rem,6vw,1.6rem)}
 .module-freshness,.module-toolbar,.section-title,.detail-actions,.toolbar{align-items:stretch;gap:8px;flex-wrap:wrap}.module-freshness .btn,.detail-actions .btn,.toolbar .btn{min-height:44px}.ux-searchbar{width:100%}.ux-searchbar input{width:100%;min-height:44px}
 dialog{width:calc(100vw - 16px)!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;margin:8px}dialog form{max-height:calc(100dvh - 16px);display:flex;flex-direction:column}.modal-header{position:sticky;top:0;z-index:3;background:var(--surface);padding:14px}.modal-body{overflow:auto;padding:14px;flex:1}.modal-actions{position:sticky;bottom:0;z-index:3;background:var(--surface);padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal-actions .btn{min-height:46px}
 .input,select,textarea{max-width:100%;min-height:44px;font-size:16px}textarea{min-height:96px}.table-wrap,.table-responsive,.card:has(>table){overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:680px}th,td{padding:10px 8px}
 .report-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.report-toolbar label:first-child{grid-column:1/-1}.report-sheet{overflow-x:auto}.report-head{min-width:0;display:block}.report-generated{margin-top:8px}
 .module-estoque td:last-child,.module-produtos td:last-child,.module-pedidos td:last-child,.module-remessas td:last-child,.module-vendas td:last-child{position:sticky;right:0;background:var(--surface);box-shadow:-8px 0 12px rgba(0,0,0,.04)}
}
@media(max-width:520px){.kpis{grid-template-columns:1fr!important}.topbar-actions #currentUserBadge{max-width:55vw;overflow:hidden;text-overflow:ellipsis}.report-toolbar{grid-template-columns:1fr}.report-toolbar label:first-child{grid-column:auto}.modal-actions{grid-template-columns:1fr}.btn{min-height:44px}.card{border-radius:12px}}


/* V2.28.1 — correção menu mobile */
@media(max-width:820px){
  .sidebar{
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
  }
  .sidebar .brand{
    flex:0 0 auto;
  }
  .sidebar #nav,
  .sidebar nav{
    display:flex!important;
    flex:1 1 auto;
    flex-direction:column!important;
    gap:4px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:10px 12px 18px!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .sidebar .nav-btn{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:44px!important;
    height:auto!important;
    padding:10px 12px!important;
    margin:0!important;
    border-radius:10px!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:.95rem!important;
    line-height:1.25!important;
    text-align:left!important;
    text-indent:0!important;
    color:inherit!important;
    transform:none!important;
    overflow:visible!important;
  }
  .sidebar .nav-btn::before,
  .sidebar .nav-btn::after{
    display:none!important;
    content:none!important;
  }
  .sidebar .nav-label{
    display:inline!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    clip:auto!important;
    clip-path:none!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    white-space:normal!important;
    color:inherit!important;
    font-size:inherit!important;
    line-height:inherit!important;
    text-indent:0!important;
  }
  .sidebar-footer{
    flex:0 0 auto;
  }
}


/* V2.28.2 — correção de sobreposição em tabelas mobile */
@media(max-width:820px){
  /* Tabelas largas passam a usar scroll horizontal real, sem coluna sobreposta. */
  .table-wrap,
  .table-responsive,
  .report-sheet,
  .card:has(> table){
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-inline:contain;
  }

  table{
    width:max-content!important;
    min-width:100%!important;
    table-layout:auto!important;
  }

  th,td{
    position:static!important;
    left:auto!important;
    right:auto!important;
    min-width:max-content;
    white-space:nowrap;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  /* Remove a regra anterior que fixava Ações no lado direito e cobria colunas. */
  .module-estoque td:last-child,
  .module-produtos td:last-child,
  .module-pedidos td:last-child,
  .module-remessas td:last-child,
  .module-vendas td:last-child{
    position:static!important;
    right:auto!important;
    box-shadow:none!important;
  }

  /* Colunas textuais que podem crescer continuam legíveis. */
  .module-pedidos td:first-child,
  .module-produtos td:first-child,
  .module-fornecedores td:nth-child(2),
  .module-clientes td:nth-child(2){
    white-space:normal!important;
    min-width:150px;
  }

  /* Botões de ação permanecem lado a lado, sem invadir outras células. */
  td .btn{
    white-space:nowrap;
  }
}


/* V2.28.3 — revisão mobile estrutural */
.mobile-record-list{display:grid;gap:10px}.mobile-record-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;min-width:0}.mobile-record-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.mobile-record-head>div{min-width:0}.mobile-record-head strong{display:block;overflow-wrap:anywhere}.mobile-record-head small{display:block;margin-top:3px;color:var(--muted)}.mobile-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.mobile-record-grid span{min-width:0;color:var(--muted);font-size:.78rem}.mobile-record-grid b{display:block;margin-top:3px;color:var(--text);font-size:.92rem;overflow-wrap:anywhere}.mobile-record-grid small{display:block;overflow-wrap:anywhere}.mobile-record-action{width:100%;margin-top:12px}.mobile-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mobile-span-2{grid-column:1/-1}.stock-mobile-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.stock-mobile-numbers span{padding:9px;border-radius:10px;background:var(--surface-soft,rgba(127,127,127,.06));font-size:.78rem}.stock-mobile-numbers b{display:block;font-size:1rem;margin-top:3px}.stock-mobile-numbers small{display:block;color:var(--muted)}
@media(max-width:820px){
 .module-acertos .capital-cards{display:grid!important;grid-template-columns:1fr!important;gap:8px}.mobile-stack-actions{display:grid!important;grid-template-columns:1fr!important}.mobile-stack-actions .btn{width:100%}
 .module-resultados .result-operation{padding:12px}.module-resultados .section-title{display:block!important}.module-resultados .section-title>.status{display:inline-flex;margin-top:8px}.module-resultados .result-po{padding:10px 0}.module-resultados .result-po-head{display:grid!important;grid-template-columns:1fr!important;gap:6px}.module-resultados .result-po-head span{overflow-wrap:anywhere}
 .module-fornecedores .mobile-card-actions>*{flex:1 1 120px}
 .module-estoque .stock-command-bar{display:grid!important;grid-template-columns:1fr!important;gap:10px}.module-estoque .stock-primary-actions{display:grid!important;grid-template-columns:1fr!important}.module-estoque .stock-primary-actions .btn{width:100%}.module-estoque .stock-filter-panel{display:grid!important;grid-template-columns:1fr!important;gap:8px}.module-estoque .stock-filter-result{justify-content:flex-start!important}
 .module-configuracoes .grid.two-col{display:block!important}.module-configuracoes .card{margin-bottom:12px}.module-configuracoes .settings-grid{display:grid!important;grid-template-columns:1fr!important}.module-configuracoes .settings-grid .full{grid-column:auto!important}.module-configuracoes .section-title{display:grid!important;grid-template-columns:1fr!important;gap:8px}.module-configuracoes .section-title .btn{width:100%}.module-configuracoes .login-position-options{display:grid!important;grid-template-columns:1fr!important}.module-configuracoes .login-settings-preview,.module-configuracoes .brand-settings-preview{max-width:100%!important;overflow:hidden!important}.module-configuracoes .preview-login-panel{width:auto!important;max-width:calc(100% - 20px)!important}.module-configuracoes .module-toolbar{display:grid!important;grid-template-columns:1fr!important}.module-configuracoes .module-toolbar .btn{width:100%}
}
@media(max-width:520px){.mobile-record-grid,.stock-mobile-numbers{grid-template-columns:1fr}.mobile-span-2{grid-column:auto}}


/* V2.29.0 — arquitetura de navegação e formulários responsivos */
nav#nav{display:flex;flex-direction:column;gap:5px;min-height:0}.nav-group{display:block}.nav-group-toggle{width:100%;border:0;background:transparent;color:rgba(255,255,255,.68);display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:9px;font-size:11px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;cursor:pointer}.nav-group-toggle:hover{background:rgba(255,255,255,.07);color:#fff}.nav-chevron{font-size:16px;transition:transform .18s ease}.nav-group.open .nav-chevron{transform:rotate(180deg)}.nav-group-items{display:none;padding:2px 0 5px 7px}.nav-group.open .nav-group-items{display:grid;gap:3px}.nav-group-items .nav-btn{padding:9px 11px;font-size:13px}
.settings-section-nav{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;padding:10px 0 12px;margin-bottom:8px;background:var(--bg)}.settings-jump{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:9px 13px;white-space:nowrap;cursor:pointer;font-weight:700}#cfg-empresa,#cfg-login,#cfg-pagamentos,#cfg-backup{scroll-margin-top:90px}
@media(max-width:820px){
 .sidebar{padding:14px 10px!important;gap:12px!important}.sidebar .brand{display:flex!important;padding:0 4px 8px}.sidebar #nav{padding:4px 2px 18px!important}.nav-group-toggle{min-height:42px!important;padding:10px 12px!important;font-size:12px!important}.nav-group-items{padding-left:8px!important}.nav-group-items .nav-btn{min-height:43px!important;padding-left:14px!important}
 dialog#modal.modal-workflow,dialog#modal.sale-modal,dialog#modal:has(.detail-grid){position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;padding:0!important}
 dialog#modal.modal-workflow form,dialog#modal.sale-modal form,dialog#modal:has(.detail-grid) form{height:100dvh!important;max-height:100dvh!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important}
 dialog#modal.modal-workflow .modal-header,dialog#modal.sale-modal .modal-header,dialog#modal:has(.detail-grid) .modal-header{position:relative!important;top:auto!important;padding:14px 16px!important;min-height:58px!important}
 dialog#modal.modal-workflow .modal-body,dialog#modal.sale-modal .modal-body,dialog#modal:has(.detail-grid) .modal-body{max-height:none!important;height:auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:16px!important}
 dialog#modal.modal-workflow .modal-actions,dialog#modal.sale-modal .modal-actions,dialog#modal:has(.detail-grid) .modal-actions{position:relative!important;bottom:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;padding:10px 16px max(10px,env(safe-area-inset-bottom))!important;box-shadow:0 -8px 24px rgba(0,0,0,.06)}
 dialog#modal.modal-workflow .form-grid,dialog#modal.sale-modal .form-grid{grid-template-columns:1fr!important}
 .settings-section-nav{top:0;margin:-4px -12px 10px;padding:10px 12px;background:var(--bg);scrollbar-width:none}.settings-section-nav::-webkit-scrollbar{display:none}.settings-jump{min-height:42px}
}
@media(max-width:520px){dialog#modal.modal-workflow .modal-actions,dialog#modal.sale-modal .modal-actions,dialog#modal:has(.detail-grid) .modal-actions{grid-template-columns:1fr!important}}


/* V2.29.4 — detalhamento autossuficiente do pós-venda */
.post-sale-timeline{display:grid;gap:14px;margin-top:14px}.post-sale-detail{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:14px}.post-sale-cancelled{opacity:.65}.post-sale-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.post-sale-detail-head>div:first-child strong{display:block}.post-sale-detail-head>div:first-child span{display:block;color:var(--muted);margin-top:3px}.post-sale-detail-head>div:last-child{text-align:right}.post-sale-detail-head small,.post-sale-meta small,.post-sale-item-row small{display:block;color:var(--muted);font-size:.75rem}.post-sale-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.post-sale-meta>span{padding:9px 10px;border-radius:10px;background:var(--surface-soft,rgba(127,127,127,.06))}.post-sale-meta-wide{grid-column:1/-1}.post-sale-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:start}.post-sale-flow section{min-width:0}.post-sale-flow h4{margin:0 0 8px}.post-sale-arrow{font-size:1.5rem;align-self:center;color:var(--muted)}.post-sale-item-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(110px,.7fr) minmax(130px,.9fr);gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px}.post-sale-item-row strong,.post-sale-item-row span{display:block;overflow-wrap:anywhere}.post-sale-summary{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.post-sale-summary span{display:flex;gap:6px;align-items:center}.post-sale-summary .btn{margin-left:auto}
@media(max-width:820px){.post-sale-detail-head{display:grid;grid-template-columns:1fr}.post-sale-detail-head>div:last-child{text-align:left}.post-sale-meta{grid-template-columns:1fr}.post-sale-meta-wide{grid-column:auto}.post-sale-flow{grid-template-columns:1fr}.post-sale-arrow{transform:rotate(90deg);justify-self:center}.post-sale-item-row{grid-template-columns:1fr}.post-sale-summary{display:grid;grid-template-columns:1fr}.post-sale-summary .btn{width:100%;margin-left:0}}
