:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#182421;background:#f6f8f9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}#app{display:flex;min-height:100vh}.sidebar{width:265px;flex:none;background:linear-gradient(150deg,#003c2d,#004e39 50%,#003d30);color:white;padding:15px 9px;display:flex;flex-direction:column;gap:22px;min-height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:5px 16px 8px}.brand-icon{font-size:46px;color:#8de1d1}.brand b{font-size:21px;line-height:1.05;display:block}.brand small,.user small{display:block;font-size:13px;font-weight:400;margin-top:4px}nav{display:grid;gap:3px}nav button{display:flex;align-items:center;gap:15px;width:100%;background:transparent;border:0;color:#fff;padding:12px 14px;text-align:left;border-radius:9px;font-size:15px}nav button.active,nav button:hover{background:#07834f}nav button .ico{font-size:22px;width:23px;text-align:center}.modules{margin-top:auto;border:1px solid #238b69;border-radius:13px;padding:16px}.modules p{display:flex;justify-content:space-between;margin:14px 0 0}.modules span{background:#12a34d;border-radius:5px;padding:1px 6px}main{flex:1;min-width:0;padding:0 20px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 7px 17px;border-bottom:1px solid #dfe6e6;margin-bottom:16px}h1{font-size:34px;margin:0;line-height:1.1}header p{margin:4px 0 0;color:#3e5052}.header-right{display:flex;align-items:center;gap:16px}.header-right input{width:min(370px,27vw);padding:13px;border:1px solid #cdd7dc;border-radius:9px;background:white}.bell{font-size:26px;color:#005e3a}.avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#13964e;color:#fff;font-weight:700}.user{min-width:92px}.mobile-menu{display:none}.ghost{border:1px solid #cbd9d1;background:white;border-radius:7px;padding:8px}.banners{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:16px}.banner{height:150px;border-radius:12px;overflow:hidden;position:relative;display:flex;align-items:center;padding:24px;background:#d8f4e8}.banner.stone{background:#f1e7df}.banner .banner-text{position:relative;z-index:1;width:55%}.banner h2{font-size:27px;margin:0 0 6px}.banner p{line-height:1.45;margin:0}.banner .art{position:absolute;right:0;top:0;width:47%;height:100%;background-size:cover;background-position:center}.banner.glass .art{background-image:linear-gradient(90deg,#d8f4e8,transparent 40%),url('assets/vidracaria.jpg')}.banner.stone .art{background-image:linear-gradient(90deg,#f1e7df,transparent 40%),url('assets/marmoraria.jpg')}.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(290px,1fr);gap:16px}.left-col,.right-col{display:grid;gap:16px;align-content:start}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.panel,.stat{background:#fff;border:1px solid #e1e7e8;border-radius:12px;box-shadow:0 2px 5px #173f2710}.stat{min-height:99px;padding:16px 12px;display:flex;gap:12px;align-items:center}.stat .symbol{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#e7f8ee;color:#087c40;font-size:25px;flex:none}.stat small{font-size:12px}.stat strong{display:block;font-size:25px;margin-top:6px}.panel{padding:15px}.panel h3{font-size:19px;margin:0 0 15px}.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick button{border:0;border-radius:10px;background:linear-gradient(150deg,#eef9f4,#e0f4eb);padding:16px 7px;min-height:94px;color:#111;font-weight:700}.quick button span{display:block;font-size:30px;color:#078442;margin-bottom:7px}.quick button:hover{outline:2px solid #07964e}.empty{text-align:center;color:#697780;padding:24px 12px}.empty .empty-icon{font-size:42px}.empty strong{display:block;color:#182421;margin:8px}.primary{border:0;background:#007b31;color:white;padding:12px 18px;border-radius:8px;font-weight:700}.primary:hover{background:#006429}.secondary{border:1px solid #bcd7c7;background:#eff8f2;color:#075f34;padding:10px 15px;border-radius:8px;font-weight:650}.primary:disabled{opacity:.5;cursor:not-allowed}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.link-btn{background:none;border:0;color:#006d32;font-weight:700}.tabs{display:flex;border:1px solid #dae2de;border-radius:7px;overflow:hidden;margin-bottom:12px}.tabs button{flex:1;border:0;padding:10px;background:#f7f8f8}.tabs button.active{background:#dff8e7;border-bottom:3px solid #005e27;font-weight:700}.field{display:grid;gap:5px;margin-bottom:10px}.field label{font-size:13px}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #cbd6d8;border-radius:7px;background:white;min-width:0}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.total{display:flex;align-items:center;justify-content:space-between;background:#e0f9e6;padding:14px;border-radius:8px;margin:12px 0;color:#005b24}.total strong{font-size:23px}.full{width:100%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:#eef2f4;text-align:left}td,th{padding:11px;border-bottom:1px solid #e5ebed}td:last-child{text-align:right}.muted{color:#64757a}.pill{border-radius:20px;background:#e2f6e8;color:#006a35;padding:4px 9px;font-size:12px}.warning{color:#8d5a04;background:#fff5db;padding:12px;border-radius:8px;font-size:13px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.card-item{padding:20px}.card-item h3{margin:5px 0}.card-item p{color:#52676a}footer{text-align:center;color:#84908d;font-size:12px;padding:25px}.overlay{position:fixed;inset:0;background:#003d2fdd;display:grid;place-items:center;z-index:10;padding:15px}.overlay.hidden{display:none}.login{background:white;width:min(430px,100%);padding:30px;border-radius:16px;display:grid;gap:12px;box-shadow:0 10px 40px #0003}.login h2{text-align:center;margin:0}.login p,.login small{color:#5c7072;text-align:center}.login label{display:grid;gap:6px}.login input{padding:12px;border:1px solid #cdd8d5;border-radius:8px}.login-logo{text-align:center;color:#007d4b;font-size:55px}.error{color:#ad2929;font-size:13px}#toast{position:fixed;bottom:20px;right:20px;z-index:20;background:#164b36;color:white;padding:12px 18px;border-radius:9px;display:none;max-width:350px}.mobile-menu{border:0;background:#e3f3e8;border-radius:6px;padding:8px}@media(max-width:1250px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.quick{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{width:220px}.banners{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.header-right input{display:none}}@media(max-width:650px){.sidebar{display:none;position:fixed;z-index:8;top:0;bottom:0;overflow:auto}.sidebar.open{display:flex}main{padding:0 12px}.mobile-menu{display:block}header{gap:8px}h1{font-size:25px}header p{font-size:12px}.user,.bell{display:none}.banner{height:135px;padding:16px}.banner h2{font-size:23px}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:10px}.stat .symbol{display:none}.quick{grid-template-columns:repeat(2,1fr)}.field-row.three{grid-template-columns:1fr 1fr}}

/* Versão 1.1 — Clientes */
.client-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}.client-fields .wide{grid-column:1/-1}.client-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.client-actions button{padding:8px 12px;font-size:13px}.client-actions .danger{color:#a12e2e;border-color:#e6c4c4;background:#fff8f8}#clientEditor{scroll-margin-top:15px}#clientForm .client-actions{justify-content:flex-start;margin-top:15px}#clientFormError{margin-top:10px}@media(max-width:650px){.client-fields{grid-template-columns:1fr}.client-actions{justify-content:flex-start}}

/* V1.2.1 - metragem e composicao dos orcamentos */
.quote-area-preview{display:flex;gap:24px;flex-wrap:wrap;background:#eff9f2;border:1px solid #cce8d4;border-radius:8px;padding:12px 14px;margin:10px 0;color:#075f34;font-size:14px}.quote-area-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#e5f7ec;border-radius:8px;padding:13px 16px;margin:12px 0;color:#075f34}.quote-area-summary strong{font-size:20px}.quote-composition-row td{background:#f8fbf9;text-align:left!important;padding:9px 12px}.quote-composition-row details summary{cursor:pointer;color:#075f34;font-weight:650}.quote-composition-row details[open] summary{margin-bottom:10px}

/* V1.3.1 — Informações comerciais e confirmação de salvamento */
.commercial-info{background:#f5faf7;border:1px solid #dcece2;border-radius:10px;padding:10px 14px;margin:12px 0}.commercial-info p{margin:6px 0;overflow-wrap:anywhere}.commercial-saved{padding:12px 14px;background:#e4f6eb;color:#075b32;border:1px solid #b5dec6;border-radius:9px;font-weight:700}

/* V1.4.1: orçamento completo e impressão */
.quote-page-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.quote-paper{background:white;border:1px solid #d8e4de;border-radius:14px;padding:36px;color:#172c25;max-width:1080px;margin:0 auto;box-shadow:0 2px 10px #153c2912}
.quote-paper-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:3px solid #087c45;padding-bottom:20px;margin-bottom:22px}
.quote-paper-brand{font-weight:800;color:#075b38;font-size:23px}.quote-paper-number{text-align:right;display:flex;flex-direction:column;gap:6px}.quote-paper-number strong{font-size:19px}.quote-paper-number span{color:#60736c;font-size:12px}
.quote-paper h2{font-size:22px;margin:12px 0 18px}.quote-paper h3{font-size:15px;color:#08643e;margin:0 0 10px}.quote-paper p{margin:5px 0;line-height:1.5}
.quote-paper-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin:18px 0 26px}.quote-paper-grid>div{min-width:0}
.quote-sub{color:#64776e;font-size:12px;margin-top:4px}.quote-print-table{width:100%;border-collapse:collapse;font-size:13px}.quote-print-table th{background:#eaf3ee;text-align:left}.quote-print-table td,.quote-print-table th{padding:10px 8px;border-bottom:1px solid #e0e9e4;vertical-align:top}
.quote-paper-totals{max-width:360px;margin:22px 0 24px auto}.quote-paper-totals p{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #dbe7e0}.quote-paper-totals strong{color:#07683f}.quote-print-warning{padding:12px 14px;border:1px solid #e4bb6c;background:#fff7e6;border-radius:7px;font-size:12px;font-weight:700;color:#805100}
.quote-commercial{border-top:1px solid #dce7e0;padding-top:20px}.quote-paper-footer{border-top:1px solid #dce7e0;padding-top:12px;text-align:center;color:#6b7a72;font-size:11px;margin-top:28px}
@media(max-width:650px){.quote-paper{padding:18px}.quote-paper-grid{grid-template-columns:1fr}.quote-paper-top{flex-direction:column}.quote-paper-number{text-align:left}}
@media print{@page{size:A4;margin:13mm}html,body{background:white!important;color:#111!important}body *{visibility:hidden!important}.quote-paper,.quote-paper *{visibility:visible!important}.quote-paper{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.quote-paper .table-wrap{overflow:visible!important}.quote-paper table{width:100%!important}.quote-paper tr{break-inside:avoid}.quote-paper-grid,.quote-paper-totals{break-inside:avoid}.quote-paper-top{border-bottom-color:#087c45!important} .quote-paper h3,.quote-paper-brand,.quote-paper-totals strong{color:#075b38!important} .quote-print-table th{background:#eaf3ee!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V1.5: cadastro de preços */
#catalogEditor .field-row{margin-top:12px}#catalogRows td{vertical-align:middle}

/* V1.5.1 — editor de preços em janela completa */
.price-modal-open{overflow:hidden}
.price-modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(4,32,23,.65);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.price-modal{background:#fff;color:#152b25;width:min(960px,100%);max-height:calc(100vh - 40px);overflow-y:auto;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:28px}
.price-modal .panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e4ebe7;padding-bottom:16px;margin-bottom:20px}
.price-modal .panel-header h2{margin:0 0 5px}
.price-modal-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.price-modal-info>div{background:#f4f8f6;border:1px solid #e3ebe6;padding:14px;border-radius:9px;min-width:0}
.price-modal-info small{display:block;color:#63776e;margin-bottom:6px}
.price-modal-info strong{display:block;overflow-wrap:anywhere}
.price-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
@media(max-width:700px){.price-modal{padding:18px}.price-modal-info{grid-template-columns:repeat(2,minmax(0,1fr))}.price-modal .field-row{display:block}.price-modal .panel-header{flex-wrap:wrap}}

/* V1.5.2 — Cadastro completo */
.catalog-head-actions{display:flex;gap:9px;flex-wrap:wrap}.catalog-check{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:14px}.catalog-check input{width:17px;height:17px;accent-color:#087c45}.price-modal #catalogForm .field-row{margin-bottom:8px}#catalogRows td:last-child{white-space:nowrap}#catalogRows td:last-child button{margin:2px;padding:8px 10px;font-size:12px}@media(max-width:700px){.page-head{align-items:flex-start;gap:10px;flex-wrap:wrap}.catalog-head-actions{width:100%}}

/* V1.6.1: resumo de precificação e total do orçamento */
.quote-pricing-ok{background:#e8f7ec;border:1px solid #b7dfc3;color:#12643a;border-radius:9px;padding:13px 15px;margin:14px 0;font-weight:600}
.quote-total-highlight{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#eaf7ee;border:1px solid #c3e4ce;border-radius:10px;padding:16px 18px;margin:14px 0;color:#125f38}
.quote-total-highlight strong{font-size:1.5rem;font-variant-numeric:tabular-nums}
@media print{.quote-pricing-ok,.quote-total-highlight{display:none}}

/* V1.7.0 */
.model-modal{max-width:850px;width:min(95vw,850px);max-height:90vh;overflow:auto}.model-form{display:grid;gap:16px}.model-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.model-form .field{min-width:0}.model-form input,.model-form select,.model-form textarea{width:100%;box-sizing:border-box}.model-form h4{margin:8px 0 0;color:#17623f}.model-actions{display:flex;justify-content:flex-end;gap:10px}.model-media-list{display:grid;gap:8px}.model-media-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #dbe8de;border-radius:8px;overflow-wrap:anywhere}@media(max-width:600px){.model-fields{grid-template-columns:1fr}.model-media-row{display:block}}

/* V1.7.11 — composição */
.composition-section{border:1px solid #dbe8de;border-radius:12px;padding:16px;background:#f9fcfa}.composition-group{margin:14px 0}.composition-items{display:grid;gap:7px}.composition-entry{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:9px;border:1px solid #e1e9e3;border-radius:8px;background:white}.composition-entry span{flex:1}.composition-inputs{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:9px;align-items:end;margin-top:10px}.composition-inputs .field{min-width:0}@media(max-width:750px){.composition-inputs{grid-template-columns:1fr}.composition-entry{flex-wrap:wrap}}

/* V1.7.12 — Modelos em lista e exclusão segura por desativação */
.model-list-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.model-list-search{display:block;width:min(440px,100%);padding:11px 13px;margin:2px 0 16px;border:1px solid #cbd6d8;border-radius:8px;background:#fff}.model-list-table{min-width:780px}.model-list-table td{vertical-align:middle}.model-list-table td:last-child{text-align:right}.model-list-table .model-list-desc{margin-top:5px;max-width:340px;line-height:1.4}.model-list-actions{white-space:nowrap}.model-list-actions button{padding:8px 11px;font-size:12px;margin-left:5px}.model-delete-btn{background:#fff6f6;border-color:#e7b9b9;color:#a32929}.model-delete-btn:hover{background:#ffeaea}.model-list-help{font-size:12px;margin:14px 0 0}
/* V1.7.15 - formação de preços */
.pricing-section{margin:20px 0;padding:18px;border:1px solid #cfe5d8;border-radius:12px;background:#f8fcfa}
.pricing-section h4{color:#096143;margin:0 0 8px}
.pricing-preview{margin:12px 0;padding:14px;border-radius:10px;background:#eaf7ef;color:#07583b;display:grid;gap:5px}
.pricing-preview strong:last-of-type{font-size:1.25rem}
.pricing-preview small{font-size:.82rem;color:#52695e}

/* V1.7.16 — editor financeiro de itens */
.quote-item-edit-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.quote-item-edit-card{background:#fff;border-radius:14px;padding:24px;width:min(760px,100%);max-height:92vh;overflow:auto;box-shadow:0 12px 40px #0003}.quote-item-edit-card .field-row{display:flex;flex-wrap:wrap;gap:12px}.quote-item-edit-card .field{flex:1 1 160px}.quote-item-edit-card input{width:100%}

/* V1.7.17 - Formação de preço ao adicionar produto */
.quote-price-editor{margin:14px 0;padding:16px;border:1px solid #cde5d8;border-radius:12px;background:#f7fcf9}
.quote-price-editor h4{margin:0 0 12px;color:#07563f}
.quote-price-summary{padding:10px 12px;border-radius:8px;background:#e7f5ed;color:#07563f;font-weight:600;margin-top:10px}

/* V1.7.18 — acabamentos do item no orçamento */
.quote-colors{margin:12px 0}.quote-color-label{font-size:12px;margin-top:5px;line-height:1.5}.quote-print-table .quote-color-label{font-size:10px;color:#555}

/* V1.7.19: cores na mesma tipografia e peso da descrição, inclusive na impressão */
.quote-color-label,.quote-print-table .quote-color-label{font-size:inherit;font-weight:700;color:inherit;line-height:1.4;margin-top:5px}
.quote-color-label>div{display:block;margin-top:3px}

/* V1.7.20: desenho 2D compacto à esquerda da descrição, inclusive no A4 */
.quote-item-visual{display:flex;align-items:flex-start;gap:10px;min-width:0}
.quote-model-2d{display:block;width:86px;height:105px;object-fit:contain;flex:0 0 86px;background:#fff;border:1px solid #dce6e1;border-radius:4px;padding:3px;box-sizing:border-box}
.quote-item-copy{flex:1;min-width:0;overflow-wrap:anywhere}
.quote-item-copy strong{font-weight:700}
@media print{.quote-item-visual{display:flex!important;align-items:flex-start;gap:7px;break-inside:avoid}.quote-model-2d{width:72px;height:90px;flex-basis:72px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.quote-item-copy{min-width:0}}
/* V1.7.21 — Configurações Gerais */
.setting-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 24px}.setting-tabs button{border:1px solid #cdded3;background:#fff;color:#24533c;padding:10px 14px;border-radius:8px;cursor:pointer}.setting-tabs button.active{background:#07583e;color:white}.setting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0}.setting-grid .field,.field[data-setting]{display:flex;flex-direction:column;gap:6px}.setting-grid input,.setting-grid select,.field select{width:100%;min-height:38px;padding:8px;border:1px solid #cad7ce;border-radius:6px}.setting-check{display:block;margin:12px 0}.settings-user-editor{border:1px solid #d1e2d6;border-radius:10px;padding:18px;margin-top:18px;background:#f8fcf9}.settings-user-editor .error{margin-top:10px}

/* V1.7.24 — Logo da empresa */
.company-logo-editor{border:1px solid #d4e4d9;border-radius:10px;padding:18px;margin:14px 0 18px;background:#f9fcfa}
.company-logo-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:12px}
.company-logo-preview{width:180px;height:115px;background:white;border:1px dashed #aac9b5;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:10px;color:#607d6b;text-align:center;font-size:13px}
.company-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.company-logo-select{display:inline-block;cursor:pointer;margin-right:8px;padding:10px 14px;border-radius:6px}
.quote-company-logo{display:block;max-width:180px;max-height:85px;object-fit:contain;margin-bottom:9px}
@media print{.quote-company-logo{max-height:70px}}

/* V1.7.27: alinhamento da tabela de impressão */
.quote-print-table{table-layout:fixed;width:100%}.quote-print-table th:first-child,.quote-print-table td:first-child{width:6%}.quote-print-table th:nth-child(2),.quote-print-table td:nth-child(2){width:auto;overflow-wrap:anywhere}.quote-print-table th:nth-child(3),.quote-print-table td:nth-child(3){width:16%}.quote-print-table th:nth-child(4),.quote-print-table td:nth-child(4){width:8%;text-align:center}.quote-print-table th:last-child,.quote-print-table td:last-child{width:16%;text-align:right;white-space:nowrap}.quote-print-table th:nth-last-child(2):not(:nth-child(4)),.quote-print-table td:nth-last-child(2):not(:nth-child(4)){width:14%;text-align:right}
@media print{.quote-print-table{font-size:11px}.quote-print-table td,.quote-print-table th{padding:7px 5px}.quote-paper{box-sizing:border-box}}

/* V1.7.31: OS imediatamente abaixo do numero do orcamento */
.os-below-number{max-width:320px;margin:8px 0 14px}.os-below-number .field{width:100%}

/* Numero da OS abaixo do numero do orcamento na impressao */
.quote-paper-number .quote-paper-os{display:block;color:#08744a;font-weight:700;font-size:0.85em;margin-top:5px}
/* V1.7.32 Pedidos / Vendas */
.order-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.order-kpis .panel{padding:16px}.order-kpis h2{margin:10px 0 0;color:#087c45}.order-filters{display:flex;gap:12px;margin:12px 0 18px}.order-filters input{flex:1}.order-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.order-signatures{display:flex;gap:36px;margin-top:80px}.order-signatures>div{flex:1;text-align:center;border-top:1px solid #777;padding-top:10px;font-size:12px}
@media(max-width:800px){.order-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.order-info{grid-template-columns:1fr}}

/* Ajuste de tipografia e alinhamento: Pedidos/Vendas */
#content .order-items-table{width:100%;table-layout:fixed;border-collapse:collapse;min-width:0}
#content .order-items-table th,#content .order-items-table td{padding:10px 9px;vertical-align:top;font-size:13px;line-height:1.45;overflow-wrap:break-word;word-break:normal}
#content .order-items-table th:nth-child(1),#content .order-items-table td:nth-child(1){width:50%;text-align:left}
#content .order-items-table th:nth-child(2),#content .order-items-table td:nth-child(2){width:10%;text-align:center}
#content .order-items-table th:nth-child(3),#content .order-items-table td:nth-child(3){width:20%;text-align:right;white-space:nowrap}
#content .order-items-table th:nth-child(4),#content .order-items-table td:nth-child(4){width:20%;text-align:right;white-space:nowrap}
#content .order-info{gap:8px 25px}#content .order-info p{margin:4px 0;line-height:1.45}
#content #printableOrder .order-signatures{margin-top:36px;break-inside:avoid}
@media print{
 #content #printableOrder{font-size:11px;line-height:1.35}
 #content #printableOrder .quote-paper-top{padding-bottom:12px;margin-bottom:14px}
 #content #printableOrder h2{font-size:16px;margin:12px 0}
 #content #printableOrder h3{font-size:12px;margin:12px 0 7px}
 #content #printableOrder .quote-paper-grid{gap:12px;margin:10px 0}
 #content #printableOrder .quote-paper-grid p{margin:4px 0}
 #content #printableOrder .order-items-table{width:100%!important;table-layout:fixed!important;min-width:0!important}
 #content #printableOrder .order-items-table th,#content #printableOrder .order-items-table td{font-size:10px!important;padding:6px 7px!important;line-height:1.3!important}
 #content #printableOrder .quote-paper-totals{margin:12px 0 14px auto}
 #content #printableOrder .order-signatures{margin-top:34px}
}

/* Dados completos do cliente no detalhamento e PDF do pedido */
.order-client-detail{grid-column:1/-1;padding:8px 0 12px;border-bottom:1px solid #e3eae5}
.order-client-detail h3{color:#07613e;margin:0 0 8px}
.order-client-detail p,#printableOrder .quote-paper-grid p{overflow-wrap:anywhere;line-height:1.5;margin:5px 0}
@media print{#printableOrder .quote-paper-grid p{font-size:10px;line-height:1.35;margin:3px 0}}


/* Vitro Gestão V1.7.34: visual shell + dashboard. Other modules retain existing markup and logic. */
:root{--vitro:#087d73;--vitro-dark:#203b3a;--vitro-muted:#8a9998;--vitro-line:#e3eae9;--vitro-bg:#f5f8f8}body{background:var(--vitro-bg);color:var(--vitro-dark)}#app{background:var(--vitro-bg)}
.sidebar{width:220px;position:sticky;top:0;height:100vh;min-height:0;overflow-y:auto;background:#fff;color:#718281;border-right:1px solid var(--vitro-line);padding:22px 12px;gap:12px}
.sidebar .brand{padding:0 6px;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0 0 9px}.vitro-logo{width:100%;height:auto;max-height:95px;object-fit:contain}.vitro-brand-subtitle{font-size:10px!important;letter-spacing:.7px;text-align:center;color:#879a98;margin-top:-6px}.vitro-company{display:flex;align-items:center;gap:9px;background:#f6f8f8;border:1px solid var(--vitro-line);border-radius:9px;padding:10px 7px;font-size:11px}.vitro-company-icon{background:#dff2ee;border-radius:8px;padding:10px 7px;color:#086b63;font-weight:800}.vitro-company small{display:block;color:#9aabaa;font-size:10px;margin-top:3px}.vitro-menu-caption{font-size:9px;letter-spacing:1.3px;color:#9ba9a8;padding:10px 6px 0}
.sidebar nav{gap:2px}.sidebar nav button{font-size:12px;padding:10px 9px;color:#718281;border-radius:8px;gap:10px}.sidebar nav button .ico{font-size:17px;width:19px}.sidebar nav button.active,.sidebar nav button:hover{background:#e4f4ef;color:#086c63;font-weight:700}.sidebar .modules{margin-top:auto;border:0;background:#e4f4ef;border-radius:10px;padding:13px;color:#236d65}.sidebar .modules p{font-size:11px;line-height:1.6;color:#829390}
#app main{padding:0;min-width:0}#app main>header{background:#fff;border-bottom:1px solid var(--vitro-line);padding:15px 25px;margin:0;min-height:76px}#app main>header h1{font-size:15px;letter-spacing:0}#app main>header p{font-size:11px;color:#8c9b99}#app main>header .header-right input{border:0;background:#f5f7f7;font-size:12px}#app main>header .avatar{background:#087d73}#app main>header .bell{color:#087d73}#app main>#content{padding:24px 25px}#app main>footer{padding:14px 25px;color:#9daaa9;font-size:11px}
.vitro-dashboard{font-size:12px}.vitro-dashboard h3{font-size:14px;margin:0}.vitro-dashboard p{margin:5px 0;color:var(--vitro-muted)}.vitro-welcome{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.vitro-welcome h1{font-size:24px}.vitro-welcome p{font-size:12px}.vitro-actions{display:flex;gap:8px}.vitro-actions button{padding:11px 15px;border-radius:8px}.vitro-actions .primary{background:var(--vitro);border-color:var(--vitro)}
.vitro-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.vitro-metric,.vitro-panel{background:#fff;border:1px solid var(--vitro-line);border-radius:11px}.vitro-metric{min-height:125px;padding:17px}.vitro-metric:first-child{border-color:#bde0d8}.vitro-metric-title{display:flex;align-items:center;gap:9px;color:#82918f;font-size:11px}.vitro-metric-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e4f4ef;color:#087d73;font-size:17px}.vitro-metric strong{display:block;font-size:25px;margin:9px 0}.vitro-metric small{color:#8a9998;font-size:10px}.vitro-upper,.vitro-middle{display:grid;gap:16px;margin-bottom:16px}.vitro-upper{grid-template-columns:1.75fr 1fr}.vitro-middle{grid-template-columns:1.85fr .9fr}.vitro-panel{padding:18px;min-width:0}.vitro-panelhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.vitro-panelhead p{font-size:11px}.vitro-chip{border:1px solid var(--vitro-line);padding:7px 10px;border-radius:6px;color:#82918f;font-size:11px}.vitro-chart-empty,.vitro-empty{min-height:195px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;color:#718281}.vitro-chart-empty>span,.vitro-empty>span{font-size:32px;color:#087d73}.vitro-chart-empty p,.vitro-empty p{max-width:360px;font-size:11px}.vitro-chart-empty button,.vitro-link{background:transparent;border:0;color:#087d73;font-weight:700;font-size:11px;cursor:pointer}.vitro-chart-empty button{border:1px solid #bde0d8;border-radius:7px;padding:8px 12px}.vitro-recent{padding:0;overflow:hidden}.vitro-recent .vitro-panelhead{padding:18px;margin:0}.vitro-tablewrap{overflow-x:auto}.vitro-recent table{width:100%;border-collapse:collapse;font-size:11px}.vitro-recent th{background:#f8faf9;color:#82918f;font-weight:400;text-align:left;padding:12px}.vitro-recent td{border-top:1px solid var(--vitro-line);padding:12px}.vitro-recent td small{display:block;color:#98a6a4;margin-top:4px}.vitro-code{color:#087d73;font-weight:700}.vitro-status{display:inline-block;background:#e5f4ee;color:#158879;border-radius:6px;padding:5px 8px}.vitro-no-data{text-align:center;color:#8a9998}.vitro-rightstack{display:flex;flex-direction:column;gap:14px}.vitro-alert{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--vitro-line)}.vitro-alert>span{color:#f0a523}.vitro-alert:nth-of-type(3)>span{color:#078b67}.vitro-alert small{display:block;color:#899a98;margin-top:4px}.vitro-goal{padding:17px;background:#e4f4ee;border:1px solid #d0e8e0;border-radius:10px}.vitro-goal>div:first-child{display:flex;justify-content:space-between;gap:8px}.vitro-goal strong{font-size:17px;color:#087d73}.vitro-goal small{color:#236d65}.vitro-progress{height:7px;border-radius:8px;background:#cfe5de;margin:15px 0}.vitro-calendar{margin-bottom:16px}.vitro-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.vitro-daylabel{text-align:center;background:#f9fbfb;border:1px solid var(--vitro-line);border-radius:7px;padding:9px;color:#82918f}.vitro-day{min-height:65px;background:#f9fbfb;border:1px solid var(--vitro-line);border-radius:7px;padding:10px}.vitro-day b{font-size:17px}.vitro-day small{display:block;color:#9ba9a8}.vitro-calendar-note{font-size:10px!important;margin-top:12px!important}.vitro-calc{margin-bottom:16px}.vitro-shortcuts{padding:16px;background:#fff;border:1px solid var(--vitro-line);border-radius:10px}.vitro-shortcuts>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.vitro-shortcuts button{background:#f5f8f8;color:#087d73;border:1px solid #dbe8e4;border-radius:8px;padding:9px 12px}
@media(max-width:1100px){.vitro-upper,.vitro-middle{grid-template-columns:1fr}.vitro-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{position:fixed;height:100vh;z-index:20;width:230px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}#app main>header{padding:12px}#app main>#content{padding:15px}.vitro-welcome{align-items:flex-start;flex-direction:column}.vitro-welcome h1{font-size:21px}.vitro-metrics{gap:8px}.vitro-metric{padding:12px}.vitro-metric strong{font-size:20px}.vitro-days{gap:3px}.vitro-day{padding:5px;min-height:55px}.vitro-daylabel{padding:7px 0;font-size:9px}}
@media print{.sidebar,#app main>header,.vitro-dashboard{display:none!important}}

/* V1.7.35 — Ações compactas de orçamentos */
.quote-action-cell{text-align:center!important;white-space:nowrap}.quote-action-icons{display:flex;justify-content:center;align-items:center;gap:7px}.quote-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:filter .15s,transform .15s}.quote-icon-btn:hover:not(:disabled){filter:brightness(.94);transform:translateY(-1px)}.quote-icon-btn:focus-visible{outline:2px solid #087d73;outline-offset:2px}.quote-icon-btn:disabled{opacity:.4;cursor:not-allowed}.quote-icon-edit{background:#e7f4ed;color:#167044;border-color:#c5dfcf}.quote-icon-print{background:#e6f0fb;color:#2563a6;border-color:#c9dbf3}.quote-icon-delete{background:#fce8e8;color:#c53030;border-color:#f1caca}

/* V1.7.37: indicadores e agenda reais do Dashboard */
.vitro-agenda-item{padding:13px 4px;border-bottom:1px solid #e3eae9;display:flex;flex-direction:column;gap:5px}.vitro-agenda-item small{color:#809390}.vitro-alert-action{border:0;background:transparent;width:100%;text-align:left;cursor:pointer;font:inherit}.vitro-alert-action:hover{background:#f5f8f8}.vitro-day-event{display:block;margin-top:6px;color:#087d73;font-weight:700}

/* V1.7.38 - Agenda e calculadora compacta */
.vitro-upper{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(270px,1fr)}
.vitro-upper .vitro-calc{margin-bottom:0;padding:14px}
.vitro-upper .vitro-calc .vitro-panelhead{margin-bottom:8px}
.vitro-upper .vitro-calc .tabs{margin-bottom:8px}
.vitro-upper .vitro-calc input,.vitro-upper .vitro-calc select{max-width:100%}
.vitro-middle{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.vitro-recent td,.vitro-recent th{padding:9px}
.vitro-day{min-width:0;overflow:hidden}
.vitro-day-client{font-size:10px;line-height:1.35;background:#e4f4ee;color:#087d73;border-radius:5px;padding:4px 5px;margin-top:5px;overflow-wrap:anywhere}
@media(max-width:1350px){.vitro-upper{grid-template-columns:repeat(2,minmax(0,1fr))}.vitro-upper .vitro-calc{grid-column:1/-1}}
@media(max-width:800px){.vitro-upper,.vitro-middle{grid-template-columns:1fr}.vitro-upper .vitro-calc{grid-column:auto}}

/* V1.7.39 — Calculadora ao lado de Orçamentos recentes, mesma altura */
.vitro-upper{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.vitro-middle{grid-template-columns:minmax(0,1.2fr) minmax(300px,.92fr) minmax(245px,.85fr);align-items:stretch}
.vitro-middle>.vitro-recent,.vitro-middle>.vitro-calc,.vitro-middle>.vitro-rightstack{height:370px;min-height:0}
.vitro-middle>.vitro-calc{margin:0;padding:14px;overflow-y:auto;overscroll-behavior:contain}
.vitro-middle>.vitro-calc .vitro-panelhead{margin-bottom:8px}
.vitro-middle>.vitro-calc .tabs{margin-bottom:8px}
.vitro-middle>.vitro-calc input,.vitro-middle>.vitro-calc select{max-width:100%}
.vitro-middle>.vitro-recent{overflow:auto}
.vitro-middle>.vitro-rightstack{overflow:auto}
.vitro-recent td,.vitro-recent th{padding:9px}
@media(max-width:1350px){.vitro-middle{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}.vitro-middle>.vitro-rightstack{grid-column:1/-1;height:auto;overflow:visible;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}}
@media(max-width:800px){.vitro-middle{grid-template-columns:1fr}.vitro-middle>.vitro-recent,.vitro-middle>.vitro-calc{height:auto;max-height:410px}.vitro-middle>.vitro-rightstack{grid-column:auto;grid-template-columns:1fr}}

/* V1.7.40 — calendário no mesmo cartão da antiga Agenda de hoje */
.vitro-upper>.vitro-calendar-compact{margin-bottom:0;min-width:0;overflow:hidden}
.vitro-calendar-compact .vitro-days{gap:4px}
.vitro-calendar-compact .vitro-daylabel{padding:6px 2px;font-size:10px}
.vitro-calendar-compact .vitro-day{padding:6px 4px;min-height:90px;max-height:190px;overflow-y:auto}
.vitro-calendar-compact .vitro-day b{font-size:13px}
.vitro-calendar-compact .vitro-day small{font-size:9px}
.vitro-calendar-compact .vitro-day-client{font-size:9px;padding:3px;margin-top:3px}
.vitro-calendar-compact .vitro-calendar-note{margin-bottom:0}
@media(max-width:700px){.vitro-calendar-compact .vitro-days{gap:2px}.vitro-calendar-compact .vitro-day{padding:4px 2px;min-height:70px}.vitro-calendar-compact .vitro-day-client{font-size:8px}}

/* V1.7.41 — duas linhas de tres cartoes iguais, preservando a altura por linha */
.vitro-row-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch;margin-bottom:16px}
.vitro-row-three>.vitro-panel,.vitro-row-three>.vitro-shortcuts{min-width:0;margin:0;height:360px;min-height:0;box-sizing:border-box;overflow:auto}
.vitro-row-primary>.vitro-calc{padding:14px;overscroll-behavior:contain}
.vitro-row-primary>.vitro-calc .vitro-panelhead{margin-bottom:8px}
.vitro-row-primary>.vitro-recent{overflow:auto}
.vitro-row-secondary>.vitro-calendar-compact{overflow:auto}
.vitro-row-secondary .vitro-days{gap:3px}
.vitro-row-secondary .vitro-day{min-height:72px;padding:5px 3px}
.vitro-row-secondary .vitro-daylabel{padding:6px 2px}
.vitro-row-secondary .vitro-shortcuts>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vitro-row-secondary .vitro-shortcuts button{font-size:11px;min-width:0;padding:10px 5px}
.vitro-goal-row{margin-bottom:16px}
@media(max-width:1150px){.vitro-row-three{grid-template-columns:repeat(2,minmax(0,1fr))}.vitro-row-three>.vitro-panel,.vitro-row-three>.vitro-shortcuts{height:360px}}
@media(max-width:700px){.vitro-row-three{grid-template-columns:minmax(0,1fr)}.vitro-row-three>.vitro-panel,.vitro-row-three>.vitro-shortcuts{height:auto;max-height:400px;min-height:220px}}

/* V1.7.43 — quatro semanas no mesmo cartão de 360px */
.vitro-row-secondary .vitro-calendar-compact{overflow:hidden;display:flex;flex-direction:column}
.vitro-row-secondary .vitro-calendar-compact .vitro-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:25px repeat(4,49px);gap:3px;flex:0 0 auto}
.vitro-row-secondary .vitro-calendar-compact .vitro-day{min-width:0;min-height:0;height:49px;max-height:49px;padding:3px 4px;overflow-y:auto}
.vitro-row-secondary .vitro-calendar-compact .vitro-day b{font-size:11px}
.vitro-row-secondary .vitro-calendar-compact .vitro-day small{font-size:8px}
.vitro-row-secondary .vitro-calendar-compact .vitro-day-client{font-size:8px;line-height:1.15;padding:2px;overflow-wrap:anywhere}
.vitro-row-secondary .vitro-calendar-compact .vitro-daylabel{padding:4px 1px;font-size:9px}
.vitro-row-secondary .vitro-calendar-compact .vitro-calendar-note{font-size:10px;margin-top:6px}
@media(max-width:700px){.vitro-row-secondary .vitro-calendar-compact .vitro-days{gap:2px}.vitro-row-secondary .vitro-calendar-compact .vitro-day{padding:2px}}

/* V1.7.44 — cartões interativos do Acesso rápido */
.vitro-row-secondary .vitro-shortcuts{padding:16px;overflow:hidden}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-card{--accent:#087d68;--tint:#e1f3ed;min-width:0;min-height:132px;padding:11px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#f8faf9;border:1px solid #dce9e5;border-radius:11px;color:#203b36;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;cursor:pointer}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-card:hover{transform:translateY(-3px);border-color:var(--accent);background:#fff;box-shadow:0 6px 18px #163d3320}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-icon{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--accent);flex:none}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-name{font-size:11px;font-weight:700;line-height:1.2;text-align:center}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-card small{font-size:9px;color:#7b8d88;text-align:center;line-height:1.2}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-vendas{--accent:#2563a6;--tint:#e5f0fc}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-clientes{--accent:#7951b2;--tint:#f0eafe}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-produtos{--accent:#b76b17;--tint:#fff1de}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-estoque{--accent:#16815b;--tint:#e5f5ef}
.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-relatorios{--accent:#bc465a;--tint:#fce9eb}
@media(max-width:700px){.vitro-row-secondary .vitro-shortcuts{height:auto!important;max-height:none!important}.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-card{min-height:115px}}
@media(prefers-reduced-motion:reduce){.vitro-row-secondary .vitro-shortcuts .vitro-shortcut-card{transition:none}}

/* V1.7.45 — seis atalhos visíveis sem rolagem na janela de 360px */
@media (min-width:701px){
 .vitro-row-secondary .vitro-shortcuts{height:360px;overflow:hidden;padding:13px 15px}
 .vitro-row-secondary .vitro-shortcuts .vitro-shortcut-grid{margin-top:9px;gap:7px;grid-template-rows:repeat(3,minmax(0,1fr));height:calc(100% - 31px)}
 .vitro-row-secondary .vitro-shortcuts .vitro-shortcut-card{min-height:0;height:100%;padding:5px 6px;gap:3px;border-radius:9px}
 .vitro-row-secondary .vitro-shortcuts .vitro-shortcut-icon{width:33px;height:33px;border-radius:9px}
 .vitro-row-secondary .vitro-shortcuts .vitro-shortcut-icon svg{width:20px;height:20px}
 .vitro-row-secondary .vitro-shortcuts .vitro-shortcut-name{font-size:10px;line-height:1.15}
 .vitro-row-secondary .vitro-shortcuts .vitro-shortcut-card small{font-size:8px;line-height:1.1}
}

/* V1.7.47: centralização dos cabeçalhos de ações e ícones padronizados */
th.actions-heading{text-align:center!important;vertical-align:middle}
.model-list-table td.model-list-actions{text-align:center!important}
.model-list-actions .quote-icon-btn{margin-left:0;padding:0;font-size:inherit}

/* V1.7.49 — Cabeçalho Ação e botões centralizados na mesma coluna */
#content th.quote-actions-column,#content td.quote-actions-column{width:160px;min-width:160px;max-width:160px;box-sizing:border-box;text-align:center!important;vertical-align:middle}
#content td.quote-actions-column .quote-action-icons{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;margin:0 auto}

/* V1.7.50 — Documentos: tipografia preta e linhas cinza, inclusive na prévia */
.quote-paper, .quote-paper h1, .quote-paper h2, .quote-paper h3,
.quote-paper .quote-paper-brand, .quote-paper .quote-paper-number,
.quote-paper .quote-paper-number strong, .quote-paper .quote-paper-number span,
.quote-paper .quote-paper-os, .quote-paper .quote-sub,
.quote-paper .quote-paper-totals strong, .quote-paper .quote-paper-footer,
.quote-paper .quote-print-table th, .quote-paper .quote-print-table td,
.quote-paper .order-items-table th, .quote-paper .order-items-table td {color:#111111!important}
.quote-paper .quote-paper-top{border-bottom-color:#9ca3af!important}
.quote-paper .quote-print-table th, .quote-paper .order-items-table th{background:#f2f2f2!important;color:#111111!important}
.quote-paper .quote-print-table td, .quote-paper .quote-print-table th,
.quote-paper .order-items-table td, .quote-paper .order-items-table th,
.quote-paper .quote-paper-totals p, .quote-paper .quote-commercial,
.quote-paper .quote-paper-footer, .quote-paper .order-signatures>div{border-color:#c4c4c4!important}
@media print{
 .quote-paper, .quote-paper *{color:#111111!important}
 .quote-paper .quote-paper-top{border-bottom-color:#9ca3af!important}
 .quote-paper .quote-print-table th, .quote-paper .order-items-table th{background:#f2f2f2!important}
 .quote-paper .quote-print-table th, .quote-paper .quote-print-table td,
 .quote-paper .order-items-table th, .quote-paper .order-items-table td,
 .quote-paper .quote-paper-totals p, .quote-paper .quote-commercial,
 .quote-paper .quote-paper-footer, .quote-paper .order-signatures>div{border-color:#c4c4c4!important}
}


/* V1.7.51 — somente botões textuais de ações gerais; não altera ícones de tabelas, navegação ou atalhos. */
button.primary:not(td button):not(th button):not(.client-actions button):not(.model-list-actions button):not(.vitro-shortcuts button):not(.quick button):not(.sidebar button):not(.tabs button),
button.secondary:not(td button):not(th button):not(.client-actions button):not(.model-list-actions button):not(.vitro-shortcuts button):not(.quick button):not(.sidebar button):not(.tabs button){
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:38px;height:38px;padding:0 13px;
  width:auto;max-width:100%;border-radius:9px;
  font-size:12px;font-weight:700;line-height:1.2;text-align:center;vertical-align:middle;
  white-space:nowrap;
}
button.primary:not(td button):not(.client-actions button):not(.model-list-actions button){background:#008a84;color:#fff;border:1px solid #008a84}
button.secondary:not(td button):not(.client-actions button):not(.model-list-actions button){background:#f0f8f3;color:#176944;border:1px solid #b9dac9}
button.primary:hover{filter:brightness(.95)}
@media(max-width:480px){button.primary,button.secondary{white-space:normal;height:auto;min-height:38px}}
/* V1.7.52 — Produção */
.prod-module{display:grid;gap:16px}.prod-toolbar,.prod-head,.prod-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.prod-toolbar h2{margin:0}.prod-toolbar p{margin:4px 0 0}.prod-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.prod-metric,.prod-order,.prod-create,.prod-stage-list,.prod-empty{background:#fff;border:1px solid #dce9e5;border-radius:12px;padding:16px}.prod-metric{display:grid;gap:10px}.prod-metric small{color:#647b77}.prod-metric strong{font-size:27px;color:#173d37}.prod-tabs{display:flex;gap:8px;flex-wrap:wrap}.prod-filters{display:grid;grid-template-columns:1fr 180px;gap:10px}.prod-filters input,.prod-filters select,.prod-create input,.prod-create select,.prod-create textarea{width:100%;box-sizing:border-box;min-height:38px}.prod-orders{display:grid;gap:12px}.prod-order{display:grid;gap:10px}.prod-order p{margin:0;color:#617874;font-size:13px}.prod-status{background:#e6f5ef;color:#176944;border-radius:15px;padding:4px 10px;font-size:12px}.prod-head small{color:#627a76}.prod-progress{height:8px;background:#e6eeeb;border-radius:10px;overflow:hidden}.prod-progress>div{height:100%;background:#008a84}.prod-bottom span{font-size:13px;color:#617874}.prod-detail{background:#f5faf8;border-radius:9px;padding:12px;display:grid;gap:6px}.prod-detail p{margin:0}.prod-create form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prod-create label{display:grid;gap:5px;font-size:13px;font-weight:600}.prod-create label:nth-child(5),.prod-create form>div{grid-column:1/-1}.prod-warning{background:#fff3e4;color:#8d4b00;border:1px solid #eac894;padding:12px;border-radius:8px}.prod-stage-list{display:grid;gap:14px}.prod-stage-list>div{display:flex;align-items:center;gap:12px}.prod-stage-list span{background:#e1f3ed;color:#087d68;padding:8px;border-radius:8px}.prod-stage-list small{color:#657a76}@media(max-width:750px){.prod-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.prod-filters,.prod-create form{grid-template-columns:1fr}}

/* V1.7.53 - Ficha de produção */
.prod-detail-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.prod-detail-title>div{display:flex;gap:8px;flex-wrap:wrap}.prod-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#fff;border:1px solid #dce9e5;border-radius:9px;padding:14px}.prod-edit label{display:grid;gap:5px;font-weight:600;font-size:13px}.prod-edit input,.prod-edit textarea{width:100%;box-sizing:border-box;min-height:38px}.prod-wide{grid-column:1/-1}.prod-items-table{overflow-x:auto}.prod-items-table table{border-collapse:collapse;width:100%;background:white}.prod-items-table th,.prod-items-table td{padding:10px;text-align:left;border:1px solid #dce9e5;font-size:13px}.prod-items-table th{background:#edf3f1;color:#244942}.prod-items-table td:last-child{white-space:nowrap}.prod-items-wrap h4{margin:12px 0 6px}@media(max-width:700px){.prod-edit{grid-template-columns:1fr}}

/* V1.7.54 - ficha técnica da produção */
.prod-tech-item{background:#fff;border:1px solid #d9e8e3;border-radius:9px;padding:14px;margin:12px 0}.prod-tech-item h4{margin:0 0 8px}.prod-tech-item h5{margin:14px 0 7px}.prod-material-table{width:100%;border-collapse:collapse;font-size:13px}.prod-material-table th,.prod-material-table td{border:1px solid #dce8e4;padding:8px;text-align:left}.prod-material-table th{background:#f0f6f3}.prod-check{font-size:19px}.prod-drawings{display:flex;flex-wrap:wrap;gap:12px}.prod-drawings a{display:flex;flex-direction:column;gap:5px;max-width:180px;color:#087c72;text-decoration:none;font-size:12px;overflow-wrap:anywhere}.prod-drawings img{max-width:180px;max-height:125px;object-fit:contain;border:1px solid #dce8e4;border-radius:6px}

/* V1.7.58: cotas individuais para imagens técnicas de orçamentos e pedidos */
.vitro-dim-drawing{display:inline-flex;flex-direction:column;align-items:flex-end;max-width:100%;vertical-align:top;margin:6px 8px 6px 0;color:#253c3b}
.vitro-dim-width{width:150px;box-sizing:border-box;text-align:center;font-size:10px;font-weight:700;line-height:16px;border-bottom:1px solid #444;position:relative;margin-bottom:5px}
.vitro-dim-width:before,.vitro-dim-width:after{content:"";position:absolute;bottom:-4px;height:8px;border-left:1px solid #444}.vitro-dim-width:before{left:0}.vitro-dim-width:after{right:0}
.vitro-dim-body{display:flex;align-items:center;gap:5px}.vitro-dim-height{height:125px;width:19px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-left:1px solid #444;position:relative}.vitro-dim-height span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:700;white-space:nowrap}.vitro-dim-height:before,.vitro-dim-height:after{content:"";position:absolute;left:-4px;width:8px;border-top:1px solid #444}.vitro-dim-height:before{top:0}.vitro-dim-height:after{bottom:0}
.vitro-dim-drawing img.quote-model-2d{display:block!important;width:150px!important;max-width:150px!important;height:125px!important;max-height:125px!important;object-fit:contain!important;margin:0!important}
.vitro-order-drawing{display:inline-block;vertical-align:top;border:1px solid #d4dedd;padding:7px;margin:8px 10px 8px 0;break-inside:avoid;page-break-inside:avoid;max-width:210px}.vitro-order-drawing>b{display:block;font-size:11px;margin-bottom:4px}
@media print{.vitro-order-drawing{border-color:#aaa}.vitro-dim-drawing{break-inside:avoid;page-break-inside:avoid}}
/* V1.7.59 */.pj-module{display:grid;gap:16px}.pj-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pj-head h2{margin:0}.pj-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pj-metrics>div,.pj-card{background:white;border:1px solid #dce8e5;border-radius:10px;padding:15px}.pj-metrics small{display:block;color:#60746f}.pj-metrics strong{font-size:26px;color:#173c37}.pj-filters{display:flex;gap:10px;margin-bottom:14px}.pj-filters input{flex:1}.pj-card{margin-bottom:10px}.pj-card h4{margin:10px 0}.pj-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.pj-form label{display:grid;gap:5px}.pj-form input,.pj-form select,.pj-form textarea{width:100%;box-sizing:border-box}.pj-wide{grid-column:1/-1}.pj-preview{text-align:center;background:#fbfdfc;border:1px solid #e1ebe8;border-radius:10px;padding:15px}.pj-error{background:#fff4e9;padding:12px;color:#8a4512}@media(max-width:700px){.pj-metrics{grid-template-columns:repeat(2,1fr)}.pj-form{grid-template-columns:1fr}}

/* V1.7.60: cotas sobre imagem 2D cadastrada */
.pj-real-drawing{display:inline-block;max-width:360px;margin:12px auto}.pj-dim-top{border-bottom:1px solid #64748b;text-align:center;margin:0 0 8px 27px;padding:3px;font-weight:600;font-size:13px}.pj-dim-body{display:flex;align-items:center;gap:10px}.pj-dim-side{writing-mode:vertical-rl;transform:rotate(180deg);border-left:1px solid #64748b;padding:5px;font-size:13px;font-weight:600}.pj-dim-body img{max-width:300px;max-height:260px;object-fit:contain;border:1px solid #e1e8e5;border-radius:4px}

/* V1.7.61 Estoque */
.st-module{display:grid;gap:16px}.st-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.st-head h2{margin:0}.st-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.st-metrics>div{background:white;border:1px solid #dce8e5;border-radius:10px;padding:16px}.st-metrics small{display:block;color:#60746f}.st-metrics strong{font-size:26px;color:#173c37}.st-tabs{display:flex;gap:8px}.st-filters{display:flex;gap:10px;margin-bottom:12px}.st-filters input{flex:1}.st-scroll{overflow-x:auto}.st-table{width:100%;border-collapse:collapse}.st-table th,.st-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e9e6}.st-table th{background:#f1f7f5}.st-pill{padding:5px 10px;border-radius:18px;font-size:12px}.st-ok{background:#e0f3ea;color:#176944}.st-low{background:#fff0cf;color:#805200}.st-empty{background:#fce8e8;color:#a42626}.st-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.st-form label{display:grid;gap:5px}.st-form input,.st-form select{width:100%;box-sizing:border-box}.st-wide{grid-column:1/-1}.st-error{background:#fff2e5;color:#8b3e12;padding:12px;border-radius:8px}@media(max-width:700px){.st-metrics{grid-template-columns:repeat(2,1fr)}.st-form{grid-template-columns:1fr}.st-filters{flex-wrap:wrap}}

/* V1.7.62 — ações do estoque */
.st-table .st-action-head,.st-table .st-actions{text-align:center;white-space:nowrap}.st-edit{padding:7px 12px;font-size:12px;min-height:34px}.st-readonly{border:1px solid #dce8e5;background:#f5f9f8;padding:9px 12px;border-radius:7px;margin-top:5px}

/* V1.7.63 */
.prod-stock{background:#fff;border:1px solid #dce9e5;border-radius:9px;padding:12px;margin:12px 0}.prod-stock h4{margin:0 0 8px}.prod-stock-form{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.prod-stock-form select{flex:1;min-width:190px}.prod-stock-form input{width:125px}.prod-stock-form input,.prod-stock-form select{min-height:38px}.prod-stock td button{margin:2px}.prod-stock .prod-items-table{overflow-x:auto}

/* Financeiro V1.7.65 */
.fin{padding:4px 0}.fin-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.fin-head h2{margin:0}.fin-head p{color:#63777a;margin:5px 0}.fin-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.fin-card{background:#fff;border:1px solid #d7e6e3;border-radius:12px;padding:17px;display:flex;flex-direction:column;gap:9px}.fin-card small{color:#536d6c}.fin-card strong{font-size:21px;color:#173f3b}.fin-tabs,.fin-actions,.fin-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.fin-toolbar input{flex:1;min-width:190px}.fin-scroll{overflow-x:auto}.fin-scroll table{width:100%;border-collapse:collapse}.fin-scroll th,.fin-scroll td{padding:12px 10px;border-bottom:1px solid #dbe6e3;text-align:left}.fin-scroll th{background:#eef5f3}.fin-scroll td small{display:block;color:#647977}.fin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fin-fields label{display:flex;flex-direction:column;gap:5px}.fin-fields input,.fin-fields select{width:100%;min-height:36px}.fin-error{color:#a42626;background:#fff2f2;padding:10px;border-radius:8px}@media(max-width:850px){.fin-cards,.fin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.fin-cards,.fin-fields{grid-template-columns:1fr}}

/* V1.7.66 — Resumo do fluxo de caixa por mês */
.fin-flow-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.fin-flow-head h3{margin-top:0}.fin-month-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#456560}.fin-month-label input{min-height:36px;padding:6px 9px;border:1px solid #c9dbd6;border-radius:7px}.fin-flow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}.fin-flow-summary>div{background:#f5faf8;border:1px solid #d7e6e3;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px}.fin-flow-summary small{color:#536d6c}.fin-flow-summary strong{font-size:19px;color:#173f3b}@media(max-width:650px){.fin-flow-summary{grid-template-columns:1fr}}

/* V1.7.67 — condições comerciais */
.order-commercial-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.order-payment-summary{margin:14px 0;padding:12px;border:1px solid #d8e8e2;border-radius:9px;background:#f5faf8}.order-payment-summary p{margin:5px 0}@media(max-width:680px){.order-commercial-fields{grid-template-columns:1fr}}

/* V1.7.68: Orçamentos — mesma grade comercial de Pedidos/Vendas */
.quote-commercial-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;grid-column:1/-1;margin:4px 0 10px}
.quote-commercial-fields .field{min-width:0;grid-column:auto}
.quote-commercial-fields input,.quote-commercial-fields select{width:100%;box-sizing:border-box;min-height:40px}
@media(max-width:650px){.quote-commercial-fields{grid-template-columns:1fr}}
/* V1.7.70 — Relatórios */
.rp-module{padding:6px 0 20px}.rp-head,.rp-panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.rp-head h2{margin:0 0 5px;color:#213f3d}.rp-head p{margin:0}.rp-actions{display:flex;gap:8px}.rp-toolbar{margin:20px 0 15px;display:flex;align-items:end;gap:16px;flex-wrap:wrap}.rp-toolbar label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#365652}.rp-toolbar input{height:38px;border:1px solid #c8dcd5;border-radius:8px;padding:6px 10px}.rp-toolbar small{color:#627a76;max-width:650px}.rp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.rp-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.rp-metric{background:white;border:1px solid #d3e5df;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}.rp-metric small{color:#54716c;font-size:13px}.rp-metric strong{font-size:21px;color:#1c4540;overflow-wrap:anywhere}.rp-metric span{color:#66817b;font-size:12px}.rp-panel{padding:16px}.rp-panel-title{margin-bottom:14px}.rp-panel-title h3{margin:0}.rp-panel-title span{font-size:12px;color:#64807a}.rp-scroll{overflow-x:auto}.rp-table{width:100%;border-collapse:collapse;font-size:13px}.rp-table th{text-align:left;background:#edf5f2;color:#284a43}.rp-table td,.rp-table th{padding:12px;border-bottom:1px solid #dce9e4;white-space:nowrap}.rp-warning{padding:12px;background:#fff7e6;border:1px solid #eacb89;border-radius:8px}.rp-note{margin-top:12px}@media(max-width:900px){.rp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.rp-metrics{grid-template-columns:1fr}.rp-actions{width:100%}}

/* V1.7.72: cores por prazo; nomes dos clientes preservados */
.vitro-day-client.vitro-day-client-atrasado{background:#fde8e8;color:#a92720;border:1px solid #f0b9b9}
.vitro-day-client.vitro-day-client-hoje{background:#fff1c7;color:#805500;border:1px solid #e8cb78}
.vitro-day-client.vitro-day-client-futuro{background:#dff5e8;color:#146c43;border:1px solid #a9ddbf}

/* V1.7.74 — central de alertas do cabeçalho */
.vitro-notify-trigger{position:relative;border:0;background:transparent;color:#008a84;cursor:pointer;padding:3px;border-radius:8px;flex:none}.vitro-notify-trigger:hover{background:#e9f6f0}.vitro-notify-count{position:absolute;right:-5px;top:-7px;background:#d92d20;color:white;font:700 10px/1.5 Arial,sans-serif;border-radius:12px;min-width:17px;padding:0 3px;text-align:center}.vitro-notify-count[hidden],.vitro-notify-panel[hidden]{display:none!important}.vitro-notify-panel{position:fixed;right:30px;top:75px;width:min(410px,calc(100vw - 24px));max-height:min(70vh,580px);overflow:auto;background:#fff;box-shadow:0 14px 42px #183e3540;border:1px solid #d6e8e0;border-radius:12px;z-index:2000}.vitro-notify-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #e8efeb}.vitro-notify-head strong{flex:1;color:#1d4036}.vitro-notify-head button{border:0;background:transparent;cursor:pointer;font-size:19px;color:#457366}.vitro-notify-list{max-height:430px;overflow:auto}.vitro-notify-item{display:flex;width:100%;text-align:left;gap:10px;align-items:flex-start;border:0;border-bottom:1px solid #edf1ef;background:white;padding:13px 16px;cursor:pointer;color:#243a33}.vitro-notify-item:hover{background:#f5faf7}.vitro-notify-item strong{display:block;font-size:13px;line-height:1.4}.vitro-notify-item small{display:block;color:#647a72;font-size:12px;margin-top:4px}.vitro-notify-dot{width:10px;height:10px;flex:none;border-radius:50%;margin-top:4px;background:#e2a325}.vitro-notify-overdue .vitro-notify-dot{background:#d92d20}.vitro-notify-today .vitro-notify-dot{background:#e4ac25}.vitro-notify-stock .vitro-notify-dot{background:#c47b14}.vitro-notify-error .vitro-notify-dot{background:#8d99a3}.vitro-notify-foot{font-size:11px;color:#758a81;padding:9px 16px;margin:0}.vitro-notify-empty{padding:20px;text-align:center;color:#647a72}@media(max-width:600px){.vitro-notify-panel{right:12px;top:66px}}

/* V1.7.76 — Alinhamento vertical da marca e subtítulo somente no menu lateral */
.sidebar{padding-top:8px}
.sidebar .brand{margin-top:0;margin-bottom:9px;gap:0}
.sidebar .vitro-logo{display:block}
.sidebar .vitro-brand-subtitle{display:block;margin-top:-6px;text-align:center;line-height:1.25}

/* V1.7.77: identidade dinâmica da empresa no cartão lateral */
.vitro-company-icon{width:38px;height:38px;min-width:38px;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.vitro-company-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px}
.vitro-company-info{min-width:0;flex:1}
.vitro-company-info b{display:block;overflow-wrap:anywhere;line-height:1.25}

/* V1.7.78 — cabeçalho da marca no menu lateral: verde-petróleo claro e alinhamento superior */
.sidebar{padding-top:4px}
.sidebar .brand{background:#DCEFEB;border-radius:10px;padding:3px 6px 7px;margin-top:0;margin-bottom:9px;gap:0}
.sidebar .vitro-logo{display:block;width:100%;height:auto;object-fit:contain}
.sidebar .vitro-brand-subtitle{display:block;margin-top:-6px;text-align:center;line-height:1.25}

/* V1.7.80 — cabeçalho da marca com fundo branco */
.sidebar .brand{background:#fff;border:1px solid #a8d5c5;border-radius:10px;padding:3px 6px 7px;margin-top:0;margin-bottom:9px;gap:0;box-shadow:0 1px 3px rgba(0,60,45,.07)}
.sidebar .vitro-logo{display:block;width:100%;height:auto;object-fit:contain}
.sidebar .vitro-brand-subtitle{display:block;margin-top:-6px;text-align:center;line-height:1.25}

/* V1.7.82 — logo completa no cabeçalho lateral */
.sidebar .brand{background:#fff;border:1px solid #a8d5c5;border-radius:10px;padding:8px 5px;margin:0 0 9px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,60,45,.07)}
.sidebar .brand .vitro-logo{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain}
.sidebar .brand .vitro-brand-subtitle{display:none}

/* V1.7.83 — Central de Ajuda */
.vitro-help-trigger{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;border:0}.vitro-help-trigger span{display:block;font-size:12px;margin-top:9px;line-height:1.4}.vitro-help-trigger:focus-visible{outline:2px solid #087c70;outline-offset:3px}
.vitro-help-shade{position:fixed;inset:0;background:rgba(8,30,28,.35);z-index:500;opacity:0;transition:opacity .22s}.vitro-help-shade.open{opacity:1}.vitro-help-shade[hidden],.vitro-help-panel[hidden]{display:none!important}
.vitro-help-panel{position:fixed;right:0;top:0;height:100dvh;width:min(410px,100vw);background:#fff;z-index:501;box-shadow:-12px 0 40px rgba(0,35,29,.16);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s ease;font-family:inherit;color:#183c35}.vitro-help-panel.open{transform:translateX(0)}
.vitro-help-header{display:flex;align-items:center;justify-content:space-between;padding:22px 20px;border-bottom:1px solid #e4eeea}.vitro-help-header strong{display:block;font-size:18px;color:#087c70}.vitro-help-header small{display:block;margin-top:5px;color:#758783}.vitro-help-header button{background:#f0f7f4;border:0;border-radius:9px;font-size:26px;width:36px;height:36px;cursor:pointer;color:#24574c}
.vitro-help-body{overflow-y:auto;flex:1;padding:20px}.vitro-help-body h3{font-size:17px;margin:14px 0}.vitro-help-search-label{font-size:13px;font-weight:600;display:block;margin-bottom:18px}.vitro-help-search-label input{display:block;width:100%;margin-top:8px;border:1px solid #d9e5e0;border-radius:9px;padding:12px;font:inherit}.vitro-help-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:white;border:1px solid #e1ebe7;border-radius:10px;padding:14px;margin:0 0 10px;cursor:pointer;color:inherit;font:inherit}.vitro-help-item:hover,.vitro-help-item:focus-visible{background:#eff8f4;border-color:#9dd0bf}.vitro-help-item strong,.vitro-help-item small{display:block}.vitro-help-item strong{font-size:14px}.vitro-help-item small{font-size:12px;color:#748781;margin-top:4px;line-height:1.4}.vitro-help-item>span:last-child{font-size:23px;color:#087c70}.vitro-help-back{border:0;background:none;color:#087c70;cursor:pointer;font:inherit;padding:4px 0 10px}.vitro-help-article{background:#f5faf8;padding:16px;border-radius:12px;line-height:1.65}.vitro-help-article p{margin:0}.vitro-help-empty{font-size:13px;color:#667}.vitro-help-whatsapp{background:#087c70;color:white;border:0;padding:12px 16px;border-radius:9px;cursor:pointer}.vitro-help-footer{padding:16px 20px;border-top:1px solid #e4eeea;color:#789088;font-size:12px;text-align:center}
@media(max-width:480px){.vitro-help-panel{width:100vw}.vitro-help-body{padding:16px}}

/* V1.7.85 — cartão de ajuda e acesso direto ao WhatsApp */
.sidebar .vitro-help-card{margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px 10px;background:#e4f4ef;border-radius:11px;border:1px solid #d1eae3;min-width:0}
.sidebar .vitro-help-card .vitro-help-trigger{flex:1;min-width:0;text-align:left;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;color:#236d65;font:inherit;cursor:pointer;display:block}
.sidebar .vitro-help-card .vitro-help-trigger b{font-size:13px;display:block;line-height:1.35}
.sidebar .vitro-help-card .vitro-help-trigger span{display:block;background:transparent!important;color:#6d8882!important;padding:0!important;margin-top:7px!important;border-radius:0!important;font-size:11px;line-height:1.4}
.sidebar .vitro-help-card .vitro-help-whatsapp{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#25d366;color:#fff;text-decoration:none;transition:filter .15s}
.sidebar .vitro-help-card .vitro-help-whatsapp:hover{filter:brightness(.93)}
.sidebar .vitro-help-card :is(button,a):focus-visible{outline:2px solid #087c70;outline-offset:3px}

/* V1.7.91 — intervalo de datas e impressão no fluxo de caixa */
.fin-flow-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.fin-flow-controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:inherit}.fin-flow-controls input{min-height:36px;padding:6px 9px;border:1px solid #c9dbd6;border-radius:7px;background:#fff;color:#173f3b}.fin-flow-controls button{min-height:36px}@media(max-width:650px){.fin-flow-controls{width:100%}.fin-flow-controls label{flex:1;min-width:125px}}

/* V1.7.93 - Subabas financeiras e acesso rapido */
#nav .finance-chevron{margin-left:auto;font-size:19px;line-height:1}
#nav .finance-subnav{margin:2px 0 9px 17px;padding-left:9px;border-left:2px solid rgba(0,140,116,.22);display:flex;flex-direction:column;gap:3px}
#nav .finance-subnav button{font-size:12px;min-height:34px;padding:8px 10px;display:flex;align-items:center;gap:8px;text-align:left;width:100%;border-radius:8px}
#nav .finance-subnav button .ico{font-size:14px;min-width:19px}
#nav .finance-subnav button.active{background:rgba(0,140,116,.14);color:#007d69;font-weight:700}
.fin-caixa-shortcut{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid rgba(0,140,116,.24);margin:15px 0;padding:18px}
.fin-caixa-shortcut-icon{display:grid;place-items:center;width:52px;height:52px;background:rgba(0,140,116,.11);border-radius:12px;color:#008d77;font-size:27px}
.fin-caixa-shortcut-text{flex:1;min-width:180px}.fin-caixa-shortcut-text h3{margin:0 0 4px}.fin-caixa-shortcut-text p{margin:0 0 8px;color:var(--muted,#72807c);font-size:13px}
.fin-caixa-shortcut-status{font-size:12px;font-weight:700}.fin-caixa-shortcut-status.open{color:#008d77}.fin-caixa-shortcut-status.closed{color:#9b6c20}
@media(max-width:650px){.fin-caixa-shortcut>.primary{width:100%}}

/* V1.7.94 — Atalho Controle de Caixa na página inicial */
.vitro-shortcut-caixa .vitro-shortcut-icon{color:#008b73;background:#e2f5ee}
.vitro-shortcut-caixa:hover{border-color:#79cbb8;background:#f1faf6}
[data-theme="dark"] .vitro-shortcut-caixa .vitro-shortcut-icon,body.dark .vitro-shortcut-caixa .vitro-shortcut-icon{background:rgba(28,185,142,.17);color:#57d6b5}

/* V1.8.05 - acoes compactas nas parcelas */
.fin-icon-action{display:inline-flex;align-items:center;justify-content:center;width:38px;height:36px;border-radius:9px;border:1px solid transparent;cursor:pointer;vertical-align:middle;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s;padding:0;line-height:1}
.fin-icon-action:hover{transform:translateY(-1px);box-shadow:0 2px 7px rgba(0,0,0,.10)}
.fin-icon-action:focus-visible{outline:3px solid #94c5ff;outline-offset:2px}
.fin-icon-date{background:#eaf3ff;color:#2563eb;border-color:#bfdbfe}
.fin-icon-date:hover{background:#dbeafe;border-color:#93c5fd}
.fin-icon-pay{background:#e7f6eb;color:#15803d;border-color:#bbebc7}
.fin-icon-pay:hover{background:#d4f2dc;border-color:#86d99b}
.fin-icon-action svg{display:block;flex-shrink:0}

/* V1.8.06a: SVG actions preserved across platforms */
.fin-icon-action svg{width:19px;height:19px;stroke:currentColor;pointer-events:none}

/* V1.8.21: filtros do dashboard */
.vitro-dash-selects{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.vitro-dash-selects select,.vitro-dash-selects button{border:1px solid #d9e6e2;border-radius:7px;background:#fff;color:#526b66;padding:7px 8px;font-size:11px;max-width:130px}.vitro-dash-selects button{cursor:pointer;font-size:18px;line-height:16px}.vitro-dash-selects select[hidden]{display:none}.vitro-calendar .vitro-day{min-width:0;overflow:hidden}.vitro-calendar .vitro-days{grid-template-columns:repeat(7,minmax(0,1fr))}@media(max-width:650px){.vitro-panelhead{flex-wrap:wrap;gap:8px}.vitro-dash-selects{justify-content:flex-start}.vitro-dash-selects select{max-width:115px}}

/* V1.8.25 — Condições contratuais em Pedidos/Vendas */
.order-contract-field{margin-top:14px}.order-contract-field textarea{width:100%;min-height:220px;resize:vertical;line-height:1.55}.order-contract-field small{display:block;margin-top:6px}.order-contract-text{white-space:normal;line-height:1.6;overflow-wrap:anywhere;margin:8px 0 20px}.quote-paper .order-contract-text{font-size:12px;line-height:1.55;page-break-inside:auto}.quote-paper .order-contract-text br{display:block;content:"";margin-bottom:5px}

/* V1.8.26 — Total do pedido compacto no formulário Pedidos / Vendas.
   Evita que o cartão acompanhe a altura do painel de pagamento. */
.order-commercial-fields > .quote-total-highlight {
  align-self: start;
  min-height: 62px;
  height: auto;
  box-sizing: border-box;
  padding: 12px 16px;
  margin: 0;
}
@media (max-width: 680px) {
  .order-commercial-fields > .quote-total-highlight { min-height: 62px; }
}

/* V1.8.27 — Pagamento e total à esquerda; observações e condições à direita */
.order-payment-contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;margin:12px 0 16px}
.order-payment-left,.order-contract-right{min-width:0;display:flex;flex-direction:column;gap:12px}
.order-payment-left > .panel{margin-top:0!important}
.order-payment-left > .quote-total-highlight{min-height:62px;height:auto;box-sizing:border-box;margin:0;padding:12px 16px}
.order-contract-right > .field{min-width:0}
.order-contract-right textarea{width:100%;box-sizing:border-box;resize:vertical}
.order-contract-right #orderNotes{min-height:125px}
.order-contract-right .order-contract-field{margin-top:0}
.order-contract-right #orderContract{min-height:370px;line-height:1.55}
@media(max-width:800px){.order-payment-contract-grid{grid-template-columns:1fr}}

/* V1.8.28 — alinhamento visual de Pedidos/Vendas (sem alterar lógica). */
#orderForm .order-payment-contract-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch;margin:16px 0 18px}
#orderForm .order-payment-left,#orderForm .order-contract-right{gap:14px;min-width:0}
#orderForm .order-payment-left>.panel{margin:0!important;box-sizing:border-box;width:100%;border-radius:12px}
#orderForm .order-payment-left>.quote-total-highlight{margin:0;min-height:62px;padding:12px 16px;flex-shrink:0}
#orderForm .order-contract-right>.field{border:1px solid #dce5e6;border-radius:12px;background:#fff;padding:15px;box-sizing:border-box;margin:0;display:flex;flex-direction:column;gap:9px}
#orderForm .order-contract-right>.field>label{font-size:1rem;font-weight:700;color:#243d3d;margin:0}
#orderForm .order-contract-right textarea{width:100%;box-sizing:border-box;margin:0;min-height:0;resize:vertical;line-height:1.5}
#orderForm .order-contract-right #orderNotes{height:124px;min-height:124px}
#orderForm .order-contract-right .order-contract-field{flex:1;min-height:0}
#orderForm .order-contract-right #orderContract{height:330px;min-height:240px;flex:1}
#orderForm .order-contract-right .order-contract-field small{margin:0;line-height:1.4}
#orderForm>.primary[type=submit]{display:block;margin:12px 0 0 auto;min-width:132px}
@media(max-width:800px){#orderForm .order-payment-contract-grid{grid-template-columns:minmax(0,1fr)}#orderForm .order-contract-right #orderContract{height:320px;flex:auto}}


/* V1.8.31 — A4 equilibrado: maior legibilidade e melhor aproveitamento da folha.
   Estilos restritos à impressão de pedidos. Pedidos longos podem paginar. */
@media print {
 @page { size: A4 portrait; margin: 9mm 11mm; }
 #content #printableOrder { font-size: 10.5px !important; line-height: 1.35 !important; }
 #content #printableOrder .quote-paper-top { padding-bottom: 8px !important; margin-bottom: 9px !important; gap: 12px !important; }
 #content #printableOrder .quote-company-logo { max-height: 54px !important; max-width: 120px !important; object-fit: contain !important; }
 #content #printableOrder .quote-paper-brand { font-size: 17px !important; }
 #content #printableOrder .quote-paper-number strong { font-size: 15px !important; }
 #content #printableOrder h2 { font-size: 13px !important; margin: 9px 0 7px !important; }
 #content #printableOrder h3 { font-size: 11px !important; margin: 10px 0 5px !important; }
 #content #printableOrder p { margin-top: 3px !important; margin-bottom: 3px !important; line-height: 1.32 !important; }
 #content #printableOrder .quote-paper-grid { margin: 7px 0 !important; gap: 12px !important; }
 #content #printableOrder .quote-paper-grid p { margin: 3px 0 !important; line-height: 1.3 !important; }
 #content #printableOrder .order-items-table th,
 #content #printableOrder .order-items-table td { font-size: 9.5px !important; padding: 5px 6px !important; line-height: 1.3 !important; }
 #content #printableOrder .vitro-order-drawing { max-width: 173px !important; padding: 6px !important; margin: 6px 9px 6px 0 !important; break-inside: avoid !important; }
 #content #printableOrder .vitro-order-drawing>b { font-size: 9px !important; margin-bottom: 4px !important; }
 #content #printableOrder .vitro-dim-drawing img.quote-model-2d { width: 116px !important; max-width: 116px !important; height: 98px !important; max-height: 98px !important; object-fit: contain !important; }
 #content #printableOrder .vitro-dim-height { height: 98px !important; }
 #content #printableOrder .vitro-dim-width { line-height: 14px !important; }
 #content #printableOrder .vitro-dim-width span,
 #content #printableOrder .vitro-dim-height span { font-size: 9px !important; }
 #content #printableOrder .quote-paper-totals { margin: 8px 0 9px auto !important; }
 #content #printableOrder .order-payment-summary { padding: 9px 11px !important; margin: 9px 0 !important; font-size: 9.5px !important; line-height: 1.35 !important; }
 #content #printableOrder .order-contract-text { font-size: 9.6px !important; line-height: 1.38 !important; margin: 7px 0 10px !important; overflow-wrap: anywhere !important; }
 #content #printableOrder .order-contract-text br { margin-bottom: 3px !important; }
 #content #printableOrder .order-signatures { margin-top: 35px !important; gap: 25px !important; break-inside: avoid !important; }
 #content #printableOrder .order-signatures>div { padding-top: 8px !important; font-size: 10px !important; }
 #content #printableOrder .quote-paper-footer { margin-top: 14px !important; padding-top: 8px !important; font-size: 9px !important; }
}

/* V1.8.32 — reserva de margem para assinaturas e rodapé no PDF A4. */
@media print {
  @page { size: A4 portrait; margin: 9mm 11mm 13mm; }
  #content #printableOrder .order-signatures { margin-top: 19px !important; gap: 25px !important; break-inside: avoid !important; }
  #content #printableOrder .quote-paper-footer { margin-top: 9px !important; padding-top: 6px !important; break-inside: avoid !important; }
}

/* V1.8.34 — primeira linha do dashboard alinhada pela altura da Evolução financeira.
   Escopo restrito à primeira linha; a segunda permanece inalterada. */
@media (min-width:701px) {
  .vitro-dashboard .vitro-row-primary { align-items:stretch; }
  .vitro-dashboard .vitro-row-primary > .vitro-panel {
    height:440px !important; min-height:0 !important; max-height:440px;
    box-sizing:border-box; margin:0;
  }
  .vitro-dashboard .vitro-row-primary > .vitro-recent { overflow-y:auto; }
  .vitro-dashboard .vitro-row-primary > .vitro-calc { overflow-y:auto; overscroll-behavior:contain; }
}
