:root { --ink: #17231f; --muted: #6c756f; --line: #dde2dd; --lime: #c9ec65; --paper: #f7f8f4; --forest: #1a342c; }
.finance-page{max-width:1100px;margin:34px auto 72px}.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.finance-kpis section,.finance-row{padding:18px;border:1px solid #e2e9e5;border-radius:10px;background:#fff}.finance-kpis small,.finance-row small,.finance-row span{display:block;color:#728087;font-size:11px}.finance-kpis strong{display:block;margin-top:8px;color:#126a52;font-size:22px}.finance-filters{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:14px}.finance-list{display:grid;gap:9px}.finance-row{display:grid;grid-template-columns:1fr auto auto auto;gap:16px;align-items:center}.finance-row>div{display:grid;gap:4px}.finance-row b{padding:5px 8px;border-radius:99px;color:#a15b00;background:#fff4ce;font-size:10px}.finance-row b.paid{color:#17624d;background:#e4f7f0}.finance-row b.overdue{color:#a23a4d;background:#fff0f3}.finance-row button{min-height:34px;border:1px solid #cfe2da;border-radius:7px;color:#17624d;background:#fff;font-weight:700}@media(max-width:760px){.finance-kpis{grid-template-columns:1fr 1fr}.finance-filters{grid-template-columns:1fr}.finance-row{grid-template-columns:1fr auto;gap:10px}.finance-row>strong{grid-column:1}.finance-row button{grid-column:2;grid-row:1 / span 2}.finance-page{margin-top:20px}}
.listing-tools{margin:0 0 12px}.listing-tools input{max-width:360px}.listing-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:14px 0;color:#657269;font-size:11px}.listing-pagination button{min-height:34px;padding:0 12px;border:1px solid #cfe2da;border-radius:7px;color:#17624d;background:#fff;font:700 11px Manrope;cursor:pointer}.listing-pagination button:disabled{opacity:.45;cursor:default}.listing-pagination span{min-width:130px;text-align:center}@media(max-width:760px){.listing-tools input{max-width:none}.listing-pagination{justify-content:space-between;margin:12px 0 20px}.listing-pagination span{min-width:0;font-size:10px}.listing-pagination button{padding:0 10px}}
*,*::before,*::after{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}
/* Navegação móvel: ações flutuantes e menu completo sob demanda */
.mobile-menu-toggle,.mobile-menu-backdrop,.mobile-sales-action{display:none}
@media (max-width:820px){.app-shell{display:block}.dashboard-workspace{padding:18px 15px 88px}.dashboard-workspace .dashboard-nav{display:none}.side-menu{position:fixed;z-index:30;top:0;left:0;width:min(286px,calc(100vw - 54px));height:100dvh;box-sizing:border-box;padding:22px 13px 15px;overflow-y:auto;transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 30px rgba(7,20,23,.25)}body.mobile-menu-open{overflow:hidden}body.mobile-menu-open .side-menu{transform:translateX(0)}.side-brand{justify-content:flex-start;margin:0 10px 29px}.side-brand > span:last-child,.side-item > span,.side-user span,.side-user a{display:inline}.side-subnav{display:none}.side-group.active .side-subnav{display:grid}.side-item{grid-template-columns:21px minmax(0,1fr);justify-items:stretch;padding:0 11px}.side-item > svg{width:18px;height:18px}.side-user{grid-template-columns:33px minmax(0,1fr) 20px;justify-items:stretch;padding:12px 7px 0}.mobile-menu-toggle{position:fixed;z-index:25;right:18px;bottom:18px;display:grid;width:52px;height:52px;place-items:center;border:0;border-radius:50%;color:#fff;background:#152b2e;box-shadow:0 8px 22px rgba(8,29,30,.28);cursor:pointer}.mobile-menu-toggle svg{width:23px;height:23px}.mobile-menu-backdrop{position:fixed;z-index:29;inset:0;border:0;background:rgba(9,20,23,.48);opacity:0;pointer-events:none;transition:opacity .22s ease}body.mobile-menu-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}.mobile-sales-action{position:fixed;z-index:25;bottom:18px;left:50%;display:inline-flex;min-width:132px;height:52px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border-radius:28px;color:#fff;background:#17624d;box-shadow:0 8px 22px rgba(23,98,77,.3);font-size:14px;font-weight:800;text-decoration:none;transform:translateX(-50%)}.mobile-sales-action svg{width:19px;height:19px}}
.receipts-page{max-width:1100px;margin:55px auto}.receipts-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.receipts-head h1{margin:5px 0;color:#1d2933;font-size:30px}.receipts-head p{margin:0;color:#6b7280;font-size:12px}.receipt-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.receipt-kpis section{display:grid;gap:8px;padding:17px;border:1px solid #e1e7e4;border-radius:9px;background:#fff}.receipt-kpis small{color:#6b7280;font-size:10px}.receipt-kpis strong{color:#087d66;font-size:20px}.receipt-panel{overflow:hidden;border:1px solid #e1e7e4;border-radius:9px;background:#fff}.receipt-filters{display:flex;gap:10px;padding:12px;border-bottom:1px solid #e7ece9}.receipt-filters input{height:38px;flex:1}.receipt-filters button{padding:0 12px;border:1px solid #dfe5df;border-radius:6px;background:#fff;font:700 10px Manrope}.receipt-panel tr{cursor:pointer}.receipt-panel tr:hover td{background:#f8fcfa}.receipt-dialog{width:min(100% - 32px,760px);color:#1d2933}.receipt-form{padding:27px}.receipt-form-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:10px}.receipt-form label{display:grid;gap:6px;color:#526158;font-size:11px;font-weight:700}.receipt-form input,.receipt-form select{height:39px}.receipt-lines{margin-top:16px}.receipt-lines>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.receipt-lines section{display:grid;gap:7px}.receipt-line{display:grid;grid-template-columns:1.5fr .7fr .8fr 30px;gap:8px}.receipt-line button{border:0;border-radius:5px;color:#9b453b;background:#fdebea;font-size:17px}.receipt-form textarea{min-height:70px;margin-top:5px;padding:10px;border:1px solid #dfe5df;border-radius:7px;font:11px Manrope}.receipt-total{display:flex;justify-content:space-between;margin-top:17px;padding:14px;background:#effaf6;color:#526158;font-size:11px}.receipt-total strong{color:#087d66;font-size:17px}.receipt-form .submit{width:100%;margin-top:14px;background:#2ec4a6}@media(max-width:760px){.receipts-page{margin:38px auto}.receipts-head{align-items:start;flex-direction:column;gap:14px}.receipt-kpis{grid-template-columns:1fr 1fr}.receipt-panel{overflow:auto}.receipt-panel table{min-width:850px}.receipt-form-grid,.receipt-line{grid-template-columns:1fr 1fr}.receipt-line select{grid-column:1/-1}}
.inventory-app{display:grid;grid-template-columns:204px 1fr;min-height:100vh;background:#f6f8f7;color:#1d2933}.inventory-sidebar{display:flex;min-height:100vh;flex-direction:column;padding:22px 13px;color:#dce6e2;background:#101d20}.inventory-logo{display:flex;gap:8px;align-items:center;margin:0 10px 30px;color:#fff;font-size:19px;font-weight:800;text-decoration:none}.inventory-logo>span{color:#a7ead7}.inventory-logo .brand-mark i{background:#a7ea5f}.inventory-sidebar nav{display:grid;gap:4px}.inventory-sidebar nav>a{display:flex;gap:13px;padding:10px;border-radius:7px;color:#dce6e2;font-size:11px;text-decoration:none}.inventory-sidebar nav>a.active,.inventory-sidebar nav>a:hover{background:#26393d;color:#fff}.inventory-subnav{display:grid;margin:0 0 8px 27px;border-left:1px solid #2b3e41}.inventory-subnav a{padding:8px 12px;color:#bdc8c4;font-size:10px;text-decoration:none}.inventory-subnav a.active{border-radius:6px;color:#fff;background:#2a3d41}.inventory-user{display:flex;gap:9px;align-items:center;margin-top:auto;padding:10px}.inventory-user>b{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#152126;background:#dce7e2;font-size:9px}.inventory-user span{display:grid;flex:1;color:#fff;font-size:10px}.inventory-user small{color:#aab7b2;font-size:8px}.inventory-user a{color:#fff;text-decoration:none}.inventory-main{min-width:0;padding:23px 28px}.inventory-breadcrumb{color:#8a9595;font-size:10px}.inventory-breadcrumb i{padding:0 8px;font-style:normal}.inventory-hero{display:flex;justify-content:space-between;align-items:end;margin:14px 0 19px}.inventory-hero h1,.inventory-count-top h1{margin:0;color:#152126;font-size:25px;letter-spacing:-1.2px}.inventory-hero p,.inventory-count-top p{margin:4px 0 0;color:#6b7280;font-size:11px}.inventory-primary{height:38px;padding:0 15px;border:0;border-radius:6px;color:#fff;background:#087d66;font:800 11px Manrope}.inventory-summary{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px;margin:0 0 20px}.inventory-kpi{min-height:100px!important;padding:17px!important;border:1px solid #e4e9e6!important;border-radius:9px!important;background:#fff}.inventory-kpi strong{font-size:21px!important}.inventory-kpi span{display:block;margin-top:7px;color:#37454a;font-size:11px;font-weight:700}.inventory-kpi small{display:block;margin-top:6px;color:#899391;font-size:9px}.inventory-kpi.mint strong{color:#087d66!important}.inventory-kpi.orange strong{color:#c56a09!important}.inventory-kpi.red strong{color:#cc3129!important}.inventory-list{overflow:hidden;border:1px solid #e1e7e4;border-radius:9px;background:#fff}.inventory-panel-tabs{display:flex;gap:25px;padding:0 18px;border-bottom:1px solid #e8edeb}.inventory-panel-tabs button{padding:13px 0 11px;border:0;border-bottom:2px solid transparent;color:#697573;background:transparent;font:700 10px Manrope}.inventory-panel-tabs button.active{border-color:#20ae90;color:#087d66}.inventory-tools{display:flex;gap:8px;padding:12px 18px;border-bottom:1px solid #e8edeb}.inventory-tools input{height:35px;flex:1;font-size:10px}.inventory-tools button{height:35px;padding:0 11px;border:1px solid #e1e7e4;border-radius:5px;background:#fff;font:700 10px Manrope}.inventory-grid>div{display:grid;grid-template-columns:1fr .8fr 1.5fr .7fr .9fr 1.25fr 1.2fr 1.1fr 20px;gap:10px;align-items:center;padding:10px 18px}.inventory-grid-head{color:#778281;background:#f8faf9;font:700 9px "DM Mono",monospace}.inventory-grid-row{width:100%;border:0;border-top:1px solid #edf1ef;color:#60706d;background:#fff;text-align:left;font:10px Manrope}.inventory-grid-row strong{color:#314046}.inventory-status{width:max-content;padding:5px 7px;border-radius:6px;font-size:9px;font-weight:800}.inventory-status.counting{color:#a15b00;background:#fff2ca}.inventory-status.done{color:#19815d;background:#e4f7eb}.inventory-row-progress{display:flex;gap:6px;align-items:center}.inventory-row-progress i,.inventory-count-top i{width:70px;height:8px;overflow:hidden;border-radius:9px;background:#e6edeb}.inventory-row-progress b,.inventory-count-top b{display:block;height:100%;background:#32c3a4}.inventory-count-top{display:grid;grid-template-columns:1fr 230px;gap:20px;align-items:end;padding:21px 18px;border-bottom:1px solid #e6ece9}.inventory-count-top>div:last-child{display:grid;gap:8px}.inventory-count-top>div:last-child>span{justify-self:end;padding:6px 9px;border-radius:6px;color:#a15b00;background:#fff2ca;font-size:9px;font-weight:800}.inventory-count-grid>div{display:grid;grid-template-columns:1.7fr .8fr .6fr 150px .8fr 25px;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid #edf1ef}.inventory-count-grid>div:first-child{color:#778281;background:#f8faf9;font:700 9px "DM Mono",monospace}.inventory-count-grid small,.inventory-count-grid span{color:#788381;font-size:10px}.inventory-count-grid input{height:35px}.inventory-count-grid b{width:max-content;padding:5px 7px;border-radius:6px;font-size:9px}.inventory-count-grid b.pending{color:#a15b00;background:#fff2ca}.inventory-count-grid b.confirmed{color:#19815d;background:#e4f7eb}.inventory-count-grid button{border:0;background:transparent;font-size:17px}.inventory-dialog textarea{width:100%;min-height:80px;padding:12px;border:1px solid #dfe5df;border-radius:7px}.inventory-steps{display:flex;gap:9px;align-items:center;margin:10px 0 22px;font-size:10px}.inventory-steps b{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:#edf2f0}.inventory-steps b:first-child{color:#fff;background:#087d66}.inventory-steps i{height:1px;flex:1;background:#e1e7e4}.inventory-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px}.inventory-type-grid button{display:grid;gap:6px;padding:16px;border:1px solid #e0e7e4;border-radius:8px;background:#fff;text-align:left}.inventory-type-grid button.selected{border-color:#2ec4a6;box-shadow:inset 0 0 0 1px #2ec4a6}.inventory-dialog-actions{display:flex;justify-content:end;gap:9px;margin-top:16px}@media(max-width:760px){.inventory-app{display:block}.inventory-sidebar{display:none}.inventory-main{padding:20px 14px}.inventory-summary{grid-template-columns:1fr 1fr!important}.inventory-grid,.inventory-count-grid{overflow:auto}.inventory-grid>div{min-width:800px}.inventory-count-grid>div{min-width:690px}}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: var(--paper); font-family: Manrope, Arial, sans-serif; }
.shell { min-height: 100vh; display: grid; grid-template-columns: minmax(390px, 43%) 1fr; }
.intro { position: relative; display: flex; min-height: 100vh; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 42px clamp(38px, 6vw, 96px); color: #f7faf5; background: var(--forest); }
.intro::before, .intro::after { position: absolute; content: ""; border-radius: 50%; pointer-events: none; }
.intro::before { width: 570px; height: 570px; top: 14%; right: -310px; background: radial-gradient(circle at 35% 35%, #79a77d 0 2%, #315a4a 28%, transparent 68%); opacity: .65; }
.intro::after { width: 480px; height: 480px; bottom: -315px; left: -130px; border: 1px solid rgba(201,236,101,.3); box-shadow: 0 0 0 52px rgba(201,236,101,.05), 0 0 0 105px rgba(201,236,101,.025); }
.brand { z-index: 1; display: inline-flex; align-items: center; gap: 10px; width: fit-content; color: inherit; text-decoration: none; font-size: 21px; font-weight: 800; letter-spacing: -1.2px; }
.brand-light { color: var(--lime); }
.brand-mark { display: flex; align-items: end; gap: 3px; height: 22px; }
.brand-mark i { display: block; width: 5px; background: var(--lime); border-radius: 4px; transform: skewY(-27deg); }
.brand-mark i:nth-child(1) { height: 10px; }.brand-mark i:nth-child(2) { height: 17px; }.brand-mark i:nth-child(3) { height: 22px; }
.intro-content { z-index: 1; margin: auto 0; transform: translateY(8%); }.eyebrow { margin: 0 0 17px; color: var(--lime); font: 500 11px "DM Mono", monospace; letter-spacing: 1.6px; }.eyebrow.dark { color: #607166; }
h1 { max-width: 550px; margin: 0; font-size: clamp(39px, 4.2vw, 67px); font-weight: 600; line-height: 1.09; letter-spacing: -3.6px; }.intro-copy { max-width: 405px; margin: 29px 0 0; color: #bccbc2; font-size: 15px; line-height: 1.8; }
.status { z-index: 1; display: flex; align-items: center; gap: 10px; color: #aebcb4; font: 11px "DM Mono", monospace; }.status span { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(201,236,101,.1); }
.access { display: flex; min-height: 100vh; flex-direction: column; justify-content: center; padding: 50px clamp(35px, 9vw, 168px) 30px; }.access-inner { width: min(100%, 420px); margin: auto; }.access-heading h2 { margin: 0; font-size: 30px; letter-spacing: -1.5px; }.access-heading > p:last-child { margin: 10px 0 36px; color: var(--muted); font-size: 14px; }
form { display: grid; gap: 9px; } label, .password-label { font-size: 12px; font-weight: 700; }.password-label { display: flex; justify-content: space-between; margin-top: 11px; }.password-label a, .support a { color: #345e49; text-decoration: none; }.password-label a { font-weight: 600; }
input:not([type=checkbox]) { width: 100%; height: 51px; padding: 0 15px; border: 1px solid var(--line); border-radius: 7px; outline: none; color: var(--ink); background: #fff; font: 14px Manrope, sans-serif; transition: border .2s, box-shadow .2s; } input:not([type=checkbox])::placeholder { color: #a5aea8; } input:not([type=checkbox]):focus { border-color: #577d67; box-shadow: 0 0 0 3px #e3eee4; }
.password-field { position: relative; }.password-field input { padding-right: 47px; }.password-toggle { position: absolute; top: 0; right: 0; width: 48px; height: 51px; border: 0; color: #718078; background: transparent; cursor: pointer; font-size: 15px; }.remember { display: flex; align-items: center; gap: 9px; margin: 14px 0 13px; color: #59655e; font-weight: 500; cursor: pointer; }.remember input { width: 15px; height: 15px; accent-color: #315c46; }
.submit { height: 53px; border: 0; border-radius: 7px; color: #132b20; background: var(--lime); cursor: pointer; font: 800 13px Manrope, sans-serif; transition: transform .2s, background .2s; }.submit:hover { background: #bde258; transform: translateY(-1px); }.submit span { margin-left: 11px; font-size: 17px; }.form-message { min-height: 20px; margin: 5px 0 0; color: #315c46; font-size: 12px; }.support { margin: 24px 0 0; color: var(--muted); font-size: 12px; text-align: center; }.support a { font-weight: 700; } footer { color: #929c95; font: 10px "DM Mono", monospace; text-align: center; } footer span { padding: 0 7px; color: #b1b9b3; }
.integration-link { margin: 15px 0 0; font-size: 11px; text-align: center; }.integration-link a, .back-link { color: #426a55; font-weight: 700; text-decoration: none; }.test-page { display: grid; min-height: 100vh; place-items: center; padding: 28px; background: #e9eee8; }.test-card { width: min(100%, 550px); padding: clamp(32px, 6vw, 62px); border: 1px solid #dce4dc; border-radius: 16px; background: #fff; box-shadow: 0 24px 70px rgba(22, 47, 36, .11); }.test-card h1 { margin: 0 0 19px; font-size: clamp(32px, 5vw, 47px); }.test-card p:not(.eyebrow) { margin: 0; color: #66726b; font-size: 14px; line-height: 1.8; }.back-link { display: inline-block; margin-bottom: 47px; font-size: 12px; }.drive-action { display: inline-flex; align-items: center; justify-content: center; width: 100%; margin-top: 32px; text-decoration: none; }.test-note { margin-top: 21px !important; font-size: 11px !important; text-align: center; }
.google-login { display: flex; align-items: center; justify-content: center; gap: 12px; height: 53px; margin-top: 33px; border: 1px solid #d9dfda; border-radius: 7px; color: #25362d; background: #fff; box-shadow: 0 1px 2px rgba(10, 30, 17, .05); font-size: 13px; font-weight: 800; text-decoration: none; transition: border .2s, box-shadow .2s, transform .2s; }.google-login:hover { border-color: #9baaa0; box-shadow: 0 4px 12px rgba(10, 30, 17, .08); transform: translateY(-1px); }.google-login svg { width: 19px; height: 19px; }.dashboard { min-height: 100vh; padding: 34px clamp(25px, 6vw, 90px); background: #f6f8f3; }.dashboard-nav { display: flex; align-items: center; justify-content: space-between; padding-bottom: 30px; border-bottom: 1px solid #dfe5df; }.dashboard-user { color: #657269; font-size: 12px; }.dashboard-user a { margin-left: 16px; color: #345e49; font-weight: 700; text-decoration: none; }.dashboard-content { max-width: 1100px; margin: 72px auto 0; }.dashboard-content h1 { color: #1a342c; }.dashboard-content > p { margin: 14px 0 40px; color: #657269; }.module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.module { min-height: 150px; padding: 24px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.module small { color: #759663; font: 500 10px "DM Mono", monospace; letter-spacing: 1px; }.module h2 { margin: 18px 0 8px; font-size: 18px; letter-spacing: -.7px; }.module p { margin: 0; color: #738078; font-size: 12px; line-height: 1.65; }
.stock-only { display: grid; min-height: calc(100vh - 68px); place-items: center; margin: 0 auto; }.stock-only h1 { margin: 0; font-size: clamp(34px, 5vw, 62px); text-align: center; }
.module-link { position: relative; display: block; color: inherit; text-decoration: none; transition: border .2s, box-shadow .2s, transform .2s; }.module-link:hover { border-color: #9caf9f; box-shadow: 0 7px 20px rgba(21, 47, 34, .08); transform: translateY(-2px); }.module-link > span { position: absolute; right: 22px; bottom: 18px; color: #426a55; font-size: 21px; }
.stock-page { max-width: 1100px; margin: 68px auto 0; }.stock-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }.stock-heading h1 { margin: 0; color: #1a342c; }.new-item-button { display: inline-flex; align-items: center; gap: 11px; height: 44px; padding: 0 17px; border: 0; border-radius: 7px; color: #193126; background: #c9ec65; cursor: pointer; font: 800 12px Manrope, sans-serif; }.new-item-button span { font-size: 19px; }.items-panel { overflow: hidden; border: 1px solid #dfe5df; border-radius: 11px; background: #fff; }table { width: 100%; border-collapse: collapse; }th, td { padding: 17px 20px; border-bottom: 1px solid #edf0ed; text-align: left; font-size: 13px; }th { color: #718078; background: #fbfcfa; font: 500 10px "DM Mono", monospace; letter-spacing: .8px; text-transform: uppercase; }td { color: #344139; }.number { text-align: right; }.empty-items { padding: 62px 20px; color: #87928b; font-size: 13px; text-align: center; }dialog { width: min(100% - 32px, 465px); padding: 0; border: 0; border-radius: 14px; box-shadow: 0 24px 80px rgba(15, 40, 27, .27); }dialog::backdrop { background: rgba(18, 40, 30, .46); }dialog form { display: grid; gap: 9px; padding: 29px; }.dialog-heading { display: flex; justify-content: space-between; align-items: start; margin-bottom: 15px; }.dialog-heading h2 { margin: 0; font-size: 22px; letter-spacing: -1px; }.close-dialog { border: 0; color: #68766d; background: transparent; cursor: pointer; font-size: 27px; line-height: .8; }.field-row { display: grid; grid-template-columns: 1fr 110px; gap: 12px; }.field-row > div { display: grid; gap: 9px; }dialog .submit { width: 100%; margin-top: 16px; }
.new-item-page { width: min(100%, 540px); margin: 58px auto; }.new-item-page h1 { margin: 0 0 30px; color: #1a342c; }.standalone-item-form { display: grid; gap: 9px; padding: 28px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.standalone-item-form .submit { width: 100%; margin-top: 16px; }
.optional { color: #87928b; font-weight: 500; }.item-image { display: block; width: 38px; height: 38px; border-radius: 6px; object-fit: cover; background: #eef1ed; }
label[for="item-image"] { display: flex; align-items: center; justify-content: center; min-height: 50px; border: 1px dashed #aab7ae; border-radius: 7px; color: #345e49; background: #f9fbf8; cursor: pointer; font-size: 13px; font-weight: 800; }#item-image { position: absolute; width: 1px; height: 1px; opacity: 0; }
.draft-image { display: block; width: 100%; max-height: 230px; border-radius: 8px; object-fit: cover; }
.modal-image-preview { display: block; width: 100%; max-height: 190px; margin: -3px 0 9px; border-radius: 8px; object-fit: cover; }
@media (max-width: 760px) { form.has-captured-image label[for="item-image"], form.has-captured-image #item-image, label[for="item-code"], #item-code { display: none; } }
@media (max-width: 760px) { .stock-page { margin-top: 45px; }.stock-heading { align-items: start; flex-direction: column; }.new-item-button { width: 100%; justify-content: center; }th, td { padding: 15px 12px; }th:nth-child(3), td:nth-child(3) { display: none; } }
@media (max-width: 760px) { .module-grid { grid-template-columns: 1fr; }.dashboard-content { margin-top: 48px; } }
.search-error-dialog { width: min(100% - 44px, 390px); padding: 30px; border: 0; border-radius: 18px; color: #1a342c; background: #fff; box-shadow: 0 24px 80px rgba(15, 40, 27, .3); text-align: center; }.search-error-dialog::backdrop { background: rgba(18, 40, 30, .46); }.search-error-dialog h2 { margin: 12px 0 9px; font-size: 22px; letter-spacing: -.7px; }.search-error-dialog p:not(.eyebrow) { margin: 0; color: #657269; font-size: 13px; line-height: 1.55; }.search-error-dialog .submit { width: 100%; margin-top: 24px; }.search-error-icon { display: grid; width: 36px; height: 36px; margin: 0 auto 13px; place-items: center; border-radius: 50%; color: #6a4b12; background: #fff2c8; font: 800 21px Manrope, sans-serif; }
.candidate-dialog { width: min(100% - 32px, 440px); padding: 26px; color: #1a342c; background: #fff; }.candidate-header h2, .candidate-dialog > h2 { margin: 6px 0 8px; font-size: 23px; letter-spacing: -.9px; }.candidate-copy { margin: 0; color: #657269; font-size: 13px; line-height: 1.55; }.candidate-list { display: grid; gap: 9px; margin: 20px 0; }.candidate-card { display: grid; grid-template-columns: 58px 1fr 18px; gap: 12px; align-items: center; width: 100%; padding: 9px; border: 1px solid #dfe5df; border-radius: 10px; color: #1a342c; background: #fff; text-align: left; cursor: pointer; }.candidate-card:hover { border-color: #8fa893; background: #f8fbf6; }.candidate-card img { width: 58px; height: 58px; border-radius: 7px; object-fit: cover; background: #eef1ed; }.candidate-card span { display: grid; gap: 3px; min-width: 0; }.candidate-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }.candidate-card small { color: #718078; font-size: 11px; }.candidate-card b { color: #426a55; font-size: 22px; font-weight: 500; }.candidate-actions { display: grid; grid-template-columns: 1fr 1.25fr; gap: 10px; margin-top: 20px; }.candidate-actions .secondary-action, .candidate-actions .submit { min-height: 46px; width: 100%; margin: 0; }.candidate-reviewed { margin: 16px 0 -3px; padding: 10px 12px; border-radius: 8px; color: #345e49; background: #edf7eb; font-size: 12px; }.candidate-back { margin: 0 0 22px; padding: 0; border: 0; color: #426a55; background: transparent; font: 800 12px Manrope, sans-serif; cursor: pointer; }.candidate-image { display: block; width: 100%; max-height: 285px; margin: 18px 0 13px; border-radius: 10px; object-fit: cover; background: #eef1ed; }
.pricing-page { max-width: 1100px; margin: 68px auto 0; }.pricing-page .stock-heading > div > p:last-child { margin: 9px 0 0; color: #657269; font-size: 13px; }.price-entry { display: grid; grid-template-columns: .8fr 1.2fr; gap: 34px; align-items: start; margin-bottom: 25px; padding: 27px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.price-entry h2 { margin: 7px 0 0; color: #1a342c; font-size: 20px; letter-spacing: -.7px; }.price-form { display: grid; grid-template-columns: 1.6fr 1fr 1fr auto; gap: 9px 12px; align-items: end; }.price-form label { grid-row: 1; }.price-form input, .price-form select { min-width: 0; }.price-form .submit { height: 43px; margin: 0; white-space: nowrap; }.pricing-panel { margin-bottom: 50px; }.history-button { padding: 7px 10px; border: 1px solid #9caf9f; border-radius: 6px; color: #345e49; background: #fff; font: 800 11px Manrope, sans-serif; cursor: pointer; }.price-history-list { display: grid; gap: 8px; margin-top: 20px; }.price-history-line { display: flex; justify-content: space-between; gap: 16px; padding: 13px; border-radius: 8px; background: #f6f8f3; color: #657269; font-size: 13px; }.price-history-line strong { color: #1a342c; }
.crop-editor { margin: 3px 0 11px; padding: 12px; border: 1px solid #dfe5df; border-radius: 9px; background: #f8faf7; }.crop-editor p { margin: 0 0 10px; color: #657269; font-size: 12px; line-height: 1.45; }.crop-editor canvas { display: block; width: 100%; max-height: 340px; border-radius: 6px; touch-action: none; cursor: crosshair; }.merge-panel { margin: 28px 0 50px; padding: 26px; border: 1px solid #ead5d1; border-radius: 12px; background: #fffaf9; }.merge-panel h2 { margin: 7px 0; color: #482a25; font-size: 20px; }.merge-panel > p:not(.eyebrow) { margin: 0 0 20px; color: #78635e; font-size: 13px; line-height: 1.55; }.merge-panel form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 9px 12px; align-items: end; }.merge-panel label { grid-row: 1; }.merge-panel select { min-width: 0; }.merge-panel .secondary-action { height: 42px; border-color: #b89086; color: #6b382d; background: #fff; white-space: nowrap; }
.crop-existing-panel { margin-top: 28px; padding: 26px; border: 1px solid #d7e3d7; border-radius: 12px; background: #fbfdf9; }.crop-existing-panel h2 { margin: 7px 0; color: #1a342c; font-size: 20px; }.crop-existing-panel > p:not(.eyebrow) { margin: 0 0 17px; color: #657269; font-size: 13px; line-height: 1.55; }.crop-existing-panel > select { width: min(100%, 380px); margin-right: 10px; }.crop-existing-panel > .secondary-action { min-height: 42px; }.crop-existing-panel .crop-editor { margin-top: 18px; }.crop-existing-panel .submit { width: 100%; margin-top: 12px; }
@media (max-width: 760px) { .pricing-page { margin-top: 45px; }.pricing-page .stock-heading { align-items: stretch; }.price-entry { grid-template-columns: 1fr; gap: 20px; padding: 22px; }.price-form { grid-template-columns: 1fr 1fr; }.price-form label { grid-row: auto; }.price-form label[for="price-item"], .price-form select { grid-column: 1 / -1; }.price-form .submit { grid-column: 1 / -1; }.pricing-panel { overflow-x: auto; }.pricing-panel table { min-width: 630px; } }
.stock-actions { display: flex; align-items: center; gap: 12px; }.visual-search-link, .secondary-action { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 15px; border: 1px solid #9caf9f; border-radius: 7px; color: #345e49; background: #fff; font: 800 12px Manrope, sans-serif; text-decoration: none; cursor: pointer; }.visual-page { width: min(100%, 720px); }.visual-intro, .visual-status { color: #657269; line-height: 1.65; }.visual-upload { display: grid; min-height: 150px; margin: 24px 0 12px; place-items: center; border: 1px dashed #90a795; border-radius: 12px; color: #345e49; background: #fff; font-weight: 800; cursor: pointer; }.visual-page #visual-image { position: absolute; width: 1px; height: 1px; opacity: 0; }.visual-results { margin-top: 30px; }.visual-results h2 { color: #1a342c; font-size: 18px; }.visual-candidate { display: grid; grid-template-columns: 58px 1fr auto; gap: 14px; align-items: center; margin: 10px 0; padding: 12px; border: 1px solid #dfe5df; border-radius: 9px; background: #fff; }.visual-candidate img { width: 58px; height: 58px; border-radius: 6px; object-fit: cover; }.visual-candidate p { margin: 4px 0 0; color: #718078; font-size: 12px; }.visual-candidate button { border: 0; color: #193126; background: #c9ec65; padding: 9px 11px; border-radius: 6px; font-weight: 800; cursor: pointer; }
@media (max-width: 760px) { .shell { display: block; }.intro { min-height: 355px; padding: 30px; }.intro-content { margin: auto 0 15px; transform: none; }.intro-copy { display: none; } h1 { font-size: 39px; letter-spacing: -2.3px; }.status { display: none; }.access { min-height: auto; padding: 50px 28px 30px; }.access-inner { margin: 0 auto; } footer { margin-top: 46px; } }
.catalog-page { width: min(100%, 980px); margin: 52px auto 80px; }.catalog-page .back-link { margin-bottom: 28px; }.catalog-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }.catalog-intro h1 { margin: 5px 0 7px; font-size: clamp(34px, 4vw, 48px); letter-spacing: -2px; }.catalog-intro p:not(.eyebrow) { max-width: 480px; margin: 0; color: #657269; font-size: 14px; line-height: 1.55; }.catalog-intro > span { display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid #dfe5df; border-radius: 50%; color: #426a55; background: #fff; font: 500 12px "DM Mono", monospace; }.catalog-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(245px, .85fr); gap: 20px; align-items: start; }.catalog-form { padding: 32px; border: 0; border-radius: 14px; box-shadow: 0 14px 40px rgba(21, 47, 34, .08); }.catalog-form form { gap: 11px; }.catalog-form .dialog-heading { margin-bottom: 13px; }.catalog-form .close-dialog { display: none; }.catalog-guide { padding: 28px; border-radius: 14px; color: #e8f0e7; background: #214334; }.catalog-guide .eyebrow { color: #b8d47b; }.catalog-guide h2 { margin: 12px 0 10px; color: #fff; font-size: 23px; letter-spacing: -.9px; }.catalog-guide > p:not(.eyebrow) { margin: 0; color: #c8d6cd; font-size: 13px; line-height: 1.65; }.catalog-guide ol { display: grid; gap: 12px; margin: 25px 0 0; padding: 0; list-style: none; counter-reset: guide; }.catalog-guide li { display: grid; grid-template-columns: 24px 1fr; gap: 9px; align-items: center; color: #dce6de; font-size: 12px; line-height: 1.45; counter-increment: guide; }.catalog-guide li::before { content: counter(guide); display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #1b382b; background: #c9ec65; font: 700 10px "DM Mono", monospace; }.catalog-tools { margin-top: 22px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.catalog-tools summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; cursor: pointer; list-style: none; }.catalog-tools summary::-webkit-details-marker { display: none; }.catalog-tools summary small { display: block; margin-bottom: 3px; color: #849189; font: 500 9px "DM Mono", monospace; letter-spacing: 1px; }.catalog-tools summary strong { color: #294435; font-size: 13px; }.catalog-tools summary b { color: #426a55; font-size: 20px; font-weight: 400; }.catalog-tools[open] summary b { transform: rotate(45deg); }.catalog-tools-body { display: grid; grid-template-columns: 1.1fr .9fr; border-top: 1px solid #edf0ed; }.catalog-tools .crop-existing-panel, .catalog-tools .merge-panel { margin: 0; padding: 23px; border: 0; border-radius: 0; background: transparent; }.catalog-tools .crop-existing-panel { border-right: 1px solid #edf0ed; }.catalog-tools h2 { margin: 7px 0; font-size: 18px; }.catalog-tools p:not(.eyebrow) { margin: 0 0 15px; font-size: 12px; }.inline-action { display: flex; gap: 8px; }.inline-action select { min-width: 0; flex: 1; }.inline-action .secondary-action { flex: 0 0 auto; white-space: nowrap; }.catalog-tools .merge-panel form { grid-template-columns: 1fr; gap: 7px; }.catalog-tools .merge-panel label { grid-row: auto; margin-top: 7px; }.catalog-tools .merge-panel .secondary-action { width: 100%; margin-top: 10px; }.catalog-tools .crop-editor { margin: 16px 0 0; }.catalog-tools .crop-existing-panel > select, .catalog-tools .crop-existing-panel > .secondary-action { margin: 0; }.crop-existing-panel > select, .crop-existing-panel > .secondary-action { display: none; }
@media (max-width: 760px) { .catalog-page { margin: 38px auto 55px; }.catalog-intro { align-items: start; }.catalog-intro > span { width: 36px; height: 36px; }.catalog-layout { grid-template-columns: 1fr; }.catalog-guide { display: none; }.catalog-form { padding: 23px; }.catalog-tools-body { grid-template-columns: 1fr; }.catalog-tools .crop-existing-panel { border-right: 0; border-bottom: 1px solid #edf0ed; }.inline-action { flex-direction: column; }.inline-action .secondary-action { width: 100%; }.catalog-tools .merge-panel form { grid-template-columns: 1fr; } }
.catalog-list-page, .catalog-detail-page { max-width: 980px; margin: 58px auto 80px; }.catalog-list-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }.catalog-list-header h1, .catalog-detail-header h1 { margin: 5px 0 7px; color: #1a342c; font-size: clamp(32px, 4vw, 46px); letter-spacing: -2px; }.catalog-list-header p:not(.eyebrow) { margin: 0; color: #657269; font-size: 13px; }.catalog-filters { display: grid; grid-template-columns: 1.5fr 1fr auto; gap: 10px; align-items: center; padding: 14px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.catalog-filters label { display: flex; align-items: center; gap: 8px; padding: 0 8px; color: #526158; font-size: 12px; white-space: nowrap; }.catalog-filters input[type=checkbox] { width: 16px; height: 16px; accent-color: #426a55; }.catalog-items { display: grid; gap: 9px; margin-top: 16px; }.catalog-item-card { display: grid; grid-template-columns: 52px 1fr auto 18px; gap: 14px; align-items: center; padding: 10px; border: 1px solid #dfe5df; border-radius: 12px; color: inherit; background: #fff; text-decoration: none; transition: border .2s, transform .2s, box-shadow .2s; }.catalog-item-card:hover { border-color: #a9bdab; box-shadow: 0 6px 18px rgba(21, 47, 34, .07); transform: translateY(-1px); }.catalog-item-image { width: 52px; height: 52px; border-radius: 8px; object-fit: cover; background: #e9eee8; }.catalog-item-card > div { display: grid; gap: 3px; min-width: 0; }.catalog-item-card small { color: #759663; font: 500 9px "DM Mono", monospace; letter-spacing: .8px; text-transform: uppercase; }.catalog-item-card strong { overflow: hidden; color: #203a2d; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }.catalog-item-card span:not(.crop-status) { color: #7d8980; font-size: 11px; }.catalog-item-card b { color: #426a55; font-size: 22px; font-weight: 400; }.crop-status { padding: 6px 8px; border-radius: 99px; color: #876318; background: #fff4ce; font: 700 10px Manrope, sans-serif; white-space: nowrap; }.crop-status.done { color: #2d6942; background: #e4f4e6; }.catalog-detail-header { margin-bottom: 18px; }.catalog-detail-header > p:last-child { margin: 0; color: #657269; font-size: 14px; }.catalog-data { display: grid; grid-template-columns: 120px 1fr; margin: 0 0 20px; border: 1px solid #dfe5df; border-radius: 12px; overflow: hidden; background: #fff; }.catalog-data dt, .catalog-data dd { margin: 0; padding: 13px 17px; border-bottom: 1px solid #edf0ed; font-size: 13px; }.catalog-data dt:nth-last-of-type(1), .catalog-data dd:last-child { border-bottom: 0; }.catalog-data dt { color: #718078; background: #fbfcfa; font-weight: 700; }.catalog-data dd { color: #294435; }.detail-crop { display: grid; grid-template-columns: .7fr 1.3fr; gap: 20px; padding: 25px; border-radius: 14px; color: #dce6de; background: #214334; }.detail-crop h2 { margin: 9px 0; color: #fff; font-size: 22px; }.detail-crop p:not(.eyebrow) { color: #c8d6cd; font-size: 13px; line-height: 1.6; }.detail-crop .eyebrow { color: #b8d47b; }.detail-crop canvas { grid-column: 1 / -1; display: block; width: 100%; max-height: 500px; border-radius: 9px; touch-action: none; cursor: crosshair; }.detail-crop .submit { grid-column: 1 / -1; width: 100%; margin: 0; }
@media (max-width: 760px) { .catalog-list-page, .catalog-detail-page { margin-top: 40px; }.catalog-list-header { align-items: stretch; flex-direction: column; }.catalog-list-header .new-item-button { justify-content: center; }.catalog-filters { grid-template-columns: 1fr; }.catalog-item-card { grid-template-columns: 46px 1fr 14px; gap: 10px; }.catalog-item-image { width: 46px; height: 46px; }.crop-status { grid-column: 2; justify-self: start; }.catalog-item-card b { grid-column: 3; grid-row: 1 / span 2; }.detail-crop { grid-template-columns: 1fr; padding: 20px; } }
.nav-actions { display: flex; align-items: center; gap: 14px; }.app-download { display: grid; justify-items: end; gap: 4px; }.app-download button { border: 0; border-radius: 8px; padding: 10px 14px; color: #fff; background: #315e45; font: 800 12px Manrope, sans-serif; cursor: pointer; }.app-download button:disabled { opacity: .7; cursor: wait; }.app-download small { max-width: 240px; color: #657269; font-size: 10px; text-align: right; }.logout-link { padding: 8px 0; color: #657269; font-size: 12px; font-weight: 800; text-decoration: none; }.logout-link:hover { color: #315e45; }
.price-catalog-page { max-width: 980px; margin: 58px auto 80px; }.price-item-list { display: grid; gap: 9px; margin-top: 16px; }.price-item-card { display: grid; grid-template-columns: auto 1fr auto 18px; gap: 14px; align-items: center; width: 100%; padding: 12px; border: 1px solid #dfe5df; border-radius: 12px; color: #203a2d; background: #fff; text-align: left; cursor: pointer; transition: border .2s, transform .2s, box-shadow .2s; }.price-item-card:hover { border-color: #a9bdab; box-shadow: 0 6px 18px rgba(21,47,34,.07); transform: translateY(-1px); }.price-status { padding: 6px 8px; border-radius: 99px; color: #2d6942; background: #e4f4e6; font: 700 10px Manrope,sans-serif; white-space: nowrap; }.price-status.pending { color: #876318; background: #fff4ce; }.price-status.scheduled { color: #315d79; background: #e3f1fb; }.price-item-data, .price-item-value { display: grid; gap: 3px; min-width: 0; }.price-item-data small, .price-item-value small { color: #759663; font: 500 9px "DM Mono",monospace; letter-spacing: .8px; text-transform: uppercase; }.price-item-data strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }.price-item-data > span { color: #7d8980; font-size: 11px; }.price-item-value { justify-items: end; }.price-item-value strong { font-size: 15px; }.price-item-value small { color: #7d8980; letter-spacing: 0; text-transform: none; }.price-item-card > b { color: #426a55; font-size: 24px; font-weight: 400; }.price-editor-dialog { width: min(100% - 32px, 600px); border: 0; border-radius: 15px; padding: 0; color: #203a2d; box-shadow: 0 24px 80px rgba(10,30,17,.28); }.price-editor-dialog::backdrop { background: rgba(14,28,20,.56); }.price-editor-dialog > * { margin: 0 24px; }.price-editor-header { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-top: 26px; }.price-editor-header h2 { margin: 6px 0; font-size: 25px; letter-spacing: -1px; }.price-editor-header p:not(.eyebrow) { margin: 0; color: #718078; font-size: 12px; }.price-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }.price-summary > div { display: grid; gap: 4px; padding: 13px; border-radius: 9px; background: #f4f7f2; }.price-summary small { color: #759663; font: 500 9px "DM Mono",monospace; letter-spacing: .8px; }.price-summary strong { font-size: 16px; }.price-editor-form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 20px; }.price-editor-form label { display: grid; gap: 6px; color: #526158; font-size: 12px; font-weight: 700; }.price-editor-form input { width: 100%; box-sizing: border-box; }.price-editor-form .submit { grid-column: 1 / -1; margin: 0; }.price-form-error { grid-column: 1 / -1; margin: 0; color: #9a3732; font-size: 12px; }.price-editor-dialog .price-history-list { margin-top: 24px; margin-bottom: 26px; }.price-editor-dialog .price-history-line { border: 1px solid #edf0ed; background: #fff; }
@media (max-width: 760px) { .price-catalog-page { margin-top: 40px; }.price-item-card { grid-template-columns: 1fr 14px; gap: 8px; }.price-status { justify-self: start; }.price-item-data { grid-column: 1; }.price-item-value { grid-column: 1; justify-items: start; }.price-item-card > b { grid-column: 2; grid-row: 1 / span 3; }.price-editor-dialog > * { margin-right: 18px; margin-left: 18px; }.price-editor-header { margin-top: 22px; }.price-editor-form { grid-template-columns: 1fr; } }
.catalog-edit-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; margin: 0 0 20px; padding: 24px; border: 1px solid #dfe5df; border-radius: 14px; background: #fff; }.catalog-edit-form > div, .catalog-edit-form .submit, .catalog-edit-error { grid-column: 1 / -1; }.catalog-edit-form h2 { margin: 7px 0; color: #1a342c; font-size: 21px; }.catalog-edit-form p:not(.eyebrow) { margin: 0; color: #657269; font-size: 12px; }.catalog-edit-form label { display: grid; gap: 6px; color: #526158; font-size: 12px; font-weight: 700; }.catalog-edit-form input { width: 100%; box-sizing: border-box; }.catalog-edit-form .submit { width: 100%; margin: 3px 0 0; }.catalog-edit-error { margin: 0; color: #9a3732; font-size: 12px; }.price-item-card { grid-template-columns: 52px auto 1fr auto 18px; }.price-item-image { width: 52px; height: 52px; border-radius: 8px; object-fit: cover; background: #e9eee8; }.price-item-image:not(img) { display: block; background: #e9eee8; }
@media (max-width: 760px) { .catalog-edit-form { grid-template-columns: 1fr; padding: 20px; }.price-item-card { grid-template-columns: 46px 1fr 14px; }.price-item-image { width: 46px; height: 46px; grid-row: 1 / span 3; }.price-status { grid-column: 2; }.price-item-data, .price-item-value { grid-column: 2; }.price-item-card > b { grid-column: 3; grid-row: 1 / span 3; } }
.crop-editor canvas, .detail-crop canvas { width: auto; max-width: 100%; height: auto; margin-right: auto; margin-left: auto; }
.stock-page #items-list tr { cursor: pointer; }.stock-page #items-list tr:hover td { background: #f4f8ef; }
.cost-item-image { display: block; width: 46px; height: 46px; border-radius: 7px; object-fit: cover; cursor: zoom-in; }.cost-image-dialog { width: min(100% - 32px, 760px); padding: 22px; color: #203a2d; }.cost-image-dialog .close-dialog { float: right; }.cost-image-dialog strong { display: block; margin: 3px 34px 16px 0; }.cost-image-dialog img { display: block; max-width: 100%; max-height: 75vh; margin: auto; border-radius: 8px; object-fit: contain; }
.cost-date-input { width: 132px; box-sizing: border-box; }
.item-entries-dialog { width: min(100% - 32px, 580px); padding: 25px; color: #203a2d; }.item-entries-dialog .close-dialog { float: right; }.item-entries-heading { margin: 0 34px 20px 0; }.item-entries-heading h2 { margin: 0 0 5px; font-size: 22px; }.item-entries-heading p { margin: 0; color: #718078; font-size: 12px; }.item-entries-content { display: grid; gap: 8px; max-height: 60vh; overflow: auto; color: #657269; font-size: 13px; }.item-entry-line { display: grid; grid-template-columns: auto 1fr; gap: 5px 16px; padding: 13px; border-radius: 8px; background: #f4f7f2; }.item-entry-line strong { color: #203a2d; }.item-entry-line span { justify-self: end; color: #426a55; font-weight: 800; }.item-entry-line small { grid-column: 1 / -1; color: #657269; }
.dashboard-page { max-width: 1100px; }.dashboard-title { margin-bottom: 24px; }.dashboard-title h1 { margin: 5px 0 7px; color: #1a342c; font-size: clamp(32px, 4vw, 46px); letter-spacing: -2px; }.dashboard-title p:not(.eyebrow) { margin: 0; color: #657269; font-size: 13px; }.dashboard-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }.dashboard-kpi, .dashboard-chart { padding: 18px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.dashboard-kpi { display: grid; gap: 7px; }.dashboard-kpi small { color: #759663; font: 500 10px "DM Mono", monospace; letter-spacing: .8px; text-transform: uppercase; }.dashboard-kpi strong { color: #1a342c; font-size: 21px; letter-spacing: -.8px; }.dashboard-kpi span { color: #718078; font-size: 11px; }.dashboard-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }.dashboard-chart h2 { margin: 0 0 18px; color: #203a2d; font-size: 16px; }.dashboard-bar-row { display: grid; grid-template-columns: minmax(90px, 1fr) 1.5fr auto; gap: 10px; align-items: center; margin: 11px 0; }.dashboard-bar-row > span { overflow: hidden; color: #526158; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }.dashboard-bar-row strong { color: #203a2d; font-size: 11px; white-space: nowrap; }.dashboard-bar-track { height: 9px; overflow: hidden; border-radius: 99px; background: #edf1ea; }.dashboard-bar-track i { display: block; height: 100%; border-radius: inherit; background: #76a85e; }.dashboard-bar-track.financial i { background: #426a55; }
.item-entry-line { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; align-items: end; }.item-entry-line label { display: grid; gap: 5px; color: #657269; font-size: 10px; font-weight: 800; }.item-entry-line input { min-width: 0; box-sizing: border-box; }.item-entry-line .entry-feedback { grid-column: 1 / -1; color: #426a55; }
@media (max-width: 760px) { .item-entry-line { grid-template-columns: 1fr 1fr; }.item-entry-line .history-button { grid-column: 1 / -1; } }
@media (max-width: 760px) { .dashboard-kpis, .dashboard-charts { grid-template-columns: 1fr; }.dashboard-bar-row { grid-template-columns: minmax(80px, 1fr) 1fr auto; } }
.cost-page { max-width: 1100px; margin: 58px auto 80px; }.cost-toolbar { margin-bottom: 14px; padding: 13px 15px; border: 1px solid #dfe5df; border-radius: 11px; background: #fff; }.cost-toolbar label { display: flex; align-items: center; gap: 8px; color: #526158; font-size: 12px; font-weight: 700; }.cost-toolbar input { width: 16px; height: 16px; accent-color: #426a55; }.cost-panel td strong, .cost-panel td small { display: block; }.cost-panel td small { margin-top: 3px; color: #7d8980; font-size: 11px; }.cost-input { width: 112px; box-sizing: border-box; }
@media (max-width: 760px) { .cost-page { margin-top: 40px; }.cost-panel { overflow-x: auto; }.cost-panel table { min-width: 700px; } }
.inventory-page { max-width: 1100px; margin: 58px auto 80px; }.inventory-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 18px; }.inventory-summary section { display: grid; gap: 6px; align-content: center; min-height: 76px; padding: 16px 18px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.inventory-summary small { color: #759663; font: 500 10px "DM Mono", monospace; letter-spacing: .8px; text-transform: uppercase; }.inventory-summary strong { color: #1a342c; font-size: 19px; }.inventory-summary span { color: #718078; font-size: 11px; }.inventory-summary .submit { width: 100%; height: 46px; }.inventory-summary .submit:disabled { color: #758078; background: #e7ece5; cursor: not-allowed; }.inventory-list { display: grid; gap: 10px; }.inventory-line { display: grid; grid-template-columns: minmax(180px, 1.5fr) .8fr 150px .7fr minmax(140px, 1fr); gap: 16px; align-items: center; padding: 16px 18px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.inventory-line.has-difference { border-color: #e5c66f; background: #fffdf5; }.inventory-item { display: grid; gap: 3px; min-width: 0; }.inventory-item strong { overflow: hidden; color: #203a2d; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }.inventory-item span, .inventory-item small { overflow: hidden; color: #718078; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }.inventory-item small { color: #8b968e; }.inventory-expected, .inventory-difference { display: grid; gap: 4px; }.inventory-expected small, .inventory-difference small { color: #718078; font-size: 10px; }.inventory-expected strong { color: #203a2d; font-size: 13px; }.inventory-difference strong { color: #426a55; font-size: 13px; }.inventory-count, .inventory-note { display: grid; gap: 5px; color: #657269; font-size: 10px; font-weight: 800; }.inventory-count input, .inventory-note input { box-sizing: border-box; height: 40px; padding: 0 10px; }.inventory-dialog form { padding: 29px; }
@media (max-width: 760px) { .inventory-page { margin-top: 40px; }.inventory-summary { grid-template-columns: 1fr 1fr; }.inventory-summary section:last-child { grid-column: 1 / -1; }.inventory-line { grid-template-columns: 1fr 1fr; gap: 13px; padding: 16px; }.inventory-item, .inventory-note { grid-column: 1 / -1; }.inventory-count, .inventory-expected, .inventory-difference { min-width: 0; } }
.sales-page { max-width: 920px; margin: 58px auto 80px; }.sales-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 12px; margin-bottom: 18px; }.sales-summary section { display: grid; gap: 6px; padding: 17px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.sales-summary small { color: #759663; font: 500 10px "DM Mono", monospace; letter-spacing: .8px; text-transform: uppercase; }.sales-summary strong { color: #1a342c; font-size: 20px; }.sales-list { display: grid; gap: 12px; }.sale-card { padding: 18px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.sale-card-header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }.sale-card-header > div { display: grid; gap: 4px; }.sale-card-header small { color: #759663; font: 500 10px "DM Mono", monospace; letter-spacing: .7px; }.sale-card-header strong { color: #203a2d; font-size: 15px; }.sale-card-header .sale-total { color: #315e45; white-space: nowrap; }.sale-lines { display: grid; gap: 7px; margin-top: 15px; padding-top: 14px; border-top: 1px solid #edf0ed; }.sale-lines > div { display: grid; grid-template-columns: 1fr auto auto; gap: 15px; align-items: center; font-size: 12px; }.sale-lines span { color: #344139; }.sale-lines small { color: #718078; }.sale-lines strong { color: #203a2d; font-size: 12px; }.sale-note { margin: 13px 0 0; color: #718078; font-size: 11px; }.sale-dialog { width: min(100% - 32px, 700px); color: #203a2d; }.sale-form { padding: 27px; }.sale-form-top { display: grid; grid-template-columns: 160px 1fr; gap: 12px; }.sale-form-top label, .sale-form > label { display: grid; gap: 6px; color: #526158; font-size: 12px; font-weight: 700; }.sale-form-items { margin-top: 14px; }.sale-form-items-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }.sale-form-items-heading strong { font-size: 13px; }.sale-form-items-heading .secondary-action { min-height: 36px; padding: 0 11px; }.sale-draft-lines { display: grid; gap: 8px; }.sale-draft-line { display: grid; grid-template-columns: minmax(180px, 1fr) 100px 130px 30px; gap: 8px; align-items: center; padding: 10px; border: 1px solid #dfe5df; border-radius: 9px; background: #f9fbf8; }.sale-draft-line select, .sale-draft-line input { min-width: 0; height: 40px; box-sizing: border-box; }.sale-draft-line small { grid-column: 1 / -1; color: #718078; font-size: 10px; }.sale-remove { width: 30px; height: 30px; border: 0; border-radius: 50%; color: #6c534c; background: #f6eae7; cursor: pointer; font-size: 20px; }.sale-form > label { margin-top: 15px; }.sale-form-total { display: flex; justify-content: space-between; margin-top: 17px; padding: 14px 0; border-top: 1px solid #edf0ed; color: #526158; font-size: 13px; }.sale-form-total strong { color: #1a342c; font-size: 19px; }.sale-form .submit { width: 100%; margin-top: 4px; }
@media (max-width: 760px) { .sales-page { margin-top: 40px; }.sales-summary { grid-template-columns: 1fr 1fr; }.sale-form { padding: 21px; }.sale-form-top { grid-template-columns: 1fr; }.sale-draft-line { grid-template-columns: 1fr 1fr 30px; }.sale-draft-line select, .sale-draft-line small { grid-column: 1 / -1; }.sale-draft-line input { min-width: 0; }.sale-lines > div { grid-template-columns: 1fr auto; gap: 5px 12px; }.sale-lines small { grid-column: 1; }.sale-lines strong { grid-column: 2; grid-row: 1 / span 2; } }
.history-page { max-width: 920px; margin: 58px auto 80px; }.history-notice { margin-bottom: 16px; padding: 14px 16px; border: 1px solid #d5e3d4; border-radius: 10px; color: #46634e; background: #f4f9f1; font-size: 12px; line-height: 1.55; }.history-list { display: grid; gap: 10px; }.history-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px 18px; border: 1px solid #dfe5df; border-radius: 12px; background: #fff; }.history-type { padding: 6px 8px; border-radius: 99px; font: 700 10px Manrope, sans-serif; white-space: nowrap; }.history-type.purchase { color: #2d6942; background: #e4f4e6; }.history-type.sale { color: #315d79; background: #e3f1fb; }.history-main { display: grid; gap: 3px; min-width: 0; }.history-main strong { overflow: hidden; color: #203a2d; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }.history-main span { color: #718078; font-size: 11px; }.history-meta { display: grid; justify-items: end; gap: 6px; }.history-meta small { color: #718078; font-size: 10px; white-space: nowrap; }.confidence { padding: 4px 7px; border-radius: 99px; font: 700 9px Manrope, sans-serif; white-space: nowrap; }.confidence.confirmed { color: #2d6942; background: #e4f4e6; }.confidence.estimated { color: #876318; background: #fff4ce; }.confidence.unconfirmed { color: #6d5d55; background: #f0ebe9; }.history-card p { grid-column: 2 / -1; margin: -5px 0 0; color: #718078; font-size: 11px; }.history-dialog { width: min(100% - 32px, 680px); color: #203a2d; }.history-form { padding: 27px; }.history-form-hint { margin: -5px 0 6px; color: #657269; font-size: 12px; line-height: 1.5; }.history-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.history-form label { display: grid; gap: 6px; color: #526158; font-size: 12px; font-weight: 700; }.history-form > label { margin-top: 12px; }.history-form .submit { width: 100%; margin-top: 15px; }
@media (max-width: 760px) { .history-page { margin-top: 40px; }.history-card { grid-template-columns: auto 1fr; gap: 10px; }.history-meta { grid-column: 2; justify-items: start; grid-template-columns: auto auto; align-items: center; }.history-card p { grid-column: 1 / -1; margin-top: 2px; }.history-form { padding: 21px; }.history-form-grid { grid-template-columns: 1fr; } }
.shell { grid-template-columns: minmax(420px, 51%) 1fr; background: #0f1419; }.intro { padding: 46px clamp(42px, 5.2vw, 92px); color: #f6f8f7; background: radial-gradient(circle at 104% 51%, rgba(46,196,166,.22), transparent 23%), linear-gradient(135deg, #101a1e 0%, #071014 100%); }.intro::before { width: 520px; height: 520px; top: 28%; right: -300px; background: radial-gradient(circle at 33% 34%, #b9f4e5 0 1%, #4bc6aa 17%, #183b37 42%, #0b1518 68%); opacity: .85; box-shadow: 0 0 70px rgba(46,196,166,.2); }.intro::after { width: 440px; height: 440px; bottom: -303px; left: -115px; border: 1px solid rgba(46,196,166,.68); box-shadow: 0 0 0 52px rgba(46,196,166,.04), 0 0 0 105px rgba(46,196,166,.018); }.intro .brand { gap: 11px; font-size: 23px; letter-spacing: -1.3px; }.intro .brand-light, .intro .eyebrow, .intro h1 em { color: #2ec4a6; }.intro h1 em { font-style: normal; }.intro .brand-mark i { background: #2ec4a6; }.intro-content { max-width: 430px; transform: translateY(5%); }.intro .eyebrow { margin-bottom: 18px; font-size: 10px; letter-spacing: 2.3px; }.intro h1 { max-width: 430px; font-size: clamp(43px, 4.5vw, 65px); font-weight: 700; line-height: 1.03; letter-spacing: -3.8px; }.intro-copy { max-width: 330px; margin-top: 24px; color: #aeb9b8; font-size: 14px; line-height: 1.6; }.status { color: #c3cdca; font-size: 10px; letter-spacing: .1px; }.status span { background: #2ec4a6; box-shadow: 0 0 0 5px rgba(46,196,166,.1); }.access { padding: 50px clamp(38px, 7.2vw, 120px) 27px; background: #fdfdfc; }.access-inner { width: min(100%, 355px); }.access-heading .eyebrow { margin-bottom: 13px; color: #7b8280; font-size: 10px; letter-spacing: 1.2px; }.access-heading h2 { color: #171e22; font-size: 28px; font-weight: 700; letter-spacing: -1.7px; }.access-heading > p:last-child { margin: 9px 0 33px; color: #7b8280; font-size: 13px; }.local-login { gap: 8px; }.local-login label { color: #1e282c; font-size: 11px; }.local-login input:not([type=checkbox]) { height: 42px; border-color: #e0e5e3; border-radius: 7px; color: #1e282c; box-shadow: 0 1px 2px rgba(15,20,25,.02); font-size: 12px; }.local-login input:not([type=checkbox]):focus { border-color: #2ec4a6; box-shadow: 0 0 0 3px rgba(46,196,166,.14); }.local-login .submit { height: 42px; margin-top: 4px; border-radius: 7px; color: #0f2825; background: #2ec4a6; font-size: 12px; }.local-login .submit:hover { background: #28b99d; }.support { margin-top: 17px; color: #8b918f; font-size: 10px; }.access footer { color: #8b918f; font-size: 9px; }.access footer span { color: #a8afac; }
@media (max-width: 760px) { .shell { display: block; }.intro { min-height: 390px; padding: 29px; }.intro .brand { font-size: 20px; }.intro-content { margin: auto 0 8px; transform: none; }.intro h1 { font-size: 42px; }.intro-copy { display: block; max-width: 270px; font-size: 12px; }.access { min-height: calc(100vh - 390px); padding: 46px 28px 28px; }.access footer { margin-top: 45px; } }

/* Página inicial — padrão Ni ERP */
.dashboard { padding: 25px clamp(24px, 3.8vw, 58px) 40px; background: #f8faf7; }
.dashboard-nav { min-height: 43px; padding: 0 0 26px; border-color: #e1e8e3; }
.dashboard-nav .brand { display: inline-flex; align-items: center; gap: 10px; color: #15252a; font-size: 25px; font-weight: 800; letter-spacing: -1.5px; text-decoration: none; }
.dashboard-nav .brand-light { color: #b7df72; }
.dashboard-nav .brand-mark { gap: 3px; height: 25px; }
.dashboard-nav .brand-mark i { width: 6px; background: #b7df72; border-radius: 6px; }
.dashboard-nav .brand-mark i:nth-child(1) { height: 10px; }.dashboard-nav .brand-mark i:nth-child(2) { height: 17px; }.dashboard-nav .brand-mark i:nth-child(3) { height: 24px; }
.nav-actions { display: flex; align-items: center; gap: 21px; }
.app-download button { height: 41px; padding: 0 17px; border: 0; border-radius: 8px; color: #fff; background: #195e49; font: 800 12px Manrope, sans-serif; box-shadow: 0 5px 12px rgba(21, 94, 73, .13); }
.logout-link { color: #365052; font-size: 13px; font-weight: 800; text-decoration: none; }
.home-page { max-width: 1425px; margin: 27px auto 0; }
.home-alerts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.home-alert, .home-module { display: grid; color: #142127; text-decoration: none; background: #fff; border: 1px solid #e3e9e5; border-radius: 12px; transition: transform .18s, box-shadow .18s, border-color .18s; }
.home-alert:hover, .home-module:hover { border-color: #b7d8cc; box-shadow: 0 10px 25px rgba(24, 67, 51, .07); transform: translateY(-2px); }
.home-alert { grid-template-columns: 56px minmax(0, 1fr) 15px; gap: 13px; align-items: center; min-height: 106px; padding: 0 20px 0 16px; }
.home-alert-icon, .home-module-icon { display: grid; place-items: center; background: #e9f7f1; color: #176750; border-radius: 12px; }
.home-alert-icon { width: 56px; height: 56px; }.home-alert-icon svg { width: 28px; height: 28px; stroke-width: 2; }
.home-alert strong { display: block; margin-bottom: 2px; font-size: 28px; line-height: 1; letter-spacing: -1.2px; }.home-alert b { display: block; font-size: 12px; }.home-alert small { display: block; margin-top: 7px; color: #718087; font-size: 11px; line-height: 1.3; }.home-alert > svg, .home-module > .home-arrow { width: 17px; color: #176750; }
.home-alert.warning .home-alert-icon { color: #d77a00; background: #fff6e8; }.home-alert.danger .home-alert-icon { color: #d12d50; background: #fff0f4; }.home-alert.neutral .home-alert-icon { color: #53636d; background: #f1f4f4; }
.home-section-heading { margin: 36px 0 16px; }.home-section-heading h1, .home-panel h2 { margin: 0; color: #132126; letter-spacing: -1px; }.home-section-heading h1 { font-size: 22px; }.home-section-heading p, .home-panel-head p { margin: 3px 0 0; color: #6e7d83; font-size: 13px; }
.home-modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }.home-module { grid-template-columns: 76px minmax(0, 1fr) 16px; gap: 16px; align-items: center; min-height: 106px; padding: 0 22px 0 16px; }.home-module-icon { width: 66px; height: 66px; }.home-module-icon svg { width: 34px; height: 34px; stroke-width: 1.8; }.home-module-copy strong { display: block; font-size: 17px; letter-spacing: -.55px; }.home-module-copy small { display: block; max-width: 260px; margin-top: 5px; color: #687880; font-size: 13px; line-height: 1.55; }.home-arrow { justify-self: end; }
.home-bottom { display: grid; grid-template-columns: 1.25fr .95fr; gap: 17px; margin-top: 19px; }.home-panel { overflow: hidden; border: 1px solid #e3e9e5; border-radius: 12px; background: #fff; }.home-panel-head { display: flex; justify-content: space-between; align-items: start; padding: 20px 21px 15px; }.home-panel h2 { font-size: 18px; }.home-panel-head a { display: inline-flex; align-items: center; gap: 3px; min-height: 34px; padding: 0 10px; border: 1px solid #dfe7e2; border-radius: 7px; color: #235b4c; font-size: 11px; font-weight: 800; text-decoration: none; }.home-panel-head a svg { width: 14px; }.home-activity { margin: 0 18px 18px; overflow: hidden; border: 1px solid #e9eeeb; border-radius: 11px; }.home-activity a { display: grid; grid-template-columns: 42px minmax(0, 1fr) 18px; gap: 12px; align-items: center; min-height: 56px; padding: 0 12px 0 7px; border-bottom: 1px solid #e9eeeb; color: #142127; text-decoration: none; }.home-activity a:last-child { border-bottom: 0; }.home-activity a > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 8px; color: #586b72; background: #f4f7f6; }.home-activity svg { width: 19px; height: 19px; }.home-activity a > div { min-width: 0; }.home-activity strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }.home-activity small { display: block; overflow: hidden; margin-top: 2px; color: #718087; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }.home-activity a > svg { width: 15px; color: #607a79; }
@media (max-width: 980px) { .home-alerts { grid-template-columns: 1fr 1fr; }.home-modules { grid-template-columns: 1fr 1fr; }.home-bottom { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .dashboard { padding: 18px 15px 28px; }.dashboard-nav { padding-bottom: 18px; }.dashboard-nav .brand { font-size: 22px; }.nav-actions { gap: 13px; }.app-download button { height: 37px; padding: 0 12px; font-size: 11px; }.home-page { margin-top: 20px; }.home-alerts, .home-modules { grid-template-columns: 1fr; gap: 11px; }.home-alert, .home-module { min-height: 92px; }.home-section-heading { margin-top: 28px; }.home-bottom { gap: 11px; }.home-panel-head { padding: 17px 15px 12px; }.home-activity { margin: 0 11px 11px; } }

/* Navegação persistente */
.app-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 100vh; background: #f8faf7; }
.side-menu { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 22px 13px 15px; color: #d7e1de; background: linear-gradient(160deg, #122024, #0d181b); }
.side-brand { display: inline-flex; align-items: center; gap: 8px; margin: 0 10px 29px; color: #f6fcf8; font-size: 20px; font-weight: 800; letter-spacing: -1px; text-decoration: none; }.side-brand > span > span { color: #b7df72; }.side-brand .brand-mark { height: 22px; }.side-brand .brand-mark i { width: 5px; background: #b7df72; transform: skewY(-27deg); }.side-brand .brand-mark i:nth-child(1) { height: 9px; }.side-brand .brand-mark i:nth-child(2) { height: 16px; }.side-brand .brand-mark i:nth-child(3) { height: 22px; }
.side-menu nav { display: grid; gap: 3px; }.side-item { display: grid; grid-template-columns: 21px minmax(0, 1fr); gap: 11px; align-items: center; min-height: 43px; padding: 0 11px; border-radius: 7px; color: #d5dfdc; font-size: 12px; font-weight: 700; text-decoration: none; }.side-item > svg { width: 18px; height: 18px; stroke-width: 2.2; }.side-item:hover, .side-item.active { color: #fff; background: #26383c; }
.side-group { display: grid; gap: 2px; }.side-group > .side-item { color: #d5dfdc; }.side-group.active > .side-item { color: #fff; background: #26383c; }.side-subnav { display: none; gap: 2px; margin: 1px 0 6px 20px; padding: 2px 0 2px 14px; border-left: 1px solid #2b4042; }.side-group.active .side-subnav { display: grid; }.side-subnav a { min-height: 30px; padding: 7px 10px; border-radius: 6px; color: #bdc9c6; font-size: 11px; font-weight: 700; text-decoration: none; }.side-subnav a:hover, .side-subnav a.active { color: #fff; background: #2b3e42; }
.side-user { display: grid; grid-template-columns: 33px minmax(0, 1fr) 20px; gap: 9px; align-items: center; margin-top: auto; padding: 12px 7px 0; }.side-user > b { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 50%; color: #233237; background: #f3f6f4; font-size: 10px; }.side-user span { display: grid; min-width: 0; }.side-user strong { overflow: hidden; color: #f4f7f5; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }.side-user small { margin-top: 2px; color: #91a09c; font-size: 9px; }.side-user a { display: grid; place-items: center; color: #b8c6c2; }.side-user a svg { width: 16px; }
.dashboard-workspace { min-width: 0; }.dashboard-workspace .dashboard-nav { justify-content: flex-end; }.dashboard-workspace .dashboard-content { margin-top: 52px; }.dashboard-workspace .home-page { max-width: 1425px; }
@media (max-width:820px){.app-shell{display:block}.dashboard-workspace{padding:18px 15px 88px}.dashboard-workspace .dashboard-nav{display:none}.side-menu{position:fixed;z-index:30;top:0;left:0;width:min(286px,calc(100vw - 54px));height:100dvh;box-sizing:border-box;padding:22px 13px 15px;overflow-y:auto;transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 30px rgba(7,20,23,.25)}body.mobile-menu-open{overflow:hidden}body.mobile-menu-open .side-menu{transform:translateX(0)}.side-brand{justify-content:flex-start;margin:0 10px 29px}.side-brand > span:last-child,.side-item > span,.side-user span,.side-user a{display:inline}.side-subnav{display:none}.side-group.active .side-subnav{display:grid}.side-item{grid-template-columns:21px minmax(0,1fr);justify-items:stretch;padding:0 11px}.side-item > svg{width:18px;height:18px}.side-user{grid-template-columns:33px minmax(0,1fr) 20px;justify-items:stretch;padding:12px 7px 0}.mobile-menu-toggle{position:fixed;z-index:25;right:18px;bottom:18px;display:grid;width:52px;height:52px;place-items:center;border:0;border-radius:50%;color:#fff;background:#152b2e;box-shadow:0 8px 22px rgba(8,29,30,.28);cursor:pointer}.mobile-menu-toggle svg{width:23px;height:23px}.mobile-menu-backdrop{position:fixed;z-index:29;inset:0;border:0;background:rgba(9,20,23,.48);opacity:0;pointer-events:none;transition:opacity .22s ease}body.mobile-menu-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}.mobile-sales-action{position:fixed;z-index:25;bottom:18px;left:50%;display:inline-flex;min-width:132px;height:52px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border-radius:28px;color:#fff;background:#17624d;box-shadow:0 8px 22px rgba(23,98,77,.3);font-size:14px;font-weight:800;text-decoration:none;transform:translateX(-50%)}.mobile-sales-action svg{width:19px;height:19px}}
@media (max-width: 760px) { dialog, .sale-dialog, .receipt-dialog, .history-dialog, .inventory-dialog, .price-editor-dialog { width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100vh - 24px);margin:auto;overflow-y:auto;border-radius:12px; }.sale-form,.receipt-form,.history-form,dialog form { padding:18px; }.sale-draft-line { grid-template-columns:minmax(0,1fr) 1fr 30px;gap:7px;padding:8px; }.sale-draft-line select,.sale-draft-line small { grid-column:1/-1; }.sale-draft-line input[name="p"],.sale-draft-line input[name="d"] { min-width:0; }.sale-form-items-heading { align-items:flex-start;gap:8px; }.sale-form-items-heading .secondary-action { flex:0 0 auto; }.sale-actions { flex-direction:column-reverse; }.sale-actions button,.sale-form .submit { width:100%; } }

/* Vendas — paleta atual Ni ERP */
.dashboard-workspace .sales-page { max-width: 1120px; margin: 34px auto 72px; }
.operational-home { max-width: 900px !important; }.operational-primary { display:grid; grid-template-columns:52px minmax(0,1fr) 24px; gap:16px; align-items:center; margin:25px 0 32px; padding:24px; border-radius:12px; color:#fff; background:#17624d; box-shadow:0 10px 24px rgba(23,98,77,.18); text-decoration:none; }.operational-primary:hover{background:#0f543f}.operational-primary>span{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:rgba(255,255,255,.14)}.operational-primary svg{width:23px}.operational-primary div{display:grid;gap:3px}.operational-primary strong{font-size:18px}.operational-primary small{color:#d8eee5;font-size:12px}.operational-primary>svg{justify-self:end}
.commercial-period{display:flex;gap:8px;margin:-5px 0 16px}.commercial-period button{min-height:32px;padding:0 10px;border:1px solid #d8e5df;border-radius:7px;color:#17624d;background:#fff;font:700 11px Manrope;cursor:pointer}.commercial-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.commercial-kpis section,.commercial-panel{padding:17px;border:1px solid #e2e9e5;border-radius:10px;background:#fff}.commercial-kpis section{display:grid;gap:6px}.commercial-kpis small{color:#728087;font-size:11px;font-weight:700}.commercial-kpis strong{color:#126a52;font-size:22px;letter-spacing:-.8px}.commercial-kpis span{color:#728087;font-size:10px}.commercial-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin:16px 0 24px}.commercial-panel h2{margin:0 0 16px;color:#17282d;font-size:15px}.commercial-bars{display:flex;min-height:150px;gap:8px;align-items:end}.commercial-bars>div{display:grid;flex:1;gap:5px;align-items:end;text-align:center}.commercial-bars i{display:block;width:100%;min-height:4px;border-radius:4px 4px 0 0;background:#28a886}.commercial-bars span,.commercial-bars small{color:#728087;font-size:9px;white-space:nowrap}.commercial-products{display:grid;gap:8px}.commercial-products>div{display:grid;grid-template-columns:22px 1fr auto;gap:9px;align-items:center}.commercial-products b{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;color:#17624d;background:#e7f4ee;font-size:10px}.commercial-products span{display:grid;color:#304047;font-size:11px}.commercial-products small{color:#728087;font-size:10px}.commercial-products strong{color:#17624d;font-size:11px}@media(max-width:760px){.commercial-kpis{grid-template-columns:1fr 1fr}.commercial-grid{grid-template-columns:1fr}.commercial-period{overflow:auto}}
.indicator-filters{display:flex;align-items:end;gap:10px;margin:0 0 22px}.indicator-filters label{display:grid;gap:4px;color:#728087;font-size:11px;font-weight:700}.indicator-filters input{height:34px}.indicator-periods{display:flex;gap:7px;margin-right:auto}.indicator-periods button{min-height:34px;padding:0 10px;border:1px solid #d8e5df;border-radius:7px;color:#17624d;background:#fff;font:700 11px Manrope;cursor:pointer}.indicator-section-title{margin:22px 0 10px;color:#1d2933;font-size:15px}.indicator-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.indicator-kpis-small{grid-template-columns:repeat(2,minmax(0,1fr));max-width:540px}.indicator-kpis section,.indicator-panel{display:grid;gap:6px;padding:17px;border:1px solid #e2e9e5;border-radius:10px;background:#fff}.indicator-kpis small{color:#728087;font-size:11px;font-weight:700}.indicator-kpis strong{color:#126a52;font-size:22px;letter-spacing:-.8px}.indicator-kpis span{color:#728087;font-size:10px}.indicator-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin:16px 0}.indicator-panel h2{margin:0 0 16px;color:#17282d;font-size:15px}.indicator-bars{display:flex;min-height:160px;gap:8px;align-items:end}.indicator-bars>div{display:grid;flex:1;gap:5px;align-items:end;text-align:center}.indicator-bars i{display:block;width:100%;min-height:4px;border-radius:4px 4px 0 0;background:#28a886}.indicator-bars span,.indicator-bars small{color:#728087;font-size:9px;white-space:nowrap}.indicator-products{display:grid;gap:8px}.indicator-products>div{display:grid;grid-template-columns:22px 1fr auto;gap:9px;align-items:center}.indicator-products b{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;color:#17624d;background:#e7f4ee;font-size:10px}.indicator-products span{display:grid;color:#304047;font-size:11px}.indicator-products small{color:#728087;font-size:10px}.indicator-products strong{color:#17624d;font-size:11px}@media(max-width:760px){.indicator-filters{flex-wrap:wrap}.indicator-periods{width:100%;overflow:auto}.indicator-kpis{grid-template-columns:1fr 1fr}.indicator-grid{grid-template-columns:1fr}}
.dashboard-workspace .sales-page .back-link { color: #52706b; }.dashboard-workspace .sales-page .catalog-list-header { margin: 17px 0 22px; }.dashboard-workspace .sales-page .catalog-list-header h1 { color: #14242a; font-size: 30px; letter-spacing: -1.45px; }.dashboard-workspace .sales-page .catalog-list-header p { color: #6c7b81; }
.dashboard-workspace .sales-page .new-item-button { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; border: 0; border-radius: 8px; color: #fff; background: #17624d; box-shadow: 0 6px 15px rgba(23, 98, 77, .16); }.dashboard-workspace .sales-page .new-item-button:hover { background: #0f543f; }
.sales-tabs{display:flex;gap:22px;margin:0 0 16px;border-bottom:1px solid #e2e9e5}.sales-tabs a{padding:10px 0;color:#60736f;font-size:13px;font-weight:700;text-decoration:none}.sales-tabs a:first-child{color:#17624d;border-bottom:2px solid #17624d}.sales-filters{display:flex;align-items:end;gap:10px;margin:0 0 18px}.sales-filters label{display:grid;gap:4px;color:#60736f;font-size:11px;font-weight:700}.sales-filters input,.sales-filters select{height:36px}.sales-filters button,.sale-actions button{min-height:36px;padding:0 12px;border:1px solid #cfe2da;border-radius:7px;background:#fff;color:#17624d;font-weight:700;cursor:pointer}.sale-actions{display:flex;gap:8px;margin-top:14px}.sale-actions .confirm{background:#17624d;color:#fff}.sale-status{display:block;margin-top:5px;font-size:10px;font-weight:700}.sale-status.draft{color:#9b6a14}.sale-status.confirmed{color:#17624d}.sale-status.cancelled{color:#a23a4d}.sales-section-head{margin:25px 0 12px}.sales-section-head h2{margin:0;color:#17282d;font-size:16px}.sales-section-head p{margin:5px 0 0;color:#728087;font-size:12px}
.sales-page .sales-summary,.sales-tabs a[href="#resumo"]{display:none}
@media (max-width:760px){
  .dashboard-workspace,.dashboard-content,.sales-page,.receipts-page,.inventory-page,.catalog-list-page,.catalog-detail-page,.pricing-page{width:100%;min-width:0}
  .dashboard-workspace{padding-bottom:88px}
  .sales-tabs{flex-wrap:wrap;gap:8px 18px}
  .sales-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
  .sales-filters label{min-width:0}.sales-filters input,.sales-filters select{width:100%;min-width:0}
  .sales-filters select,.sales-filters button{grid-column:1/-1;width:100%}
  .receipt-filters{flex-wrap:wrap}.receipt-filters input{min-width:0;flex:1 1 180px}.receipt-filters button{flex:1 1 auto}
  .sale-dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
  .sale-form{padding:18px 16px!important}.sale-form-top{grid-template-columns:1fr}
  .sale-draft-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;gap:8px;padding:10px}
  .sale-draft-line select{grid-column:1/-1}.sale-draft-line input[name="d"]{grid-column:1/3}
  .sale-draft-line button{grid-column:3;grid-row:2/4;width:36px;height:36px;padding:0;border:0;border-radius:7px;color:#a23a4d;background:#fff0f3;font-size:20px}
  .sale-actions{display:grid;grid-template-columns:1fr}.sale-actions button{width:100%}
}
.dashboard-workspace .sales-summary { grid-template-columns: repeat(2, minmax(0, 265px)); gap: 15px; margin-bottom: 21px; }.dashboard-workspace .sales-summary section { min-height: 100px; padding: 18px 20px; border-color: #e2e9e5; border-radius: 10px; box-shadow: 0 2px 7px rgba(23, 52, 42, .025); }.dashboard-workspace .sales-summary small { color: #728087; font-family: Manrope, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0; text-transform: none; }.dashboard-workspace .sales-summary strong { color: #126a52; font-size: 25px; letter-spacing: -1px; }
.dashboard-workspace .sales-list { gap: 11px; }.dashboard-workspace .sale-card { padding: 20px; border-color: #e2e9e5; border-radius: 10px; box-shadow: 0 2px 7px rgba(23, 52, 42, .02); }.dashboard-workspace .sale-card:hover { border-color: #b9dcd0; }.dashboard-workspace .sale-card-header small { color: #78918a; font-family: Manrope, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0; }.dashboard-workspace .sale-card-header strong { color: #17282d; }.dashboard-workspace .sale-card-header .sale-total { color: #137057; font-size: 17px; }.dashboard-workspace .sale-lines { border-color: #edf1ef; }.dashboard-workspace .sale-lines span { color: #314348; }.dashboard-workspace .sale-lines small, .dashboard-workspace .sale-note { color: #728087; }.dashboard-workspace .sale-lines strong { color: #1e4037; }
.sale-dialog { border: 1px solid #dfe9e4; border-radius: 13px; box-shadow: 0 22px 60px rgba(12, 34, 30, .22); }.sale-dialog::backdrop { background: rgba(10, 26, 28, .44); }.sale-form { padding: 29px; }.sale-form .dialog-heading h2 { color: #14242a; }.sale-form-top label, .sale-form > label { color: #42575a; }.sale-form input:focus, .sale-form select:focus { border-color: #28b494; box-shadow: 0 0 0 3px rgba(40, 180, 148, .13); }.sale-form-items-heading strong { color: #26383b; }.sale-form-items-heading .secondary-action { border-color: #cfe2da; color: #17624d; background: #f7fcf9; }.sale-draft-line { border-color: #dfeae5; background: #f8fbf9; }.sale-draft-line small { color: #648079; }.sale-remove { color: #a23a4d; background: #fff0f3; }.sale-form-total { border-color: #e2ebe6; }.sale-form-total strong { color: #126a52; }.sale-form .submit { border-radius: 8px; background: #17624d; }.sale-form .submit:hover { background: #0f543f; }
@media (max-width:760px){dialog.sale-dialog.sale-mobile-page[open]{position:static;display:block;width:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.sale-mobile-page .sale-form{min-height:100vh;padding:20px 0 100px!important;background:#f6f8f3}.sale-mobile-page .dialog-heading{position:sticky;top:0;z-index:1;margin:0 -1px 18px;padding:16px;color:#fff;background:#152b2e}.sale-mobile-page .dialog-heading h2{color:#fff}.sale-mobile-page .dialog-heading .eyebrow{color:#b7df72}.sale-mobile-page .close-dialog{color:#fff}.sale-mobile-page .sale-form-top,.sale-mobile-page .sale-form-items,.sale-mobile-page>.sale-form>label,.sale-mobile-page .sale-form-total,.sale-mobile-page .sale-actions{margin-right:15px;margin-left:15px}.sale-mobile-page .sale-form-top{padding:14px;border:1px solid #e1e8e3;border-radius:10px;background:#fff}.sale-mobile-page .sale-form-items{padding:14px;border:1px solid #e1e8e3;border-radius:10px;background:#fff}.sale-mobile-page .sale-form>label{padding:14px;border:1px solid #e1e8e3;border-radius:10px;background:#fff}.sale-mobile-page .sale-form-total{padding:16px 14px;border:1px solid #e1e8e3;border-radius:10px;background:#fff}.sale-mobile-page .sale-actions{gap:10px}.sale-mobile-page .sale-actions button{min-height:46px}}

/* Marca Ni oficial */
.logo-crop { display: grid; width: 56px; height: 56px; place-items: center; padding: 4px; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(4, 28, 27, .16); }.logo-crop img { display: block; width: 100%; height: 100%; object-fit: contain; }.intro .logo-crop { width: 64px; height: 64px; }.intro .logo-crop img { width: 100%; height: 100%; transform: none; }.side-brand { gap: 0; }.side-brand .logo-name { display: none; }.inventory-logo { position: relative; min-height: 56px; font-size: 0; }.inventory-logo .brand-mark, .inventory-logo > span { display: none; }.inventory-logo::before { display: block; width: 56px; height: 56px; border-radius: 50%; background: #fff url('/ni-logo.png') center / contain no-repeat; box-shadow: 0 2px 8px rgba(4, 28, 27, .16); content: ''; }
.inventory-page { max-width: 1100px; margin: 48px auto 80px; }.inventory-page .catalog-list-header { margin-bottom: 20px; }.inventory-summary { grid-template-columns:repeat(4,1fr); }.inventory-kpi { min-height:104px!important; border-radius:10px!important; }.inventory-kpi strong{font-size:24px!important;color:#0f6b58!important;}.inventory-kpi.warning strong{color:#c05621!important;}.inventory-table-heading{display:flex;align-items:end;justify-content:space-between;margin:18px 0 0;padding:17px 19px;border:1px solid #dfe5df;border-bottom:0;border-radius:11px 11px 0 0;background:#fff}.inventory-table-heading>div:first-child{display:grid;gap:3px}.inventory-table-heading strong{color:#1d2933;font-size:15px}.inventory-table-heading small{color:#6b7280;font-size:11px}.inventory-tabs{display:flex;gap:5px}.inventory-tabs button{border:0;border-radius:6px;padding:7px 10px;color:#6b7280;background:transparent;font:700 10px Manrope}.inventory-tabs .active{color:#087d66;background:#e7f8f3}.inventory-active{display:grid;grid-template-columns:1.4fr 1fr auto;gap:18px;align-items:center;padding:18px 19px;border:1px solid #b7e5d9;background:#f8fffc}.inventory-active>div:first-child{display:grid;gap:4px}.inventory-active small,.inventory-count-header small{color:#087d66;font:700 9px "DM Mono",monospace;letter-spacing:.8px}.inventory-active strong{color:#1d2933;font-size:14px}.inventory-active span{color:#6b7280;font-size:11px}.inventory-progress{display:grid;gap:7px}.inventory-progress strong{color:#526158;font-size:11px}.inventory-progress i{display:block;height:7px;overflow:hidden;border-radius:99px;background:#e6ece9}.inventory-progress b{display:block;height:100%;border-radius:inherit;background:#2ec4a6}.inventory-history{overflow:hidden;border:1px solid #dfe5df;border-radius:0 0 11px 11px;background:#fff}.inventory-history-row{display:grid;grid-template-columns:1fr 1fr 1fr 110px 15px;gap:12px;align-items:center;width:100%;padding:15px 19px;border:0;border-bottom:1px solid #edf0ed;color:#526158;background:#fff;text-align:left;font:11px Manrope;cursor:pointer}.inventory-history-row:last-child{border-bottom:0}.inventory-history-row:hover{background:#f7fbf9}.inventory-history-row strong{color:#1d2933}.inventory-history-row b{color:#087d66;font-size:18px;font-weight:400}.inventory-count-header{display:grid;grid-template-columns:auto 1fr 200px;gap:20px;align-items:center;margin-bottom:17px}.inventory-count-header h2{margin:4px 0;color:#1d2933;font-size:24px}.inventory-count-header p{margin:0;color:#6b7280;font-size:12px}.inventory-search{max-width:430px;margin:0 0 12px}.inventory-count-table{overflow:hidden;border:1px solid #dfe5df;border-radius:11px;background:#fff}.inventory-count-row{display:grid;grid-template-columns:1.6fr .45fr 150px 90px;gap:16px;align-items:center;padding:12px 18px;border-bottom:1px solid #edf0ed}.inventory-count-row:last-child{border:0}.inventory-count-row>div{display:grid;gap:3px}.inventory-count-row>div strong{color:#1d2933;font-size:12px}.inventory-count-row small{color:#7b8280;font-size:10px}.inventory-count-row>span{color:#6b7280;font-size:11px}.inventory-count-row label{display:grid;gap:4px}.inventory-count-row input{height:38px}.count-state{padding:6px 8px;border-radius:99px;color:#7b651d;background:#fff4ce;font-size:10px;text-align:center}.inventory-count-row:has(input:not(:placeholder-shown)) .count-state{color:#087d66;background:#e4f7f0}@media(max-width:760px){.inventory-summary{grid-template-columns:1fr 1fr}.inventory-table-heading,.inventory-count-header{align-items:start;flex-direction:column;grid-template-columns:1fr}.inventory-tabs{overflow:auto}.inventory-active{grid-template-columns:1fr}.inventory-history-row{grid-template-columns:1fr auto}.inventory-history-row span:nth-of-type(2),.inventory-history-row span:nth-of-type(3){display:none}.inventory-count-row{grid-template-columns:1fr 110px}.inventory-count-row>span{display:none}.count-state{justify-self:start}.inventory-count-row label{grid-column:2;grid-row:1 / span 2}}
/* Fiscal / NF-e: Homologation is visually persistent by design. */
.fiscal-page{max-width:1120px;margin:0 auto;padding:24px}.fiscal-banner{display:flex;gap:14px;align-items:center;justify-content:space-between;background:#fff2d9;color:#754400;border:1px solid #f4c36a;border-radius:12px;padding:13px 16px;margin-bottom:20px}.fiscal-banner strong{font-size:.8rem;letter-spacing:.06em}.fiscal-banner span{font-size:.85rem}.fiscal-section{margin-top:28px}.fiscal-section h2{font-size:1.05rem}.fiscal-documents{display:grid;gap:10px}.fiscal-card{background:#fff;border:1px solid #e7e7e7;border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.fiscal-card div:first-child{display:grid;gap:4px}.fiscal-card small,.fiscal-card span{color:#667085;font-size:.82rem}.fiscal-card button{border:0;border-radius:7px;padding:8px 12px;cursor:pointer}@media(max-width:640px){.fiscal-banner,.fiscal-card{align-items:flex-start;flex-direction:column}.fiscal-page{padding:16px}}

/* ==========================================================================
   Ni Design v2 — Grafite + Menta (28/10/2026)
   Camada final que unifica tokens, controles e o layout móvel.
   Regras anteriores continuam válidas; estas prevalecem por ordem.
   ========================================================================== */
:root { --g900: #0F1419; --g700: #1E2A32; --g500: #3B4752; --mint: #2EC4A6; --mint-600: #1FA88C; --mint-300: #A7EAD7; --mint-50: #E8F8F3; --n100: #F6F8F7; --n300: #D1D5D0; --n500: #7B8280; --radius: 8px; --ink: #0F1419; --muted: #5E6866; --line: #E1E5E3; --paper: #F6F8F7; }
[hidden] { display: none !important; }
body { color: var(--g900); background: var(--n100); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: Manrope, Arial, sans-serif; }
.app-shell, .dashboard, .dashboard-workspace { background: var(--n100); }

/* Títulos com a mesma escala em todas as telas */
.dashboard-workspace h1 { color: var(--g900); font-size: clamp(28px, 2.6vw, 38px); font-weight: 700; line-height: 1.1; letter-spacing: -1.2px; }
.dashboard-workspace .eyebrow.dark, .dashboard-workspace .eyebrow { color: var(--n500); font: 500 11px "DM Mono", monospace; letter-spacing: 1.6px; }
.home-title { margin: 6px 0 22px; }.home-title h1 { margin: 0 0 4px; }.home-title p:last-child { margin: 0; color: var(--muted); font-size: 14px; }

/* Barra superior desktop: só baixar o app (sair já está no menu) */
.dashboard-workspace .dashboard-nav { min-height: 0; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.dashboard-workspace .logout-link { display: none; }
.app-download button { height: 36px; padding: 0 14px; color: var(--g700); background: #fff; border: 1px solid var(--n300); box-shadow: none; font-weight: 700; }
.app-download button:hover { border-color: var(--g500); }

/* Ações: um único primário (menta), secundário e fantasma */
.new-item-button, .dashboard-workspace .sales-page .new-item-button, .submit, .mobile-sales-action {
  color: var(--g900) !important; background: var(--mint) !important; border: 0; border-radius: var(--radius); box-shadow: 0 1px 0 rgba(15,20,25,.08), 0 6px 16px rgba(46,196,166,.22) !important; font-weight: 800; }
.new-item-button, .dashboard-workspace .sales-page .new-item-button { min-height: 42px; height: auto; padding: 0 18px; }
.new-item-button:hover, .submit:hover, .mobile-sales-action:hover { background: var(--mint-600) !important; }
.new-item-button:focus-visible, .submit:focus-visible { outline: 3px solid var(--mint-300); outline-offset: 2px; }
.secondary-action { min-height: 42px; border: 1px solid var(--n300); border-radius: var(--radius); color: var(--g700); background: #fff; font-weight: 700; }

/* Botões pequenos (filtros, períodos, paginação, limpar) */
.listing-pagination button, .indicator-periods button, .commercial-period button, .receipt-filters button, .sales-filters button, .catalog-filters button, .price-filters button {
  min-height: 36px; padding: 0 13px; border: 1px solid var(--n300); border-radius: var(--radius); color: var(--g700); background: #fff; font: 700 12px Manrope, Arial, sans-serif; cursor: pointer; transition: border-color .15s, background .15s; }
.listing-pagination button:hover:not(:disabled), .indicator-periods button:hover, .receipt-filters button:hover, .sales-filters button:hover { border-color: var(--g500); }
.indicator-periods button.active, .indicator-periods button[aria-pressed="true"], .commercial-period button.active { color: var(--g900); background: var(--mint-50); border-color: var(--mint); }
.listing-pagination { gap: 12px; margin-top: 14px; }.listing-pagination span { color: var(--muted); font-size: 12px; }
.listing-pagination button:disabled { opacity: .45; cursor: default; }

/* Campos e selects */
.dashboard-workspace input:not([type=checkbox]):not([type=radio]):not([type=file]), .dashboard-workspace select, .dashboard-workspace textarea, dialog input:not([type=checkbox]):not([type=radio]):not([type=file]), dialog select, dialog textarea {
  min-height: 44px; height: 44px; padding: 0 13px; border: 1px solid var(--n300); border-radius: var(--radius); color: var(--g900); background-color: #fff; font: 500 14px Manrope, Arial, sans-serif; }
.dashboard-workspace textarea, dialog textarea { height: auto; padding: 11px 13px; }
.dashboard-workspace select, dialog select { -webkit-appearance: none; appearance: none; padding-right: 38px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%233B4752' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; }
.dashboard-workspace input:focus, .dashboard-workspace select:focus, dialog input:focus, dialog select:focus, dialog textarea:focus { border-color: var(--mint); outline: 0; box-shadow: 0 0 0 3px rgba(46,196,166,.18); }
.dashboard-workspace input::placeholder { color: #9AA29F; }
input[type=checkbox], input[type=radio] { accent-color: var(--mint-600); }

/* Cartões */
.home-alert, .home-panel, .catalog-item-card, .price-item-card, .receipt-panel, .cost-panel, .indicator-panel { border-color: var(--line); }
.home-alert-icon, .home-module-icon { color: #12806B; background: var(--mint-50); }
.catalog-item-card small { color: var(--n500); }.catalog-item-card strong { color: var(--g900); }
.responsive-table th { color: var(--n500); font: 500 10px "DM Mono", monospace; letter-spacing: 1px; text-transform: uppercase; }

/* Menu lateral */
.side-menu { background: var(--g900); }
.side-item:hover, .side-item.active, .side-group.active > .side-item { background: var(--g700); }
.side-item.active, .side-group.active > .side-item { box-shadow: inset 3px 0 0 var(--mint); }
.side-subnav a.active { color: var(--g900); background: var(--mint); }
.side-brand { gap: 12px; }
.side-user-copy { display: grid !important; gap: 2px; min-width: 0; }
.mobile-topbar { display: none; }

/* ------------------------------ Celular ------------------------------ */
@media (max-width: 820px) {
  .dashboard-workspace { padding: 0 16px calc(96px + env(safe-area-inset-bottom)); }
  .side-menu { box-shadow: none; visibility: hidden; transition: transform .22s ease, visibility 0s linear .22s; }
  body.mobile-menu-open .side-menu { box-shadow: 12px 0 30px rgba(7,20,23,.25); visibility: visible; transition: transform .22s ease; }

  .mobile-topbar { position: sticky; z-index: 24; top: 0; display: grid; grid-template-columns: 36px minmax(0,1fr) 40px; gap: 12px; align-items: center; margin: 0 -16px 8px; padding: calc(10px + env(safe-area-inset-top)) 16px 10px; background: rgba(246,248,247,.92); border-bottom: 1px solid var(--line); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
  .mobile-topbar-brand { display: grid; width: 36px; height: 36px; place-items: center; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px var(--line); }
  .mobile-topbar-brand img { width: 30px; height: 30px; object-fit: contain; }
  .mobile-topbar strong { overflow: hidden; color: var(--g900); font-size: 15px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-topbar .mobile-menu-toggle { position: static; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--line); border-radius: 10px; color: var(--g900); background: #fff; box-shadow: none; }
  .mobile-topbar .mobile-menu-toggle svg { width: 20px; height: 20px; }
  .mobile-sales-action { bottom: calc(16px + env(safe-area-inset-bottom)); }

  .dashboard-workspace .sales-page, .catalog-list-page, .catalog-detail-page, .receipts-page, .cost-page, .inventory-page, .history-page, .price-catalog-page, .pricing-page, .finance-page, .dashboard-content, .home-page, .fiscal-page { margin-top: 14px !important; }
  .fiscal-page { padding: 0; }
  .dashboard-workspace h1 { font-size: 26px; letter-spacing: -.8px; }

  /* Produtos: nome em até 2 linhas, selo ao lado */
  .catalog-item-card { grid-template-columns: 48px minmax(0,1fr) auto 12px; gap: 10px; padding: 10px; }
  .catalog-item-card strong { display: -webkit-box; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 13.5px; line-height: 1.3; }
  .catalog-item-card .crop-status { grid-column: 3; grid-row: 1; align-self: center; }
  .catalog-item-card b { grid-column: 4; grid-row: 1; }

  /* Tabelas viram cartões empilhados */
  .receipt-panel, .cost-panel { overflow: visible; border: 0; background: transparent; }
  .responsive-table { min-width: 0 !important; width: 100%; border: 0; }
  .responsive-table thead { display: none; }
  .responsive-table, .responsive-table tbody, .responsive-table tr { display: block; }
  .responsive-table tr { margin: 0 0 10px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
  .responsive-table td { display: grid; grid-template-columns: minmax(96px, 38%) minmax(0,1fr); gap: 10px; align-items: center; padding: 6px 0 !important; border: 0 !important; text-align: left !important; background: transparent !important; }
  .responsive-table td::before { content: attr(data-label); color: var(--n500); font: 500 10px "DM Mono", monospace; letter-spacing: .8px; text-transform: uppercase; }
  .responsive-table td:not([data-label]), .responsive-table td[data-label=""] { grid-template-columns: 1fr; }
  .responsive-table td:not([data-label])::before, .responsive-table td[data-label=""]::before { content: none; }
  .responsive-table td:empty { display: none; }
  .responsive-table td input, .responsive-table td select { width: 100% !important; min-width: 0; }
  .responsive-table td button { width: 100%; }

  .listing-tools input { max-width: none; }
  .listing-pagination { justify-content: space-between; }
  .finance-kpis, .indicator-kpis { grid-template-columns: 1fr 1fr !important; }
  .finance-filters, .indicator-filters { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
  .finance-filters input, .indicator-periods { grid-column: 1 / -1; }
  .indicator-periods { display: flex; flex-wrap: wrap; gap: 6px; }
}
@media (max-width: 420px) {
  .finance-kpis, .indicator-kpis { grid-template-columns: 1fr !important; }
}
.new-item-button, .secondary-action { text-decoration: none; }
.indicator-kpis + .indicator-panel { margin-top: 14px; }
@media (max-width: 820px) { .responsive-table td > small { grid-column: 2; margin-top: -8px; } .mobile-topbar-brand img { width: 26px; height: auto; } }
.sales-filters button, .receipt-filters button, .catalog-filters button, .price-filters button { min-height: 44px; }

/* Venda: linhas de produto com imagem e seletor pesquisável (28/10/2026) */
.sale-line { display: grid; grid-template-columns: minmax(0, 1fr) 90px 120px 110px 40px; gap: 10px; align-items: end; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.sale-line label { display: grid; gap: 4px; color: var(--n500); font-size: 11px; font-weight: 700; }
.sale-line input { height: 42px !important; min-height: 42px !important; }
.sale-line-product { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; align-items: center; min-height: 52px; padding: 4px; border: 1px solid transparent; border-radius: 10px; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.sale-line-product:hover { border-color: var(--n300); background: var(--n100); }
.sale-line-copy { display: grid; gap: 2px; min-width: 0; }
.sale-line-copy strong { overflow: hidden; font-size: 13.5px; text-overflow: ellipsis; white-space: nowrap; }
.sale-line-copy small { color: var(--n500); font-size: 11px; }
.sale-line-remove { display: grid; width: 40px; height: 42px; place-items: center; border: 0; border-radius: var(--radius); color: #B42335; background: #FFF0F2; cursor: pointer; }
.sale-line-remove svg { width: 18px; height: 18px; }
.sale-thumb { display: grid; width: 44px; height: 44px; place-items: center; overflow: hidden; border-radius: 9px; background: var(--n100); }
.sale-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sale-thumb-empty { display: grid; place-items: center; color: var(--n500); }
.sale-thumb-empty svg { width: 20px; height: 20px; }
.sale-add-item { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: center; gap: 8px; margin-top: 8px; border: 1.5px dashed var(--mint); border-radius: 12px; color: #12806B; background: var(--mint-50); font: 800 13px Manrope, Arial, sans-serif; cursor: pointer; }
.sale-add-item svg { width: 18px; height: 18px; }
.sale-draft-lines:empty { display: none; }

.item-picker { display: flex; width: min(100% - 24px, 560px); max-height: min(100dvh - 40px, 720px); flex-direction: column; gap: 12px; padding: 18px; border: 0; border-radius: 16px; color: var(--g900); background: #fff; box-shadow: 0 24px 70px rgba(10, 26, 30, .28); }
.item-picker:not([open]) { display: none; }
.item-picker::backdrop { background: rgba(10, 22, 26, .5); }
.item-picker-head { display: flex; align-items: center; justify-content: space-between; }
.item-picker-head strong { font-size: 17px; }
.item-picker input[type=search] { width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--n300); border-radius: var(--radius); font: 500 15px Manrope, Arial, sans-serif; }
.item-picker input[type=search]:focus { border-color: var(--mint); outline: 0; box-shadow: 0 0 0 3px rgba(46, 196, 166, .18); }
.item-picker-list { display: grid; gap: 6px; overflow-y: auto; margin: 0 -4px; padding: 0 4px; }
.item-picker-row { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 12px; color: inherit; background: #fff; text-align: left; cursor: pointer; font-family: inherit; }
.item-picker-row:hover:not(:disabled), .item-picker-row:focus-visible { border-color: var(--mint); background: var(--mint-50); outline: 0; }
.item-picker-row:disabled { opacity: .5; cursor: not-allowed; }
.item-picker-row .sale-thumb { width: 56px; height: 56px; }
.item-picker-copy { display: grid; gap: 2px; min-width: 0; }
.item-picker-copy small { color: var(--n500); font: 500 9.5px "DM Mono", monospace; letter-spacing: .8px; text-transform: uppercase; }
.item-picker-copy strong { display: -webkit-box; overflow: hidden; font-size: 14px; line-height: 1.3; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.item-picker-copy em { color: var(--muted); font-size: 11.5px; font-style: normal; }
.item-picker-row b { color: #12806B; font-size: 14px; white-space: nowrap; }
.item-picker-empty { margin: 24px 0; color: var(--muted); text-align: center; }

@media (max-width: 760px) {
  .sale-line { grid-template-columns: repeat(3, minmax(0, 1fr)) 40px; }
  .sale-line-product { grid-column: 1 / -1; }
  .item-picker { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; padding: calc(14px + env(safe-area-inset-top)) 14px 14px; border-radius: 0; }
  .item-picker-row { grid-template-columns: 52px minmax(0, 1fr); }
  .item-picker-row .sale-thumb { width: 52px; height: 52px; }
  .item-picker-row b { grid-column: 2; font-size: 13px; }
}

/* Inventário: lista, como funciona e contagem (28/10/2026) */
.inventory-summary { display: block !important; margin: 0 0 22px; }
.inventory-howto { padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.inventory-howto strong { font-size: 15px; }
.inventory-howto ol { display: grid; gap: 6px; margin: 10px 0 0; padding-left: 20px; color: var(--muted); font-size: 13.5px; line-height: 1.5; }
.inventory-resume { display: grid; width: 100%; grid-template-columns: 48px minmax(0,1fr) 24px; gap: 14px; align-items: center; padding: 16px 18px; border: 1px solid var(--mint); border-radius: 12px; color: inherit; background: var(--mint-50); text-align: left; font-family: inherit; cursor: pointer; }
.inventory-resume > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 12px; color: var(--g900); background: var(--mint); }
.inventory-resume strong { display: block; font-size: 15px; }.inventory-resume small { color: var(--muted); font-size: 12.5px; }
.inventory-section-title { margin: 0 0 10px; font-size: 15px; }
.inventory-history { display: grid; gap: 8px; }
.inventory-history-row { display: grid; grid-template-columns: minmax(0,1fr) auto 180px; gap: 16px; align-items: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; color: inherit; background: #fff; text-align: left; font-family: inherit; cursor: pointer; }
.inventory-history-row:disabled { cursor: default; }
.inventory-history-row strong { display: block; font-size: 14px; }.inventory-history-row small { color: var(--muted); font-size: 12px; }
.inventory-pill { padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.inventory-pill.counting { color: #8A5A00; background: #FFF3DC; }.inventory-pill.done { color: #0E6B59; background: var(--mint-50); }
.inventory-progress i, .count-progress i { display: block; height: 6px; overflow: hidden; border-radius: 99px; background: #E7ECEA; }
.inventory-progress b, .count-progress b { display: block; height: 100%; border-radius: inherit; background: var(--mint); }
.inventory-progress small { display: block; margin-top: 5px; }
.inventory-empty { margin: 26px 0; color: var(--muted); text-align: center; }

.count-head h1 { margin: 4px 0; }.count-head > p:not(.eyebrow) { margin: 0 0 14px; color: var(--muted); }
.count-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px; padding: 0; border: 0; color: var(--g500); background: none; font: 700 13px Manrope, Arial, sans-serif; cursor: pointer; }
.count-back svg { width: 16px; height: 16px; }
.count-progress { display: grid; gap: 8px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.count-progress strong { font-size: 18px; }.count-progress span { margin-left: 8px; color: var(--muted); font-size: 12.5px; }
.count-tools { position: sticky; z-index: 5; top: 0; display: grid; gap: 10px; margin: 14px -4px 10px; padding: 10px 4px; background: var(--n100); }
.count-tabs { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.count-tabs button { flex: 0 0 auto; min-height: 36px; padding: 0 12px; border: 1px solid var(--n300); border-radius: 99px; color: var(--g700); background: #fff; font: 700 12px Manrope, Arial, sans-serif; cursor: pointer; }
.count-tabs button.active { color: var(--g900); background: var(--mint-50); border-color: var(--mint); }
.count-tabs b { margin-left: 4px; color: var(--n500); }
.count-blind { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12.5px; font-weight: 600; }
.count-list { display: grid; gap: 8px; }
.count-card { display: grid; grid-template-columns: 56px minmax(0,1fr) auto auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.count-card.ok { border-color: #BFE9DC; }.count-card.differs { border-color: #F5C98A; background: #FFFBF3; }
.count-thumb { display: grid; width: 56px; height: 56px; place-items: center; overflow: hidden; border-radius: 10px; color: var(--n500); background: var(--n100); }
.count-thumb img { width: 100%; height: 100%; object-fit: cover; }
.count-copy { display: grid; gap: 2px; min-width: 0; }
.count-copy small { color: var(--n500); font: 500 9.5px "DM Mono", monospace; letter-spacing: .8px; text-transform: uppercase; }
.count-copy strong { display: -webkit-box; overflow: hidden; font-size: 14px; line-height: 1.3; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.count-copy span { color: var(--muted); font-size: 12px; }.count-copy em { color: #B26A00; font-style: normal; font-weight: 800; }.count-copy em.ok { color: #0E6B59; }
.count-stepper { display: grid; grid-template-columns: 40px 64px 40px; overflow: hidden; border: 1px solid var(--n300); border-radius: 10px; background: #fff; }
.count-stepper button { border: 0; color: var(--g900); background: var(--n100); font: 700 20px Manrope, Arial, sans-serif; cursor: pointer; }
.count-stepper input { height: 44px !important; min-height: 44px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; text-align: center; font-weight: 800 !important; -moz-appearance: textfield; }
.count-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.count-match { min-height: 44px; padding: 0 12px; border: 1px solid var(--mint); border-radius: 10px; color: #0E6B59; background: var(--mint-50); font: 800 12px Manrope, Arial, sans-serif; cursor: pointer; }
.count-footer { position: sticky; bottom: 0; display: flex; justify-content: flex-end; margin-top: 14px; padding: 12px 0; background: linear-gradient(transparent, var(--n100) 30%); }
@media (max-width: 760px) {
  .inventory-history-row { grid-template-columns: minmax(0,1fr) auto; }
  .inventory-progress { grid-column: 1 / -1; }
  .count-card { grid-template-columns: 52px minmax(0,1fr); }
  .count-thumb { width: 52px; height: 52px; }
  .count-stepper { grid-column: 1 / 2; grid-column: 1 / -1; grid-template-columns: 48px minmax(0,1fr) 48px; }
  .count-match { grid-column: 1 / -1; }
  .count-card:has(.count-match) .count-stepper { grid-column: 1 / -1; }
  .count-footer { bottom: env(safe-area-inset-bottom); }
  .count-footer .new-item-button { width: 100%; }
}
.mobile-home-action { display: none; }
@media (max-width: 820px) { .mobile-home-action { position: fixed; z-index: 25; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; color: #fff; background: var(--g900); box-shadow: 0 8px 22px rgba(8,29,30,.3); } .mobile-home-action svg { width: 24px; height: 24px; } body:has(.count-footer) .mobile-home-action, body:has(dialog[open]) .mobile-home-action { display: none; } }

/* Produto: título, fileira de fotos, informações; visualizador com marcações (28/10/2026) */
.product-head { margin: 8px 0 18px; }.product-head h1 { margin: 4px 0; }.product-head > p:last-child { margin: 0; color: var(--muted); font-size: 14px; }
.product-gallery { margin-bottom: 22px; }
.product-gallery-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 10px; }
.product-gallery-head strong { font-size: 15px; }.product-gallery-head strong span { color: var(--n500); font-weight: 600; }
.product-gallery-head small { color: var(--muted); font-size: 12px; }
.product-strip { display: flex; gap: 10px; overflow-x: auto; padding: 2px 2px 10px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.product-thumb { position: relative; flex: 0 0 auto; width: 128px; height: 128px; overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; scroll-snap-align: start; }
.product-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-thumb.cover { border: 2px solid var(--mint); }
.product-thumb:hover { box-shadow: 0 6px 16px rgba(15,20,25,.1); }
.thumb-badge, .thumb-marks { position: absolute; display: inline-flex; align-items: center; gap: 3px; padding: 3px 7px; border-radius: 99px; font: 800 10px Manrope, Arial, sans-serif; }
.thumb-badge { top: 6px; left: 6px; color: var(--g900); background: var(--mint); }
.thumb-marks { right: 6px; bottom: 6px; color: #fff; background: rgba(15,20,25,.72); }.thumb-marks svg { width: 11px; height: 11px; }
.product-thumb.add { display: grid; place-content: center; justify-items: center; gap: 6px; border: 1.5px dashed var(--mint); color: #12806B; background: var(--mint-50); font: 800 12px Manrope, Arial, sans-serif; }
.product-thumb.add svg { width: 26px; height: 26px; }
.product-info h2 { margin: 0 0 10px; font-size: 15px; }
.product-facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.product-facts div { padding: 12px 14px; background: #fff; }
.product-facts dt { color: var(--n500); font: 500 10px "DM Mono", monospace; letter-spacing: .8px; text-transform: uppercase; }
.product-facts dd { margin: 4px 0 0; color: var(--g900); font-size: 14.5px; font-weight: 700; }
.product-edit { margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.product-edit summary { display: flex; align-items: center; gap: 8px; padding: 14px 16px; font-weight: 700; cursor: pointer; list-style: none; }
.product-edit summary::-webkit-details-marker { display: none; }.product-edit summary svg { width: 16px; height: 16px; }
.product-edit-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0 16px 16px; }
.product-edit-form label { display: grid; gap: 4px; font-size: 12px; font-weight: 700; }
.product-edit-note, .catalog-edit-error { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 12px; }
.product-edit-actions { display: flex; grid-column: 1 / -1; justify-content: space-between; gap: 10px; }
.product-delete { min-height: 42px; padding: 0 14px; border: 1px solid #F3C2C8; border-radius: var(--radius); color: #B42335; background: #fff; font: 700 12px Manrope, Arial, sans-serif; cursor: pointer; }

.photo-viewer { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; padding: 0; border: 0; color: #fff; background: #0B0F12; }
.photo-viewer[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; }
.photo-viewer::backdrop { background: #0B0F12; }
.viewer-top { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; padding: calc(10px + env(safe-area-inset-top)) 12px 10px; text-align: center; }
.viewer-top strong { font-size: 14px; }
.viewer-close, .viewer-nav { display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.1); cursor: pointer; }
.viewer-stage { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 8px; align-items: center; min-height: 0; padding: 0 12px; }
.viewer-frame { position: relative; justify-self: center; max-width: 100%; max-height: 100%; touch-action: pinch-zoom; user-select: none; }
.viewer-frame.marking { touch-action: none; cursor: crosshair; }
.viewer-frame img { display: block; max-width: 100%; max-height: calc(100dvh - 210px); border-radius: 6px; }
.viewer-marks { position: absolute; inset: 0; pointer-events: none; }
.viewer-mark { position: absolute; border: 2.5px solid var(--mint); border-radius: 4px; box-shadow: 0 0 0 9999px rgba(0,0,0,0); background: rgba(46,196,166,.12); }
.viewer-mark.drawing { border-style: dashed; }
.viewer-mark span { position: absolute; top: -12px; left: -12px; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: var(--g900); background: var(--mint); font: 800 12px Manrope, Arial, sans-serif; }
.viewer-mark button { position: absolute; top: -14px; right: -14px; width: 28px; height: 28px; border: 0; border-radius: 50%; color: #fff; background: #D93B4C; font: 700 16px Manrope, Arial, sans-serif; pointer-events: auto; cursor: pointer; }
.viewer-hint { margin: 10px 16px 0; color: #C9D3D0; font-size: 13px; text-align: center; }
.viewer-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 12px 12px calc(14px + env(safe-area-inset-bottom)); }
.viewer-btn { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; padding: 0 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; color: #fff; background: rgba(255,255,255,.06); font: 700 13px Manrope, Arial, sans-serif; cursor: pointer; }
.viewer-btn svg { width: 16px; height: 16px; }
.viewer-btn.primary { border-color: var(--mint); color: var(--g900); background: var(--mint); }
.viewer-btn.danger { color: #FFB4BC; border-color: rgba(255,120,135,.35); }
@media (max-width: 760px) {
  .product-thumb { width: 104px; height: 104px; }
  .product-facts { grid-template-columns: 1fr 1fr; }
  .product-edit-form { grid-template-columns: 1fr; }
  .viewer-stage { grid-template-columns: minmax(0,1fr); padding: 0 6px; }
  .viewer-nav { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); }
  .viewer-nav.prev { left: 8px; }.viewer-nav.next { right: 8px; }
  .viewer-actions .viewer-btn { flex: 1 1 calc(50% - 8px); justify-content: center; }
}

/* Inventário: achados, pré-cadastro e cancelamento */
.count-found { display: grid; width: 100%; grid-template-columns: 44px minmax(0,1fr); gap: 12px; align-items: center; margin-top: 14px; padding: 14px 16px; border: 1.5px dashed var(--mint); border-radius: 12px; color: var(--g900); background: var(--mint-50); text-align: left; font-family: inherit; cursor: pointer; }
.count-found > svg { width: 28px; height: 28px; color: #12806B; justify-self: center; }
.count-found strong { display: block; font-size: 15px; }.count-found small { color: var(--muted); font-size: 12.5px; }
.count-footer { justify-content: space-between; gap: 10px; }
.count-cancel { min-height: 42px; padding: 0 14px; border: 1px solid #F3C2C8; border-radius: var(--radius); color: #B42335; background: #fff; font: 700 12.5px Manrope, Arial, sans-serif; cursor: pointer; }
.inventory-pill.cancelled { color: #8B2533; background: #FDECEE; }
.draft-badge { padding: 1px 6px; border-radius: 99px; color: #7A4B00; background: #FFE9BF; font: 800 9px Manrope, Arial, sans-serif; letter-spacing: .3px; text-transform: uppercase; }
.found-new { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 12px; align-items: center; padding: 10px; border: 1.5px dashed var(--mint); border-radius: 12px; color: var(--g900); background: var(--mint-50); text-align: left; font-family: inherit; cursor: pointer; }
.found-new > svg { justify-self: center; width: 26px; height: 26px; color: #12806B; }.found-new strong { display: block; font-size: 14px; }.found-new small { color: var(--muted); font-size: 12px; }
.draft-form { display: grid; gap: 12px; overflow-y: auto; }.draft-form label { display: grid; gap: 4px; font-size: 12px; font-weight: 700; }
.draft-form input { height: 46px; padding: 0 13px; border: 1px solid var(--n300); border-radius: var(--radius); font: 500 15px Manrope, Arial, sans-serif; }
.draft-row { display: grid; grid-template-columns: 1fr 110px; gap: 10px; }
.draft-photo { display: grid; min-height: 150px; place-content: center; justify-items: center; gap: 8px; overflow: hidden; border: 1.5px dashed var(--n300); border-radius: 12px; color: var(--g500); background: var(--n100); font: 700 13px Manrope, Arial, sans-serif; cursor: pointer; }
.draft-photo svg { width: 30px; height: 30px; }.draft-photo.has-photo { padding: 0; place-content: stretch; }.draft-photo.has-photo img { width: 100%; height: 200px; object-fit: cover; }.draft-photo.has-photo span { padding: 8px; }
.product-facts div:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 761px) { .product-facts div:last-child:nth-child(odd) { grid-column: auto; } }
.crop-status.draft { color: #7A4B00 !important; background: #FFE9BF !important; }
.draft-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 18px; padding: 12px 14px; border: 1px solid #F5D48A; border-radius: 12px; background: #FFF8E6; color: #5C3B00; font-size: 13px; }
.draft-banner button { min-height: 38px; padding: 0 14px; border: 0; border-radius: var(--radius); color: var(--g900); background: var(--mint); font: 800 12.5px Manrope, Arial, sans-serif; cursor: pointer; }
.sale-customer { display: grid; gap: 6px; margin: 4px 0 12px; padding: 14px; border: 1.5px solid var(--mint); border-radius: 12px; background: var(--mint-50); }
.sale-customer > span { display: flex; align-items: center; gap: 7px; color: var(--g900); font-size: 14px; font-weight: 800; }
.sale-customer > span svg { width: 18px; height: 18px; color: #12806B; }
.sale-customer input { height: 50px !important; font-size: 16px !important; font-weight: 600 !important; background: #fff !important; }
.sale-customer small { color: var(--muted); font-size: 12px; font-weight: 500; }
.sale-line input[readonly] { color: var(--g700); background: var(--n100) !important; cursor: not-allowed; }

/* Telas enxutas: sem frases descritivas nem rótulos de seção nas listas (28/10/2026) */
.catalog-list-header > div > p:not(.eyebrow), .receipts-head > div > p:not(.eyebrow), .dashboard-title > div > p:not(.eyebrow), .inventory-page .catalog-list-header p:not(.eyebrow) { display: none; }
.catalog-list-header .eyebrow, .receipts-head .eyebrow, .dashboard-title .eyebrow, .home-panel-head p { display: none; }
.catalog-list-header h1, .receipts-head h1, .dashboard-title h1 { margin: 0; }
.catalog-list-header, .receipts-head { align-items: center !important; margin-bottom: 16px !important; }
.home-title { margin: 0 0 16px; }
.operational-home { margin-top: 14px !important; }.operational-home .home-section-heading { margin: 22px 0 10px; }
@media (max-width: 820px) {
  .catalog-list-header > div:first-child, .receipts-head > div:first-child, .dashboard-title { display: none; }
  .catalog-list-header, .receipts-head { margin-bottom: 12px !important; }
  .home-title h1 { font-size: 22px; }
  .home-alerts { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .home-alert { grid-template-columns: 1fr !important; gap: 6px !important; min-height: 0 !important; padding: 12px !important; }
  .home-alert > svg, .home-alert-icon { display: none !important; }
  .home-alert small { display: none; }
  .home-alert strong { font-size: 24px !important; }
  .home-bottom { margin-top: 12px !important; gap: 12px !important; }
  .home-panel-head { padding-bottom: 6px; }
}

/* Entrada de estoque: formulário visual com fotos (28/10/2026) */
.receipt-dialog:has(.receipt-form.v2) { width: min(100% - 24px, 760px); max-height: calc(100dvh - 32px); padding: 0; overflow: auto; border: 0; border-radius: 16px; }
.receipt-form.v2 { display: grid; gap: 14px; padding: 20px; }
.receipt-form.v2 .dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; }
.receipt-form.v2 .dialog-heading h2 { margin: 2px 0 0; font-size: 20px; }
.receipt-type { display: grid; grid-template-columns: repeat(3, 1fr); padding: 4px; border-radius: 10px; background: var(--n100); }
.receipt-type label { cursor: pointer; }.receipt-type input { position: absolute; opacity: 0; pointer-events: none; }
.receipt-type span { display: grid; min-height: 38px; place-items: center; border-radius: 8px; color: var(--g500); font-size: 13px; font-weight: 700; }
.receipt-type input:checked + span { color: var(--g900); background: #fff; box-shadow: 0 1px 3px rgba(15,20,25,.12); }
.receipt-type input:focus-visible + span { outline: 2px solid var(--mint); }
.receipt-head-grid { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 10px; }
.receipt-form.v2 label { display: grid; gap: 4px; color: var(--g700); font-size: 12px; font-weight: 700; }
.receipt-products { display: grid; gap: 8px; }
.receipt-products-head { display: flex; align-items: baseline; justify-content: space-between; }
.receipt-products-head strong { font-size: 15px; }.receipt-products-head small { color: var(--muted); font-size: 12px; }
.receipt-cards { display: grid; gap: 8px; }
.receipt-card { display: grid; grid-template-columns: 56px minmax(0, 1fr) 40px; grid-template-areas: "thumb copy remove" "qty cost total"; gap: 10px 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.receipt-card.readonly { grid-template-columns: 56px minmax(0,1fr) auto; grid-template-areas: "thumb copy total"; }
.rc-thumb { grid-area: thumb; width: 56px !important; height: 56px !important; }
.rc-copy { grid-area: copy; display: grid; gap: 3px; min-width: 0; }
.rc-copy strong { display: -webkit-box; overflow: hidden; font-size: 14px; line-height: 1.3; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.rc-copy small { color: var(--muted); font-size: 12px; }
.receipt-card .sale-line-remove { grid-area: remove; }
.rc-qty { grid-area: qty; }.rc-cost { grid-area: cost; }
.rc-qty .count-stepper { grid-template-columns: 40px minmax(0, 1fr) 40px; }
.rc-cost input { height: 46px !important; min-height: 46px !important; font-weight: 700 !important; }
.rc-total { grid-area: total; display: grid; justify-items: end; gap: 2px; }
.rc-total span { color: var(--n500); font-size: 11px; font-weight: 700; }.rc-total strong, .rc-line-total { font-size: 15px; }
.receipt-card.readonly .rc-line-total { grid-area: total; }
.receipt-more { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.receipt-more summary { padding: 12px 14px; color: var(--g700); font-size: 13px; font-weight: 700; cursor: pointer; }
.receipt-more[open] { display: grid; gap: 10px; padding-bottom: 14px; }.receipt-more label { padding: 0 14px; }
.receipt-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.receipt-summary div { display: grid; gap: 2px; padding: 12px 14px; background: #fff; }
.receipt-summary span { color: var(--n500); font-size: 11px; font-weight: 700; }.receipt-summary strong { font-size: 18px; }
.receipt-summary div:last-child strong { color: #0E6B59; }
.receipt-meta { margin: 0; color: var(--muted); font-size: 13px; }
.receipt-form.v2 .sale-actions { display: flex; justify-content: flex-end; gap: 10px; }
.receipt-form.v2 .sale-actions .submit { min-width: 200px; height: 48px; }
.draft-title { font-size: 16px; }
.picker-back { margin: 0; }
.link-button { padding: 0; border: 0; color: #0E6B59; background: none; font: 800 12px Manrope, Arial, sans-serif; text-decoration: underline; cursor: pointer; }
.draft-form .catalog-edit-error:not([hidden]) { padding: 10px 12px; border-radius: 10px; color: #5C3B00; background: #FFF8E6; }
@media (max-width: 760px) {
  .receipt-dialog:has(.receipt-form.v2) { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
  .receipt-form.v2 { padding: calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom)); }
  .receipt-head-grid { grid-template-columns: 1fr; }
  .receipt-card { grid-template-columns: 52px minmax(0,1fr) 40px; grid-template-areas: "thumb copy remove" "qty qty qty" "cost cost total"; }
  .rc-thumb { width: 52px !important; height: 52px !important; }
  .receipt-form.v2 .sale-actions { position: sticky; bottom: 0; display: grid; grid-template-columns: 1fr 2fr; margin: 0 -14px -14px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); }
  .receipt-form.v2 .sale-actions .submit { min-width: 0; }
}
.draft-form label { display: block; }
.draft-form label input { display: block; width: 100%; margin-top: 4px; }
.draft-form label .optional { font-weight: 500; }
.draft-row { align-items: end; }
