:root{--bg:#f4f7fb;--panel:#fff;--line:#dfe6f0;--text:#13213d;--muted:#6d7890;--blue:#1f6feb;--blue2:#eaf2ff;--green:#0f9d5b;--green2:#e9f8f0;--red:#d44242;--shadow:0 8px 28px rgba(26,43,72,.06)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#102036;color:white;padding:22px 14px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px}.brand-mark,.auth-logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#1684ff,#4a54e8);display:grid;place-items:center;color:white;font-weight:800;font-size:20px}.brand strong{display:block;font-size:16px}.brand small{display:block;color:#aab6c8;font-size:11px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.nav-disabled{padding:11px 12px;border-radius:9px;color:#dce5f2;display:flex;justify-content:space-between}.sidebar nav a.active{background:var(--blue);color:#fff}.nav-disabled{opacity:.55}.nav-disabled em{font-size:10px;font-style:normal}.logout{margin-top:auto}.logout button{width:100%;border:1px solid #2b3e58;background:transparent;color:#dce5f2;padding:10px;border-radius:9px;cursor:pointer}.content{min-width:0;width:100%;margin-left:230px}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;padding:0 32px}.topbar div{text-align:right}.topbar span{display:block;color:var(--muted);font-size:12px}.page{max-width:1220px;margin:0 auto;padding:30px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{font-size:30px;line-height:1.15;margin:3px 0 5px}.page-head p{margin:0;color:var(--muted)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.card h2{font-size:17px;margin:0 0 14px}.card p{color:var(--muted)}.mt{margin-top:16px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:6px;font-weight:650;font-size:13px;color:#34425c}input,select,textarea{width:100%;border:1px solid #cfd8e6;border-radius:8px;background:#fff;padding:10px 11px;color:var(--text);outline:none;min-height:42px}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,111,235,.11)}textarea{resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cbd6e6;background:#fff;color:#1f3558;padding:10px 16px;border-radius:9px;font-weight:750;cursor:pointer;min-height:42px}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.soft{background:var(--blue2);border-color:#bbd3fb;color:#145ac7}.btn.soft.green{background:var(--green2);border-color:#b9e6ce;color:#0b7f4a}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.actions{margin-top:18px;display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.alert{border-radius:10px;padding:12px 14px;margin-bottom:18px;border:1px solid}.alert.success{background:var(--green2);border-color:#bfe7cf;color:#087a45}.alert.danger{background:#fff1f1;border-color:#f4caca;color:#a62e2e}.alert ul{margin:6px 0 0}.helper{font-size:12px;color:var(--muted);margin-top:8px}.helper.ok{color:var(--green)}.helper.error{color:var(--red)}.auth-content{margin-left:0;display:grid;place-items:center;min-height:100vh;padding:25px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.auth-card h1{margin:15px 0 5px}.auth-card p{color:var(--muted);margin-top:0}.auth-card form{display:grid;gap:13px;margin-top:20px}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px}.check input{width:auto;min-height:0}.auth-footer{text-align:center;margin-top:16px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.steps b{height:54px;border-bottom:3px solid #dbe2ec;color:#8b96a9;display:flex;gap:8px;align-items:center}.steps b.on{border-color:var(--blue);color:var(--blue)}.steps span{font-size:12px}.inline-search{display:flex;gap:10px;max-width:700px}.inline-search input{flex:1}.accent-card{background:linear-gradient(135deg,#f3f8ff,#fff)}.profile-pill{display:inline-flex;background:var(--blue2);color:#155bc9;border:1px solid #c7dbff;border-radius:999px;padding:10px 14px;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{font-size:25px;display:block;margin-top:6px}.card-head{display:flex;justify-content:space-between;align-items:center}.list-row,.quote-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf1f6;color:var(--text)}.list-row span,.quote-line small{display:block;color:var(--muted);font-size:12px}.checklist{display:grid;gap:11px;color:#43516a}.filter{display:flex;gap:10px;margin-bottom:15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;color:var(--muted);background:#f7f9fc}th,td{padding:12px;border-bottom:1px solid #edf1f6;white-space:nowrap}td small{display:block;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:24px}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eef3fb;color:#34506f;font-size:12px;font-weight:800}.badge.large{padding:9px 13px}.quote-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-card.products{border-top:3px solid #3c7cf4}.section-card.services{border-top:3px solid #2aa467}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}.section-title>div{display:flex;gap:8px;align-items:center}.section-title h2{margin:0}.section-title small{color:var(--muted);text-align:right}.section-icon{font-weight:900;color:var(--blue)}.item-row{display:grid;grid-template-columns:minmax(180px,2fr) 75px 88px 110px 105px 34px;gap:7px;align-items:center;margin-bottom:8px}.item-row input{min-width:0;padding:8px;min-height:38px}.item-row .line{text-align:right}.remove{width:32px;height:32px;border:0;border-radius:8px;background:#fff0f0;color:var(--red);font-size:19px;cursor:pointer}.subtotal{display:flex;justify-content:flex-end;gap:18px;border-top:1px solid #edf1f6;margin-top:14px;padding-top:14px}.summary>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 0}.summary input{max-width:135px}.summary .grand{margin-top:8px;background:var(--green2);border-radius:10px;padding:13px}.summary .grand strong{font-size:24px;color:#087c46}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.detail-grid span{display:block;color:var(--muted);font-size:12px}.pre{white-space:pre-line}.onboarding{max-width:1050px;margin:0 auto}
@media(max-width:900px){.sidebar{position:static;width:100%;min-height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar .logout{margin-top:12px}.shell{display:block}.content{margin-left:0}.topbar{display:none}.page{padding:20px}.grid.two,.quote-columns,.form-grid.three{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.item-row{grid-template-columns:minmax(160px,2fr) 65px 78px 95px 95px 34px}.page-head{align-items:center}.steps span{display:none}}
@media(max-width:620px){.sidebar nav{grid-template-columns:1fr 1fr}.brand{padding-bottom:12px}.page{padding:14px}.page-head{flex-direction:column}.page-head h1{font-size:25px}.form-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.inline-search{flex-direction:column}.steps{gap:5px}.steps b{justify-content:center}.item-row{grid-template-columns:1fr 60px 70px 90px 34px}.item-row .unit{display:none}.item-row .line{grid-column:1/5;text-align:right;background:#f7f9fc;padding:5px 8px;border-radius:6px}.section-title{display:block}.section-title small{display:block;text-align:left;margin-top:3px}.detail-grid{grid-template-columns:1fr 1fr}.actions{justify-content:stretch}.actions .btn{flex:1}.auth-content{padding:14px}.auth-card{padding:22px}.stats .stat strong{font-size:20px}}
/* Orçamentos: compartilhamento, aprovação pública e status */
.status-draft{background:#eef3fb;color:#34506f}.status-sent{background:#e8f2ff;color:#1760c7}.status-viewed{background:#f0eaff;color:#6945c5}.status-approved,.status-invoiced{background:#e7f8ef;color:#087c46}.status-rejected{background:#fff0f0;color:#bd3434}.status-expired{background:#edf0f4;color:#667085}.quote-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn.whatsapp{border-color:#b9e6ce;background:#e9f8f0;color:#087c46}.share-card{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(360px,1.3fr);gap:20px;align-items:center}.share-card h2{margin-bottom:4px}.share-card p{margin:0}.share-row{display:flex;gap:8px}.share-row input{min-width:0}.public-body{min-height:100vh;background:#f4f7fb}.public-quote{width:min(980px,calc(100% - 28px));margin:0 auto;padding:26px 0 38px}.public-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.public-brand strong{font-size:18px;display:block}.public-brand span{font-size:12px;color:var(--muted)}.public-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.public-hero h1{margin:2px 0 4px;font-size:30px}.public-hero p{margin:0;color:var(--muted)}.public-customer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.public-customer span{display:block;color:var(--muted);font-size:12px}.public-total{font-size:21px;color:#087c46}.public-decision{margin-top:18px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:18px}.public-decision>div:first-child{display:grid;gap:4px}.public-decision span{color:var(--muted);font-size:13px}.decision-actions{display:flex;gap:8px}.decision-actions form{margin:0}.btn.approve{background:#0f9d5b;border-color:#0f9d5b;color:#fff}.btn.reject{color:#b53232;border-color:#efc4c4;background:#fff}.public-decision.approved{background:#e9f8f0;border-color:#b9e6ce;color:#087c46;display:grid}.public-decision.rejected{background:#fff0f0;border-color:#efc4c4;color:#ad3030;display:grid}.public-decision.closed{background:#f0f2f5;color:#596579;display:grid}.public-footer{text-align:center;color:var(--muted);font-size:11px;margin-top:20px}.public-body .alert{margin-top:0}
@media(max-width:760px){.share-card{grid-template-columns:1fr}.share-row{flex-wrap:wrap}.share-row input{flex:1 1 100%}.public-customer{grid-template-columns:1fr 1fr}.public-customer>div:last-child{grid-column:1/-1}.public-decision{display:grid}.decision-actions{display:grid;grid-template-columns:1fr 1fr}.decision-actions .btn{width:100%}.quote-head-actions{justify-content:flex-start}}
@media(max-width:520px){.public-quote{width:min(100% - 20px,980px);padding-top:16px}.public-hero{align-items:flex-start}.public-hero h1{font-size:25px}.public-customer{grid-template-columns:1fr}.public-customer>div:last-child{grid-column:auto}.decision-actions{grid-template-columns:1fr}.quote-head-actions{width:100%}.quote-head-actions .btn{flex:1}}
/* Vendas / Ordens de Serviço */
.conversion-card,.operation-next{display:flex;align-items:center;justify-content:space-between;gap:22px}.conversion-card h2,.operation-next h2{margin:3px 0 4px}.conversion-card p,.operation-next p{margin:0}.conversion-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.conversion-actions form{margin:0}.list-right{text-align:right}.list-right span{display:block;color:var(--muted);font-size:12px}.money-big{font-size:20px;color:#087c46}
@media(max-width:760px){.conversion-card,.operation-next{display:grid}.conversion-actions{display:grid;grid-template-columns:1fr 1fr}.conversion-actions .btn,.conversion-actions form,.conversion-actions form button{width:100%}}
@media(max-width:520px){.conversion-actions{grid-template-columns:1fr}}

/* Fiscal V5 */
.fiscal-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric span{display:block;color:#667085;font-size:13px;margin-bottom:7px}.metric strong{font-size:18px}.green-text{color:#078a49}.fiscal-workspace{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.fiscal-doc-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #e8edf4}.fiscal-doc-row:last-child{border-bottom:0}.fiscal-doc-row>div{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center}.fiscal-doc-row small{grid-column:2;color:#667085}.doc-pill{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#e8f1ff;color:#1769e0}.doc-pill.nfse{background:#e7f8ee;color:#078a49}.check-row{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #e8edf4}.check-row:last-child{border-bottom:0}.check-row>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-weight:800}.check-row.ok>span{background:#e8f8ef;color:#078a49}.check-row.pending>span{background:#fff1dc;color:#b36a00}.check-row div{display:flex;flex-direction:column;gap:3px}.check-row small{color:#667085}.alert.info{background:#eef5ff;border-color:#cbdfff;color:#174b93}.alert.warning{background:#fff8e8;border-color:#f4d78f;color:#7a5410}.fiscal-warning p{margin-bottom:0}.fiscal-notice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:#effbf4;border-color:#bfe8cf}.notice-icon{width:48px;height:48px;border-radius:50%;background:#10a05a;color:white;display:grid;place-items:center;font-size:22px;font-weight:900}.fiscal-notice h2{margin:0 0 3px}.fiscal-notice p{margin:0;color:#4f6b5d}.fiscal-notice>strong{font-size:22px;color:#078a49}.fiscal-doc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.doc-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.doc-card-head>div{display:flex;align-items:center;gap:10px}.doc-card-head h2{margin:0}.detail-grid.compact{margin-top:16px}.small-alert{margin-top:15px;padding:10px 12px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:13px 12px;border-bottom:1px solid #e8edf4;text-align:left;white-space:nowrap}.data-table th{font-size:12px;color:#667085;background:#f8fafc}.data-table a{color:#1769e0;font-weight:700;text-decoration:none}
@media(max-width:900px){.fiscal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fiscal-workspace,.fiscal-doc-cards{grid-template-columns:1fr}.fiscal-notice{grid-template-columns:auto 1fr}.fiscal-notice>strong{grid-column:2}}
@media(max-width:560px){.fiscal-summary-grid{grid-template-columns:1fr}.fiscal-doc-row{align-items:flex-start}.fiscal-doc-row>div{grid-template-columns:auto 1fr}.fiscal-notice{grid-template-columns:1fr}.fiscal-notice>strong{grid-column:auto}.actions form,.actions .btn{width:100%}.actions form .btn{width:100%}}

/* V6 - Configurações fiscais */
.fiscal-settings-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px}.fiscal-settings-grid{display:grid;gap:16px}.settings-card{padding:22px}.card-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.card-title-row h2{margin:3px 0 0}.card-title-row p{margin:5px 0 0;color:var(--muted,#68758a)}.info-grid,.field-grid{display:grid;gap:14px}.info-grid.three,.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid small,.certificate-summary small{display:block;color:#708099;margin-bottom:4px}.field-grid label,.certificate-upload label{display:grid;gap:7px;font-weight:700;color:#102342}.field-grid input,.field-grid select,.certificate-upload input{width:100%;min-height:44px;border:1px solid #d4deec;border-radius:10px;padding:10px 12px;background:#fff}.doc-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.toggle-card{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #dbe4f0;border-radius:12px;background:#f9fbfe;cursor:pointer}.toggle-card input{margin-top:4px}.toggle-card span{display:grid;gap:3px}.toggle-card small{color:#718099}.settings-note{padding:12px 14px;border-radius:10px;background:#eef5ff;color:#234365;margin-top:16px}.actions.right{display:flex;justify-content:flex-end;margin-top:16px}.status-pill.warning{background:#fff4d9;color:#8a5b00}.status-pill.danger{background:#ffe8e8;color:#b42318}.status-pill.success{background:#e8f7ef;color:#087443}.certificate-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:16px;background:#f7f9fc;border-radius:12px;margin-bottom:14px}.certificate-upload{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;align-items:end}.security-hint{color:#718099;font-size:13px;margin:10px 0 0}.soft-divider{border:0;border-top:1px solid #e4eaf2;margin:18px 0}.btn.danger-outline{border:1px solid #efb0b0;color:#b42318;background:#fff}
@media(max-width:900px){.fiscal-settings-head{align-items:flex-start;flex-direction:column}.info-grid.three,.field-grid.three,.field-grid.two,.doc-toggle-grid,.certificate-summary{grid-template-columns:1fr}.certificate-upload{grid-template-columns:1fr}.certificate-upload .btn{width:100%}}

/* V7 - Modo fiscal simulado */
.status-pill.simulation,.status-simulated{background:#fff0e8!important;color:#a83d05!important}.simulation-banner{display:grid;gap:4px;padding:14px 16px;border:1px solid #f4c39d;background:#fff6ef;color:#7a3b11;border-radius:12px}.simulation-banner strong{font-size:14px}.simulation-banner span{font-size:13px;line-height:1.45}.simulation-banner.prominent{border-width:2px}.simulation-action-card{display:flex;justify-content:space-between;align-items:center;gap:20px;border-color:#f1c49f;background:linear-gradient(135deg,#fff8f2,#fff)}.simulation-action-card h2{margin:3px 0 4px}.simulation-action-card p{margin:0}.simulation-action-card form{margin:0}.simulation-doc-meta{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin-top:14px;padding:12px;border-radius:10px;background:#f7f9fc}.simulation-doc-meta span{color:#667085;font-size:12px}.simulation-doc-meta strong{font-size:12px;word-break:break-all}.download-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.table-actions{display:flex;gap:10px}.table-actions a{font-weight:800}.muted{color:#667085}
@media(max-width:700px){.simulation-action-card{display:grid}.simulation-action-card form,.simulation-action-card form .btn{width:100%}.download-actions{display:grid}.download-actions .btn{width:100%}.simulation-doc-meta{grid-template-columns:1fr}}

/* V8 - Catálogo + identidade visual */
.catalog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.catalog-list-card{padding:18px}.catalog-table td:first-child{min-width:210px}.catalog-table td strong{display:block}.catalog-table td small{display:block;color:#718099;margin-top:4px}.mini-tag{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef4ff;color:#315e9f;font-size:11px;font-weight:800}.btn.small{min-height:34px;padding:7px 11px;font-size:12px}.empty-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;color:#65738a}.empty-state strong{font-size:18px;color:#142541}.empty-state .btn{margin-top:6px}.pagination-wrap{margin-top:14px}.field-block{display:grid;gap:7px;margin-top:14px;font-weight:700}.field-block textarea{width:100%}.check-line{display:flex;align-items:flex-start;gap:10px;font-weight:700}.check-line input{margin-top:4px}.mt-sm{margin-top:10px}.settings-stack{display:grid;gap:16px}.company-fixed-data{padding:14px;background:#f7f9fc;border-radius:12px}.logo-settings-grid{display:grid;grid-template-columns:230px 1fr;gap:22px;align-items:center}.logo-preview-box{min-height:170px;border:1px dashed #cfd9e7;border-radius:14px;background:#f8fafe;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;color:#708099}.logo-preview-box img{max-width:180px;max-height:105px;object-fit:contain}.logo-placeholder{width:74px;height:74px;border-radius:20px;background:linear-gradient(135deg,#1684ff,#4057df);display:grid;place-items:center;color:#fff;font-size:28px;font-weight:900}.logo-upload-form{display:grid;gap:10px}.logo-upload-form label{display:grid;gap:7px;font-weight:700}.logo-upload-form input[type=file]{border:1px solid #d5deeb;border-radius:10px;padding:10px;background:#fff}.logo-usage-note{display:grid;gap:4px;margin-top:18px;padding:12px 14px;border-radius:10px;background:#eef5ff;color:#26496f}.logo-usage-note span{font-size:13px}.desc-wrap{display:grid;gap:2px;min-width:0}.desc-wrap .desc{width:100%}.catalog-hint{font-size:10px;color:#8a95a7;padding-left:2px}.catalog-hint.saved{color:#078a49;font-weight:800}.item-row{align-items:start}
@media(max-width:900px){.catalog-head{align-items:flex-start;flex-direction:column}.logo-settings-grid{grid-template-columns:1fr}.logo-preview-box{min-height:140px}.catalog-table{min-width:820px}}


/* V9 - Estoque */
.inventory-stats{margin-bottom:16px}.warning-text{color:#b36a00!important}.danger-text{color:#c03434!important}.inventory-table td strong{display:block}.inventory-table td small{display:block;margin-top:3px}.inventory-product-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.inventory-balance span{display:block;color:var(--muted);font-size:13px}.inventory-balance strong{display:block;margin-top:7px;font-size:22px}.inventory-workspace{align-items:start}.stock-rules{display:grid;gap:12px}.stock-rules>div{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #edf1f6}.stock-rules>div:last-child{border-bottom:0}.stock-rules p{margin:0;display:grid;gap:2px}.stock-rules small{color:var(--muted)}.rule-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-weight:900}.rule-dot.ok{background:var(--green2);color:var(--green)}.rule-dot.neutral{background:#eef3fb;color:#60718c}.stock-readonly{border:1px solid #d8e1ed;border-radius:10px;padding:11px 12px;display:grid;gap:3px;background:#f8fafc}.stock-readonly small{color:var(--muted)}.stock-readonly strong{font-size:17px}.stock-readonly a{font-size:12px;font-weight:800;margin-top:3px}.status-pill.warning{background:#fff4d9;color:#8a5b00}.status-pill.danger{background:#ffe8e8;color:#b42318}.status-pill.success{background:#e8f7ef;color:#087443}.logo-preview-box img{max-width:180px!important;max-height:105px!important;width:auto!important;height:auto!important;object-fit:contain!important}
@media(max-width:900px){.inventory-product-head{grid-template-columns:1fr}.inventory-workspace{grid-template-columns:1fr}}

/* V10 - Financeiro */
.financial-stats{margin-bottom:16px}.finance-table td strong{display:block}.status-pill.neutral{background:#eef3fb;color:#53657e}.financial-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.finance-summary-item span{display:block;color:var(--muted);font-size:12px}.finance-summary-item strong{display:block;margin-top:7px;font-size:20px}.finance-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.finance-details>div{padding:12px;border-radius:10px;background:#f8fafc;border:1px solid #edf1f6}.finance-details span{display:block;color:var(--muted);font-size:12px}.finance-details strong{display:block;margin-top:5px}.due-date-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:16px}.finance-payment-form{display:grid;gap:12px}.paid-box{display:grid;gap:5px;padding:18px;border-radius:12px;background:var(--green2);color:#087443}.paid-box span{font-size:13px}.sale-finance-card{display:flex;justify-content:space-between;align-items:center;gap:18px}.sale-finance-card h2{margin:3px 0 4px}.sale-finance-card p{margin:0}.sale-finance-card form{margin:0}
@media(max-width:900px){.financial-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-workspace{grid-template-columns:1fr}.finance-details{grid-template-columns:1fr}.sale-finance-card{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.financial-summary-grid{grid-template-columns:1fr}.due-date-form{grid-template-columns:1fr}.sale-finance-card .btn,.sale-finance-card form{width:100%}.sale-finance-card form .btn{width:100%}}

/* V11 - Financeiro completo: contas a receber + contas a pagar */
.finance-overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.finance-overview-grid .stat{min-height:116px}.finance-overview-grid .stat small{display:block;margin-top:8px;color:var(--muted);font-size:11px}.finance-net{background:linear-gradient(135deg,#f5fff9,#fff)}.finance-tabs{display:flex;gap:8px;margin-bottom:0}.finance-tabs a{padding:10px 15px;border:1px solid #d7e0ec;border-bottom:0;border-radius:10px 10px 0 0;background:#eef3f9;color:#52637c;font-weight:800}.finance-tabs a.active{background:#fff;color:#0f57c7}.finance-list-card{border-top-left-radius:0}.finance-list-title{align-items:flex-end}.finance-list-title h2{margin:0}.finance-list-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.finance-table td small{display:block;margin-top:4px;color:var(--muted)}.finance-summary-item{display:flex!important;flex-direction:column;gap:6px}.finance-summary-item span,.finance-summary-item strong{margin:0!important}.finance-details>div{display:flex;flex-direction:column;gap:5px}.finance-details span,.finance-details strong{margin:0!important}.finance-notes{margin-top:14px;padding:12px 14px;border:1px solid #edf1f6;border-radius:10px;background:#f8fafc}.finance-notes span{display:block;color:var(--muted);font-size:12px}.finance-notes p{margin:5px 0 0}.payable-form{max-width:920px}.payable-form .span-2{grid-column:1/-1}
.inventory-balance{display:flex;flex-direction:column;gap:5px}.inventory-balance span,.inventory-balance strong{margin:0!important}
@media(max-width:1180px){.finance-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.finance-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-list-card{border-top-left-radius:14px}.finance-tabs{overflow:auto}.finance-list-title{align-items:flex-start;flex-direction:column}.payable-form .span-2{grid-column:auto}}
@media(max-width:520px){.finance-overview-grid{grid-template-columns:1fr}.finance-tabs a{white-space:nowrap}.payable-form .actions{display:grid}.payable-form .actions .btn{width:100%}}

/* V12 - Fornecedores + Compras + correções visuais */
.alert.warning{background:#fff8e7;border-color:#f0d99a;color:#815d00}.supplier-form{max-width:980px}.supplier-form .check-line{margin-top:16px}.purchase-form{display:grid;gap:0}.purchase-items{display:grid;gap:10px;margin-top:12px}.purchase-item-row{display:grid;grid-template-columns:minmax(260px,2.2fr) minmax(110px,.7fr) minmax(140px,.9fr) minmax(120px,.8fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #e3e9f2;border-radius:12px;background:#fafcff}.purchase-item-row label{min-width:0}.purchase-line-total{display:flex;flex-direction:column;gap:5px;padding:0 4px 9px}.purchase-line-total span{font-size:12px;color:var(--muted)}.purchase-line-total strong{font-size:15px;white-space:nowrap}.purchase-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid #e5ebf3}.purchase-total span{color:var(--muted);font-weight:700}.purchase-total strong{font-size:23px;color:var(--green)}.purchase-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.purchase-summary-grid .card{display:flex;flex-direction:column;gap:6px}.purchase-summary-grid span{font-size:12px;color:var(--muted)}.purchase-summary-grid strong{font-size:18px}.purchase-confirm-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#bdd8ff;background:linear-gradient(135deg,#f3f8ff,#fff)}.purchase-confirm-card h2{margin:3px 0 5px}.purchase-confirm-card p{margin:0}.purchase-confirm-card form{margin:0}.catalog-list-card .data-table td small,.data-table td small{display:block;color:var(--muted);margin-top:3px}.finance-summary-item,.inventory-balance{display:flex!important;flex-direction:column!important;gap:6px!important}.finance-summary-item span,.finance-summary-item strong,.inventory-balance span,.inventory-balance strong{display:block!important;margin:0!important}.finance-details>div{display:flex!important;flex-direction:column!important;gap:5px!important}.finance-details span,.finance-details strong{display:block!important;margin:0!important}.paid-box{display:flex!important;flex-direction:column!important;gap:5px!important}.paid-box strong,.paid-box span{display:block!important}.card-head>div>p{margin:4px 0 0}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.sidebar{overflow-y:auto}.sidebar nav{padding-bottom:10px}
@media(max-width:1000px){.purchase-item-row{grid-template-columns:1fr 110px 140px}.purchase-line-total{padding-bottom:0}.purchase-item-row .remove-row{grid-column:3}.purchase-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-confirm-card{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.purchase-item-row{grid-template-columns:1fr}.purchase-item-row .remove-row{grid-column:auto;width:100%}.purchase-summary-grid{grid-template-columns:1fr}.purchase-confirm-card form,.purchase-confirm-card .btn{width:100%}}

/* V13 - Parcelamento e condições de pagamento */
.payment-plan-card{display:grid;gap:16px}.payment-plan-head{align-items:flex-start}.payment-plan-head h2{margin:3px 0 4px}.payment-plan-head p{margin:0}.payment-plan-total{display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:var(--muted);font-size:12px}.payment-plan-total strong{font-size:20px;color:var(--green)}.payment-plan-main{align-items:end}.payment-plan-card .span-2{grid-column:span 2}.payment-plan-card label small{font-weight:500;color:var(--muted)}.payment-custom{display:grid;gap:8px;padding-top:2px}.custom-plan-builder{display:grid;grid-template-columns:140px 1fr 180px auto;gap:10px;align-items:end}.custom-installments{display:grid;gap:8px}.custom-installment-row{display:grid;grid-template-columns:54px 1fr 180px auto;gap:10px;align-items:end;padding:10px;border:1px solid #e0e7f0;border-radius:10px;background:#fafcff}.custom-installment-row>span{align-self:center;font-weight:800;color:#52637c}.payment-plan-preview{border:1px solid #dbe5f1;border-radius:12px;background:#f8fbff;padding:14px}.payment-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.payment-preview-head span{color:#42658e;font-size:12px;font-weight:800}.installment-preview-table{display:grid;gap:6px}.installment-preview-table>div{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:9px 10px;border-radius:8px;background:#fff;border:1px solid #e8edf4}.installment-preview-table>div span:first-child{font-weight:800;color:#48617e}.installment-preview-table>div span:nth-child(2){color:var(--muted)}.payment-plan-difference{margin-top:8px;text-align:right;font-size:12px}.payment-plan-difference.error{color:var(--red);font-weight:800}.empty.compact{padding:10px}.payment-origin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.payment-origin-grid>div{display:flex;flex-direction:column;gap:5px}.payment-origin-grid span{font-size:12px;color:var(--muted)}.payment-origin-grid strong{font-size:18px}.installment-plan-summary{display:grid;gap:14px}.installment-plan-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.installment-plan-metrics>div{padding:11px 12px;border-radius:9px;background:#f8fafc;border:1px solid #edf1f6}.installment-plan-metrics span{display:block;color:var(--muted);font-size:12px}.installment-plan-metrics strong{display:block;margin-top:4px}.installment-list{display:grid;border:1px solid #e2e8f1;border-radius:11px;overflow:hidden}.installment-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#fff;border-bottom:1px solid #edf1f6;color:var(--text)}.installment-line:last-child{border-bottom:0}.installment-line:hover{background:#f7faff}.installment-line.active{background:#edf5ff}.installment-line>span{display:flex;flex-direction:column;gap:2px}.installment-line>span:last-child{text-align:right}.installment-line small{color:var(--muted)}.status-text.success{color:var(--green)}.status-text.warning{color:#a96a00}.status-text.danger{color:var(--red)}.status-text.neutral{color:#60718c}.compact-list{margin-top:12px}.finance-table td:nth-child(2) small{max-width:180px;white-space:normal}.purchase-summary-grid .card strong{word-break:break-word}
@media(max-width:900px){.custom-plan-builder{grid-template-columns:1fr 1fr}.custom-plan-builder .btn{width:100%}.custom-installment-row{grid-template-columns:48px 1fr 150px auto}.payment-origin-grid,.installment-plan-metrics{grid-template-columns:1fr}.payment-plan-card .span-2{grid-column:auto}}
@media(max-width:620px){.payment-plan-head{flex-direction:column}.payment-plan-total{align-items:flex-start}.custom-plan-builder,.custom-installment-row{grid-template-columns:1fr}.custom-installment-row>span{align-self:auto}.custom-installment-row .btn{width:100%}.installment-preview-table>div{grid-template-columns:55px 1fr}.installment-preview-table>div strong{grid-column:2;text-align:left}.installment-line{align-items:flex-start}.installment-line>span:last-child{text-align:right}}

/* V14 - Aprovação interna + condição financeira simplificada */
.approval-dialog{width:min(620px,calc(100% - 28px));border:0;border-radius:16px;padding:0;background:#fff;color:var(--text);box-shadow:0 24px 70px rgba(16,32,54,.24)}.approval-dialog::backdrop{background:rgba(16,32,54,.48)}.approval-dialog-form{padding:22px}.approval-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.approval-dialog-head h2{font-size:24px;margin:3px 0 5px}.approval-dialog-head p{margin:0;color:var(--muted)}.dialog-close{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#50617b;font-size:23px;line-height:1;cursor:pointer}.approval-note{margin-top:14px;padding:11px 13px;border-radius:9px;background:#f4f8ff;border:1px solid #d7e5fb;color:#426080;font-size:12px}.field-block{margin-top:14px}
.payment-mode-row{max-width:520px}.payment-mode-panel{display:grid;gap:12px;padding:14px;border:1px solid #e1e8f1;border-radius:12px;background:#fbfcfe}.payment-mode-panel[hidden]{display:none!important}.payment-compact-grid{align-items:end}.payment-explain{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:9px;background:#f2f6fb;color:#50617b;min-height:42px;justify-content:center}.payment-explain strong{color:var(--text)}.payment-explain span{font-size:12px}.payment-presets{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.payment-presets.compact{padding-top:2px}.payment-presets>span{font-size:12px;font-weight:800;color:#52637c}.payment-presets>div{display:flex;gap:7px;flex-wrap:wrap}.payment-chip{border:1px solid #c9d8ec;background:#fff;color:#2259a8;border-radius:999px;padding:7px 11px;font-weight:800;font-size:12px;cursor:pointer}.payment-chip:hover{background:#edf5ff;border-color:#9fc0f4}.payment-preview-head>div{display:grid;gap:2px}.payment-preview-head small{display:block;color:var(--muted);font-weight:500}.payment-schedule-table{display:grid;gap:8px}.payment-schedule-row{display:grid;grid-template-columns:62px minmax(170px,1fr) minmax(140px,.7fr);gap:10px;align-items:end;padding:10px;border-radius:10px;background:#fff;border:1px solid #e4ebf4}.payment-installment-number{align-self:center;font-weight:900;color:#45607f}.payment-schedule-row label{font-size:11px}.payment-schedule-row input{min-height:38px;padding:8px 9px}.payment-plan-difference:not(.error){color:#16744a;font-weight:700}
@media(max-width:700px){.approval-dialog-form{padding:18px}.approval-dialog .form-grid.two{grid-template-columns:1fr}.payment-schedule-row{grid-template-columns:48px 1fr}.payment-schedule-row label:last-child{grid-column:2}.payment-presets{align-items:flex-start;flex-direction:column}.payment-presets>div{width:100%}.payment-chip{flex:1}.payment-compact-grid{grid-template-columns:1fr}}
.sale-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:-6px 0 18px}.sale-flow-steps span{padding:10px 12px;border-radius:9px;background:#eef2f7;color:#718098;font-size:12px;font-weight:800;text-align:center}.sale-flow-steps .done{background:#e9f8f0;color:#087c46}.sale-flow-steps .active{background:#eaf2ff;color:#155bc9;border:1px solid #bfd5fb}@media(max-width:680px){.sale-flow-steps{grid-template-columns:1fr}.sale-flow-steps span{text-align:left}}


/* V15 - polimento visual + padrao monetario */
.nav-section{display:block;margin:13px 10px 4px;color:#7f92ad;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.nav-section:first-child{margin-top:0}.sidebar nav a{min-height:41px;align-items:center;transition:background .16s ease,color .16s ease,transform .16s ease}.sidebar nav a:not(.active):hover{background:rgba(255,255,255,.065);color:#fff}.sidebar nav a.active{box-shadow:0 6px 16px rgba(31,111,235,.22)}
.page{max-width:1280px;padding:32px 34px 42px}.page-head{margin-bottom:20px}.page-head h1{letter-spacing:-.025em}.card{border-color:#dbe3ee;box-shadow:0 8px 24px rgba(21,37,63,.055)}.card h2{letter-spacing:-.012em}.card-head{gap:14px}.card-head h2{margin:0}.card-head p{line-height:1.45}.form-grid{gap:16px}.form-grid.three{gap:16px}label{font-weight:700;color:#34425c}input,select,textarea{border-color:#cbd6e5;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.btn{transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn.primary:hover:not(:disabled){box-shadow:0 7px 16px rgba(31,111,235,.22)}
.data-table th{font-weight:800;text-transform:none;letter-spacing:.01em}.data-table td{vertical-align:middle}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover{background:#fbfdff}.table-wrap{border-radius:10px}.empty-state{border-radius:12px}
.stat{min-height:106px;display:flex;flex-direction:column;justify-content:center}.stat strong,.money-big,.money-value,.summary b,.summary .grand strong,.subtotal strong,.purchase-total strong,.purchase-line-total strong,.finance-overview-grid .stat strong,.financial-summary-grid strong,.installment-plan-metrics strong,.installment-line>span:last-child>strong,.payment-plan-total strong,.payment-origin-grid strong,.list-right>strong,.quote-line>b,.fiscal-notice>strong{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:-.018em;white-space:nowrap}.summary>div{min-height:43px}.summary .grand{min-height:58px}.subtotal{align-items:center}.quote-line>b,.list-right>strong{text-align:right}
[data-money-input]{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;font-weight:750;text-align:right;letter-spacing:-.01em;background:#fff}.item-row [data-money-input],.purchase-item-row [data-money-input]{min-width:118px}.item-row .qty,.purchase-item-row [name="quantity[]"]{text-align:right;font-variant-numeric:tabular-nums}.payment-schedule-row [data-money-input]{font-weight:800}.finance-payment-form [data-money-input]{font-size:15px}.payment-plan-difference{font-variant-numeric:tabular-nums}
.section-card{overflow:visible}.section-title{padding-bottom:2px}.item-row{padding:5px 0}.item-row .line{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}.purchase-item-row{background:#fbfcfe}.purchase-line-total strong{font-size:16px}.purchase-total strong{font-size:24px}.payment-plan-card{border-top:3px solid #3c7cf4}.payment-mode-panel{background:#f9fbfe}.payment-plan-preview{background:#f7faff}.payment-schedule-row{box-shadow:0 2px 8px rgba(21,37,63,.035)}
.finance-overview-grid .stat,.financial-summary-grid .card,.purchase-summary-grid .card{min-height:96px}.finance-table td:nth-child(6),.finance-table td:nth-child(7),.finance-table td:nth-child(8){font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}.finance-table td:nth-child(8){font-weight:800}.inventory-table td:nth-child(3),.inventory-table td:nth-child(4){font-variant-numeric:tabular-nums}
@media(max-width:900px){.nav-section{display:none}.page{padding:22px}.sidebar nav{gap:6px}.sidebar nav a{min-height:44px}.stat{min-height:96px}}
@media(max-width:620px){.page{padding:14px}.card{padding:17px}.page-head{margin-bottom:16px}.page-head h1{font-size:26px}.item-row [data-money-input],.purchase-item-row [data-money-input]{min-width:0}.summary .grand strong{font-size:22px}.finance-overview-grid .stat,.financial-summary-grid .card{min-height:auto}}

/* V16 - menu lateral em grupos recolhiveis */
.sidebar-nav{display:flex!important;flex-direction:column;gap:7px!important}.sidebar-nav .nav-home{padding:11px 12px;border-radius:10px;color:#dce5f2;display:flex;align-items:center;min-height:42px}.sidebar-nav .nav-home.active{background:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(31,111,235,.22)}.nav-group{margin:0;border-radius:10px}.nav-group summary{list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:10px 12px;border-radius:10px;color:#dce5f2;font-weight:750;cursor:pointer;user-select:none;transition:background .16s ease,color .16s ease}.nav-group-toggle:hover,.nav-group[open]>.nav-group-toggle{background:rgba(255,255,255,.065);color:#fff}.nav-group-toggle.active{color:#fff}.nav-chevron{font-size:16px;line-height:1;transition:transform .18s ease;color:#91a5bf}.nav-group[open] .nav-chevron{transform:rotate(180deg)}.nav-submenu{display:grid;gap:4px;padding:5px 0 2px 10px}.sidebar-nav .nav-submenu a{position:relative;min-height:38px;padding:9px 12px 9px 24px;border-radius:9px;color:#b8c6d8;font-size:14px;display:flex;align-items:center}.sidebar-nav .nav-submenu a:before{content:"";position:absolute;left:9px;top:50%;width:5px;height:5px;border-radius:50%;background:#526984;transform:translateY(-50%)}.sidebar-nav .nav-submenu a:hover{background:rgba(255,255,255,.055);color:#fff}.sidebar-nav .nav-submenu a.active{background:var(--blue);color:#fff;font-weight:800}.sidebar-nav .nav-submenu a.active:before{background:#fff}.sidebar-nav .nav-group+.nav-group{border-top:1px solid rgba(255,255,255,.055);padding-top:5px}.sidebar-nav .nav-home+.nav-group{margin-top:5px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}
@media(max-width:900px){.sidebar-nav{display:flex!important;grid-template-columns:none!important}.nav-group,.sidebar-nav .nav-home{width:100%}.nav-submenu{padding-left:8px}.sidebar-nav .nav-submenu a{min-height:42px}.nav-group-toggle{min-height:44px}}

/* V17 - menu lateral refinado e padronizado */
.sidebar{
  width:230px;
  padding:20px 14px 18px;
  background:#102036;
  border-right:1px solid rgba(255,255,255,.035);
  box-shadow:8px 0 28px rgba(13,28,49,.04);
}
.content{margin-left:230px}
.brand{
  gap:11px;
  padding:0 6px 18px;
  margin-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.brand-mark{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:11px;
  box-shadow:0 7px 18px rgba(31,111,235,.22);
}
.brand-copy{min-width:0}
.brand-copy strong{font-size:15px;letter-spacing:-.01em}
.brand-copy small{margin-top:1px;color:#91a3bc;font-size:10px}

.sidebar-nav{
  display:flex!important;
  flex-direction:column;
  gap:4px!important;
  min-height:0;
}
.sidebar-nav .nav-home,
.nav-group-toggle{
  min-height:44px;
  border-radius:10px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#c9d4e3;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.sidebar-nav .nav-home{
  justify-content:flex-start;
  font-weight:750;
}
.sidebar-nav .nav-home:hover,
.nav-group-toggle:hover{
  background:rgba(255,255,255,.055);
  color:#fff;
}
.sidebar-nav .nav-home.active{
  background:linear-gradient(135deg,#2f80ed,#246be0);
  color:#fff;
  box-shadow:0 8px 18px rgba(31,111,235,.22);
}
.nav-main-icon{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:#91a5bf;
  background:rgba(255,255,255,.045);
  transition:background .16s ease,color .16s ease;
}
.nav-main-icon svg{width:18px;height:18px;display:block}
.nav-home.active .nav-main-icon{
  background:rgba(255,255,255,.16);
  color:#fff;
}
.nav-main-label{font-size:14px;line-height:1}
.nav-divider{
  height:1px;
  background:rgba(255,255,255,.07);
  margin:6px 7px 7px;
}
.nav-group{
  margin:0;
  border:0!important;
  border-radius:11px;
  padding:0!important;
  overflow:visible;
}
.nav-group summary{list-style:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group-toggle{
  width:100%;
  justify-content:flex-start;
  cursor:pointer;
  user-select:none;
  font-weight:750;
}
.nav-group-toggle.current,
.nav-group[open]>.nav-group-toggle{
  background:rgba(255,255,255,.045);
  color:#fff;
}
.nav-group-toggle.current .nav-main-icon,
.nav-group[open]>.nav-group-toggle .nav-main-icon{
  color:#7fb0ff;
  background:rgba(47,128,237,.12);
}
.nav-main-copy{
  min-width:0;
  flex:1;
  display:block;
}
.nav-main-copy strong{
  display:block;
  font-size:14px;
  line-height:1.15;
  font-weight:760;
  letter-spacing:-.005em;
}
.nav-main-copy small{display:none}
.nav-chevron{
  width:8px;
  height:8px;
  flex:0 0 8px;
  margin-right:4px;
  border-right:1.7px solid #7f93ae;
  border-bottom:1.7px solid #7f93ae;
  transform:rotate(45deg) translateY(-2px);
  transform-origin:center;
  transition:transform .18s ease,border-color .18s ease;
}
.nav-group[open] .nav-chevron{
  transform:rotate(225deg) translate(-1px,-1px);
  border-color:#a8b9cf;
}
.nav-submenu{
  position:relative;
  display:grid;
  gap:3px;
  margin:4px 0 7px 25px;
  padding:2px 0 2px 12px;
  border-left:1px solid rgba(133,156,187,.22);
}
.sidebar-nav .nav-submenu a{
  min-height:37px;
  padding:8px 10px;
  border-radius:8px;
  color:#aebdd0;
  font-size:13px;
  font-weight:620;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.sidebar-nav .nav-submenu a:before{display:none!important}
.sidebar-nav .nav-submenu a:hover{
  background:rgba(255,255,255,.05);
  color:#fff;
  transform:translateX(1px);
}
.sidebar-nav .nav-submenu a.active{
  background:#2474e9;
  color:#fff;
  font-weight:800;
  box-shadow:0 5px 14px rgba(31,111,235,.18);
}
.logout{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.07);
}
.logout button{
  min-height:40px;
  border-color:#2b405b;
  background:rgba(255,255,255,.018);
  color:#c7d3e2;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.logout button:hover{
  background:rgba(255,255,255,.055);
  border-color:#3b5577;
  color:#fff;
}
@media(max-width:900px){
  .sidebar{width:210px;padding:16px 10px}
  .content{margin-left:210px}
  .brand{padding-left:5px;padding-right:5px}
  .brand-copy strong{font-size:14px}
  .nav-main-icon{width:29px;height:29px;flex-basis:29px}
  .sidebar-nav .nav-home,.nav-group-toggle{min-height:42px;padding:7px 8px}
  .nav-submenu{margin-left:22px;padding-left:9px}
  .sidebar-nav .nav-submenu a{min-height:37px;padding:8px 9px}
}
@media(max-width:720px){
  .sidebar{width:76px;padding:14px 9px}
  .content{margin-left:76px}
  .brand{justify-content:center;padding:0 0 14px;margin-bottom:9px}
  .brand-copy{display:none}
  .sidebar-nav .nav-home,.nav-group-toggle{justify-content:center;padding:7px}
  .nav-main-label,.nav-main-copy,.nav-chevron{display:none}
  .nav-submenu{
    display:none;
  }
  .nav-group[open] .nav-submenu{display:none}
  .logout button{font-size:0;padding:0}
  .logout button:after{content:"Sair";font-size:11px}
}

/* V18 - menu compacto no padrão visual do sistema / Consignei */
.sidebar{
  width:224px;
  padding:18px 12px 16px;
}
.content{margin-left:224px}
.brand{
  padding:0 6px 16px;
  margin-bottom:8px;
}
.brand-mark{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:10px;
  font-size:18px;
}
.brand-copy strong{font-size:14px}
.brand-copy small{font-size:10px}

.sidebar-nav{
  gap:2px!important;
}
.sidebar-nav .nav-home,
.nav-group-toggle{
  min-height:39px;
  padding:6px 9px;
  gap:9px;
  border-radius:9px;
}
.sidebar-nav .nav-home{
  font-size:13.5px;
}

/* Força os ícones a permanecerem pequenos mesmo se outro CSS do navegador/tema interferir. */
.sidebar .nav-main-icon{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  flex:0 0 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.sidebar .nav-main-icon svg,
.sidebar-nav svg{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  display:block!important;
  flex:0 0 16px!important;
}
.nav-home.active .nav-main-icon,
.nav-group-toggle.current .nav-main-icon,
.nav-group[open]>.nav-group-toggle .nav-main-icon{
  background:transparent!important;
  color:currentColor;
}
.nav-home.active .nav-main-icon{color:#fff}
.nav-group-toggle.current .nav-main-icon,
.nav-group[open]>.nav-group-toggle .nav-main-icon{color:#8ebaff}

.nav-main-label,
.nav-main-copy strong{
  font-size:13.5px;
  line-height:1.15;
}
.nav-group-toggle.current,
.nav-group[open]>.nav-group-toggle{
  background:rgba(255,255,255,.045);
}
.nav-chevron{
  width:6px;
  height:6px;
  flex:0 0 6px;
  margin-right:3px;
  border-right-width:1.5px;
  border-bottom-width:1.5px;
}
.nav-divider{
  margin:5px 7px 6px;
}
.nav-submenu{
  gap:2px;
  margin:2px 0 5px 26px;
  padding:2px 0 2px 10px;
}
.sidebar-nav .nav-submenu a{
  min-height:33px;
  padding:6px 9px;
  border-radius:7px;
  font-size:12.5px;
  font-weight:600;
}
.sidebar-nav .nav-submenu a.active{
  background:#2474e9;
  font-weight:750;
  box-shadow:0 4px 12px rgba(31,111,235,.16);
}
.logout{
  padding-top:12px;
}
.logout button{
  min-height:38px;
}

@media(max-width:900px){
  .sidebar{width:210px;padding:16px 10px}
  .content{margin-left:210px}
  .sidebar .nav-main-icon{width:18px!important;height:18px!important;flex-basis:18px!important}
  .sidebar .nav-main-icon svg,.sidebar-nav svg{width:16px!important;height:16px!important}
  .sidebar-nav .nav-home,.nav-group-toggle{min-height:39px;padding:6px 8px}
  .nav-submenu{margin-left:25px;padding-left:9px}
  .sidebar-nav .nav-submenu a{min-height:33px;padding:6px 8px}
}

/* V19 - trava definitiva do tamanho dos icones do menu */
.sidebar-nav .nav-main-icon,
.sidebar .nav-main-icon{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  flex:0 0 20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}
.sidebar-nav .nav-main-icon > svg,
.sidebar .nav-main-icon > svg{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  display:block!important;
}

/* V20 - polimento visual geral e padrao monetario */
:root{
  --bg:#f4f7fb;
  --panel:#ffffff;
  --line:#dce4ef;
  --line-soft:#edf2f7;
  --text:#10213d;
  --muted:#6b7890;
  --blue:#2474e9;
  --blue-hover:#1765d8;
  --blue-soft:#edf5ff;
  --green:#0a9656;
  --green-soft:#eaf8f1;
  --red:#d64545;
  --red-soft:#fff1f1;
  --amber:#b97800;
  --amber-soft:#fff8e7;
  --shadow:0 10px 28px rgba(20,39,70,.055);
  --shadow-hover:0 13px 32px rgba(20,39,70,.085);
  --radius:14px;
}

html{font-size:15px}
body{
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Estrutura geral */
.sidebar{
  width:224px!important;
  padding:18px 12px 16px!important;
  background:#102036;
  scrollbar-width:thin;
  scrollbar-color:#31465f transparent;
}
.content{margin-left:224px!important}
.topbar{
  height:58px;
  padding:0 28px;
  border-bottom:1px solid #e3e9f1;
  box-shadow:0 1px 0 rgba(19,38,65,.015);
}
.topbar strong{font-size:13px}
.topbar span{font-size:11px;margin-top:1px}
.page{
  max-width:1280px;
  padding:28px 32px 44px;
}
.page-head{
  margin-bottom:20px;
  align-items:center;
}
.page-head h1{
  margin:4px 0 5px;
  font-size:29px;
  line-height:1.1;
  letter-spacing:-.025em;
}
.page-head p{font-size:14px;line-height:1.45}
.eyebrow{font-size:11px;letter-spacing:.09em}

/* Cards e paineis */
.card,.stat{
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card{
  padding:19px;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.card h2{font-size:16px;letter-spacing:-.012em}
.card p{line-height:1.5}
.stat{
  min-height:102px;
  padding:17px;
  background:#fff;
}
.stat span{font-size:12px}
.stat strong{font-size:23px;margin-top:5px}
.stats{gap:13px}
.grid{gap:15px}
.grid.two,.quote-columns{gap:15px}

/* Campos */
label{font-size:12.5px;font-weight:700;color:#33435d}
input,select,textarea{
  min-height:41px;
  padding:9px 11px;
  border:1px solid #cbd6e4;
  border-radius:8px;
  background:#fff;
  color:#13233f;
  box-shadow:inset 0 1px 1px rgba(14,30,55,.015);
}
input:hover,select:hover,textarea:hover{border-color:#b8c6d8}
input:focus,select:focus,textarea:focus{
  border-color:#2f80ed;
  box-shadow:0 0 0 3px rgba(47,128,237,.10);
}
input::placeholder,textarea::placeholder{color:#96a2b4}
textarea{line-height:1.5}
.form-grid{gap:14px}
.field-block{margin-top:14px}

/* Botoes */
.btn{
  min-height:40px;
  padding:9px 15px;
  border-radius:8px;
  border-color:#cbd7e7;
  color:#17365f;
  font-size:13px;
  font-weight:750;
  box-shadow:0 1px 1px rgba(18,38,67,.02);
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease;
}
.btn:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:#aebfd4;
  box-shadow:0 5px 13px rgba(25,46,77,.07);
}
.btn.primary{
  background:var(--blue);
  border-color:var(--blue);
}
.btn.primary:hover:not(:disabled){background:var(--blue-hover);border-color:var(--blue-hover);box-shadow:0 7px 17px rgba(36,116,233,.20)}
.btn.soft{background:var(--blue-soft)}
.btn.small{min-height:34px;padding:6px 11px;font-size:12px}
.actions{gap:9px}

/* Menu lateral - compacto e sem icones gigantes */
.brand{padding:0 6px 15px;margin-bottom:8px}
.brand-mark{width:36px!important;height:36px!important;flex:0 0 36px!important;font-size:17px!important}
.brand-copy strong{font-size:14px}.brand-copy small{font-size:10px}
.sidebar-nav{gap:2px!important}
.sidebar-nav .nav-home,.nav-group-toggle{
  min-height:39px!important;
  padding:6px 9px!important;
  gap:9px!important;
  border-radius:8px!important;
}
.sidebar-nav .nav-main-icon,.sidebar .nav-main-icon{
  width:18px!important;height:18px!important;
  min-width:18px!important;min-height:18px!important;
  max-width:18px!important;max-height:18px!important;
  flex:0 0 18px!important;
  background:transparent!important;
}
.sidebar-nav .nav-main-icon>svg,.sidebar .nav-main-icon>svg{
  width:15px!important;height:15px!important;
  min-width:15px!important;min-height:15px!important;
  max-width:15px!important;max-height:15px!important;
}
.nav-main-label,.nav-main-copy strong{font-size:13px!important}
.nav-submenu{margin:2px 0 5px 26px;padding-left:9px}
.sidebar-nav .nav-submenu a{min-height:32px;padding:6px 9px;font-size:12.5px;border-radius:7px}
.sidebar-nav .nav-submenu a.active{box-shadow:none}
.nav-divider{margin:5px 7px 6px}
.logout button{min-height:37px;font-size:12px}

/* Tabelas */
.table-wrap{
  border-radius:10px;
  border:1px solid var(--line-soft);
  overflow:auto;
}
.table-wrap table{margin:-1px;width:calc(100% + 2px)}
th{
  padding:11px 12px;
  background:#f6f8fb;
  color:#617089;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.01em;
}
td{
  padding:12px;
  border-bottom:1px solid #eaf0f6;
  vertical-align:middle;
}
tbody tr:last-child td{border-bottom:0}
.data-table tbody tr{transition:background .12s ease}
.data-table tbody tr:hover{background:#f9fbfe}
.data-table td small{font-size:11px}
.table-actions{gap:6px}

/* Valores monetarios e numeros financeiros */
.stat strong,
.money-big,.money-value,
.summary b,.summary strong,
.subtotal strong,
.purchase-total strong,.purchase-line-total strong,
.finance-overview-grid .stat strong,
.financial-summary-grid strong,
.finance-table td:nth-child(6),.finance-table td:nth-child(7),.finance-table td:nth-child(8),
.installment-plan-metrics strong,
.installment-line>span:last-child>strong,
.payment-plan-total strong,.payment-origin-grid strong,
.list-right>strong,.quote-line>b,
.fiscal-notice>strong,
.inventory-balance strong,
.price,.line,
[data-money-input]{
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
  letter-spacing:-.015em;
}
[data-money-input]{
  text-align:right;
  font-weight:750;
  color:#10213d;
}
.summary .grand strong,.purchase-total strong,.money-big{color:#07894d}
.danger-text{color:#cc3333!important}.green-text{color:#07894d!important}

/* Status */
.badge,.status-pill,.mini-tag,.doc-pill{
  font-size:11px;
  font-weight:800;
  border-radius:999px;
  padding:5px 9px;
}
.status-pill.success,.badge.approved,.status-approved{background:#e8f8ef;color:#078248}
.status-pill.warning,.warning-text{color:#986300}

/* Alertas */
.alert{
  padding:11px 13px;
  margin-bottom:16px;
  border-radius:9px;
  font-size:13px;
  line-height:1.45;
}
.alert.success{background:#eaf8f1;border-color:#bde7d0;color:#087846}
.alert.info{background:#eef6ff;border-color:#c9ddfa;color:#24598e}
.alert.warning{background:#fff8e8;border-color:#edd69b;color:#795600}
.alert.danger{background:#fff1f1;border-color:#f1c5c5;color:#a82e2e}

/* Listas e blocos de resumo */
.list-row,.quote-line{padding:11px 0}
.summary>div{padding:8px 0}
.summary .grand{border:1px solid #d3eddf;background:#edf9f3;padding:12px 13px}
.summary .grand strong{font-size:22px}
.subtotal{margin-top:12px;padding-top:12px}
.empty,.empty-state{color:#78859a}
.empty-state{padding:28px 18px}

/* Financeiro */
.finance-overview-grid{gap:12px}
.finance-overview-grid .stat{min-height:104px}
.finance-tabs a{font-size:12px;padding:9px 13px}
.finance-list-card{box-shadow:var(--shadow)}
.finance-table td:nth-child(6),.finance-table td:nth-child(7),.finance-table td:nth-child(8){text-align:right}
.finance-table th:nth-child(6),.finance-table th:nth-child(7),.finance-table th:nth-child(8){text-align:right}
.finance-payment-form{gap:11px}
.payment-plan-card{gap:14px}
.payment-plan-preview{border-color:#d9e4f1;background:#f8fbff}
.payment-schedule-row{box-shadow:none;border:1px solid #e2e9f2;background:#fff}

/* Estoque, compras e catalogo */
.purchase-item-row{border-color:#e1e8f1;background:#fbfcfe}
.purchase-total{padding-top:12px}
.catalog-list-card,.finance-list-card{overflow:visible}
.inventory-stats{gap:12px}
.stock-readonly{border-color:#dfe7f0;background:#f8fafc}

/* Dialogo de aprovacao */
.approval-dialog::backdrop{background:rgba(7,18,34,.48);backdrop-filter:blur(2px)}
.approval-dialog{
  width:min(720px,calc(100vw - 30px));
  border:0;
  border-radius:15px;
  padding:0;
  box-shadow:0 28px 70px rgba(10,27,50,.25);
}
.approval-dialog-form{padding:22px}
.approval-dialog-head{margin-bottom:14px}
.dialog-close{border-radius:8px}

/* Melhor leitura em telas menores */
@media(max-width:1100px){
  .page{padding:24px 24px 38px}
  .finance-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .sidebar{width:210px!important;padding:15px 10px!important}
  .content{margin-left:210px!important}
  .page{padding:22px 20px 34px}
  .topbar{padding:0 20px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid.two,.quote-columns{grid-template-columns:1fr}
}
@media(max-width:720px){
  .sidebar{position:static!important;width:100%!important;min-height:auto;padding:12px!important}
  .content{margin-left:0!important}
  .shell{display:block}
  .brand{justify-content:flex-start;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:7px}
  .brand-copy{display:block!important}
  .sidebar-nav .nav-home,.nav-group-toggle{justify-content:flex-start!important}
  .nav-main-label,.nav-main-copy,.nav-chevron{display:block!important}
  .nav-chevron{display:inline-block!important;margin-left:auto}
  .nav-submenu,.nav-group[open] .nav-submenu{display:grid!important}
  .logout{margin-top:10px}
  .topbar{display:none}
  .page{padding:18px 14px 30px}
}
@media(max-width:560px){
  .page-head{align-items:flex-start;flex-direction:column;gap:12px}
  .page-head h1{font-size:25px}
  .page-head>.btn{width:100%}
  .stats,.finance-overview-grid{grid-template-columns:1fr}
  .card{padding:16px}
  .form-grid,.form-grid.three{grid-template-columns:1fr}
  .actions{display:grid;grid-template-columns:1fr}
  .actions .btn{width:100%}
  th,td{padding:10px}
}

/* =========================================================
   V21 - barras de rolagem invisiveis sem bloquear a rolagem
   ========================================================= */

/* A pagina continua rolando normalmente, mas sem exibir a barra. */
html,
body{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

/* O menu lateral pode continuar rolando em telas menores, sem barra visivel. */
.sidebar{
  scrollbar-width:none!important;
  -ms-overflow-style:none;
}
.sidebar::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

/*
 * Tabelas:
 * - elimina a barra horizontal causada pelo width calc(100% + 2px);
 * - preserva rolagem horizontal quando realmente necessaria em telas pequenas;
 * - a rolagem continua funcionando por mouse, touchpad e toque.
 */
.table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none;
}
.table-wrap::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}
.table-wrap table{
  width:100%!important;
  min-width:100%;
  margin:0!important;
}

/* Evita que cards/listagens criem overflow visual de 1 ou 2 px. */
.card,
.catalog-list-card,
.finance-list-card{
  max-width:100%;
}

/* No desktop, usa toda a largura disponivel antes de recorrer à rolagem. */
@media(min-width:721px){
  .table-wrap table{
    table-layout:auto;
  }
}

/* Em telas pequenas a tabela pode ser arrastada lateralmente, sem barra aparente. */
@media(max-width:720px){
  .table-wrap{
    -webkit-overflow-scrolling:touch;
  }
}


/* =========================================================
   V22 - polimento global do sistema
   1) moeda/numeros  2) tabelas  3) formularios
   4) menu lateral   5) responsividade/mobile
   ========================================================= */

:root{
  --page-max:1240px;
  --control-h:42px;
  --radius-sm:9px;
  --radius-md:12px;
  --radius-lg:14px;
  --panel-border:#dce5f0;
  --panel-shadow:0 8px 26px rgba(19,33,61,.055);
  --focus-ring:0 0 0 3px rgba(31,111,235,.12);
}

/* Estrutura e ritmo visual */
.page{
  width:100%;
  max-width:var(--page-max);
  padding:28px 28px 40px;
}
.page-head{margin-bottom:20px}
.page-head h1{
  margin:2px 0 5px;
  font-size:29px;
  line-height:1.15;
  letter-spacing:-.025em;
  font-weight:800;
}
.page-head p{line-height:1.5}
.card,
.stat{
  border-color:var(--panel-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--panel-shadow);
}
.card{padding:19px}
.card h2{
  font-size:16px;
  line-height:1.25;
  margin:0 0 13px;
  letter-spacing:-.01em;
}
.grid{gap:14px}
.grid.two,.quote-columns{gap:14px}
.mt{margin-top:14px}

/* 1. Valores monetarios: leitura de financeiro em todo o sistema */
[data-money-input],
.money-display,
.money-big,.money-value,
.summary b,.summary strong,
.subtotal strong,
.purchase-total strong,.purchase-line-total strong,
.finance-overview-grid .stat strong,
.financial-summary-grid strong,
.installment-plan-metrics strong,
.installment-line>span:last-child>strong,
.payment-plan-total strong,.payment-origin-grid strong,
.list-right>strong,.quote-line>b,
.fiscal-notice>strong,
.inventory-balance strong,
.price,.line,
#sum-products,#sum-services,#grand-total{
  font-family:"Segoe UI",Roboto,Arial,sans-serif;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
  letter-spacing:-.018em;
}
[data-money-input]{
  text-align:right!important;
  font-weight:750!important;
  color:#0f203a!important;
  background:#fff!important;
}
[data-money-input]::placeholder{color:#99a6b7;font-weight:600}
.money-big,.summary .grand strong,.purchase-total strong{font-weight:850}
.summary .grand strong{font-size:22px}
.stat strong{letter-spacing:-.025em}

/* 2. Tabelas: um unico padrao */
.table-wrap{
  width:100%;
  max-width:100%;
  border-radius:10px;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
.table-wrap table,
.data-table,
.finance-table{
  width:100%!important;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
}
th{
  height:40px;
  padding:10px 12px;
  background:#f6f8fb;
  border-bottom:1px solid #e5ebf3;
  color:#647087;
  font-size:11px;
  font-weight:800;
  letter-spacing:.012em;
  vertical-align:middle;
}
td{
  min-height:48px;
  padding:11px 12px;
  border-bottom:1px solid #edf1f6;
  vertical-align:middle;
}
tbody tr:last-child td{border-bottom:0}
tbody tr{transition:background .14s ease}
tbody tr:hover{background:#f9fbfe}
td small{margin-top:3px;line-height:1.3}
.table-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.table-actions .btn,.data-table .btn,.finance-table .btn{
  min-height:36px;
  padding:7px 12px;
  border-radius:8px;
}
.badge,.status-pill,.mini-tag,.doc-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  font-size:10.5px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}

/* 3. Formularios: controles, espacos e acoes consistentes */
.form-grid{gap:12px 14px}
label{
  gap:6px;
  color:#2e3e58;
  font-size:12.5px;
  font-weight:700;
}
input,select,textarea{
  min-height:var(--control-h);
  border:1px solid #cdd8e7;
  border-radius:var(--radius-sm);
  padding:9px 11px;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
input:hover,select:hover,textarea:hover{border-color:#b8c7da}
input:focus,select:focus,textarea:focus{
  border-color:#1f6feb;
  box-shadow:var(--focus-ring);
}
textarea{line-height:1.5;min-height:92px}
input[type="checkbox"],input[type="radio"]{min-height:0}
.btn{
  min-height:40px;
  padding:9px 14px;
  border-radius:9px;
  font-size:13px;
  font-weight:800;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease;
}
.btn:hover:not(:disabled){transform:translateY(-1px)}
.btn.primary:hover:not(:disabled){box-shadow:0 6px 16px rgba(31,111,235,.18)}
.actions{gap:8px;margin-top:16px}
.filter{align-items:center;gap:8px;margin-bottom:13px}
.filter .btn{flex:0 0 auto}
.inline-search{gap:8px}
.helper{line-height:1.45}

/* Orçamento e linhas de itens */
.section-card{overflow:visible}
.item-row{
  grid-template-columns:minmax(170px,2fr) 70px 86px 116px 96px 34px;
  gap:7px;
}
.item-row input{min-height:38px}
.item-row .qty{text-align:center}
.item-row .line{font-weight:800;white-space:nowrap}
.remove{display:grid;place-items:center;flex:none}
.subtotal{align-items:center}
.summary>div{min-height:42px}
.summary .grand{min-height:56px}

/* 4. Menu lateral: hierarquia e leitura */
.sidebar{
  width:200px;
  padding:16px 10px 12px;
}
.content{margin-left:200px}
.brand{
  min-height:48px;
  padding:0 8px 14px;
  margin-bottom:7px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.brand-mark{width:36px;height:36px;border-radius:10px;font-size:17px}
.brand strong{font-size:14px}
.brand small{font-size:9.5px}
.sidebar-nav{gap:4px!important}
.sidebar-nav .nav-home,.nav-group-toggle{
  min-height:40px;
  padding:7px 8px;
  border-radius:8px;
}
.sidebar .nav-main-icon{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}
.sidebar .nav-main-icon svg,.sidebar-nav svg{
  width:15px!important;
  height:15px!important;
  max-width:15px!important;
  max-height:15px!important;
}
.nav-main-copy strong,.nav-main-label{font-size:13px}
.nav-main-copy small{display:none!important}
.nav-group-toggle{gap:9px}
.nav-chevron{width:8px;height:8px;flex:0 0 8px}
.nav-submenu{gap:2px;padding:3px 0 4px 28px!important}
.sidebar-nav .nav-submenu a{
  min-height:32px;
  padding:6px 8px!important;
  border-radius:7px;
  font-size:12px;
}
.nav-divider{margin:5px 2px}
.logout{padding-top:10px}
.logout button{min-height:38px;font-size:12px}

/* Pequenos refinamentos por modulo */
.finance-overview-grid{gap:10px}
.finance-overview-grid .stat{min-height:96px;padding:15px}
.finance-tabs{margin-top:14px}
.finance-tabs a{min-height:38px;display:inline-flex;align-items:center}
.payment-schedule-row{border-radius:9px}
.inventory-stats{gap:10px}
.purchase-summary-grid{gap:10px}
.alert{border-radius:9px}
.empty,.empty-state{line-height:1.5}

/* 5. Responsividade: tablet e celular */
@media(max-width:1100px){
  .page{padding:24px 22px 36px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .item-row{grid-template-columns:minmax(150px,2fr) 64px 78px 105px 92px 34px}
}

@media(max-width:900px){
  .sidebar{width:190px!important;padding:14px 9px!important}
  .content{margin-left:190px!important}
  .brand-copy{display:block!important}
  .page{padding:20px 18px 32px}
  .page-head h1{font-size:27px}
  .finance-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid.two,.quote-columns,.form-grid.three{grid-template-columns:1fr}
  .item-row{grid-template-columns:minmax(140px,2fr) 62px 74px 100px 88px 34px}
}

@media(max-width:720px){
  .shell{display:block}
  .sidebar{
    position:static!important;
    width:100%!important;
    min-height:auto!important;
    padding:10px 12px!important;
  }
  .content{margin-left:0!important}
  .brand{min-height:46px;margin-bottom:6px;padding:0 4px 9px}
  .brand-mark{width:34px;height:34px}
  .sidebar-nav .nav-home,.nav-group-toggle{min-height:40px}
  .nav-main-copy small{display:none!important}
  .nav-submenu{padding-left:28px!important}
  .logout{margin-top:8px}
  .topbar{display:none}
  .page{padding:18px 14px 28px}
  .page-head{align-items:flex-start;flex-direction:column;gap:11px}
  .page-head>.btn{width:100%}
  .stats,.finance-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-grid,.purchase-summary-grid{grid-template-columns:1fr 1fr}
  .quote-columns{grid-template-columns:1fr}
  .table-wrap{-webkit-overflow-scrolling:touch}
  th,td{padding:10px}
  .filter{display:grid;grid-template-columns:1fr auto}
  .filter input{min-width:0}
  .actions{width:100%}
}

@media(max-width:560px){
  html,body{font-size:14px}
  .page{padding:15px 11px 24px}
  .page-head h1{font-size:24px}
  .card{padding:15px}
  .stats,.finance-overview-grid,.detail-grid,.purchase-summary-grid,.form-grid,.form-grid.two,.form-grid.three{grid-template-columns:1fr!important}
  .stat{min-height:84px}
  .stat strong{font-size:22px}
  .filter{grid-template-columns:1fr}
  .filter .btn{width:100%}
  .actions{display:grid;grid-template-columns:1fr}
  .actions .btn{width:100%}
  .item-row{
    grid-template-columns:minmax(0,1fr) 68px 34px;
    gap:7px;
    padding:10px;
    border:1px solid #e4eaf2;
    border-radius:10px;
    background:#fbfcfe;
  }
  .item-row .desc-wrap{grid-column:1 / -1}
  .item-row .qty{grid-column:1}
  .item-row .unit{grid-column:2}
  .item-row .price{grid-column:1 / 3}
  .item-row .line{grid-column:1 / 3;text-align:right;padding-right:2px}
  .item-row .remove{grid-column:3;grid-row:2 / 5;align-self:center}
  .section-title{flex-direction:column;gap:5px}
  .section-title small{text-align:left}
  .summary input{max-width:160px}
  .summary .grand strong{font-size:20px}
  .finance-tabs{display:grid;grid-template-columns:1fr 1fr}
  .finance-tabs a{justify-content:center}
  .table-actions{flex-direction:column;align-items:stretch}
  .table-actions .btn{width:100%}
}

/* === AJUSTE DE LAYOUT: NOVO / EDITAR ORÇAMENTO === */
#quote-form,
#quote-form .quote-columns,
#quote-form .grid.two,
#quote-form .section-card,
#quote-form .card,
#quote-form .item-row,
#quote-form .desc-wrap,
#quote-form .summary,
#quote-form input,
#quote-form select,
#quote-form textarea {
  min-width: 0;
}

#quote-form .quote-columns,
#quote-form .grid.two{
  align-items:start;
}

#quote-form .quote-columns{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

#quote-form .item-row{
  grid-template-columns:minmax(0,1.8fr) 68px 82px 110px 92px 34px;
  gap:7px;
}

#quote-form .item-row .qty,
#quote-form .item-row .unit,
#quote-form .item-row .price{
  width:100%;
}

#quote-form .item-row .line{
  min-width:0;
  text-align:right;
  overflow:hidden;
  text-overflow:ellipsis;
}

#quote-form .section-title{
  gap:10px;
}

#quote-form .section-title small{
  max-width:240px;
  line-height:1.35;
}

#quote-form .summary input{
  max-width:140px;
}

@media(max-width:1380px){
  #quote-form .item-row{
    grid-template-columns:minmax(0,1.5fr) 62px 78px 100px 86px 34px;
  }
}

@media(max-width:1240px){
  #quote-form .quote-columns,
  #quote-form .grid.two{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  #quote-form .item-row{
    grid-template-columns:minmax(0,1fr) 68px 34px;
  }
}

/* === V24: orçamento sem estouro horizontal === */
#quote-form{width:100%;max-width:100%;overflow-x:hidden}
#quote-form .quote-columns{width:100%;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#quote-form .section-card{width:100%;max-width:100%;overflow:hidden}
#quote-form .section-title{min-width:0}
#quote-form .section-title>div{min-width:0}
#quote-form .section-title small{min-width:0;max-width:220px;white-space:normal}

/* Em cada produto/serviço a descrição fica em uma linha;
   quantidade, unidade, valor, total e remover ficam logo abaixo. */
#quote-form .item-row{
  width:100%;
  max-width:100%;
  display:grid;
  grid-template-columns:72px 88px minmax(100px,1fr) 100px 34px;
  grid-template-areas:
    "desc desc desc desc desc"
    "qty unit price line remove";
  gap:7px;
  align-items:center;
  padding:3px 0 7px;
}
#quote-form .item-row .desc-wrap{grid-area:desc;width:100%;min-width:0}
#quote-form .item-row .qty{grid-area:qty;min-width:0;width:100%}
#quote-form .item-row .unit{grid-area:unit;min-width:0;width:100%}
#quote-form .item-row .price{grid-area:price;min-width:0;width:100%}
#quote-form .item-row .line{grid-area:line;min-width:0;width:100%;text-align:right;overflow:visible;text-overflow:clip}
#quote-form .item-row .remove{grid-area:remove;justify-self:end}
#quote-form .subtotal{max-width:100%;flex-wrap:wrap}

@media(max-width:1180px){
  #quote-form .quote-columns,
  #quote-form .grid.two{grid-template-columns:1fr}
}

@media(max-width:560px){
  #quote-form{overflow-x:visible}
  #quote-form .item-row{
    grid-template-columns:68px 74px minmax(0,1fr) 34px;
    grid-template-areas:
      "desc desc desc desc"
      "qty unit price remove"
      "line line line line";
  }
  #quote-form .item-row .line{text-align:right;padding-top:2px}
}
\n\n/* === Emitta · identidade visual v25 === */\n.brand-mark{width:36px!important;height:36px!important;flex:0 0 36px!important;object-fit:contain!important;background:transparent!important;border-radius:10px!important;padding:0!important;box-shadow:none!important}\n.brand-copy{min-width:0}.brand-copy strong{font-size:15px!important;letter-spacing:-.015em}.brand-copy small{font-size:9px!important;line-height:1.2!important;max-width:128px;color:#91a3bc!important}\n.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.auth-brand img{width:54px;height:54px;object-fit:contain;flex:0 0 54px}.auth-brand strong{display:block;font-size:22px;line-height:1.05;color:var(--text);letter-spacing:-.02em}.auth-brand small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.25}.auth-card h1{margin-top:4px}\n@media(max-width:620px){.auth-brand img{width:48px;height:48px;flex-basis:48px}.auth-brand strong{font-size:20px}}\n

/* === Emitta · polimento de identidade v26 === */
/* Autenticação ocupa a viewport inteira mesmo com as regras da sidebar carregadas depois. */
.content.auth-content{margin-left:0!important;min-height:100vh!important;width:100%!important;position:relative;overflow:hidden;background:
 radial-gradient(circle at 12% 18%,rgba(31,111,235,.10),transparent 30%),
 radial-gradient(circle at 88% 82%,rgba(4,174,255,.08),transparent 30%),
 linear-gradient(135deg,#f8fbff 0%,#f2f6fb 58%,#eef4fb 100%)}
.content.auth-content:before{content:"";position:fixed;inset:auto -120px -160px auto;width:420px;height:420px;border-radius:50%;background:rgba(31,111,235,.055);pointer-events:none}
.content.auth-content>.page{width:100%;max-width:none!important;min-height:100vh;display:grid;place-items:center;padding:28px!important;position:relative;z-index:1}
.auth-card{width:min(440px,100%);padding:30px!important;border-radius:18px!important;border-color:#d9e3ef!important;box-shadow:0 18px 50px rgba(20,38,68,.10)!important}
.auth-brand{margin-bottom:20px!important}.auth-brand img{width:56px!important;height:56px!important;flex-basis:56px!important}.auth-brand strong{font-size:24px!important}.auth-brand small{font-size:11px!important;color:#738198!important;max-width:250px}
.auth-card h1{font-size:30px;letter-spacing:-.025em;margin:7px 0 6px!important}.auth-card>p{font-size:14px;line-height:1.5;margin-bottom:0}.auth-card form{margin-top:22px!important;gap:14px!important}.auth-card .btn.primary{min-height:44px;box-shadow:0 8px 18px rgba(31,111,235,.18)}.auth-footer{margin-top:18px!important;font-size:13px}
/* Marca no menu: compacta e legível sem disputar espaço com a navegação. */
.brand{align-items:center!important}.brand-mark{width:36px!important;height:36px!important;flex-basis:36px!important;border-radius:10px!important}.brand-copy strong{font-size:15px!important}.brand-copy small{font-size:9px!important;line-height:1.25!important;max-width:132px!important}
@media(max-width:620px){.content.auth-content>.page{padding:16px!important}.auth-card{padding:23px!important}.auth-brand img{width:50px!important;height:50px!important;flex-basis:50px!important}.auth-brand strong{font-size:22px!important}.auth-card h1{font-size:27px}}


/* === Emitta · acabamento final v27 === */
.brand-copy small{font-size:8.7px!important;line-height:1.18!important;max-width:142px!important;letter-spacing:-.01em!important}
.checklist b{display:inline-block;min-width:20px;color:var(--blue);font-weight:850}
.checklist>div{display:flex;align-items:flex-start;gap:4px}
@media(max-width:900px){.brand-copy small{font-size:8.4px!important;max-width:126px!important}}

/* === Emitta · autenticação completa v28 (padrão Consignei adaptado) === */
.auth-card-complete{width:min(448px,100%)}
.auth-heading{margin:0 0 2px}.auth-heading h1{margin:6px 0 6px!important}.auth-heading p{margin:0!important}
.auth-step-label{display:block;color:var(--blue);font-size:10px;line-height:1.2;font-weight:850;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
.auth-card-complete form{gap:15px!important}
.auth-card-complete label{gap:7px}
.auth-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:-1px;font-size:12px}
.auth-options .check{font-size:12px;font-weight:650;color:#41516c}.auth-options>a{font-weight:750;white-space:nowrap}
.password-field{position:relative;display:block}.password-field input{padding-right:48px}
.password-toggle{position:absolute;top:50%;right:7px;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#6c7890;display:grid;place-items:center;cursor:pointer;padding:0}
.password-toggle:hover{background:#f0f5fb;color:#1f6feb}.password-toggle:focus-visible{outline:2px solid rgba(31,111,235,.45);outline-offset:1px}
.password-eye{width:18px;height:12px;border:1.8px solid currentColor;border-radius:60% 60% 55% 55%/70% 70% 45% 45%;position:relative;display:block}
.password-eye:after{content:"";position:absolute;width:4px;height:4px;border:1.6px solid currentColor;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.password-toggle.is-visible .password-eye:before{content:"";position:absolute;width:21px;height:1.8px;background:currentColor;left:-2px;top:5px;transform:rotate(-42deg);border-radius:3px;z-index:2}
.auth-hint{font-size:11px;font-weight:500;color:var(--muted);margin-top:-1px}
.auth-status{border-radius:10px;padding:11px 13px;margin:16px 0 2px;font-size:12px;line-height:1.45;border:1px solid}
.auth-status.success{background:var(--green2);border-color:#bfe7cf;color:#087a45}
.auth-card-complete .alert{margin:0 0 14px}
@media(max-width:620px){.auth-options{align-items:flex-start;flex-direction:column;gap:8px}.auth-options>a{align-self:flex-start}.auth-card-complete{width:100%}}
.auth-status.danger{background:#fff1f1;border-color:#f4caca;color:#a62e2e}.auth-status ul{margin:5px 0 0;padding-left:18px}.auth-status strong{font-weight:800}
.auth-card input:-webkit-autofill,.auth-card input:-webkit-autofill:hover,.auth-card input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px #fff inset!important;box-shadow:0 0 0 1000px #fff inset!important;transition:background-color 9999s ease-out 0s}
